## ams_version=1.0 Model Main_heatexch_spec2 { Variable b1 { Range: binary; } Variable b2 { Range: binary; } Variable b3 { Range: binary; } Variable b4 { Range: binary; } Variable b5 { Range: binary; } Variable b6 { Range: binary; } Variable b7 { Range: binary; } Variable b8 { Range: binary; } 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 x17; Variable x18; Variable x19; Variable x20; Variable x21; Variable x22; Variable x23; Variable x24; Variable x25; Variable x26; Variable x27; Variable x28; Variable x29; Variable x30; Variable x31; Variable x32; Variable x33; Variable x34; Variable x35 { Range: nonnegative; } Variable x36 { Range: nonnegative; } Variable x37 { Range: nonnegative; } Variable x38 { Range: nonnegative; } Variable x39 { Range: nonnegative; } Variable x40 { Range: nonnegative; } Variable x41 { Range: nonnegative; } Variable x42 { Range: nonnegative; } Variable x43 { Range: nonnegative; } Variable x44 { Range: nonnegative; } Variable x45 { Range: nonnegative; } Variable x46 { Range: nonnegative; } Variable x47 { Range: nonnegative; } Variable x48 { Range: nonnegative; } Variable x49 { Range: nonnegative; } Variable x50 { Range: nonnegative; } Variable x51 { Range: nonnegative; } Variable x52 { Range: nonnegative; } Variable x53 { Range: nonnegative; } Variable x54 { Range: nonnegative; } Variable x55 { Range: nonnegative; } Variable x56; Variable x57; Variable x58; Variable x59; Variable x60; Variable x61; Variable x62; Variable x63; Variable x64; Variable x65; Variable x66; Variable x67; Variable x68; Variable x69; Variable x70; Variable x71; Variable x72; Variable x73; Variable x74; Variable x75; Variable x76; Variable objvar; Constraint e1 { Definition: 6*x17 - 6*x18 - x35 = 0; } Constraint e2 { Definition: 6*x18 - 6*x19 - x36 = 0; } Constraint e3 { Definition: 4*x20 - 4*x21 - x38 = 0; } Constraint e4 { Definition: 4*x21 - 4*x22 - x39 = 0; } Constraint e5 { Definition: 6*x23 - 6*x24 - x41 = 0; } Constraint e6 { Definition: 6*x24 - 6*x25 - x42 = 0; } Constraint e7 { Definition: 20*x26 - 20*x27 - x44 = 0; } Constraint e8 { Definition: 20*x27 - 20*x28 - x45 = 0; } Constraint e9 { Definition: 12*x29 - 12*x30 - x47 = 0; } Constraint e10 { Definition: 12*x30 - 12*x31 - x48 = 0; } Constraint e11 { Definition: 18*x32 - 18*x33 - x35 - x38 - x41 - x44 - x47 = 0; } Constraint e12 { Definition: 18*x33 - 18*x34 - x36 - x39 - x42 - x45 - x48 = 0; } Constraint e13 { Definition: 6*x19 - x50 = 1920; } Constraint e14 { Definition: 4*x22 - x51 = 1520; } Constraint e15 { Definition: 6*x25 - x52 = 2160; } Constraint e16 { Definition: 20*x28 - x53 = 7200; } Constraint e17 { Definition: 12*x31 - x54 = 3840; } Constraint e18 { Definition: - x35 - x36 - x50 = -1080; } Constraint e19 { Definition: - x38 - x39 - x51 = -400; } Constraint e20 { Definition: - x41 - x42 - x52 = -600; } Constraint e21 { Definition: - x44 - x45 - x53 = -400; } Constraint e22 { Definition: - x47 - x48 - x54 = -720; } Constraint e23 { Definition: - 18*x32 - x55 = -11880; } Constraint e24 { Definition: { - x35 - x36 - x38 - x39 - x41 - x42 - x44 - x45 - x47 - x48 - x55 = -6660 } } Constraint e25 { Definition: x17 - x18 >= 0; } Constraint e26 { Definition: x18 - x19 >= 0; } Constraint e27 { Definition: x20 - x21 >= 0; } Constraint e28 { Definition: x21 - x22 >= 0; } Constraint e29 { Definition: x23 - x24 >= 0; } Constraint e30 { Definition: x24 - x25 >= 0; } Constraint e31 { Definition: x26 - x27 >= 0; } Constraint e32 { Definition: x27 - x28 >= 0; } Constraint e33 { Definition: x29 - x30 >= 0; } Constraint e34 { Definition: x30 - x31 >= 0; } Constraint e35 { Definition: x32 - x33 >= 0; } Constraint e36 { Definition: x33 - x34 >= 0; } Constraint e37 { Definition: x19 >= 320; } Constraint e38 { Definition: x22 >= 380; } Constraint e39 { Definition: x25 >= 360; } Constraint e40 { Definition: x28 >= 360; } Constraint e41 { Definition: x31 >= 320; } Constraint e42 { Definition: - x32 >= -660; } Constraint e43 { Definition: - x17 = -500; } Constraint e44 { Definition: - x20 = -480; } Constraint e45 { Definition: - x23 = -460; } Constraint e46 { Definition: - x26 = -380; } Constraint e47 { Definition: - x29 = -380; } Constraint e48 { Definition: - x34 = -290; } Constraint e49 { Definition: - 1080*b1 + x35 <= 0; } Constraint e50 { Definition: - 1080*b2 + x36 <= 0; } Constraint e51 { Definition: - 400*b3 + x38 <= 0; } Constraint e52 { Definition: - 400*b4 + x39 <= 0; } Constraint e53 { Definition: - 600*b5 + x41 <= 0; } Constraint e54 { Definition: - 600*b6 + x42 <= 0; } Constraint e55 { Definition: - 400*b7 + x44 <= 0; } Constraint e56 { Definition: - 400*b8 + x45 <= 0; } Constraint e57 { Definition: - 720*b9 + x47 <= 0; } Constraint e58 { Definition: - 720*b10 + x48 <= 0; } Constraint e59 { Definition: - 6660*b16 + x55 <= 0; } Constraint e60 { Definition: - 1080*b11 + x50 <= 0; } Constraint e61 { Definition: - 400*b12 + x51 <= 0; } Constraint e62 { Definition: - 600*b13 + x52 <= 0; } Constraint e63 { Definition: - 400*b14 + x53 <= 0; } Constraint e64 { Definition: - 720*b15 + x54 <= 0; } Constraint e65 { Definition: 340*b1 - x17 + x32 + x56 <= 340; } Constraint e66 { Definition: 340*b2 - x18 + x33 + x57 <= 340; } Constraint e67 { Definition: 280*b3 - x20 + x32 + x59 <= 280; } Constraint e68 { Definition: 280*b4 - x21 + x33 + x60 <= 280; } Constraint e69 { Definition: 300*b5 - x23 + x32 + x62 <= 300; } Constraint e70 { Definition: 300*b6 - x24 + x33 + x63 <= 300; } Constraint e71 { Definition: 300*b7 - x26 + x32 + x65 <= 300; } Constraint e72 { Definition: 300*b8 - x27 + x33 + x66 <= 300; } Constraint e73 { Definition: 340*b9 - x29 + x32 + x68 <= 340; } Constraint e74 { Definition: 340*b10 - x30 + x33 + x69 <= 340; } Constraint e75 { Definition: 340*b1 - x18 + x33 + x57 <= 340; } Constraint e76 { Definition: 340*b2 - x19 + x34 + x58 <= 340; } Constraint e77 { Definition: 280*b3 - x21 + x33 + x60 <= 280; } Constraint e78 { Definition: 280*b4 - x22 + x34 + x61 <= 280; } Constraint e79 { Definition: 300*b5 - x24 + x33 + x63 <= 300; } Constraint e80 { Definition: 300*b6 - x25 + x34 + x64 <= 300; } Constraint e81 { Definition: 300*b7 - x27 + x33 + x66 <= 300; } Constraint e82 { Definition: 300*b8 - x28 + x34 + x67 <= 300; } Constraint e83 { Definition: 340*b9 - x30 + x33 + x69 <= 340; } Constraint e84 { Definition: 340*b10 - x31 + x34 + x70 <= 340; } Constraint e85 { Definition: - x19 + x71 <= -320; } Constraint e86 { Definition: - x22 + x72 <= -320; } Constraint e87 { Definition: - x25 + x73 <= -320; } Constraint e88 { Definition: - x28 + x74 <= -320; } Constraint e89 { Definition: - x31 + x75 <= -320; } Constraint e90 { Definition: x32 + x76 <= 700; } Constraint e91 { Definition: { -(1200*((1e-6 + x35/(1e-6 + (1e-6 + 0.5*x56*x57*(x56 + x57))**0.33333))** 0.6 + (1e-6 + x36/(1e-6 + (1e-6 + 0.5*x57*x58*(x57 + x58))**0.33333))** 0.6 + (1e-6 + 99.9853968566039*x37)**0.6 + (1e-6 + x38/(1e-6 + (1e-6 + 0.5*x59*x60*(x59 + x60))**0.33333))**0.6 + (1e-6 + x39/(1e-6 + (1e-6 + 0.5*x60*x61*(x60 + x61))**0.33333))**0.6 + (1e-6 + 99.9853968566039*x40) **0.6 + (1e-6 + x41/(1e-6 + (1e-6 + 0.5*x62*x63*(x62 + x63))**0.33333))** 0.6 + (1e-6 + x42/(1e-6 + (1e-6 + 0.5*x63*x64*(x63 + x64))**0.33333))** 0.6 + (1e-6 + 99.9853968566039*x43)**0.6 + (1e-6 + x44/(1e-6 + (1e-6 + 0.5*x65*x66*(x65 + x66))**0.33333))**0.6 + (1e-6 + x45/(1e-6 + (1e-6 + 0.5*x66*x67*(x66 + x67))**0.33333))**0.6 + (1e-6 + 99.9853968566039*x46) **0.6 + (1e-6 + x47/(1e-6 + (1e-6 + 0.5*x68*x69*(x68 + x69))**0.33333))** 0.6 + (1e-6 + x48/(1e-6 + (1e-6 + 0.5*x69*x70*(x69 + x70))**0.33333))** 0.6 + (1e-6 + 99.9853968566039*x49)**0.6) + 1200*(1e-6 + x55/(1e-6 + 40* x76*(20 + 0.5*x76))**0.33333)**0.6 + 140*x55 + 1200*((1e-6 + x50/(1e-6 + 10*x71*(20 + x71))**0.33333)**0.6 + (1e-6 + x51/(1e-6 + 40*x72*(80 + x72) )**0.33333)**0.6 + (1e-6 + x52/(1e-6 + 30*x73*(60 + x73))**0.33333)**0.6 + (1e-6 + x53/(1e-6 + 30*x74*(60 + x74))**0.33333)**0.6 + (1e-6 + x54/( 1e-6 + 10*x75*(20 + x75))**0.33333)**0.6) + 10*x50 + 10*x51 + 10*x52 + 10 *x53 + 10*x54) - 5500*b1 - 5500*b2 - 5500*b3 - 5500*b4 - 5500*b5 - 5500*b6 - 5500*b7 - 5500*b8 - 5500*b9 - 5500*b10 - 5500*b11 - 5500*b12 - 5500*b13 - 5500*b14 - 5500*b15 - 5500*b16 + objvar = 0 } } Procedure MainInitialization { Body: { x17.lower := 320; x17.upper := 500; x18.lower := 320; x18.upper := 500; x19.lower := 320; x19.upper := 500; x20.lower := 380; x20.upper := 480; x21.lower := 380; x21.upper := 480; x22.lower := 380; x22.upper := 480; x23.lower := 360; x23.upper := 460; x24.lower := 360; x24.upper := 460; x25.lower := 360; x25.upper := 460; x26.lower := 360; x26.upper := 380; x27.lower := 360; x27.upper := 380; x28.lower := 360; x28.upper := 380; x29.lower := 320; x29.upper := 380; x30.lower := 320; x30.upper := 380; x31.lower := 320; x31.upper := 380; x32.lower := 290; x32.upper := 660; x33.lower := 290; x33.upper := 660; x34.lower := 290; x34.upper := 660; x56.lower := 10; x57.lower := 10; x58.lower := 10; x59.lower := 10; x60.lower := 10; x61.lower := 10; x62.lower := 10; x63.lower := 10; x64.lower := 10; x65.lower := 10; x66.lower := 10; x67.lower := 10; x68.lower := 10; x69.lower := 10; x70.lower := 10; x71.lower := 10; x72.lower := 10; x73.lower := 10; x74.lower := 10; x75.lower := 10; x76.lower := 10; x17.l := 500; x18.l := 500; x19.l := 500; x20.l := 480; x21.l := 480; x22.l := 480; x23.l := 460; x24.l := 460; x25.l := 460; x26.l := 380; x27.l := 380; x28.l := 380; x29.l := 380; x30.l := 380; x31.l := 380; x35.l := 1080; x36.l := 1080; x38.l := 400; x39.l := 400; x41.l := 600; x42.l := 600; x44.l := 400; x45.l := 400; x47.l := 720; x48.l := 720; x56.l := 210; x57.l := 210; x58.l := 210; x59.l := 190; x60.l := 190; x61.l := 190; x62.l := 170; x63.l := 170; x64.l := 170; x65.l := 90; x66.l := 90; x67.l := 90; x68.l := 90; x69.l := 90; x70.l := 90; x71.l := 180; x72.l := 160; x73.l := 140; x74.l := 60; x75.l := 60; x76.l := 410; } } MathematicalProgram heatexch_spec2 { Objective: objvar; Direction: minimize; Constraints: AllConstraints; Variables: AllVariables; Type: MINLP; } ElementParameter myGMP { Range: AllGeneratedMathematicalPrograms; } Procedure MainExecution { Body: { solve heatexch_spec2; } } Procedure MainTermination { Body: { return 1; } } }