[ MINLP World Home | MINLPLib | Contact ]

## tls4.gms:

#### References:

• Leyffer, S, MacMINLP: AMPL Collection of Mixed Integer Nonlinear Programs.
• Harjunkoski, I, Westerlund, T, Porn, R, and Skrifvars, H, Different Transformations for Solving Non-Convex Trim Loss Problems by MINLP. European Journal of Operational Research 105, 3 (1998), 594-603.
• Original source: AMPL model trimlon.mod and trimloss4.dat from MacMINLP

Points: p1  p2  p3
Best known point (p3): Solution value 8.30 (global optimum, reforumlation of tln4 which is solved to global optimality)

\$offlisting * MINLP written by GAMS Convert at 04/18/01 12:09:36 * * Equation counts * Total E G L N X * 65 21 0 44 0 0 * * Variable counts * x b i s1s s2s sc si * Total cont binary integer sos1 sos2 scont sint * 106 17 85 4 0 0 0 0 * FX 0 0 0 0 0 0 0 0 * * Nonzero counts * Total const NL DLL * 614 582 32 0 * * Solve m using MINLP minimizing objvar; Variables b1,b2,b3,b4,i5,i6,i7,i8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19 ,x20,x21,x22,x23,x24,b25,b26,b27,b28,b29,b30,b31,b32,b33,b34,b35,b36 ,b37,b38,b39,b40,b41,b42,b43,b44,b45,b46,b47,b48,b49,b50,b51,b52,b53 ,b54,b55,b56,b57,b58,b59,b60,b61,b62,b63,b64,b65,b66,b67,b68,b69,b70 ,b71,b72,b73,b74,b75,b76,b77,b78,b79,b80,b81,b82,b83,b84,b85,b86,b87 ,b88,b89,b90,b91,b92,b93,b94,b95,b96,b97,b98,b99,b100,b101,b102,b103 ,b104,b105,objvar; Binary Variables b1,b2,b3,b4,b25,b26,b27,b28,b29,b30,b31,b32,b33,b34,b35,b36 ,b37,b38,b39,b40,b41,b42,b43,b44,b45,b46,b47,b48,b49,b50,b51,b52,b53 ,b54,b55,b56,b57,b58,b59,b60,b61,b62,b63,b64,b65,b66,b67,b68,b69,b70 ,b71,b72,b73,b74,b75,b76,b77,b78,b79,b80,b81,b82,b83,b84,b85,b86,b87 ,b88,b89,b90,b91,b92,b93,b94,b95,b96,b97,b98,b99,b100,b101,b102,b103 ,b104,b105; Integer Variables i5,i6,i7,i8; Equations e1,e2,e3,e4,e5,e6,e7,e8,e9,e10,e11,e12,e13,e14,e15,e16,e17,e18,e19 ,e20,e21,e22,e23,e24,e25,e26,e27,e28,e29,e30,e31,e32,e33,e34,e35,e36 ,e37,e38,e39,e40,e41,e42,e43,e44,e45,e46,e47,e48,e49,e50,e51,e52,e53 ,e54,e55,e56,e57,e58,e59,e60,e61,e62,e63,e64,e65; e1.. - 0.1*b1 - 0.2*b2 - 0.3*b3 - 0.4*b4 - b25 - 2*b26 - 3*b27 - 4*b28 - 5*b29 - 6*b30 - 7*b31 - 8*b32 - b33 - 2*b34 - 3*b35 - 4*b36 - 5*b37 - 6*b38 - 7*b39 - b40 - 2*b41 - 3*b42 - 4*b43 - b44 - 2*b45 + objvar =E= 0; e2.. 330*b46 + 660*b47 + 990*b48 + 1320*b49 + 360*b62 + 720*b63 + 1080*b64 + 1440*b65 + 1800*b66 + 385*b82 + 770*b83 + 1155*b84 + 1540*b85 + 415*b98 + 830*b99 =L= 1900; e3.. 330*b50 + 660*b51 + 990*b52 + 1320*b53 + 360*b67 + 720*b68 + 1080*b69 + 1440*b70 + 1800*b71 + 385*b86 + 770*b87 + 1155*b88 + 1540*b89 + 415*b100 + 830*b101 =L= 1900; e4.. 330*b54 + 660*b55 + 990*b56 + 1320*b57 + 360*b72 + 720*b73 + 1080*b74 + 1440*b75 + 1800*b76 + 385*b90 + 770*b91 + 1155*b92 + 1540*b93 + 415*b102 + 830*b103 =L= 1900; e5.. 330*b58 + 660*b59 + 990*b60 + 1320*b61 + 360*b77 + 720*b78 + 1080*b79 + 1440*b80 + 1800*b81 + 385*b94 + 770*b95 + 1155*b96 + 1540*b97 + 415*b104 + 830*b105 =L= 1900; e6.. - 330*b46 - 660*b47 - 990*b48 - 1320*b49 - 360*b62 - 720*b63 - 1080*b64 - 1440*b65 - 1800*b66 - 385*b82 - 770*b83 - 1155*b84 - 1540*b85 - 415*b98 - 830*b99 =L= -1700; e7.. - 330*b50 - 660*b51 - 990*b52 - 1320*b53 - 360*b67 - 720*b68 - 1080*b69 - 1440*b70 - 1800*b71 - 385*b86 - 770*b87 - 1155*b88 - 1540*b89 - 415*b100 - 830*b101 =L= -1700; e8.. - 330*b54 - 660*b55 - 990*b56 - 1320*b57 - 360*b72 - 720*b73 - 1080*b74 - 1440*b75 - 1800*b76 - 385*b90 - 770*b91 - 1155*b92 - 1540*b93 - 415*b102 - 830*b103 =L= -1700; e9.. - 330*b58 - 660*b59 - 990*b60 - 1320*b61 - 360*b77 - 720*b78 - 1080*b79 - 1440*b80 - 1800*b81 - 385*b94 - 770*b95 - 1155*b96 - 1540*b97 - 415*b104 - 830*b105 =L= -1700; e10.. b46 + 2*b47 + 3*b48 + 4*b49 + b62 + 2*b63 + 3*b64 + 4*b65 + 5*b66 + b82 + 2*b83 + 3*b84 + 4*b85 + b98 + 2*b99 =L= 5; e11.. b50 + 2*b51 + 3*b52 + 4*b53 + b67 + 2*b68 + 3*b69 + 4*b70 + 5*b71 + b86 + 2*b87 + 3*b88 + 4*b89 + b100 + 2*b101 =L= 5; e12.. b54 + 2*b55 + 3*b56 + 4*b57 + b72 + 2*b73 + 3*b74 + 4*b75 + 5*b76 + b90 + 2*b91 + 3*b92 + 4*b93 + b102 + 2*b103 =L= 5; e13.. b58 + 2*b59 + 3*b60 + 4*b61 + b77 + 2*b78 + 3*b79 + 4*b80 + 5*b81 + b94 + 2*b95 + 3*b96 + 4*b97 + b104 + 2*b105 =L= 5; e14.. b1 - b25 - 2*b26 - 3*b27 - 4*b28 - 5*b29 - 6*b30 - 7*b31 - 8*b32 =L= 0; e15.. b2 - b33 - 2*b34 - 3*b35 - 4*b36 - 5*b37 - 6*b38 - 7*b39 =L= 0; e16.. b3 - b40 - 2*b41 - 3*b42 - 4*b43 =L= 0; e17.. b4 - b44 - 2*b45 =L= 0; e18.. - 8*b1 + b25 + 2*b26 + 3*b27 + 4*b28 + 5*b29 + 6*b30 + 7*b31 + 8*b32 =L= 0; e19.. - 7*b2 + b33 + 2*b34 + 3*b35 + 4*b36 + 5*b37 + 6*b38 + 7*b39 =L= 0; e20.. - 4*b3 + b40 + 2*b41 + 3*b42 + 4*b43 =L= 0; e21.. - 2*b4 + b44 + 2*b45 =L= 0; e22.. i5 - 3*b25 - 8*b26 - 15*b27 - 24*b28 - 35*b29 - 48*b30 - 63*b31 - 80*b32 =E= 1; e23.. i6 - 3*b33 - 8*b34 - 15*b35 - 24*b36 - 35*b37 - 48*b38 - 63*b39 =E= 1; e24.. i7 - 3*b40 - 8*b41 - 15*b42 - 24*b43 =E= 1; e25.. i8 - 3*b44 - 8*b45 =E= 1; e26.. b25 + b26 + b27 + b28 + b29 + b30 + b31 + b32 =L= 1; e27.. b33 + b34 + b35 + b36 + b37 + b38 + b39 =L= 1; e28.. b40 + b41 + b42 + b43 =L= 1; e29.. b44 + b45 =L= 1; e30.. x9 - 3*b46 - 8*b47 - 15*b48 - 24*b49 =E= 1; e31.. x10 - 3*b50 - 8*b51 - 15*b52 - 24*b53 =E= 1; e32.. x11 - 3*b54 - 8*b55 - 15*b56 - 24*b57 =E= 1; e33.. x12 - 3*b58 - 8*b59 - 15*b60 - 24*b61 =E= 1; e34.. x13 - 3*b62 - 8*b63 - 15*b64 - 24*b65 - 35*b66 =E= 1; e35.. x14 - 3*b67 - 8*b68 - 15*b69 - 24*b70 - 35*b71 =E= 1; e36.. x15 - 3*b72 - 8*b73 - 15*b74 - 24*b75 - 35*b76 =E= 1; e37.. x16 - 3*b77 - 8*b78 - 15*b79 - 24*b80 - 35*b81 =E= 1; e38.. x17 - 3*b82 - 8*b83 - 15*b84 - 24*b85 =E= 1; e39.. x18 - 3*b86 - 8*b87 - 15*b88 - 24*b89 =E= 1; e40.. x19 - 3*b90 - 8*b91 - 15*b92 - 24*b93 =E= 1; e41.. x20 - 3*b94 - 8*b95 - 15*b96 - 24*b97 =E= 1; e42.. x21 - 3*b98 - 8*b99 =E= 1; e43.. x22 - 3*b100 - 8*b101 =E= 1; e44.. x23 - 3*b102 - 8*b103 =E= 1; e45.. x24 - 3*b104 - 8*b105 =E= 1; e46.. b46 + b47 + b48 + b49 =L= 1; e47.. b50 + b51 + b52 + b53 =L= 1; e48.. b54 + b55 + b56 + b57 =L= 1; e49.. b58 + b59 + b60 + b61 =L= 1; e50.. b62 + b63 + b64 + b65 + b66 =L= 1; e51.. b67 + b68 + b69 + b70 + b71 =L= 1; e52.. b72 + b73 + b74 + b75 + b76 =L= 1; e53.. b77 + b78 + b79 + b80 + b81 =L= 1; e54.. b82 + b83 + b84 + b85 =L= 1; e55.. b86 + b87 + b88 + b89 =L= 1; e56.. b90 + b91 + b92 + b93 =L= 1; e57.. b94 + b95 + b96 + b97 =L= 1; e58.. b98 + b99 =L= 1; e59.. b100 + b101 =L= 1; e60.. b102 + b103 =L= 1; e61.. b104 + b105 =L= 1; e62.. - (sqrt(i5*x9) + sqrt(i6*x10) + sqrt(i7*x11) + sqrt(i8*x12)) + b25 + 2*b26 + 3*b27 + 4*b28 + 5*b29 + 6*b30 + 7*b31 + 8*b32 + b33 + 2*b34 + 3*b35 + 4*b36 + 5*b37 + 6*b38 + 7*b39 + b40 + 2*b41 + 3*b42 + 4*b43 + b44 + 2*b45 + b46 + 2*b47 + 3*b48 + 4*b49 + b50 + 2*b51 + 3*b52 + 4*b53 + b54 + 2*b55 + 3*b56 + 4*b57 + b58 + 2*b59 + 3*b60 + 4*b61 =L= -12; e63.. - (sqrt(i5*x13) + sqrt(i6*x14) + sqrt(i7*x15) + sqrt(i8*x16)) + b25 + 2*b26 + 3*b27 + 4*b28 + 5*b29 + 6*b30 + 7*b31 + 8*b32 + b33 + 2*b34 + 3*b35 + 4*b36 + 5*b37 + 6*b38 + 7*b39 + b40 + 2*b41 + 3*b42 + 4*b43 + b44 + 2*b45 + b62 + 2*b63 + 3*b64 + 4*b65 + 5*b66 + b67 + 2*b68 + 3*b69 + 4*b70 + 5*b71 + b72 + 2*b73 + 3*b74 + 4*b75 + 5*b76 + b77 + 2*b78 + 3*b79 + 4*b80 + 5*b81 =L= -11; e64.. - (sqrt(i5*x17) + sqrt(i6*x18) + sqrt(i7*x19) + sqrt(i8*x20)) + b25 + 2*b26 + 3*b27 + 4*b28 + 5*b29 + 6*b30 + 7*b31 + 8*b32 + b33 + 2*b34 + 3*b35 + 4*b36 + 5*b37 + 6*b38 + 7*b39 + b40 + 2*b41 + 3*b42 + 4*b43 + b44 + 2*b45 + b82 + 2*b83 + 3*b84 + 4*b85 + b86 + 2*b87 + 3*b88 + 4*b89 + b90 + 2*b91 + 3*b92 + 4*b93 + b94 + 2*b95 + 3*b96 + 4*b97 =L= -16; e65.. - (sqrt(i5*x21) + sqrt(i6*x22) + sqrt(i7*x23) + sqrt(i8*x24)) + b25 + 2*b26 + 3*b27 + 4*b28 + 5*b29 + 6*b30 + 7*b31 + 8*b32 + b33 + 2*b34 + 3*b35 + 4*b36 + 5*b37 + 6*b38 + 7*b39 + b40 + 2*b41 + 3*b42 + 4*b43 + b44 + 2*b45 + b98 + 2*b99 + b100 + 2*b101 + b102 + 2*b103 + b104 + 2*b105 =L= -15; * set non default bounds i5.lo = 1; i5.up = 100; i6.lo = 1; i6.up = 100; i7.lo = 1; i7.up = 100; i8.lo = 1; i8.up = 100; x9.lo = 1; x10.lo = 1; x11.lo = 1; x12.lo = 1; x13.lo = 1; x14.lo = 1; x15.lo = 1; x16.lo = 1; x17.lo = 1; x18.lo = 1; x19.lo = 1; x20.lo = 1; x21.lo = 1; x22.lo = 1; x23.lo = 1; x24.lo = 1; \$if set nostart \$goto modeldef * set non default levels * set non default marginals \$label modeldef Model m / all /; m.limrow=0; m.limcol=0; \$if NOT '%gams.u1%' == '' \$include '%gams.u1%' \$if not set MINLP \$set MINLP MINLP Solve m using %MINLP% minimizing objvar;