$onText Optimization of a multi-spindle automatic lathe. Schittkowski, K., More test examples for nonlinear programming codes. Lecture Notes in Economics and Mathematical Systems, Springer-Verlag, Berlin, 1987. (Problem 376, pp. 195) $offText Variables x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, obj; Equations e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13,e14,e15, eobj; * Objective function to be minimized: eobj.. obj =e= -20000*(0.15*x1+14*x2-0.06)/(0.002+x1+60*x2); * Constraints: e1.. x1 - 0.75/(x3*x4) =g= 0; e2.. x1 - x9/(x4*x5) =g= 0; e3.. x1 - x10/(x4*x6) - 10/x4 =g= 0; e4.. x1 - 0.19/(x4*x7) - 10/x4 =g= 0; e5.. x1 - 0.125/(x4*x8) =g= 0; e6.. 10000*x2 - 0.00131*x9*(x5**0.666)*(x4**1.5) =g= 0; e7.. 10000*x2 - 0.001038*x10*(x6**1.6)*(x4**3) =g= 0; e8.. 10000*x2 - 0.000223*(x7**0.666)*(x4**1.5) =g= 0; e9.. 10000*x2 - 0.000076*(x8**3.55)*(x4**5.66) =g= 0; e10.. 10000*x2 - 0.000698*(x3**1.2)*(x4**2) =g= 0; e11.. 10000*x2 - 0.00005*(x3**1.6)*(x4**3) =g= 0; e12.. 10000*x2 - 0.00000654*(x3**2.42)*(x4**4.17) =g= 0; e13.. 10000*x2 - 0.000257*(x3**0.666)*(x4**1.5) =g= 0; e14.. 30 - 2.003*x4*x5 - 1.885*x4*x6 - 0.184*x4*x8 - 2*x4*(x3**0.803) =g= 0; e15.. x9 + x10 - 0.255 =e= 0; * Bounds on variables; x1.lo = 0; x1.up = 10; x2.lo = 0; x2.up = 0.1; x3.lo = 0.5e-4; x3.up = 0.0081; x4.lo = 10; x4.up = 1000; x5.lo = 0.5e-4; x5.up = 0.0017; x6.lo = 0.5e-4; x6.up = 0.0013; x7.lo = 0.5e-4; x7.up = 0.0027; x8.lo = 0.5e-4; x8.up = 0.002; x9.lo = 0.5e-4; x9.up = 1; x10.lo = 0.5e-4; x10.up = 1; Model lathe /all/; Solve lathe minimizing obj using nlp; $ifThenI x%mode%==xbook file out /lathe1.dat/ put out; put x1.l:15:7, x2.l:15:7, x3.l:15:7, x4.l:15:7 /; put x5.l:15:7, x6.l:15:7, x7.l:15:7, x8.l:15:7 /; put x9.l:15:7, x10.l:15:7 /; put /"Objective =" obj.l:15:7 /; $endIf * End lathe