$ondollar title Cofferdam (NLP) Example 14.6 of Rardin (1998) $offsymxref offsymlist offuelxref offuellist offupper option limrow = 0, limcol = 0; scalars l "total dam length (ft)" /800/, t "design life of dam (days)" /365/, x1 "height of dam (ft)", x2 "average thickness of dam (ft)", x3 "length of each cycle of dam (ft)", x4 "extra decision variable to create posynomial form"; free variables cost "total lifetime cost", z1 "ln(x1)", z2 "ln(x2)", z3 "ln(x3)", z4 "ln(x4)"; equations obj "minimize lifetime cost", emp "empirical x1 to x4 relationship", slip "slipping", tens "tension"; obj.. cost =e= 0.2*l*exp(z1)*exp(z2) + 4.56*l*exp(z1)+4.56*l*exp(z1)*exp(z2)/exp(z3) + 40000*t/exp(z4); emp.. exp(z4) + 33.3 =l= 0.8*exp(z1); slip.. 1.0425*exp(z1) =l= exp(z2); tens.. exp(z1)*exp(z3) =l= 2857; model coffdam /all/; z1.l = 3; z2.l = 3; z3.l = 3; z4.l = 3; option nlp = minos5; solve coffdam using nlp minimizing cost; x1 = exp(z1.l); x2 = exp(z2.l); x3 = exp(z3.l); x4 = exp(z4.l); display x1, x2, x3, x4;