## ams_version=1.0 Model Main_tls2 { Variable b1 { Range: binary; } Variable b2 { Range: binary; } Variable i3 { Range: integer; } Variable i4 { Range: integer; } Variable x5; Variable x6; Variable x7; Variable x8; Variable b9 { Range: binary; } Variable b10 { Range: binary; } Variable b11 { Range: binary; } Variable b12 { Range: binary; } Variable b13 { Range: binary; } Variable b14 { Range: binary; } Variable b15 { Range: binary; } Variable b16 { Range: binary; } Variable b17 { Range: binary; } Variable b18 { Range: binary; } Variable b19 { Range: binary; } Variable b20 { Range: binary; } Variable b21 { Range: binary; } Variable b22 { Range: binary; } Variable b23 { Range: binary; } Variable b24 { Range: binary; } Variable b25 { Range: binary; } Variable b26 { Range: binary; } Variable b27 { Range: binary; } Variable b28 { Range: binary; } Variable b29 { Range: binary; } Variable b30 { Range: binary; } Variable b31 { Range: binary; } Variable b32 { Range: binary; } Variable b33 { Range: binary; } Variable b34 { Range: binary; } Variable b35 { Range: binary; } Variable b36 { Range: binary; } Variable b37 { Range: binary; } Variable objvar; Constraint e1 { Definition: { - 0.1*b1 - 0.2*b2 - b9 - 2*b10 - 3*b11 - 4*b12 - 5*b13 - 6*b14 - 7*b15 - 8*b16 - b17 - 2*b18 - 3*b19 - 4*b20 - 5*b21 - 6*b22 - 7*b23 + objvar = 0 } } Constraint e2 { Definition: { 460*b24 + 920*b25 + 1380*b26 + 1840*b27 + 570*b32 + 1140*b33 + 1710*b34 <= 1900 } } Constraint e3 { Definition: { 460*b28 + 920*b29 + 1380*b30 + 1840*b31 + 570*b35 + 1140*b36 + 1710*b37 <= 1900 } } Constraint e4 { Definition: { - 460*b24 - 920*b25 - 1380*b26 - 1840*b27 - 570*b32 - 1140*b33 - 1710*b34 <= -1700 } } Constraint e5 { Definition: { - 460*b28 - 920*b29 - 1380*b30 - 1840*b31 - 570*b35 - 1140*b36 - 1710*b37 <= -1700 } } Constraint e6 { Definition: b24 + 2*b25 + 3*b26 + 4*b27 + b32 + 2*b33 + 3*b34 <= 5; } Constraint e7 { Definition: b28 + 2*b29 + 3*b30 + 4*b31 + b35 + 2*b36 + 3*b37 <= 5; } Constraint e8 { Definition: b1 - b9 - 2*b10 - 3*b11 - 4*b12 - 5*b13 - 6*b14 - 7*b15 - 8*b16 <= 0; } Constraint e9 { Definition: b2 - b17 - 2*b18 - 3*b19 - 4*b20 - 5*b21 - 6*b22 - 7*b23 <= 0; } Constraint e10 { Definition: { - 8*b1 + b9 + 2*b10 + 3*b11 + 4*b12 + 5*b13 + 6*b14 + 7*b15 + 8*b16 <= 0 } } Constraint e11 { Definition: - 7*b2 + b17 + 2*b18 + 3*b19 + 4*b20 + 5*b21 + 6*b22 + 7*b23 <= 0; } Constraint e12 { Definition: { i3 - 3*b9 - 8*b10 - 15*b11 - 24*b12 - 35*b13 - 48*b14 - 63*b15 - 80*b16 = 1 } } Constraint e13 { Definition: i4 - 3*b17 - 8*b18 - 15*b19 - 24*b20 - 35*b21 - 48*b22 - 63*b23 = 1; } Constraint e14 { Definition: b9 + b10 + b11 + b12 + b13 + b14 + b15 + b16 <= 1; } Constraint e15 { Definition: b17 + b18 + b19 + b20 + b21 + b22 + b23 <= 1; } Constraint e16 { Definition: x5 - 3*b24 - 8*b25 - 15*b26 - 24*b27 = 1; } Constraint e17 { Definition: x6 - 3*b28 - 8*b29 - 15*b30 - 24*b31 = 1; } Constraint e18 { Definition: x7 - 3*b32 - 8*b33 - 15*b34 = 1; } Constraint e19 { Definition: x8 - 3*b35 - 8*b36 - 15*b37 = 1; } Constraint e20 { Definition: b24 + b25 + b26 + b27 <= 1; } Constraint e21 { Definition: b28 + b29 + b30 + b31 <= 1; } Constraint e22 { Definition: b32 + b33 + b34 <= 1; } Constraint e23 { Definition: b35 + b36 + b37 <= 1; } Constraint e24 { Definition: { -(sqrt(i3*x5) + sqrt(i4*x6)) + b9 + 2*b10 + 3*b11 + 4*b12 + 5*b13 + 6*b14 + 7*b15 + 8*b16 + b17 + 2*b18 + 3*b19 + 4*b20 + 5*b21 + 6*b22 + 7*b23 + b24 + 2*b25 + 3*b26 + 4*b27 + b28 + 2*b29 + 3*b30 + 4*b31 <= -10 } } Constraint e25 { Definition: { -(sqrt(i3*x7) + sqrt(i4*x8)) + b9 + 2*b10 + 3*b11 + 4*b12 + 5*b13 + 6*b14 + 7*b15 + 8*b16 + b17 + 2*b18 + 3*b19 + 4*b20 + 5*b21 + 6*b22 + 7*b23 + b32 + 2*b33 + 3*b34 + b35 + 2*b36 + 3*b37 <= -9 } } Procedure MainInitialization { Body: { i3.lower := 1; i3.upper := 100; i4.lower := 1; i4.upper := 100; x5.lower := 1; x6.lower := 1; x7.lower := 1; x8.lower := 1; } } MathematicalProgram tls2 { Objective: objvar; Direction: minimize; Constraints: AllConstraints; Variables: AllVariables; Type: MINLP; } ElementParameter myGMP { Range: AllGeneratedMathematicalPrograms; } Procedure MainExecution { Body: { solve tls2; } } Procedure MainTermination { Body: { return 1; } } }