enpro56.gms : MINLP model used by CTRLC test

Description


Small Model of Type : MINLP


Category : GAMS Test library


Main file : enpro56.gms

$title 'MINLP model used by CTRLC test' (ENPRO56,SEQ=591)


$offListing
Variables  x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19
          ,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33,x34,x35,x36
          ,x37,x38,x39,x40,x41,x42,x43,x44,x45,x46,x47,x48,objvar,x50,x51,x52
          ,x53,x54,x55,b56,b57,b58,b59,b60,b61,b62,b63,b64,b65,b66,b67,b68,b69
          ,b70,b71,b72,b73,b74,b75,b76,b77,b78,b79,b80,b81,b82,b83,b84,b85,b86
          ,b87,b88,b89,b90,b91,b92,b93,b94,b95,b96,b97,b98,b99,b100,b101,b102
          ,b103,b104,b105,b106,b107,b108,b109,b110,b111,b112,b113,b114,b115
          ,b116,b117,b118,b119,b120,b121,b122,b123,b124,b125,b126,b127,b128;

Positive Variables x37,x38,x39,x40,x41,x42,x43,x44,x45,x46,x47,x48;

Binary Variables b56,b57,b58,b59,b60,b61,b62,b63,b64,b65,b66,b67,b68,b69,b70
          ,b71,b72,b73,b74,b75,b76,b77,b78,b79,b80,b81,b82,b83,b84,b85,b86,b87
          ,b88,b89,b90,b91,b92,b93,b94,b95,b96,b97,b98,b99,b100,b101,b102,b103
          ,b104,b105,b106,b107,b108,b109,b110,b111,b112,b113,b114,b115,b116
          ,b117,b118,b119,b120,b121,b122,b123,b124,b125,b126,b127,b128;

Equations  e1,e2,e3,e4,e5,e6,e7,e8,e9,e10,e11,e12,e13,e14,e15,e16,e17,e18,e19
          ,e20,e21,e22,e23,e24,e25,e26,e27,e28,e29,e30,e31,e32,e33,e34,e35,e36
          ,e37,e38,e39,e40,e41,e42,e43,e44,e45,e46,e47,e48,e49,e50,e51,e52,e53
          ,e54,e55,e56,e57,e58,e59,e60,e61,e62,e63,e64,e65,e66,e67,e68,e69,e70
          ,e71,e72,e73,e74,e75,e76,e77,e78,e79,e80,e81,e82,e83,e84,e85,e86,e87
          ,e88,e89,e90,e91,e92,e93,e94,e95,e96,e97,e98,e99,e100,e101,e102,e103
          ,e104,e105,e106,e107,e108,e109,e110,e111,e112,e113,e114,e115,e116
          ,e117,e118,e119,e120,e121,e122,e123,e124,e125,e126,e127,e128,e129
          ,e130,e131,e132,e133,e134,e135,e136,e137,e138,e139,e140,e141,e142
          ,e143,e144,e145,e146,e147,e148,e149,e150,e151,e152,e153,e154,e155
          ,e156,e157,e158,e159,e160,e161,e162,e163,e164,e165,e166,e167,e168
          ,e169,e170,e171,e172,e173,e174,e175,e176,e177,e178,e179,e180,e181
          ,e182,e183,e184,e185,e186,e187,e188,e189,e190,e191,e192;


e1..    x1 - x7 + x37 =G= 2.06686275947298;

e2..    x2 - x8 + x38 =G= 0.693147180559945;

e3..    x3 - x9 + x39 =G= 1.64865862558738;

e4..    x4 - x10 + x40 =G= 1.58923520511658;

e5..    x5 - x11 + x41 =G= 1.80828877117927;

e6..    x6 - x12 + x42 =G= 1.43508452528932;

e7..    x1 - x13 + x37 =G= -0.356674943938732;

e8..    x2 - x14 + x38 =G= -0.22314355131421;

e9..    x3 - x15 + x39 =G= -0.105360515657826;

e10..    x4 - x16 + x40 =G= 1.22377543162212;

e11..    x5 - x17 + x41 =G= 0.741937344729377;

e12..    x6 - x18 + x42 =G= 0.916290731874155;

e13..    x1 - x19 + x37 =G= -0.356674943938732;

e14..    x2 - x20 + x38 =G= 0.955511445027436;

e15..    x3 - x21 + x39 =G= 0.470003629245736;

e16..    x4 - x22 + x40 =G= 1.28093384546206;

e17..    x5 - x23 + x41 =G= 1.16315080980568;

e18..    x6 - x24 + x42 =G= 1.06471073699243;

e19..    x1 - x25 + x37 =G= 1.54756250871601;

e20..    x2 - x26 + x38 =G= 0.832909122935104;

e21..    x3 - x27 + x39 =G= 0.470003629245736;

e22..    x4 - x28 + x40 =G= 0.993251773010283;

e23..    x5 - x29 + x41 =G= 0.182321556793955;

e24..    x6 - x30 + x42 =G= 0.916290731874155;

e25..    x1 - x31 + x37 =G= 0.182321556793955;

e26..    x2 - x32 + x38 =G= 1.28093384546206;

e27..    x3 - x33 + x39 =G= 0.8754687373539;

e28..    x4 - x34 + x40 =G= 1.50407739677627;

e29..    x5 - x35 + x41 =G= 0.470003629245736;

e30..    x6 - x36 + x42 =G= 0.741937344729377;

e31..    x7 + x43 + x51 =G= 1.85629799036563;

e32..    x8 + x44 + x51 =G= 1.54756250871601;

e33..    x9 + x45 + x51 =G= 2.11625551480255;

e34..    x10 + x46 + x51 =G= 1.3609765531356;

e35..    x11 + x47 + x51 =G= 0.741937344729377;

e36..    x12 + x48 + x51 =G= 0.182321556793955;

e37..    x13 + x43 + x52 =G= 1.91692261218206;

e38..    x14 + x44 + x52 =G= 1.85629799036563;

e39..    x15 + x45 + x52 =G= 1.87180217690159;

e40..    x16 + x46 + x52 =G= 1.48160454092422;

e41..    x17 + x47 + x52 =G= 0.832909122935104;

e42..    x18 + x48 + x52 =G= 1.16315080980568;

e43..    x19 + x43 + x53 =G= 0;

e44..    x20 + x44 + x53 =G= 1.84054963339749;

e45..    x21 + x45 + x53 =G= 1.68639895357023;

e46..    x22 + x46 + x53 =G= 2.47653840011748;

e47..    x23 + x47 + x53 =G= 1.7404661748405;

e48..    x24 + x48 + x53 =G= 1.82454929205105;

e49..    x25 + x43 + x54 =G= 1.16315080980568;

e50..    x26 + x44 + x54 =G= 1.09861228866811;

e51..    x27 + x45 + x54 =G= 1.25276296849537;

e52..    x28 + x46 + x54 =G= 1.19392246847243;

e53..    x29 + x47 + x54 =G= 1.02961941718116;

e54..    x30 + x48 + x54 =G= 1.22377543162212;

e55..    x31 + x43 + x55 =G= 0.741937344729377;

e56..    x32 + x44 + x55 =G= 0.916290731874155;

e57..    x33 + x45 + x55 =G= 1.43508452528932;

e58..    x34 + x46 + x55 =G= 1.28093384546206;

e59..    x35 + x47 + x55 =G= 1.30833281965018;

e60..    x36 + x48 + x55 =G= 0.78845736036427;

e61.. 250000*exp(x51) + 150000*exp(x52) + 180000*exp(x53) + 160000*exp(x54) +
      120000*exp(x55) =L= 6000;

e62..  - x8 + x50 - 10*b104 =G= -7.69741490700595;

e63..  - x9 + x50 - 10*b105 =G= -7.69741490700595;

e64..  - x10 + x50 - 10*b106 =G= -7.69741490700595;

e65..  - x11 + x50 - 10*b107 =G= -7.69741490700595;

e66..  - x12 + x50 - 10*b108 =G= -7.69741490700595;

e67..  - x14 + x50 - 10*b109 =G= -7.69741490700595;

e68..  - x15 + x50 - 10*b110 =G= -7.69741490700595;

e69..  - x16 + x50 - 10*b111 =G= -7.69741490700595;

e70..  - x17 + x50 - 10*b112 =G= -7.69741490700595;

e71..  - x18 + x50 - 10*b113 =G= -7.69741490700595;

e72..  - x20 + x50 - 10*b114 =G= -7.69741490700595;

e73..  - x21 + x50 - 10*b115 =G= -7.69741490700595;

e74..  - x22 + x50 - 10*b116 =G= -7.69741490700595;

e75..  - x23 + x50 - 10*b117 =G= -7.69741490700595;

e76..  - x24 + x50 - 10*b118 =G= -7.69741490700595;

e77..  - x26 + x50 - 10*b119 =G= -7.69741490700595;

e78..  - x27 + x50 - 10*b120 =G= -7.69741490700595;

e79..  - x28 + x50 - 10*b121 =G= -7.69741490700595;

e80..  - x29 + x50 - 10*b122 =G= -7.69741490700595;

e81..  - x30 + x50 - 10*b123 =G= -7.69741490700595;

e82..  - x32 + x50 - 10*b124 =G= -7.69741490700595;

e83..  - x33 + x50 - 10*b125 =G= -7.69741490700595;

e84..  - x34 + x50 - 10*b126 =G= -7.69741490700595;

e85..  - x35 + x50 - 10*b127 =G= -7.69741490700595;

e86..  - x36 + x50 - 10*b128 =G= -7.69741490700595;

e87..  - x7 + x50 - 10*b104 =G= -7.69741490700595;

e88..  - x8 + x50 - 10*b105 =G= -7.69741490700595;

e89..  - x9 + x50 - 10*b106 =G= -7.69741490700595;

e90..  - x10 + x50 - 10*b107 =G= -7.69741490700595;

e91..  - x11 + x50 - 10*b108 =G= -7.69741490700595;

e92..  - x13 + x50 - 10*b109 =G= -7.69741490700595;

e93..  - x14 + x50 - 10*b110 =G= -7.69741490700595;

e94..  - x15 + x50 - 10*b111 =G= -7.69741490700595;

e95..  - x16 + x50 - 10*b112 =G= -7.69741490700595;

e96..  - x17 + x50 - 10*b113 =G= -7.69741490700595;

e97..  - x19 + x50 - 10*b114 =G= -7.69741490700595;

e98..  - x20 + x50 - 10*b115 =G= -7.69741490700595;

e99..  - x21 + x50 - 10*b116 =G= -7.69741490700595;

e100..  - x22 + x50 - 10*b117 =G= -7.69741490700595;

e101..  - x23 + x50 - 10*b118 =G= -7.69741490700595;

e102..  - x25 + x50 - 10*b119 =G= -7.69741490700595;

e103..  - x26 + x50 - 10*b120 =G= -7.69741490700595;

e104..  - x27 + x50 - 10*b121 =G= -7.69741490700595;

e105..  - x28 + x50 - 10*b122 =G= -7.69741490700595;

e106..  - x29 + x50 - 10*b123 =G= -7.69741490700595;

e107..  - x31 + x50 - 10*b124 =G= -7.69741490700595;

e108..  - x32 + x50 - 10*b125 =G= -7.69741490700595;

e109..  - x33 + x50 - 10*b126 =G= -7.69741490700595;

e110..  - x34 + x50 - 10*b127 =G= -7.69741490700595;

e111..  - x35 + x50 - 10*b128 =G= -7.69741490700595;

e112..    x37 - 0.693147180559945*b62 - 1.09861228866811*b68
        - 1.38629436111989*b74 =E= 0;

e113..    x38 - 0.693147180559945*b63 - 1.09861228866811*b69
        - 1.38629436111989*b75 =E= 0;

e114..    x39 - 0.693147180559945*b64 - 1.09861228866811*b70
        - 1.38629436111989*b76 =E= 0;

e115..    x40 - 0.693147180559945*b65 - 1.09861228866811*b71
        - 1.38629436111989*b77 =E= 0;

e116..    x41 - 0.693147180559945*b66 - 1.09861228866811*b72
        - 1.38629436111989*b78 =E= 0;

e117..    x42 - 0.693147180559945*b67 - 1.09861228866811*b73
        - 1.38629436111989*b79 =E= 0;

e118..    x43 - 0.693147180559945*b86 - 1.09861228866811*b92
        - 1.38629436111989*b98 =E= 0;

e119..    x44 - 0.693147180559945*b87 - 1.09861228866811*b93
        - 1.38629436111989*b99 =E= 0;

e120..    x45 - 0.693147180559945*b88 - 1.09861228866811*b94
        - 1.38629436111989*b100 =E= 0;

e121..    x46 - 0.693147180559945*b89 - 1.09861228866811*b95
        - 1.38629436111989*b101 =E= 0;

e122..    x47 - 0.693147180559945*b90 - 1.09861228866811*b96
        - 1.38629436111989*b102 =E= 0;

e123..    x48 - 0.693147180559945*b91 - 1.09861228866811*b97
        - 1.38629436111989*b103 =E= 0;

e124..    b56 + b62 + b68 + b74 =E= 1;

e125..    b57 + b63 + b69 + b75 =E= 1;

e126..    b58 + b64 + b70 + b76 =E= 1;

e127..    b59 + b65 + b71 + b77 =E= 1;

e128..    b60 + b66 + b72 + b78 =E= 1;

e129..    b61 + b67 + b73 + b79 =E= 1;

e130..    b80 + b86 + b92 + b98 =E= 1;

e131..    b81 + b87 + b93 + b99 =E= 1;

e132..    b82 + b88 + b94 + b100 =E= 1;

e133..    b83 + b89 + b95 + b101 =E= 1;

e134..    b84 + b90 + b96 + b102 =E= 1;

e135..    b85 + b91 + b97 + b103 =E= 1;

e136..    b104 + b105 + b106 + b107 + b108 =L= 1;

e137..    b109 + b110 + b111 + b112 + b113 =L= 1;

e138..    b114 + b115 + b116 + b117 + b118 =L= 1;

e139..    b119 + b120 + b121 + b122 + b123 =L= 1;

e140..    b124 + b125 + b126 + b127 + b128 =L= 1;

e141..    b104 + b105 + b106 + b107 + b108 + b109 + b110 + b111 + b112 + b113
        + b114 + b115 + b116 + b117 + b118 + b119 + b120 + b121 + b122 + b123
        + b124 + b125 + b126 + b127 + b128 =G= 1;

e142..    x7 - x8 - 0.693147180559945*b104 =L= 0;

e143..    x8 - x9 - 0.693147180559945*b105 =L= 0;

e144..    x9 - x10 - 0.693147180559945*b106 =L= 0;

e145..    x10 - x11 - 0.693147180559945*b107 =L= 0;

e146..    x11 - x12 - 0.693147180559945*b108 =L= 0;

e147..    x13 - x14 - 0.693147180559945*b109 =L= 0;

e148..    x14 - x15 - 0.693147180559945*b110 =L= 0;

e149..    x15 - x16 - 0.693147180559945*b111 =L= 0;

e150..    x16 - x17 - 0.693147180559945*b112 =L= 0;

e151..    x17 - x18 - 0.693147180559945*b113 =L= 0;

e152..    x19 - x20 - 0.693147180559945*b114 =L= 0;

e153..    x20 - x21 - 0.693147180559945*b115 =L= 0;

e154..    x21 - x22 - 0.693147180559945*b116 =L= 0;

e155..    x22 - x23 - 0.693147180559945*b117 =L= 0;

e156..    x23 - x24 - 0.693147180559945*b118 =L= 0;

e157..    x25 - x26 - 0.693147180559945*b119 =L= 0;

e158..    x26 - x27 - 0.693147180559945*b120 =L= 0;

e159..    x27 - x28 - 0.693147180559945*b121 =L= 0;

e160..    x28 - x29 - 0.693147180559945*b122 =L= 0;

e161..    x29 - x30 - 0.693147180559945*b123 =L= 0;

e162..    x31 - x32 - 0.693147180559945*b124 =L= 0;

e163..    x32 - x33 - 0.693147180559945*b125 =L= 0;

e164..    x33 - x34 - 0.693147180559945*b126 =L= 0;

e165..    x34 - x35 - 0.693147180559945*b127 =L= 0;

e166..    x35 - x36 - 0.693147180559945*b128 =L= 0;

e167..    x7 - x8 + 0.693147180559945*b104 =G= 0;

e168..    x8 - x9 + 0.693147180559945*b105 =G= 0;

e169..    x9 - x10 + 0.693147180559945*b106 =G= 0;

e170..    x10 - x11 + 0.693147180559945*b107 =G= 0;

e171..    x11 - x12 + 0.693147180559945*b108 =G= 0;

e172..    x13 - x14 + 0.693147180559945*b109 =G= 0;

e173..    x14 - x15 + 0.693147180559945*b110 =G= 0;

e174..    x15 - x16 + 0.693147180559945*b111 =G= 0;

e175..    x16 - x17 + 0.693147180559945*b112 =G= 0;

e176..    x17 - x18 + 0.693147180559945*b113 =G= 0;

e177..    x19 - x20 + 0.693147180559945*b114 =G= 0;

e178..    x20 - x21 + 0.693147180559945*b115 =G= 0;

e179..    x21 - x22 + 0.693147180559945*b116 =G= 0;

e180..    x22 - x23 + 0.693147180559945*b117 =G= 0;

e181..    x23 - x24 + 0.693147180559945*b118 =G= 0;

e182..    x25 - x26 + 0.693147180559945*b119 =G= 0;

e183..    x26 - x27 + 0.693147180559945*b120 =G= 0;

e184..    x27 - x28 + 0.693147180559945*b121 =G= 0;

e185..    x28 - x29 + 0.693147180559945*b122 =G= 0;

e186..    x29 - x30 + 0.693147180559945*b123 =G= 0;

e187..    x31 - x32 + 0.693147180559945*b124 =G= 0;

e188..    x32 - x33 + 0.693147180559945*b125 =G= 0;

e189..    x33 - x34 + 0.693147180559945*b126 =G= 0;

e190..    x34 - x35 + 0.693147180559945*b127 =G= 0;

e191..    x35 - x36 + 0.693147180559945*b128 =G= 0;

e192..  - (250*(exp(0.6*x1 + x37 + x43) + exp(0.6*x2 + x38 + x44) + exp(0.6*x3
        + x39 + x45) + exp(0.6*x4 + x40 + x46) + exp(0.6*x5 + x41 + x47) + exp(
       0.6*x6 + x42 + x48)) + 150*exp(0.5*x50)) + objvar =E= 0;

* set non default bounds

x1.lo = 5.7037824746562; x1.up = 8.1605182474775;
x2.lo = 5.7037824746562; x2.up = 8.1605182474775;
x3.lo = 5.7037824746562; x3.up = 8.1605182474775;
x4.lo = 5.7037824746562; x4.up = 8.1605182474775;
x5.lo = 5.7037824746562; x5.up = 8.1605182474775;
x6.lo = 5.7037824746562; x6.up = 8.1605182474775;
x7.lo = 4.45966260231685; x7.up = 6.09365548800453;
x8.lo = 4.45966260231685; x8.up = 6.09365548800453;
x9.lo = 4.45966260231685; x9.up = 6.09365548800453;
x10.lo = 4.45966260231685; x10.up = 6.09365548800453;
x11.lo = 4.45966260231685; x11.up = 6.09365548800453;
x12.lo = 4.45966260231685; x12.up = 6.09365548800453;
x13.lo = 3.74950407593037; x13.up = 6.93674281585539;
x14.lo = 3.74950407593037; x14.up = 6.93674281585539;
x15.lo = 3.74950407593037; x15.up = 6.93674281585539;
x16.lo = 3.74950407593037; x16.up = 6.93674281585539;
x17.lo = 3.74950407593037; x17.up = 6.93674281585539;
x18.lo = 3.74950407593037; x18.up = 6.93674281585539;
x19.lo = 4.49144142065975; x19.up = 6.87958440201544;
x20.lo = 4.49144142065975; x20.up = 6.87958440201544;
x21.lo = 4.49144142065975; x21.up = 6.87958440201544;
x22.lo = 4.49144142065975; x22.up = 6.87958440201544;
x23.lo = 4.49144142065975; x23.up = 6.87958440201544;
x24.lo = 4.49144142065975; x24.up = 6.87958440201544;
x25.lo = 3.14988295338125; x25.up = 6.61295573876149;
x26.lo = 3.14988295338125; x26.up = 6.61295573876149;
x27.lo = 3.14988295338125; x27.up = 6.61295573876149;
x28.lo = 3.14988295338125; x28.up = 6.61295573876149;
x29.lo = 3.14988295338125; x29.up = 6.61295573876149;
x30.lo = 3.14988295338125; x30.up = 6.61295573876149;
x31.lo = 3.04452243772342; x31.up = 6.65644085070123;
x32.lo = 3.04452243772342; x32.up = 6.65644085070123;
x33.lo = 3.04452243772342; x33.up = 6.65644085070123;
x34.lo = 3.04452243772342; x34.up = 6.65644085070123;
x35.lo = 3.04452243772342; x35.up = 6.65644085070123;
x36.lo = 3.04452243772342; x36.up = 6.65644085070123;
x37.up = 1.38629436111989;
x38.up = 1.38629436111989;
x39.up = 1.38629436111989;
x40.up = 1.38629436111989;
x41.up = 1.38629436111989;
x42.up = 1.38629436111989;
x43.up = 1.38629436111989;
x44.up = 1.38629436111989;
x45.up = 1.38629436111989;
x46.up = 1.38629436111989;
x47.up = 1.38629436111989;
x48.up = 1.38629436111989;
objvar.lo = 0;
x50.lo = 4.60517018598809; x50.up = 9.61580548008435;

$if set nostart $goTo modeldef
* set non default levels

x7.l = 5.27665904516069;
x8.l = 5.27665904516069;
x9.l = 5.27665904516069;
x10.l = 5.27665904516069;
x11.l = 5.27665904516069;
x12.l = 5.27665904516069;
x13.l = 5.34312344589288;
x14.l = 5.34312344589288;
x15.l = 5.34312344589288;
x16.l = 5.34312344589288;
x17.l = 5.34312344589288;
x18.l = 5.34312344589288;
x19.l = 5.68551291133759;
x20.l = 5.68551291133759;
x21.l = 5.68551291133759;
x22.l = 5.68551291133759;
x23.l = 5.68551291133759;
x24.l = 5.68551291133759;
x25.l = 4.88141934607137;
x26.l = 4.88141934607137;
x27.l = 4.88141934607137;
x28.l = 4.88141934607137;
x29.l = 4.88141934607137;
x30.l = 4.88141934607137;
x31.l = 4.85048164421233;
x32.l = 4.85048164421233;
x33.l = 4.85048164421233;
x34.l = 4.85048164421233;
x35.l = 4.85048164421233;
x36.l = 4.85048164421233;
x43.l = 0.693147180559945;
x44.l = 0.693147180559945;
x45.l = 0.693147180559945;
x46.l = 0.693147180559945;
x47.l = 0.693147180559945;
x48.l = 0.693147180559945;
x50.l = 7.11048783303622;

* set non default marginals


$label modeldef
Model m / all /;

m.limrow=0; m.limcol=0;

$if NOT '%gams.u1%' == '' $include '%gams.u1%'

$if not set MINLP $set MINLP MINLP
Solve m using %MINLP% minimizing objvar;