## ams_version=1.0 Model Main_heatexch_gen1 { 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 x13; Variable x14; Variable x15; Variable x16; Variable x17; Variable x18; Variable x19; Variable x20; Variable x21; Variable x22; Variable x23; Variable x24; Variable x25 { Range: nonnegative; } Variable x26 { Range: nonnegative; } Variable x27 { Range: nonnegative; } Variable x28 { Range: nonnegative; } Variable x29 { Range: nonnegative; } Variable x30 { Range: nonnegative; } Variable x31 { Range: nonnegative; } Variable x32 { Range: nonnegative; } Variable x33 { Range: nonnegative; } Variable x34 { Range: nonnegative; } Variable x35 { Range: nonnegative; } Variable x36 { Range: nonnegative; } Variable x37; Variable x38; Variable x39; Variable x40; Variable x41; Variable x42; Variable x43; Variable x44; Variable x45; Variable x46; Variable x47; Variable x48; Variable x49; Variable x50; Variable x51; Variable x52; Variable x53 { Range: nonnegative; } Variable x54 { Range: nonnegative; } Variable x55 { Range: nonnegative; } Variable x56 { Range: nonnegative; } Variable x57 { Range: nonnegative; } Variable x58 { Range: nonnegative; } Variable x59 { Range: nonnegative; } Variable x60 { Range: nonnegative; } Variable x61 { Range: nonnegative; } Variable x62 { Range: nonnegative; } Variable x63 { Range: nonnegative; } Variable x64 { Range: nonnegative; } Variable x65 { Range: nonnegative; } Variable x66 { Range: nonnegative; } Variable x67 { Range: nonnegative; } Variable x68 { Range: nonnegative; } Variable x69; Variable x70; Variable x71; Variable x72; Variable x73; Variable x74; Variable x75; Variable x76; Variable x77; Variable x78; Variable x79; Variable x80; Variable x81; Variable x82; Variable x83; Variable x84; Variable x85 { Range: nonnegative; } Variable x86 { Range: nonnegative; } Variable x87 { Range: nonnegative; } Variable x88 { Range: nonnegative; } Variable x89 { Range: nonnegative; } Variable x90 { Range: nonnegative; } Variable x91 { Range: nonnegative; } Variable x92 { Range: nonnegative; } Variable x93 { Range: nonnegative; } Variable x94 { Range: nonnegative; } Variable x95 { Range: nonnegative; } Variable x96 { Range: nonnegative; } Variable x97 { Range: nonnegative; } Variable x98 { Range: nonnegative; } Variable x99 { Range: nonnegative; } Variable x100 { Range: nonnegative; } Variable x101 { Range: nonnegative; } Variable x102 { Range: nonnegative; } Variable x103 { Range: nonnegative; } Variable x104 { Range: nonnegative; } Variable x105 { Range: nonnegative; } Variable x106 { Range: nonnegative; } Variable x107 { Range: nonnegative; } Variable x108 { Range: nonnegative; } Variable x109 { Range: nonnegative; } Variable x110 { Range: nonnegative; } Variable x111 { Range: nonnegative; } Variable x112 { Range: nonnegative; } Variable objvar; Constraint e1 { Definition: 10*x13 - 10*x14 - x25 - x27 = 0; } Constraint e2 { Definition: 10*x14 - 10*x15 - x26 - x28 = 0; } Constraint e3 { Definition: 20*x16 - 20*x17 - x29 - x31 = 0; } Constraint e4 { Definition: 20*x17 - 20*x18 - x30 - x32 = 0; } Constraint e5 { Definition: 15*x19 - 15*x20 - x25 - x29 = 0; } Constraint e6 { Definition: 15*x20 - 15*x21 - x26 - x30 = 0; } Constraint e7 { Definition: 13*x22 - 13*x23 - x27 - x31 = 0; } Constraint e8 { Definition: 13*x23 - 13*x24 - x28 - x32 = 0; } Constraint e9 { Definition: 10*x15 - x33 = 3700; } Constraint e10 { Definition: 20*x18 - x34 = 7400; } Constraint e11 { Definition: - x25 - x26 - x27 - x28 - x33 = -2800; } Constraint e12 { Definition: - x29 - x30 - x31 - x32 - x34 = -4400; } Constraint e13 { Definition: - 15*x19 - x35 = -9750; } Constraint e14 { Definition: - 13*x22 - x36 = -6500; } Constraint e15 { Definition: - x25 - x26 - x29 - x30 - x35 = -3600; } Constraint e16 { Definition: - x27 - x28 - x31 - x32 - x36 = -1950; } Constraint e17 { Definition: x13 - x14 >= 0; } Constraint e18 { Definition: x14 - x15 >= 0; } Constraint e19 { Definition: x16 - x17 >= 0; } Constraint e20 { Definition: x17 - x18 >= 0; } Constraint e21 { Definition: x19 - x20 >= 0; } Constraint e22 { Definition: x20 - x21 >= 0; } Constraint e23 { Definition: x22 - x23 >= 0; } Constraint e24 { Definition: x23 - x24 >= 0; } Constraint e25 { Definition: x15 >= 370; } Constraint e26 { Definition: x18 >= 370; } Constraint e27 { Definition: - x19 >= -650; } Constraint e28 { Definition: - x22 >= -500; } Constraint e29 { Definition: - x13 = -650; } Constraint e30 { Definition: - x16 = -590; } Constraint e31 { Definition: - x21 = -410; } Constraint e32 { Definition: - x24 = -350; } Constraint e33 { Definition: - x53 - x55 = -10; } Constraint e34 { Definition: - x54 - x56 = -10; } Constraint e35 { Definition: - x57 - x59 = -20; } Constraint e36 { Definition: - x58 - x60 = -20; } Constraint e37 { Definition: - x61 - x65 = -15; } Constraint e38 { Definition: - x62 - x66 = -15; } Constraint e39 { Definition: - x63 - x67 = -13; } Constraint e40 { Definition: - x64 - x68 = -13; } Constraint e41 { Definition: -x53*(x13 - x69) + x25 = 0; } Constraint e42 { Definition: -x54*(x14 - x70) + x26 = 0; } Constraint e43 { Definition: -x55*(x13 - x71) + x27 = 0; } Constraint e44 { Definition: -x56*(x14 - x72) + x28 = 0; } Constraint e45 { Definition: -x57*(x16 - x73) + x29 = 0; } Constraint e46 { Definition: -x58*(x17 - x74) + x30 = 0; } Constraint e47 { Definition: -x59*(x16 - x75) + x31 = 0; } Constraint e48 { Definition: -x60*(x17 - x76) + x32 = 0; } Constraint e49 { Definition: -x61*(x77 - x20) + x25 = 0; } Constraint e50 { Definition: -x62*(x78 - x21) + x26 = 0; } Constraint e51 { Definition: -x63*(x79 - x23) + x27 = 0; } Constraint e52 { Definition: -x64*(x80 - x24) + x28 = 0; } Constraint e53 { Definition: -x65*(x81 - x20) + x29 = 0; } Constraint e54 { Definition: -x66*(x82 - x21) + x30 = 0; } Constraint e55 { Definition: -x67*(x83 - x23) + x31 = 0; } Constraint e56 { Definition: -x68*(x84 - x24) + x32 = 0; } Constraint e57 { Definition: -(x53*x69 + x55*x71) + 10*x14 = 0; } Constraint e58 { Definition: -(x54*x70 + x56*x72) + 10*x15 = 0; } Constraint e59 { Definition: -(x57*x73 + x59*x75) + 20*x17 = 0; } Constraint e60 { Definition: -(x58*x74 + x60*x76) + 20*x18 = 0; } Constraint e61 { Definition: -(x61*x77 + x65*x81) + 15*x19 = 0; } Constraint e62 { Definition: -(x62*x78 + x66*x82) + 15*x20 = 0; } Constraint e63 { Definition: -(x63*x79 + x67*x83) + 13*x22 = 0; } Constraint e64 { Definition: -(x64*x80 + x68*x84) + 13*x23 = 0; } Constraint e65 { Definition: -(x37 - x38)/log(x37/(1e-6 + x38)) + x85 = 0; } Constraint e66 { Definition: -(x38 - x39)/log(x38/(1e-6 + x39)) + x86 = 0; } Constraint e67 { Definition: -(x40 - x41)/log(x40/(1e-6 + x41)) + x87 = 0; } Constraint e68 { Definition: -(x41 - x42)/log(x41/(1e-6 + x42)) + x88 = 0; } Constraint e69 { Definition: -(x43 - x44)/log(x43/(1e-6 + x44)) + x89 = 0; } Constraint e70 { Definition: -(x44 - x45)/log(x44/(1e-6 + x45)) + x90 = 0; } Constraint e71 { Definition: -(x46 - x47)/log(x46/(1e-6 + x47)) + x91 = 0; } Constraint e72 { Definition: -(x47 - x48)/log(x47/(1e-6 + x48)) + x92 = 0; } Constraint e73 { Definition: -2*x25/(0.01 + x85) + x97 = 0; } Constraint e74 { Definition: -2*x26/(0.01 + x86) + x98 = 0; } Constraint e75 { Definition: -2*x27/(0.01 + x87) + x100 = 0; } Constraint e76 { Definition: -2*x28/(0.01 + x88) + x101 = 0; } Constraint e77 { Definition: -2*x29/(0.01 + x89) + x103 = 0; } Constraint e78 { Definition: -2*x30/(0.01 + x90) + x104 = 0; } Constraint e79 { Definition: -2*x31/(0.01 + x91) + x106 = 0; } Constraint e80 { Definition: -2*x32/(0.01 + x92) + x107 = 0; } Constraint e81 { Definition: -(-70 + x49)/log(0.0142857140816327*x49) + x93 = 0; } Constraint e82 { Definition: -(-70 + x50)/log(0.0142857140816327*x50) + x94 = 0; } Constraint e83 { Definition: -(-30 + x51)/log(0.0333333322222223*x51) + x95 = 0; } Constraint e84 { Definition: -(-180 + x52)/log(0.00555555552469136*x52) + x96 = 0; } Constraint e85 { Definition: -2*x33/(0.01 + x93) + x109 = 0; } Constraint e86 { Definition: -2*x34/(0.01 + x94) + x110 = 0; } Constraint e87 { Definition: -1.2*x35/(0.01 + x95) + x111 = 0; } Constraint e88 { Definition: -1.2*x36/(0.01 + x96) + x112 = 0; } Constraint e89 { Definition: - 2800*b1 + x25 <= 0; } Constraint e90 { Definition: - 2800*b2 + x26 <= 0; } Constraint e91 { Definition: - 1950*b3 + x27 <= 0; } Constraint e92 { Definition: - 1950*b4 + x28 <= 0; } Constraint e93 { Definition: - 3600*b5 + x29 <= 0; } Constraint e94 { Definition: - 3600*b6 + x30 <= 0; } Constraint e95 { Definition: - 1950*b7 + x31 <= 0; } Constraint e96 { Definition: - 1950*b8 + x32 <= 0; } Constraint e97 { Definition: - 3600*b11 + x35 <= 0; } Constraint e98 { Definition: - 1950*b12 + x36 <= 0; } Constraint e99 { Definition: - 2800*b9 + x33 <= 0; } Constraint e100 { Definition: - 4400*b10 + x34 <= 0; } Constraint e101 { Definition: 280*b1 - x13 + x19 + x37 <= 280; } Constraint e102 { Definition: 280*b2 - x14 + x20 + x38 <= 280; } Constraint e103 { Definition: 130*b3 - x13 + x22 + x40 <= 130; } Constraint e104 { Definition: 130*b4 - x14 + x23 + x41 <= 130; } Constraint e105 { Definition: 280*b5 - x16 + x19 + x43 <= 280; } Constraint e106 { Definition: 280*b6 - x17 + x20 + x44 <= 280; } Constraint e107 { Definition: 130*b7 - x16 + x22 + x46 <= 130; } Constraint e108 { Definition: 130*b8 - x17 + x23 + x47 <= 130; } Constraint e109 { Definition: 280*b1 - x14 + x20 + x38 <= 280; } Constraint e110 { Definition: 280*b2 - x15 + x21 + x39 <= 280; } Constraint e111 { Definition: 130*b3 - x14 + x23 + x41 <= 130; } Constraint e112 { Definition: 130*b4 - x15 + x24 + x42 <= 130; } Constraint e113 { Definition: 280*b5 - x17 + x20 + x44 <= 280; } Constraint e114 { Definition: 280*b6 - x18 + x21 + x45 <= 280; } Constraint e115 { Definition: 130*b7 - x17 + x23 + x47 <= 130; } Constraint e116 { Definition: 130*b8 - x18 + x24 + x48 <= 130; } Constraint e117 { Definition: - x15 + x49 <= -320; } Constraint e118 { Definition: - x18 + x50 <= -320; } Constraint e119 { Definition: x19 + x51 <= 680; } Constraint e120 { Definition: x22 + x52 <= 680; } Constraint e121 { Definition: { - 5500*b1 - 5500*b2 - 5500*b3 - 5500*b4 - 5500*b5 - 5500*b6 - 5500*b7 - 5500*b8 - 5500*b9 - 5500*b10 - 5500*b11 - 5500*b12 - 15*x33 - 15*x34 - 80*x35 - 80*x36 - 150*x97 - 150*x98 - 150*x99 - 150*x100 - 150*x101 - 150*x102 - 150*x103 - 150*x104 - 150*x105 - 150*x106 - 150*x107 - 150*x108 - 150*x109 - 150*x110 - 150*x111 - 150*x112 + objvar = 0 } } Procedure MainInitialization { Body: { x13.lower := 370; x13.upper := 650; x14.lower := 370; x14.upper := 650; x15.lower := 370; x15.upper := 650; x16.lower := 370; x16.upper := 590; x17.lower := 370; x17.upper := 590; x18.lower := 370; x18.upper := 590; x19.lower := 410; x19.upper := 650; x20.lower := 410; x20.upper := 650; x21.lower := 410; x21.upper := 650; x22.lower := 350; x22.upper := 500; x23.lower := 350; x23.upper := 500; x24.lower := 350; x24.upper := 500; x37.lower := 10; x38.lower := 10; x39.lower := 10; x40.lower := 10; x41.lower := 10; x42.lower := 10; x43.lower := 10; x44.lower := 10; x45.lower := 10; x46.lower := 10; x47.lower := 10; x48.lower := 10; x49.lower := 10; x50.lower := 10; x51.lower := 10; x52.lower := 10; x53.upper := 10; x54.upper := 10; x55.upper := 10; x56.upper := 10; x57.upper := 20; x58.upper := 20; x59.upper := 20; x60.upper := 20; x61.upper := 15; x62.upper := 15; x63.upper := 13; x64.upper := 13; x65.upper := 15; x66.upper := 15; x67.upper := 13; x68.upper := 13; x69.lower := 370; x69.upper := 650; x70.lower := 370; x70.upper := 650; x71.lower := 370; x71.upper := 650; x72.lower := 370; x72.upper := 650; x73.lower := 370; x73.upper := 590; x74.lower := 370; x74.upper := 590; x75.lower := 370; x75.upper := 590; x76.lower := 370; x76.upper := 590; x77.lower := 410; x77.upper := 650; x78.lower := 410; x78.upper := 650; x79.lower := 350; x79.upper := 500; x80.lower := 350; x80.upper := 500; x81.lower := 410; x81.upper := 650; x82.lower := 410; x82.upper := 650; x83.lower := 350; x83.upper := 500; x84.lower := 350; x84.upper := 500; x13.l := 650; x14.l := 650; x15.l := 650; x16.l := 590; x17.l := 590; x18.l := 590; x25.l := 2800; x26.l := 2800; x27.l := 1950; x28.l := 1950; x29.l := 3600; x30.l := 3600; x31.l := 1950; x32.l := 1950; x37.l := 240; x38.l := 240; x39.l := 240; x40.l := 300; x41.l := 300; x42.l := 300; x43.l := 180; x44.l := 180; x45.l := 180; x46.l := 240; x47.l := 240; x48.l := 240; x49.l := 330; x50.l := 270; x51.l := 270; x52.l := 330; x53.l := 10; x54.l := 10; x55.l := 10; x56.l := 10; x57.l := 20; x58.l := 20; x59.l := 20; x60.l := 20; x61.l := 15; x62.l := 15; x63.l := 13; x64.l := 13; x65.l := 15; x66.l := 15; x67.l := 13; x68.l := 13; x69.l := 650; x70.l := 650; x71.l := 650; x72.l := 650; x73.l := 590; x74.l := 590; x75.l := 590; x76.l := 590; } } MathematicalProgram heatexch_gen1 { Objective: objvar; Direction: minimize; Constraints: AllConstraints; Variables: AllVariables; Type: MINLP; } ElementParameter myGMP { Range: AllGeneratedMathematicalPrograms; } Procedure MainExecution { Body: { solve heatexch_gen1; } } Procedure MainTermination { Body: { return 1; } } }