Truss2 : Optimal Design of a Four-Bar Truss

Reference

• Neculai Andrei, Nonlinear Optimization Applications Using the GAMS Technology,Springer Optimization and Its Applications, Model Truss2 (5.16) in chapter Applications of Mechanical Engineering , 2013

Category : GAMS NOA library

Mainfile : truss2.gms

``````\$Ontext
Design of a four-bar truss

Stadler, W., Dauer, J., Multicriteria optimization in engineering: A tutorial
and survey. Structural optimization: status and future. AIAA Journal, 1992,
pp. 209-249.

Costa, M.F.P., Fernandes, E.M.G.P., Practical evaluation of an interior
point three-D filter line search method using engineering design problems.
8th World Congress on Structural and Multidisciplinary Optimization.
June 1-5, 2009, Lisbon, Portugal.
\$Offtext

Scalars L     /200/
F     /10/
E     /200000/
sigma /10/;

Variables x1,x2,x3,x4, obj;

Equations e1, eobj;

* Objective functions:
eobj.. obj =e= (2*x1+sqrt(2)*x2+sqrt(2)*x3+x4)*L;

* Constraints:
e1.. (F*L/E)*(2/x1+2*sqrt(2)/x2-2*sqrt(2)/x3+2/x4) =l= 0.04;

* Bound on variables:
x1.lo = F/sigma;           x1.up = 3*F/sigma;
x2.lo = sqrt(2)*F/sigma;   x2.up = 3*F/sigma;
x3.lo = sqrt(2)*F/sigma;   x3.up = 3*F/sigma;
x4.lo = F/sigma;           x4.up = 3*F/sigma;

Model truss2 /all/;

\$iftheni x%mode%==xbook
\$onecho >bench.opt
solvers conopt knitro minos snopt
\$offecho
truss2.optfile=1;
option nlp=bench;
\$endif

Solve truss2 minimizing obj using nlp;

\$iftheni x%mode%==xbook
file out /tr2.dat/
put out;
put x1.l:15:7, x2.l:15:7, x3.l:15:7, x4.l:15:7 /;
put obj.l:15:7 /;
\$endif
* End truss2
``````