$ontext Purpose: To provide a GAMS formulation for the collection of Gupta Problems Reference: Branch and bound experiments in convex nonlinear integer programming, Management Science, 1533-1546, 31, 1985. $offtext Variables i1,i2,i3,i4,i5,i6,i7,i8,i9,objvar; Integer Variables i1,i2,i3,i4,i5,i6,i7,i8,i9; Equations e1,e2,e3,e4,e5,e6,e7,e8,e9,e10; e1.. (-9*sqr(i1)) - 10*i1*i2 - 8*sqr(i2) - 5*sqr(i3) - 6*i3*i1 - 10*i3*i2 - 7* sqr(i4) - 10*i4*i1 - 6*i4*i2 - 2*i4*i3 - 2*i5*i2 - 7*sqr(i5) - 6*i6*i1 - 2 *i6*i2 - 2*i6*i4 - 5*sqr(i6) + 6*i7*i1 + 2*i7*i2 + 4*i7*i3 + 2*i7*i4 - 4* i7*i5 + 4*i7*i6 - 8*sqr(i7) - 2*i8*i1 - 8*i8*i2 - 2*i8*i3 + 6*i8*i5 - 2*i8 *i7 - 6*sqr(i8) + 2*i9*i3 - 4*i9*i4 + 8*i9*i5 + 4*i9*i6 - 6*i9*i8 - 6*sqr( i9) =G= -1850; e2.. (-6*sqr(i1)) - 8*i1*i2 - 6*sqr(i2) - 4*sqr(i3) - 2*i3*i1 - 2*i3*i2 - 8* sqr(i4) + 2*i4*i1 + 10*i4*i2 - 2*i5*i1 - 6*i5*i2 + 6*i5*i4 + 7*sqr(i5) - 2 *i6*i2 + 8*i6*i3 + 2*i6*i4 - 4*i6*i5 - 8*sqr(i6) - 6*i7*i1 - 10*i7*i2 - 2* i7*i3 + 10*i7*i4 - 10*i7*i5 - 8*sqr(i7) - 2*i8*i1 - 4*i8*i2 - 2*i8*i3 - 8* i8*i5 - 8*i8*i7 - 5*sqr(i8) - 2*i9*i1 - 2*i9*i2 + 4*i9*i6 + 2*i9*i7 - 6* sqr(i9) =G= -3170; e3.. (-9*sqr(i1)) - 6*sqr(i2) - 8*sqr(i3) + 2*i2*i1 + 2*i3*i2 - 6*sqr(i4) + 4* i4*i1 + 4*i4*i2 - 2*i4*i3 - 6*i5*i1 - 2*i5*i2 + 4*i5*i4 + 6*sqr(i5) + 2*i6 *i1 + 4*i6*i2 - 6*i6*i4 - 2*i6*i5 - 5*sqr(i6) + 2*i7*i2 - 4*i7*i3 - 6*i7* i5 - 4*i7*i6 - 7*sqr(i7) - 2*i8*i1 + 4*i8*i3 + 2*i8*i4 - 4*sqr(i8) + 10*i9 *i1 + 6*i9*i2 - 4*i9*i3 - 10*i9*i4 + 8*i9*i5 - 6*i9*i6 - 2*i9*i7 - 8*sqr( i9) =G= -1770; e4.. (-8*sqr(i1)) - 4*sqr(i2) - 9*sqr(i3) - 7*sqr(i4) - 2*i2*i1 - 2*i3*i1 - 4* i3*i2 + 6*i4*i1 + 2*i4*i2 - 2*i4*i3 - 6*i5*i1 - 4*i5*i2 - 2*i5*i3 + 6*i5* i4 + 6*sqr(i5) - 10*i6*i1 - 10*i6*i3 + 4*i6*i4 - 2*i6*i5 - 7*sqr(i6) + 6* i7*i1 - 2*i7*i2 - 2*i7*i3 + 6*i7*i5 + 2*i7*i6 - 6*sqr(i7) + 4*i8*i1 - 4*i8 *i2 + 2*i8*i3 - 4*i8*i4 - 4*i8*i5 + 8*i8*i6 + 6*i8*i6 - 8*sqr(i8) - 4*i9* i1 + 4*i9*i2 + 6*i9*i3 - 2*i9*i4 + 2*i9*i6 + 8*i9*i7 - 4*i9*i8 - 10*sqr(i9 ) =G= -1460; e5.. 2*i2*i1 - 4*sqr(i1) - 5*sqr(i2) - 6*i3*i1 - 8*sqr(i3) - 2*i4*i1 + 6*i4*i2 - 2*i4*i3 - 6*sqr(i4) - 4*i5*i1 + 2*i5*i2 - 6*i5*i3 - 8*i5*i4 - 7*sqr(i5) + 4*i6*i1 - 4*i6*i2 + 6*i6*i3 + 4*i6*i5 - 7*sqr(i6) + 4*i7*i1 - 4*i7*i2 - 4*i7*i3 + 4*i7*i4 + 4*i7*i5 + 4*i7*i6 - 8*sqr(i7) - 2*i8*i1 + 4*i8*i4 + 2*i8*i6 + 2*i8*i7 - 4*sqr(i8) - 2*i9*i2 + 4*i9*i3 + 4*i9*i4 - 2*i9*i5 + 2*i9*i6 + 6*i9*i7 - 6*i9*i8 - 7*sqr(i9) =G= -1140; e6.. 2*i2*i1 - 7*sqr(i1) - 7*sqr(i2) - 6*i3*i1 - 2*i3*i2 - 6*sqr(i3) - 2*i4*i1 + 2*i4*i2 - 2*i4*i3 - 5*sqr(i4) - 2*i5*i1 - 4*i5*i3 + 2*i5*i4 - 5*sqr(i5) + 2*i6*i1 - 4*i6*i2 + 4*i6*i3 + 2*i6*i4 + 6*i6*i5 - 9*sqr(i6) + 4*i7*i2 - 4*i7*i3 + 4*i7*i4 - 4*i7*i5 + 8*i7*i6 - 5*sqr(i7) + 4*i8*i1 + 8*i8*i2 + 2*i8*i3 - 4*i8*i4 - 2*i8*i5 + 4*i8*i6 - 9*sqr(i8) - 4*i9*i1 + 2*i9*i4 + 6*i9*i5 - 4*i9*i6 - 2*i9*i7 + 2*i9*i8 - 6*sqr(i9) =G= -940; e7.. (-9*sqr(i1)) - 4*i2*i1 - 8*sqr(i2) + 4*i3*i1 + 2*i3*i2 - 7*sqr(i3) + 4*i4* i1 + 4*i4*i3 - 7*sqr(i4) - 2*i5*i1 - 12*i5*i2 - 4*i5*i3 - 8*sqr(i5) - 8*i6 *i1 + 2*i6*i2 - 2*i6*i5 - 6*sqr(i6) - 4*i7*i1 - 6*i7*i2 - 2*i7*i3 + 10*i7* i4 - 2*i7*i5 + 2*i7*i6 - 7*sqr(i7) - 2*i8*i1 + 2*i8*i2 + 2*i8*i3 + 2*i8*i4 - 6*i8*i6 - 2*i8*i7 - 6*sqr(i8) + 4*i9*i1 + 2*i9*i2 + 4*i9*i3 + 4*i9*i4 + 2*i9*i5 - 2*i9*i6 - 8*sqr(i9) =G= -2720; e8.. 4*i2*i1 - 7*sqr(i1) - 8*sqr(i2) + 4*i3*i1 - 8*sqr(i3) + 4*i4*i1 + 8*i4*i2 - 6*i4*i3 - 7*sqr(i4) - 2*i5*i2 + 2*i5*i4 - 5*sqr(i5) - 2*i6*i1 - 2*i6*i2 + 4*i6*i4 - 4*i6*i5 - 7*sqr(i6) - 2*i7*i1 + 8*i7*i2 - 2*i7*i3 - 2*i7*i4 + 6*i7*i5 + 2*i7*i6 - 7*sqr(i7) + 2*i8*i1 - 6*i8*i2 + 6*i8*i3 + 4*i8*i4 + 2*i8*i5 - 4*i8*i6 - 6*sqr(i8) + 4*i9*i1 - 6*i9*i2 + 2*i9*i3 - 2*i9*i4 + 2*i9*i5 + 6*i9*i6 + 2*i9*i7 - 4*i9*i8 - 6*sqr(i9) =G= -870; e9.. 2*i2*i1 - 4*sqr(i1) - 7*sqr(i2) + 8*i3*i1 - 4*i3*i2 - 9*sqr(i3) - 2*i4*i1 - 4*i4*i2 - 2*i4*i3 - 6*sqr(i4) + 4*i5*i1 + 2*i5*i2 + 4*i5*i3 + 6*i5*i4 - 6*sqr(i5) + 4*i6*i3 - 6*i6*i4 - 7*sqr(i6) - 2*i7*i2 - 4*i7*i3 + 4*i7*i5 + 8*i7*i6 - 7*sqr(i7) + 2*i8*i2 - 4*i8*i3 + 2*i8*i4 + 2*i8*i5 + 6*i8*i7 - 7*sqr(i8) + 4*i9*i1 + 2*i9*i2 - 10*i9*i3 + 2*i9*i5 + 2*i9*i6 - 8*i9*i8 - 6*sqr(i9) =G= -670; e10.. - (7*sqr(i1) + 6*sqr(i2) + 24.4*i1 - 0.2*i2 + 8*sqr(i3) - 6*i3*i1 + 4*i3 *i2 + i3 + 6*sqr(i4) + 2*i4*i1 + 2*i4*i3 - 39.2*i4 + 7*sqr(i5) - 4*i5*i1 - 2*i5*i2 - 6*i5*i3 - 118.4*i5 + 4*sqr(i6) + 2*i6*i1 - 4*i6*i2 - 4*i6*i3 - 2*i6*i4 + 6*i6*i5 - 73*i6 + 6*sqr(i7) - 2*i7*i1 - 6*i7*i2 - 2*i7*i3 + 4*i7*i5 + 4*i7*i6 - 110.8*i7 + 7*sqr(i8) - 4*i8*i1 - 2*i8*i2 + 6*i8*i3 + 4*i8*i4 - 4*i8*i5 - 2*i8*i6 + 4*i8*i7 - 17.8*i8 + 8*sqr(i9) - 2*i9*i1 - 4 *i9*i2 + 4*i9*i3 + 4*i9*i4 - 4*i9*i5 - 4*i9*i6 + 8*i9*i7 + 4*i9*i8 - 29.4 *i9) + objvar =E= 0; * set non default bounds i1.up = 200; i2.up = 200; i3.up = 200; i4.up = 200; i5.up = 200; i6.up = 200; i7.up = 200; i8.up = 200; i9.up = 200; * set non default levels i1.l = 100; i2.l = 100; i3.l = 100; i4.l = 100; i5.l = 100; i6.l = 100; i7.l = 100; i8.l = 100; i9.l = 100; * set non default marginals Model m / all /; m.limrow=0; m.limcol=0; $if NOT '%gams.u1%' == '' $include '%gams.u1%' Solve m using MINLP minimizing objvar;