MINLPLib
A Library of Mixed-Integer and Continuous Nonlinear Programming Instances
Home // Instances // Documentation // Download // Statistics
Instance gastrans
The problem of distributing gas through a network of pipelines is formulated as a cost minimization subject to nonlinear flow-pressure relations, material balances, and pressure bounds. The Belgian gas network is used as an example.
| Formatsⓘ | ams gms mod nl osil pip py |
| Primal Bounds (infeas ≤ 1e-08)ⓘ | |
| Other points (infeas > 1e-08)ⓘ | |
| Dual Boundsⓘ | 89.08584000 (ANTIGONE) 89.08584000 (BARON) 89.08584000 (COUENNE) 89.08584000 (LINDO) 89.08584000 (SCIP) 89.08584000 (SHOT) |
| Referencesⓘ | de Wolf, Daniel and Smeers, Yves, The Gas Transmission Problem Solved by and Extension of the Simplex Algorithm, Management Science, 46:11, 2000, 1454-1465. |
| Sourceⓘ | GAMS Model Library model gastrans, Wolf & Smeers formulation |
| Applicationⓘ | Gas Transmission |
| Added to libraryⓘ | 01 May 2001 |
| Problem typeⓘ | MBNLP |
| #Variablesⓘ | 106 |
| #Binary Variablesⓘ | 21 |
| #Integer Variablesⓘ | 0 |
| #Nonlinear Variablesⓘ | 45 |
| #Nonlinear Binary Variablesⓘ | 0 |
| #Nonlinear Integer Variablesⓘ | 0 |
| Objective Senseⓘ | min |
| Objective typeⓘ | linear |
| Objective curvatureⓘ | linear |
| #Nonzeros in Objectiveⓘ | 5 |
| #Nonlinear Nonzeros in Objectiveⓘ | 0 |
| #Constraintsⓘ | 149 |
| #Linear Constraintsⓘ | 125 |
| #Quadratic Constraintsⓘ | 3 |
| #Polynomial Constraintsⓘ | 21 |
| #Signomial Constraintsⓘ | 0 |
| #General Nonlinear Constraintsⓘ | 0 |
| Operands in Gen. Nonlin. Functionsⓘ | |
| Constraints curvatureⓘ | indefinite |
| #Nonzeros in Jacobianⓘ | 413 |
| #Nonlinear Nonzeros in Jacobianⓘ | 45 |
| #Nonzeros in (Upper-Left) Hessian of Lagrangianⓘ | 66 |
| #Nonzeros in Diagonal of Hessian of Lagrangianⓘ | 24 |
| #Blocks in Hessian of Lagrangianⓘ | 24 |
| Minimal blocksize in Hessian of Lagrangianⓘ | 1 |
| Maximal blocksize in Hessian of Lagrangianⓘ | 2 |
| Average blocksize in Hessian of Lagrangianⓘ | 1.875 |
| #Semicontinuitiesⓘ | 0 |
| #Nonlinear Semicontinuitiesⓘ | 0 |
| #SOS type 1ⓘ | 0 |
| #SOS type 2ⓘ | 0 |
| Minimal coefficientⓘ | 1.6883e-03 |
| Maximal coefficientⓘ | 6.4000e+03 |
| Infeasibility of initial pointⓘ | 1.847e+04 |
| Sparsity Jacobianⓘ | ![]() |
| Sparsity Hessian of Lagrangianⓘ | ![]() |
$offlisting
*
* Equation counts
* Total E G L N X C B
* 150 63 45 42 0 0 0 0
*
* Variable counts
* x b i s1s s2s sc si
* Total cont binary integer sos1 sos2 scont sint
* 107 86 21 0 0 0 0 0
* FX 5
*
* Nonzero counts
* Total const NL DLL
* 419 374 45 0
*
* Solve m using MINLP minimizing objvar;
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,b46,b47,b48,b49,b50,b51,b52,b53
,b54,b55,b56,b57,b58,b59,b60,b61,b62,b63,b64,b65,b66,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,objvar;
Positive Variables x10,x11,x22,x67,x73,x76,x80,x87,x89,x90,x93,x96,x97,x98
,x100,x101,x103,x104,x105,x106;
Binary Variables b46,b47,b48,b49,b50,b51,b52,b53,b54,b55,b56,b57,b58,b59,b60
,b61,b62,b63,b64,b65,b66;
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;
e1.. - 2.28*x73 - 2.28*x76 - 1.68*x80 - 1.68*x82 - 2.28*x85 + objvar =E= 0;
e2.. - x17 + x18 - x67 =E= 0;
e3.. - x6 + x7 - x68 =E= 0;
e4.. - x23 + x24 - x69 =E= 0;
e5.. - x10 - x11 + x12 + x13 - x70 =E= 0;
e6.. - x20 - x71 =E= 0;
e7.. - x3 - x4 + x5 - x72 =E= 0;
e8.. - x1 - x2 + x3 + x4 - x73 =E= 0;
e9.. - x7 + x8 - x74 =E= 0;
e10.. - x12 - x13 + x14 + x15 - x75 =E= 0;
e11.. x6 - x76 =E= 0;
e12.. - x19 + x20 - x77 =E= 0;
e13.. - x16 + x17 - x78 =E= 0;
e14.. - x24 - x79 =E= 0;
e15.. - x9 - x18 + x19 - x80 =E= 0;
e16.. - x22 + x23 - x81 =E= 0;
e17.. x10 + x11 - x82 =E= 0;
e18.. - x21 + x22 - x83 =E= 0;
e19.. - x14 - x15 + x16 + x21 - x84 =E= 0;
e20.. x1 + x2 - x85 =E= 0;
e21.. - x5 - x8 + x9 - x86 =E= 0;
e22.. sqr(x1)*x25 + 8.99076279639865*x93 - 8.99076279639865*x105 =E= 0;
e23.. sqr(x2)*x26 + 8.99076279639865*x93 - 8.99076279639865*x105 =E= 0;
e24.. sqr(x3)*x27 + 5.99384186426577*x92 - 5.99384186426577*x93 =E= 0;
e25.. sqr(x4)*x28 + 5.99384186426577*x92 - 5.99384186426577*x93 =E= 0;
e26.. sqr(x5)*x29 - 1.38319427636902*x92 + 1.38319427636902*x106 =E= 0;
e27.. sqr(x6)*x30 + 0.0993769948466698*x88 - 0.0993769948466698*x96 =E= 0;
e28.. sqr(x7)*x31 - 0.147352095807131*x88 + 0.147352095807131*x94 =E= 0;
e29.. sqr(x8)*x32 - 0.224905830442463*x94 + 0.224905830442463*x106 =E= 0;
e30.. sqr(x9)*x33 + 0.653873657919902*x100 - 0.653873657919902*x106 =E= 0;
e31.. sqr(x12)*x34 - 1.79815255927973*x90 + 1.79815255927973*x95 =E= 0;
e32.. sqr(x13)*x35 - 0.0265962529480588*x90 + 0.0265962529480588*x95 =E= 0;
e33.. sqr(x14)*x36 - 1.43852204742378*x95 + 1.43852204742378*x104 =E= 0;
e34.. sqr(x15)*x37 - 0.021277002358447*x95 + 0.021277002358447*x104 =E= 0;
e35.. sqr(x16)*x38 + 0.856263123466538*x98 - 0.856263123466538*x104 =E= 0;
e36.. sqr(x17)*x39 + 0.899076279639865*x87 - 0.899076279639865*x98 =E= 0;
e37.. sqr(x18)*x40 - 7.19261023711892*x87 + 7.19261023711892*x100 =E= 0;
e38.. sqr(x19)*x41 + 3.59630511855946*x97 - 3.59630511855946*x100 =E= 0;
e39.. sqr(x20)*x42 + 1.43852204742378*x91 - 1.43852204742378*x97 =E= 0;
e40.. sqr(x21)*x43 + 0.0509935163731392*x103 - 0.0509935163731392*x104 =E= 0;
e41.. sqr(x23)*x44 + 0.0016882734118691*x89 - 0.0016882734118691*x101 =E= 0;
e42.. sqr(x24)*x45 - 0.0275751323938619*x89 + 0.0275751323938619*x99 =E= 0;
e43.. -sqr(x10) + 7.19261023711892*x90 - 7.19261023711892*x102 =G= 0;
e44.. -sqr(x11) + 0.106385011792235*x90 - 0.106385011792235*x102 =G= 0;
e45.. -sqr(x22) + 0.00636349209089121*x101 - 0.00636349209089121*x103 =G= 0;
e46.. x25 - 2*b46 =E= -1;
e47.. x26 - 2*b47 =E= -1;
e48.. x27 - 2*b48 =E= -1;
e49.. x28 - 2*b49 =E= -1;
e50.. x29 - 2*b50 =E= -1;
e51.. x30 - 2*b51 =E= -1;
e52.. x31 - 2*b52 =E= -1;
e53.. x32 - 2*b53 =E= -1;
e54.. x33 - 2*b54 =E= -1;
e55.. x34 - 2*b55 =E= -1;
e56.. x35 - 2*b56 =E= -1;
e57.. x36 - 2*b57 =E= -1;
e58.. x37 - 2*b58 =E= -1;
e59.. x38 - 2*b59 =E= -1;
e60.. x39 - 2*b60 =E= -1;
e61.. x40 - 2*b61 =E= -1;
e62.. x41 - 2*b62 =E= -1;
e63.. x42 - 2*b63 =E= -1;
e64.. x43 - 2*b64 =E= -1;
e65.. x44 - 2*b65 =E= -1;
e66.. x45 - 2*b66 =E= -1;
e67.. - 5929*b46 - x93 + x105 =G= -5929;
e68.. - 5929*b47 - x93 + x105 =G= -5929;
e69.. - 6400*b48 - x92 + x93 =G= -6400;
e70.. - 6400*b49 - x92 + x93 =G= -6400;
e71.. - 5500*b50 + x92 - x106 =G= -5500;
e72.. - 6400*b51 - x88 + x96 =G= -6400;
e73.. - 5500*b52 + x88 - x94 =G= -5500;
e74.. - 5500*b53 + x94 - x106 =G= -5500;
e75.. - 4382.44*b54 - x100 + x106 =G= -4382.44;
e76.. - 4382.44*b55 + x90 - x95 =G= -4382.44;
e77.. - 4382.44*b56 + x90 - x95 =G= -4382.44;
e78.. - 3482.44*b57 + x95 - x104 =G= -3482.44;
e79.. - 3482.44*b58 + x95 - x104 =G= -3482.44;
e80.. - 4382.44*b59 - x98 + x104 =G= -4382.44;
e81.. - 4382.44*b60 - x87 + x98 =G= -4382.44;
e82.. - 4382.44*b61 + x87 - x100 =G= -4382.44;
e83.. - 4382.44*b62 - x97 + x100 =G= -4382.44;
e84.. - 4382.44*b63 - x91 + x97 =G= -4382.44;
e85.. - 4382.44*b64 - x103 + x104 =G= -4382.44;
e86.. - 4382.44*b65 - x89 + x101 =G= -4382.44;
e87.. - 4382.44*b66 + x89 - x99 =G= -4382.44;
e88.. - 5929*b46 - x93 + x105 =L= 0;
e89.. - 5929*b47 - x93 + x105 =L= 0;
e90.. - 5029*b48 - x92 + x93 =L= 0;
e91.. - 5029*b49 - x92 + x93 =L= 0;
e92.. - 6400*b50 + x92 - x106 =L= 0;
e93.. - 5029*b51 - x88 + x96 =L= 0;
e94.. - 5500*b52 + x88 - x94 =L= 0;
e95.. - 6400*b53 + x94 - x106 =L= 0;
e96.. - 6400*b54 - x100 + x106 =L= 0;
e97.. - 3482.44*b55 + x90 - x95 =L= 0;
e98.. - 3482.44*b56 + x90 - x95 =L= 0;
e99.. - 4382.44*b57 + x95 - x104 =L= 0;
e100.. - 4382.44*b58 + x95 - x104 =L= 0;
e101.. - 4382.44*b59 - x98 + x104 =L= 0;
e102.. - 4382.44*b60 - x87 + x98 =L= 0;
e103.. - 4382.44*b61 + x87 - x100 =L= 0;
e104.. - 4382.44*b62 - x97 + x100 =L= 0;
e105.. - 1882.44*b63 - x91 + x97 =L= 0;
e106.. - 4382.44*b64 - x103 + x104 =L= 0;
e107.. - 3969*b65 - x89 + x101 =L= 0;
e108.. - 3757.44*b66 + x89 - x99 =L= 0;
e109.. x1 - 230.881425454383*b46 =G= -230.881425454383;
e110.. x2 - 230.881425454383*b47 =G= -230.881425454383;
e111.. x3 - 195.858591670881*b48 =G= -195.858591670881;
e112.. x4 - 195.858591670881*b49 =G= -195.858591670881;
e113.. x5 - 87.2213765084548*b50 =G= -87.2213765084548;
e114.. x6 - 25.2192935471771*b51 =G= -25.2192935471771;
e115.. x7 - 28.4681669051455*b52 =G= -28.4681669051455;
e116.. x8 - 35.1707558553061*b53 =G= -35.1707558553061;
e117.. x9 - 53.5309450076729*b54 =G= -53.5309450076729;
e118.. x12 - 88.7710296317997*b55 =G= -88.7710296317997;
e119.. x13 - 10.7961327691767*b56 =G= -10.7961327691767;
e120.. x14 - 70.7782927092091*b57 =G= -70.7782927092091;
e121.. x15 - 8.6078966125965*b58 =G= -8.6078966125965;
e122.. x16 - 61.2578302162646*b59 =G= -61.2578302162646;
e123.. x17 - 62.7705970255575*b60 =G= -62.7705970255575;
e124.. x18 - 177.542059263599*b61 =G= -177.542059263599;
e125.. x19 - 125.541194051115*b62 =G= -125.541194051115;
e126.. x20 - 79.3992226757409*b63 =G= -79.3992226757409;
e127.. x21 - 14.9491145521834*b64 =G= -14.9491145521834;
e128.. x23 - 2.72006561154535*b65 =G= -2.72006561154535;
e129.. x24 - 10.9930142912741*b66 =G= -10.9930142912741;
e130.. x1 - 230.881425454383*b46 =L= 0;
e131.. x2 - 230.881425454383*b47 =L= 0;
e132.. x3 - 173.61748395652*b48 =L= 0;
e133.. x4 - 173.61748395652*b49 =L= 0;
e134.. x5 - 94.0874240733678*b50 =L= 0;
e135.. x6 - 22.3554670513479*b51 =L= 0;
e136.. x7 - 28.4681669051455*b52 =L= 0;
e137.. x8 - 37.939390016601*b53 =L= 0;
e138.. x9 - 64.6899637554959*b54 =L= 0;
e139.. x12 - 79.1325369145847*b55 =L= 0;
e140.. x13 - 9.62392098452798*b56 =L= 0;
e141.. x14 - 79.3992226757409*b57 =L= 0;
e142.. x15 - 9.65635470639685*b58 =L= 0;
e143.. x16 - 61.2578302162646*b59 =L= 0;
e144.. x17 - 62.7705970255575*b60 =L= 0;
e145.. x18 - 177.542059263599*b61 =L= 0;
e146.. x19 - 125.541194051115*b62 =L= 0;
e147.. x20 - 52.0377886055166*b63 =L= 0;
e148.. x21 - 14.9491145521834*b64 =L= 0;
e149.. x23 - 2.58858207745253*b65 =L= 0;
e150.. x24 - 10.1789933422708*b66 =L= 0;
* set non-default bounds
x67.up = 1.2;
x68.up = -4.034;
x69.up = -0.222;
x70.fx = 0;
x71.up = -15.616;
x72.up = -3.918;
x73.up = 8.4;
x74.up = -5.256;
x75.up = -6.385;
x76.up = 4.8;
x77.up = -6.848;
x78.up = -2.12;
x79.up = -1.919;
x80.up = 0.96;
x81.fx = 0;
x82.lo = 20.344; x82.up = 22.012;
x83.fx = 0;
x84.fx = 0;
x85.lo = 8.87; x85.up = 11.594;
x86.fx = 0;
x87.up = 4382.44;
x88.lo = 900; x88.up = 6400;
x89.up = 4382.44;
x90.up = 4382.44;
x91.lo = 2500; x91.up = 4382.44;
x92.lo = 900; x92.up = 6400;
x93.up = 5929;
x94.lo = 900; x94.up = 6400;
x95.lo = 900; x95.up = 4382.44;
x96.up = 5929;
x97.up = 4382.44;
x98.up = 4382.44;
x99.lo = 625; x99.up = 4382.44;
x100.up = 4382.44;
x101.up = 3969;
x102.lo = 2500; x102.up = 4382.44;
x103.up = 4382.44;
x104.up = 4382.44;
x105.up = 5929;
x106.up = 6400;
* set non-default levels
x1.l = 5.45594117499038;
x2.l = 3.49005882500962;
x3.l = 8.46373378118172;
x4.l = 8.88226621881828;
x5.l = 13.428;
x6.l = 4.8;
x7.l = 0.766;
x8.l = -4.49;
x9.l = 8.938;
x10.l = 22.012;
x12.l = 18.1380867287228;
x13.l = 3.87391327127718;
x14.l = 12.1798336524591;
x15.l = 3.44716634754093;
x16.l = 13.486;
x17.l = 11.366;
x18.l = 12.566;
x19.l = 22.464;
x20.l = 15.616;
x21.l = 2.141;
x22.l = 2.141;
x23.l = 2.141;
x24.l = 1.919;
x27.l = -75.3049979497412;
x28.l = -68.3754533453309;
x29.l = 6.90403568495296;
x32.l = 10.0403890555214;
x34.l = 19.0338757369553;
x35.l = 6.17166731394037;
x36.l = 8.7272279190673;
x37.l = 1.6114349200345;
x42.l = -14.7474499350948;
x44.l = 1.46180871006652;
x45.l = -4.68001962388774;
x85.l = 8.946;
x96.l = 900;
objvar.l = 89.0858399999993;
* set non-default marginals
e1.m = 1;
e2.m = 1;
e3.m = 1;
e4.m = 1;
e5.m = 1;
e6.m = 1;
e7.m = 1;
e8.m = 1;
e9.m = 1;
e10.m = 1;
e11.m = 1;
e12.m = 1;
e13.m = 1;
e14.m = 1;
e15.m = 1;
e16.m = 1;
e17.m = 1;
e18.m = 1;
e19.m = 1;
e20.m = 1;
e21.m = 1;
e22.m = 1;
e23.m = 1;
e24.m = 1;
e25.m = 1;
e26.m = 1;
e27.m = 1;
e28.m = 1;
e29.m = 1;
e30.m = 1;
e31.m = 1;
e32.m = 1;
e33.m = 1;
e34.m = 1;
e35.m = 1;
e36.m = 1;
e37.m = 1;
e38.m = 1;
e39.m = 1;
e40.m = 1;
e41.m = 1;
e42.m = 1;
x1.m = 1;
x11.m = 1;
x12.m = 1;
x14.m = 1;
x28.m = 1;
x30.m = 1;
x67.m = 1;
x68.m = 1;
x69.m = 1;
x70.m = 1;
x71.m = 1;
x72.m = 1;
x73.m = 1;
x74.m = 1;
x75.m = 1;
x76.m = 1;
x77.m = 1;
x78.m = 1;
x79.m = 1;
x80.m = 1;
x81.m = 1;
x82.m = 1;
x83.m = 1;
x84.m = 1;
x86.m = 1;
x87.m = 1;
x88.m = 1;
x89.m = 1;
x90.m = 1;
x91.m = 1;
x92.m = 1;
x93.m = 1;
x94.m = 1;
x95.m = 1;
x97.m = 1;
x98.m = 1;
x99.m = 1;
x100.m = 1;
x101.m = 1;
x102.m = 1;
x103.m = 1;
x104.m = 1;
x105.m = 1;
x106.m = 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: 2025-08-07 Git hash: e62cedfc

