## ams_version=1.0 Model Main_fuel { Variable b1 { Range: binary; } Variable b2 { Range: binary; } Variable b3 { Range: binary; } Variable x4; Variable x5; Variable x6; Variable x7; Variable x8; Variable x9; Variable x10 { Range: nonnegative; } Variable x11 { Range: nonnegative; } Variable x12 { Range: nonnegative; } Variable x13 { Range: nonnegative; } Variable x14 { Range: nonnegative; } Variable x15; Variable objvar; Constraint e1 { Definition: { -(0.0025*sqr(x7) + 6*x7 + 0.0025*sqr(x8) + 6*x8 + 0.0025*sqr(x9) + 6*x9) + objvar = 900 } } Constraint e2 { Definition: - 100*b1 + x4 >= 0; } Constraint e3 { Definition: - 100*b2 + x5 >= 0; } Constraint e4 { Definition: - 100*b3 + x6 >= 0; } Constraint e5 { Definition: - 500*b1 + x4 <= 0; } Constraint e6 { Definition: - 500*b2 + x5 <= 0; } Constraint e7 { Definition: - 500*b3 + x6 <= 0; } Constraint e8 { Definition: x10 + x13 = 3500; } Constraint e9 { Definition: x11 - x13 + x14 = 500; } Constraint e10 { Definition: x12 - x14 + x15 = 500; } Constraint e11 { Definition: x4 + x7 >= 400; } Constraint e12 { Definition: x5 + x8 >= 900; } Constraint e13 { Definition: x6 + x9 >= 700; } Constraint e14 { Definition: -(0.005*sqr(x4) + x4) - 50*b1 + x10 = 0; } Constraint e15 { Definition: -(0.005*sqr(x5) + x5) - 50*b2 + x11 = 0; } Constraint e16 { Definition: -(0.005*sqr(x6) + x6) - 50*b3 + x12 = 0; } Procedure MainInitialization { Body: { x7.lower := 50; x7.upper := 700; x8.lower := 50; x8.upper := 700; x9.lower := 50; x9.upper := 700; x13.upper := 4000; x14.upper := 4000; x15.lower := 2000; x15.upper := 4000; x4.l := 100; x5.l := 100; x6.l := 100; } } MathematicalProgram fuel { Objective: objvar; Direction: minimize; Constraints: AllConstraints; Variables: AllVariables; Type: MINLP; } ElementParameter myGMP { Range: AllGeneratedMathematicalPrograms; } Procedure MainExecution { Body: { solve fuel; } } Procedure MainTermination { Body: { return 1; } } }