% %subroutine constraint functions %file name = tre_redun_con.m %redundant truss optimization %constraint equations %Prof. Reyolando Brasil - 2021 function [g,h]=tre_redun_con(x,Prob_data) %design variables x1=x(1);%vertical bar transverse section area, mē x2=x(2);%diagonal bar transverse section area, mē %problem data PP=Prob_data(1);%gravity load P, KN Ta=Prob_data(3);%alowble stress, KN/mē E=Prob_data(4);%Young's Modulus, KN/mē %solution K=E*[x1+x2*sqrt(2)/4 -x1;-x1 x1+x2*sqrt(2)/4];%stiffness matrix P=[0;-PP];%loading vector p=K\P;%displacements vector %bars normal forces N1=E*x1*(p(1)-p(2)); N4=-E*x2*p(2)/2; N5=-E*x2*p(1)/2; %inequality constraints g(1)=(N1/x1)/Ta-1; g(2)=(N4/x2)/Ta-1; g(3)=(N5/x2)/Ta-1; %equality constraints (none) h=[];