MINLPLib

A Library of Mixed-Integer and Continuous Nonlinear Programming Instances

Home // Instances // Documentation // Download // Statistics


Instance gasprod_sarawak01

Li et al. reformulated the natural gas production model of Selot et al. from a general
MINLP to MIQCQP. The modeling files corresponding to these problems have been scaled in accordance
with the design of Li et al. The 3 test cases are effectively the same
problem with a different number of uncertain scenarios.
Formats ams gms lp mod nl osil pip py
Primal Bounds (infeas ≤ 1e-08)
-31515.40491000 p1 ( gdx sol )
(infeas: 2e-13)
-32445.40491000 p2 ( gdx sol )
(infeas: 5e-13)
Other points (infeas > 1e-08)  
Dual Bounds
-32445.40491000 (ANTIGONE)
-32445.40491000 (BARON)
-32445.40491000 (COUENNE)
-32445.40491000 (GUROBI)
-32445.40491000 (LINDO)
-32445.40491000 (SCIP)
-33085.40491000 (SHOT)
References Selot, Ajay, Kuok, Loi Kwong, Robinson, Mark, Mason, Thomas L, and Barton, Paul I, A short-term operational planning model for natural gas production systems, AIChE Journal, 54:2, 2008, 495-515.
Li, Xiang, Armagan, Emre, Tomasgard, Asgeir, and Barton, Paul I, Stochastic pooling problem for natural gas production network design and operation under uncertainty, AIChE Journal, 57:8, 2011, 2120-2135.
Li, Xiang, Tomasgard, Asgeir, and Barton, Paul I, Decomposition strategy for the stochastic pooling problem, Journal of Global Optimization, 54:4, 2012, 765-790.
Source ANTIGONE test library model Other_MIQCQP/Sarawak_Scenario1
Application Natural Gas Production
Added to library 24 Sep 2013
Problem type MBQCP
#Variables 131
#Binary Variables 38
#Integer Variables 0
#Nonlinear Variables 25
#Nonlinear Binary Variables 0
#Nonlinear Integer Variables 0
Objective Sense min
Objective type linear
Objective curvature linear
#Nonzeros in Objective 37
#Nonlinear Nonzeros in Objective 0
#Constraints 212
#Linear Constraints 178
#Quadratic Constraints 34
#Polynomial Constraints 0
#Signomial Constraints 0
#General Nonlinear Constraints 0
Operands in Gen. Nonlin. Functions  
Constraints curvature indefinite
#Nonzeros in Jacobian 551
#Nonlinear Nonzeros in Jacobian 68
#Nonzeros in (Upper-Left) Hessian of Lagrangian 68
#Nonzeros in Diagonal of Hessian of Lagrangian 0
#Blocks in Hessian of Lagrangian 4
Minimal blocksize in Hessian of Lagrangian 4
Maximal blocksize in Hessian of Lagrangian 9
Average blocksize in Hessian of Lagrangian 6.25
#Semicontinuities 0
#Nonlinear Semicontinuities 0
#SOS type 1 0
#SOS type 2 0
Minimal coefficient 2.6870e-03
Maximal coefficient 9.3000e+03
Infeasibility of initial point 1
Sparsity Jacobian Sparsity of Objective Gradient and Jacobian
Sparsity Hessian of Lagrangian Sparsity of Hessian of Lagrangian

$offlisting
*  
*  Equation counts
*      Total        E        G        L        N        X        C        B
*        213      100      110        3        0        0        0        0
*  
*  Variable counts
*                   x        b        i      s1s      s2s       sc       si
*      Total     cont   binary  integer     sos1     sos2    scont     sint
*        132       94       38        0        0        0        0        0
*  FX      0
*  
*  Nonzero counts
*      Total    const       NL      DLL
*        589      521       68        0
*
*  Solve m using MINLP minimizing objvar;


Variables  b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16,b17,b18,b19
          ,b20,b21,b22,b23,b24,b25,b26,b27,b28,b29,b30,b31,b32,b33,b34,b35,b36
          ,b37,b38,x39,x40,x41,x42,x43,x44,x45,x46,x47,x48,x49,x50,x51,x52,x53
          ,x54,x55,x56,x57,x58,x59,x60,x61,x62,x63,x64,x65,x66,x67,x68,x69,x70
          ,x71,x72,x73,x74,x75,x76,x77,x78,x79,x80,x81,x82,x83,x84,x85,x86,x87
          ,x88,x89,x90,x91,x92,x93,x94,x95,x96,x97,x98,x99,x100,x101,x102,x103
          ,x104,x105,x106,x107,x108,x109,x110,x111,x112,x113,x114,x115,x116
          ,x117,x118,x119,x120,x121,x122,x123,x124,x125,x126,x127,x128,x129
          ,x130,x131,objvar;

Positive Variables  x39,x40,x41,x42,x43,x44,x45,x46,x47,x48,x49,x50,x51,x52
          ,x53,x54,x55,x56,x57,x58,x59,x60,x61,x62,x63,x64,x65,x66,x67,x68,x69
          ,x70,x71,x72,x73,x74,x75,x76,x77,x78,x79,x80,x81,x82,x83,x84,x85,x86
          ,x87,x88,x89,x90,x91,x92,x93,x94,x95,x96,x97,x98,x99,x100,x101,x102
          ,x103,x104,x105,x106,x107,x108,x109,x110,x111,x112,x113,x114,x115
          ,x116,x117,x118,x119,x120,x121,x122,x123,x124,x125,x126,x127,x128
          ,x129,x130,x131;

Binary Variables  b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16,b17
          ,b18,b19,b20,b21,b22,b23,b24,b25,b26,b27,b28,b29,b30,b31,b32,b33,b34
          ,b35,b36,b37,b38;

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,e193,e194
          ,e195,e196,e197,e198,e199,e200,e201,e202,e203,e204,e205,e206,e207
          ,e208,e209,e210,e211,e212,e213;


e1..  - 20*b1 - 520*b2 - 20*b3 - 100*b4 - 20*b5 - 80*b6 - 550*b7 - 80*b9
      - 400*b10 - 16*b11 - 50*b13 - 80*b15 - 300*b16 - 500*b17 - 500*b18
      - 500*b19 - 500*b21 - 500*b22 - 320*b25 - 40*b26 - 40*b27 - 200*b28
      - 200*b29 - 80*b30 - 10*b31 - 600*b32 - 420*b33 - 7500*b37 - 9300*b38
      + 12.822715454568*x82 + 12.822715454568*x83 + 12.822715454568*x84
      + 12.822715454568*x85 + 12.822715454568*x86 + 12.822715454568*x87
      + 12.822715454568*x88 + 12.822715454568*x89 + objvar =E= 14104.9870000248
     ;

e2..  - x39 =G= -130;

e3..  - x40 =G= -125;

e4..  - x41 =G= -212;

e5..  - x42 =G= -334;

e6..  - x43 =G= -833;

e7..  - x44 =G= -381;

e8..  - x45 =G= -5610;

e9..  - x46 =G= -155;

e10..    401*b1 - x47 =G= 0;

e11..    600*b2 - x48 - x49 =G= 0;

e12..    532*b3 - x50 =G= 0;

e13..    816*b4 - x51 =G= 0;

e14..    161*b5 - x52 =G= 0;

e15..    2467*b6 - x53 =G= 0;

e16..    923*b7 - x54 - x55 =G= 0;

e17..    401*b8 - x47 =G= 0;

e18..    600*b9 - x48 =G= 0;

e19..    600*b10 - x49 =G= 0;

e20..    532*b11 - x50 =G= 0;

e21..    816*b12 - x51 =G= 0;

e22..    161*b13 - x52 =G= 0;

e23..    2467*b14 - x53 =G= 0;

e24..    900*b15 - x54 =G= 0;

e25..    900*b16 - x55 =G= 0;

e26..    b1 - b8 =G= 0;

e27..    b2 - b9 =G= 0;

e28..    b2 - b10 =G= 0;

e29..    b3 - b11 =G= 0;

e30..    b4 - b12 =G= 0;

e31..    b5 - b13 =G= 0;

e32..    b6 - b14 =G= 0;

e33..    b7 - b15 =G= 0;

e34..    b7 - b16 =G= 0;

e35..  - b1 + b8 =G= 0;

e36..  - b2 + b9 + b10 =G= 0;

e37..  - b3 + b11 =G= 0;

e38..  - b4 + b12 =G= 0;

e39..  - b5 + b13 =G= 0;

e40..  - b6 + b14 =G= 0;

e41..  - b7 + b15 + b16 =G= 0;

e42..  - 0.007177*x39 - 0.008782*x40 + x56 =E= 0;

e43..  - 0.992823*x39 - 0.991218*x40 + x57 =E= 0;

e44..  - 0.002687*x41 - 0.092341*x42 + x58 =E= 0;

e45..  - 0.997313*x41 - 0.907659*x42 + x59 =E= 0;

e46..  - 0.00684*x44 - 0.016427*x45 + x60 =E= 0;

e47..  - 0.99316*x44 - 0.983573*x45 + x61 =E= 0;

e48..  - 0.088511*x47 - 0.015894*x48 + x62 =E= 0;

e49..  - 0.911489*x47 - 0.984106*x48 + x63 =E= 0;

e50..  - 0.024263*x50 - 0.009488*x51 - 0.023048*x52 + x64 =E= 0;

e51..  - 0.975737*x50 - 0.990512*x51 - 0.976952*x52 + x65 =E= 0;

e52..  - x64 - x66 + x70 =E= 0;

e53..  - x65 - x67 + x71 =E= 0;

e54..  - 0.0383*x55 - x68 - x76 + x80 =E= 0;

e55..  - 0.9617*x55 - x69 - x77 + x81 =E= 0;

e56..    x66 - 0.0334*x98 - 0.0383*x99 =E= 0;

e57..    x67 - 0.9666*x98 - 0.9617*x99 =E= 0;

e58..    x68 - 0.0334*x100 - 0.0383*x101 =E= 0;

e59..    x69 - 0.9666*x100 - 0.9617*x101 =E= 0;

e60..    x72 - 0.034121*x102 - 0.014483*x103 - x108 - x110 =E= 0;

e61..    x73 - 0.965879*x102 - 0.985517*x103 - x109 - x111 =E= 0;

e62..    x74 - 0.034121*x104 - 0.014483*x105 - x112 - x114 =E= 0;

e63..    x75 - 0.965879*x104 - 0.985517*x105 - x113 - x115 =E= 0;

e64..    x76 - 0.015894*x106 - x116 - x118 - x120 =E= 0;

e65..    x77 - 0.984106*x106 - x117 - x119 - x121 =E= 0;

e66..    x78 - 0.015894*x107 - x122 - x124 - x126 =E= 0;

e67..    x79 - 0.984106*x107 - x123 - x125 - x127 =E= 0;

e68.. -x90*x53 + x98 =E= 0;

e69.. -x90*x54 + x99 =E= 0;

e70.. -x91*x53 + x100 =E= 0;

e71.. -x91*x54 + x101 =E= 0;

e72.. -x92*x43 + x102 =E= 0;

e73.. -x92*x46 + x103 =E= 0;

e74.. -x93*x43 + x104 =E= 0;

e75.. -x93*x46 + x105 =E= 0;

e76.. -x94*x49 + x106 =E= 0;

e77.. -x95*x49 + x107 =E= 0;

e78.. -x92*x58 + x108 =E= 0;

e79.. -x92*x59 + x109 =E= 0;

e80.. -x92*x60 + x110 =E= 0;

e81.. -x92*x61 + x111 =E= 0;

e82.. -x93*x58 + x112 =E= 0;

e83.. -x93*x59 + x113 =E= 0;

e84.. -x93*x60 + x114 =E= 0;

e85.. -x93*x61 + x115 =E= 0;

e86.. -x94*x62 + x116 =E= 0;

e87.. -x94*x63 + x117 =E= 0;

e88.. -x94*x70 + x118 =E= 0;

e89.. -x94*x71 + x119 =E= 0;

e90.. -x94*x72 + x120 =E= 0;

e91.. -x94*x73 + x121 =E= 0;

e92.. -x95*x62 + x122 =E= 0;

e93.. -x95*x63 + x123 =E= 0;

e94.. -x95*x70 + x124 =E= 0;

e95.. -x95*x71 + x125 =E= 0;

e96.. -x95*x72 + x126 =E= 0;

e97.. -x95*x73 + x127 =E= 0;

e98..  - x56 - x74 + x82 =E= 0;

e99..  - x57 - x75 + x83 =E= 0;

e100..  - x80 + x88 =E= 0;

e101..  - x81 + x89 =E= 0;

e102..    x84 - x128 =E= 0;

e103..    x85 - x129 =E= 0;

e104..    x86 - x130 =E= 0;

e105..    x87 - x131 =E= 0;

e106.. -x96*x78 + x128 =E= 0;

e107.. -x96*x79 + x129 =E= 0;

e108.. -x97*x78 + x130 =E= 0;

e109.. -x97*x79 + x131 =E= 0;

e110..    x90 + x91 =E= 1;

e111..    x92 + x93 =E= 1;

e112..    x94 + x95 =E= 1;

e113..    x96 + x97 =E= 1;

e114..  - x56 - x57 =G= -255;

e115..  - x58 - x59 =G= -546;

e116..  - x60 - x61 =G= -1331;

e117..  - x74 - x75 =G= -1400;

e118..    600*b25 - x62 - x63 =G= 0;

e119..    1509*b26 - x64 - x65 =G= 0;

e120..    2200*b27 - x66 - x67 =G= 0;

e121..    900*b28 - x68 - x69 =G= 0;

e122..    2200*b29 - x70 - x71 =G= 0;

e123..    950*b30 - x72 - x73 =G= 0;

e124..    720*b31 - x76 - x77 =G= 0;

e125..    3000*b32 - x78 - x79 =G= 0;

e126..    1800*b33 - x80 - x81 =G= 0;

e127..  - x82 - x83 =G= -1400;

e128..    2200*b34 - x84 - x85 =G= 0;

e129..    800*b35 - x86 - x87 =G= 0;

e130..    1800*b36 - x88 - x89 =G= 0;

e131..  - b8 + b17 =G= 0;

e132..  - b9 + b17 =G= 0;

e133..  - b10 + b21 =G= 0;

e134..  - b11 + b18 =G= 0;

e135..  - b12 + b18 =G= 0;

e136..  - b13 + b18 =G= 0;

e137..  - b14 + b19 =G= 0;

e138..  - b15 + b19 =G= 0;

e139..  - b16 + b22 =G= 0;

e140..    b21 - b25 =G= 0;

e141..    b20 - b26 =G= 0;

e142..    b20 - b27 =G= 0;

e143..    b22 - b28 =G= 0;

e144..    b21 - b29 =G= 0;

e145..    b21 - b30 =G= 0;

e146..    b22 - b31 =G= 0;

e147..    b23 - b32 =G= 0;

e148..    b24 - b33 =G= 0;

e149..    b17 - b25 =G= 0;

e150..    b18 - b26 =G= 0;

e151..    b19 - b27 =G= 0;

e152..    b19 - b28 =G= 0;

e153..    b20 - b29 =G= 0;

e154..    b21 - b31 =G= 0;

e155..    b21 - b32 =G= 0;

e156..    b22 - b33 =G= 0;

e157..    b23 - b34 =G= 0;

e158..    b23 - b35 =G= 0;

e159..    b24 - b36 =G= 0;

e160..    b8 + b9 - b17 =G= 0;

e161..    b11 + b12 + b13 - b18 =G= 0;

e162..    b14 + b15 - b19 =G= 0;

e163..  - b20 + b26 + b27 =G= 0;

e164..    b10 - b21 + b25 + b29 + b30 =G= 0;

e165..    b16 - b22 + b28 + b31 =G= 0;

e166..  - b23 + b32 =G= 0;

e167..  - b24 + b33 =G= 0;

e168..  - b17 + b25 =G= 0;

e169..  - b18 + b26 =G= 0;

e170..  - b19 + b27 + b28 =G= 0;

e171..  - b20 + b29 =G= 0;

e172..  - b21 + b31 + b32 =G= 0;

e173..  - b22 + b33 =G= 0;

e174..  - b23 + b34 + b35 =G= 0;

e175..  - b24 + b36 =G= 0;

e176..  - x82 - x83 =G= -1100;

e177..    1800*b37 - x84 - x85 =G= 0;

e178..    2400*b38 - x86 - x87 - x88 - x89 =G= 0;

e179..    0.972*x82 - 0.028*x83 =L= 0;

e180..    0.972*x84 - 0.028*x85 =L= 0;

e181..    0.972*x86 - 0.028*x87 + 0.972*x88 - 0.028*x89 =L= 0;

e182..  - b34 + b37 =G= 0;

e183..  - b35 + b38 =G= 0;

e184..  - b36 + b38 =G= 0;

e185..    b34 - b37 =G= 0;

e186..    b35 + b36 - b38 =G= 0;

e187..    b1 - b8 =E= 0;

e188..  - b8 + b17 =E= 0;

e189..    b4 - b12 =E= 0;

e190..  - b12 + b18 =E= 0;

e191..    b6 - b14 =E= 0;

e192..  - b14 + b19 =E= 0;

e193..    b23 - b34 =E= 0;

e194..  - b34 + b37 =E= 0;

e195..    b24 - b36 =E= 0;

e196..  - b36 + b38 =E= 0;

e197..  - x43 + x102 + x104 =E= 0;

e198..  - x46 + x103 + x105 =E= 0;

e199..  - x49 + x106 + x107 =E= 0;

e200..  - x53 + x98 + x100 =E= 0;

e201..  - x54 + x99 + x101 =E= 0;

e202..  - x58 + x108 + x112 =E= 0;

e203..  - x59 + x109 + x113 =E= 0;

e204..  - x60 + x110 + x114 =E= 0;

e205..  - x61 + x111 + x115 =E= 0;

e206..  - x62 + x116 + x122 =E= 0;

e207..  - x63 + x117 + x123 =E= 0;

e208..  - x70 + x118 + x124 =E= 0;

e209..  - x71 + x119 + x125 =E= 0;

e210..  - x72 + x120 + x126 =E= 0;

e211..  - x73 + x121 + x127 =E= 0;

e212..  - x78 + x128 + x130 =E= 0;

e213..  - x79 + x129 + x131 =E= 0;

* set non-default bounds
x39.up = 130;
x40.up = 125;
x41.up = 212;
x42.up = 334;
x43.up = 833;
x44.up = 381;
x45.up = 950;
x46.up = 155;
x47.up = 401;
x48.up = 600;
x49.up = 600;
x50.up = 532;
x51.up = 816;
x52.up = 161;
x53.up = 2467;
x54.up = 900;
x55.up = 900;
x56.up = 255;
x57.up = 255;
x58.up = 546;
x59.up = 546;
x60.up = 1331;
x61.up = 1331;
x62.up = 600;
x63.up = 600;
x64.up = 1509;
x65.up = 1509;
x66.up = 2200;
x67.up = 2200;
x68.up = 900;
x69.up = 900;
x70.up = 2200;
x71.up = 2200;
x72.up = 950;
x73.up = 950;
x74.up = 1400;
x75.up = 1400;
x76.up = 720;
x77.up = 720;
x78.up = 3000;
x79.up = 3000;
x80.up = 1800;
x81.up = 1800;
x82.up = 1400;
x83.up = 1400;
x84.up = 2200;
x85.up = 2200;
x86.up = 800;
x87.up = 800;
x88.up = 1800;
x89.up = 1800;
x90.up = 1;
x91.up = 1;
x92.up = 1;
x93.up = 1;
x94.up = 1;
x95.up = 1;
x96.up = 1;
x97.up = 1;

Model m / all /;

m.limrow=0; m.limcol=0;
m.tolproj=0.0;

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

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


Last updated: 2024-04-02 Git hash: 1dd5fb9b
Imprint / Privacy Policy / License: CC-BY 4.0