MINLPLib

A Library of Mixed-Integer and Continuous Nonlinear Programming Instances

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


Instance waterno2_01

Formats ams gms mod nl osil pip py
Primal Bounds (infeas ≤ 1e-08)
19.45668046 p1 ( gdx sol )
(infeas: 9e-13)
Other points (infeas > 1e-08)  
Dual Bounds
19.45668044 (ANTIGONE)
19.45667362 (BARON)
19.45668046 (COUENNE)
19.45667923 (LINDO)
19.45667979 (SCIP)
0.00000000 (SHOT)
References Huang, Wei, Operative Planning of Water Supply Networks by Mixed Integer Nonlinear Programming, Masters thesis, Freie Universität Berlin, 2011.
Gleixner, Ambros M, Held, Harald, Huang, Wei, and Vigerske, Stefan, Towards globally optimal operation of water supply networks, Numerical Algebra, Control and Optimization, 2:4, 2012, 695-711.
Application Water Network Operation
Added to library 12 Aug 2014
Problem type MBNLP
#Variables 166
#Binary Variables 9
#Integer Variables 0
#Nonlinear Variables 42
#Nonlinear Binary Variables 9
#Nonlinear Integer Variables 0
Objective Sense min
Objective type linear
Objective curvature linear
#Nonzeros in Objective 9
#Nonlinear Nonzeros in Objective 0
#Constraints 204
#Linear Constraints 139
#Quadratic Constraints 52
#Polynomial Constraints 13
#Signomial Constraints 0
#General Nonlinear Constraints 0
Operands in Gen. Nonlin. Functions  
Constraints curvature indefinite
#Nonzeros in Jacobian 532
#Nonlinear Nonzeros in Jacobian 101
#Nonzeros in (Upper-Left) Hessian of Lagrangian 88
#Nonzeros in Diagonal of Hessian of Lagrangian 16
#Blocks in Hessian of Lagrangian 11
Minimal blocksize in Hessian of Lagrangian 1
Maximal blocksize in Hessian of Lagrangian 8
Average blocksize in Hessian of Lagrangian 3.818182
#Semicontinuities 0
#Nonlinear Semicontinuities 0
#SOS type 1 0
#SOS type 2 0
Minimal coefficient 1.5000e-01
Maximal coefficient 3.6000e+03
Infeasibility of initial point 3200
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
*        205      121       35       49        0        0        0        0
*  
*  Variable counts
*                   x        b        i      s1s      s2s       sc       si
*      Total     cont   binary  integer     sos1     sos2    scont     sint
*        167      158        9        0        0        0        0        0
*  FX      4
*  
*  Nonzero counts
*      Total    const       NL      DLL
*        542      441      101        0
*
*  Solve m using MINLP minimizing objvar;


Variables  objvar,b2,b3,b4,b5,b6,b7,b8,b9,b10,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,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,x132,x133,x134,x135,x136,x137,x138,x139,x140,x141
          ,x142,x143,x144,x145,x146,x147,x148,x149,x150,x151,x152,x153,x154
          ,x155,x156,x157,x158,x159,x160,x161,x162,x163,x164,x165,x166,x167;

Positive Variables  x33,x34,x35,x36,x37,x38,x39,x40,x41,x48,x50,x52,x54,x56
          ,x58,x60,x62,x64,x69,x71,x72,x74,x94,x99,x104,x109,x114,x119,x124
          ,x129,x134,x139,x140,x141,x142,x143,x144,x145,x146,x147,x148,x149
          ,x150,x151,x152,x153,x154,x155,x156,x157,x158,x159;

Binary Variables  b2,b3,b4,b5,b6,b7,b8,b9,b10;

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;


e1..    objvar - x94 - x99 - x104 - x109 - x114 - x119 - x124 - x129 - x134
      =E= 0;

e2..    x49 + 27.42831624*x51 + 37.5407324*x53 - 57.2814121*x55 =E= 0;

e3..  - 57.2814121*x55 + x57 + 27.42831624*x59 + 37.5407324*x61 =E= 0;

e4..    37.5407324*x11 - 57.2814121*x55 + x63 + 27.42831624*x65 =E= 0;

e5..    x12 + 50.37356589*x13 + 43.14087708*x14 - 76.45219958*x15 =E= 0;

e6..  - 76.45219958*x15 + x16 + 50.37356589*x17 + 43.14087708*x18 =E= 0;

e7..    x19 - 25.39911174*x20 + 58.31011875*x21 - 69.39622571*x22 =E= 0;

e8..  - 69.39622571*x22 + x23 - 25.39911174*x24 + 58.31011875*x25 =E= 0;

e9..    x26 + 63.61644904*x27 - 2.03724124*x28 - 34.92732674*x29 =E= 0;

e10..  - 34.92732674*x29 + x30 + 63.61644904*x31 - 2.03724124*x32 =E= 0;

e11..    x33 =G= 0.296666667;

e12..  - x34 + x35 =E= 0;

e13..  - x36 + x37 =E= 0;

e14..    x36 - x38 =E= 0;

e15..  - x39 + x40 =E= 0;

e16..    x41 =E= 0.296666667;

e17..    x33 - x35 =E= 0;

e18..    3600*x34 - 3600*x37 + 1800*x42 - 1800*x43 =E= 0;

e19..    3600*x38 - 3600*x40 + 720*x44 - 720*x45 =E= 0;

e20..    3600*x39 - 3600*x41 + 1600*x46 - 1600*x47 =E= 0;

e21..  - 0.2*b2 + x48 =G= 0;

e22..  - 0.2*b3 + x50 =G= 0;

e23..  - 0.2*b4 + x52 =G= 0;

e24..  - 0.25*b5 + x54 =G= 0;

e25..  - 0.25*b6 + x56 =G= 0;

e26..  - 0.4*b7 + x58 =G= 0;

e27..  - 0.4*b8 + x60 =G= 0;

e28..  - 0.24*b9 + x62 =G= 0;

e29..  - 0.24*b10 + x64 =G= 0;

e30..  - 0.8*b2 + x48 =L= 0;

e31..  - 0.8*b3 + x50 =L= 0;

e32..  - 0.8*b4 + x52 =L= 0;

e33..  - 0.5*b5 + x54 =L= 0;

e34..  - 0.5*b6 + x56 =L= 0;

e35..  - 0.7*b7 + x58 =L= 0;

e36..  - 0.7*b8 + x60 =L= 0;

e37..  - 0.58*b9 + x62 =L= 0;

e38..  - 0.58*b10 + x64 =L= 0;

e39..  - x42 + x66 =E= 60;

e40..  - x44 + x67 =E= 90;

e41..  - x46 + x68 =E= 103;

e42..  - x66 + x69 - x70 =E= 0;

e43..    x71 - x72 - x73 =E= 0;

e44..  - x68 + x74 - x75 =E= 0;

e45..    x69 - x76 - x77 =E= 0;

e46..  - x66 + x71 - x78 =E= 0;

e47..  - x67 + x74 - x79 =E= 0;

e48..    0.2*b2 - x48 + x80 =L= 0.2;

e49..    0.2*b3 - x50 + x81 =L= 0.2;

e50..    0.2*b4 - x52 + x82 =L= 0.2;

e51..    0.25*b5 - x54 + x83 =L= 0.25;

e52..    0.25*b6 - x56 + x84 =L= 0.25;

e53..    0.4*b7 - x58 + x85 =L= 0.4;

e54..    0.4*b8 - x60 + x86 =L= 0.4;

e55..    0.24*b9 - x62 + x87 =L= 0.24;

e56..    0.24*b10 - x64 + x88 =L= 0.24;

e57..  - x48 + x80 =G= 0;

e58..  - x50 + x81 =G= 0;

e59..  - x52 + x82 =G= 0;

e60..  - x54 + x83 =G= 0;

e61..  - x56 + x84 =G= 0;

e62..  - x58 + x85 =G= 0;

e63..  - x60 + x86 =G= 0;

e64..  - x62 + x87 =G= 0;

e65..  - x64 + x88 =G= 0;

e66..  - 0.6*b2 + x80 =L= 0.2;

e67..  - 0.6*b3 + x81 =L= 0.2;

e68..  - 0.6*b4 + x82 =L= 0.2;

e69..  - 0.25*b5 + x83 =L= 0.25;

e70..  - 0.25*b6 + x84 =L= 0.25;

e71..  - 0.3*b7 + x85 =L= 0.4;

e72..  - 0.3*b8 + x86 =L= 0.4;

e73..  - 0.34*b9 + x87 =L= 0.24;

e74..  - 0.34*b10 + x88 =L= 0.24;

e75..  - 0.4*b2 + x89 =L= 0.6;

e76..  - 0.2*b5 + x90 =L= 0.8;

e77..  - 0.15*b7 + x91 =L= 0.85;

e78..  - 0.3*b9 + x92 =L= 0.7;

e79..    b2 - b3 =G= 0;

e80..    b3 - b4 =G= 0;

e81..    b5 - b6 =G= 0;

e82..    b7 - b8 =G= 0;

e83..    b9 - b10 =G= 0;

e84..    x35 - x48 - x50 - x52 =E= 0;

e85..    x37 - x54 - x56 - x58 - x60 =E= 0;

e86..    x40 - x62 - x64 =E= 0;

e87..  - 2000*b2 + x49 - x77 =G= -2000;

e88..  - 2000*b3 + x57 - x77 =G= -2000;

e89..  - 2000*b4 + x63 - x77 =G= -2000;

e90..  - 2000*b5 + x12 - x78 =G= -2000;

e91..  - 2000*b6 + x16 - x78 =G= -2000;

e92..  - 2000*b7 + x19 - x78 =G= -2000;

e93..  - 2000*b8 + x23 - x78 =G= -2000;

e94..  - 2000*b9 + x26 - x79 =G= -2000;

e95..  - 2000*b10 + x30 - x79 =G= -2000;

e96..    1049*b2 + x49 - x77 =L= 1049;

e97..    1049*b3 + x57 - x77 =L= 1049;

e98..    1049*b4 + x63 - x77 =L= 1049;

e99..    1065*b5 + x12 - x78 =L= 1065;

e100..    1065*b6 + x16 - x78 =L= 1065;

e101..    1065*b7 + x19 - x78 =L= 1065;

e102..    1065*b8 + x23 - x78 =L= 1065;

e103..    1095*b9 + x26 - x79 =L= 1095;

e104..    1095*b10 + x30 - x79 =L= 1095;

e105..  - x67 + x72 =G= 0;

e106..    x68 - x93 =G= 0;

e107..  - 0.309838295393634*x94 + 13.94696158*x95 + 24.46510819*x96
        - 7.28623839*x97 - 23.57687014*x98 =L= 0;

e108..  - 0.309838295393634*x99 + 13.94696158*x100 + 24.46510819*x101
        - 7.28623839*x102 - 23.57687014*x103 =L= 0;

e109..  - 0.309838295393634*x104 + 13.94696158*x105 + 24.46510819*x106
        - 7.28623839*x107 - 23.57687014*x108 =L= 0;

e110..  - 0.309838295393634*x109 + 29.29404529*x110 - 108.39408287*x111
        + 442.21990639*x112 - 454.58448169*x113 =L= 0;

e111..  - 0.309838295393634*x114 + 29.29404529*x115 - 108.39408287*x116
        + 442.21990639*x117 - 454.58448169*x118 =L= 0;

e112..  - 0.309838295393634*x119 + 25.92674585*x120 + 18.13482123*x121
        + 22.12766012*x122 - 42.68950769*x123 =L= 0;

e113..  - 0.309838295393634*x124 + 25.92674585*x125 + 18.13482123*x126
        + 22.12766012*x127 - 42.68950769*x128 =L= 0;

e114..  - 0.309838295393634*x129 + 17.4714791*x130 - 39.98407808*x131
        + 134.55943082*x132 - 135.88441782*x133 =L= 0;

e115..  - 0.309838295393634*x134 + 17.4714791*x135 - 39.98407808*x136
        + 134.55943082*x137 - 135.88441782*x138 =L= 0;

e116.. sqr(x34) - x139 =E= 0;

e117..    x70 - 5*x139 =E= 0;

e118.. sqr(x36) - x140 =E= 0;

e119..    x73 - 4*x140 =E= 0;

e120.. sqr(x39) - x141 =E= 0;

e121..    x75 - 5*x141 =E= 0;

e122.. sqr(x48) - x142 =E= 0;

e123..    x51 - x142 =E= 0;

e124.. POWER(x48,3) - x143 =E= 0;

e125..    x98 - x143 =E= 0;

e126.. sqr(x50) - x144 =E= 0;

e127..    x59 - x144 =E= 0;

e128.. POWER(x50,3) - x145 =E= 0;

e129..    x103 - x145 =E= 0;

e130.. sqr(x52) - x146 =E= 0;

e131..    x65 - x146 =E= 0;

e132.. POWER(x52,3) - x147 =E= 0;

e133..    x108 - x147 =E= 0;

e134.. sqr(x54) - x148 =E= 0;

e135..    x13 - x148 =E= 0;

e136.. POWER(x54,3) - x149 =E= 0;

e137..    x113 - x149 =E= 0;

e138.. sqr(x56) - x150 =E= 0;

e139..    x17 - x150 =E= 0;

e140.. POWER(x56,3) - x151 =E= 0;

e141..    x118 - x151 =E= 0;

e142.. sqr(x58) - x152 =E= 0;

e143..    x20 - x152 =E= 0;

e144.. POWER(x58,3) - x153 =E= 0;

e145..    x123 - x153 =E= 0;

e146.. sqr(x60) - x154 =E= 0;

e147..    x24 - x154 =E= 0;

e148.. POWER(x60,3) - x155 =E= 0;

e149..    x128 - x155 =E= 0;

e150.. sqr(x62) - x156 =E= 0;

e151..    x27 - x156 =E= 0;

e152.. POWER(x62,3) - x157 =E= 0;

e153..    x133 - x157 =E= 0;

e154.. sqr(x64) - x158 =E= 0;

e155..    x31 - x158 =E= 0;

e156.. POWER(x64,3) - x159 =E= 0;

e157..    x138 - x159 =E= 0;

e158.. x48*x89 - x53 =E= 0;

e159.. x89*x142 - x97 =E= 0;

e160.. x50*x89 - x61 =E= 0;

e161.. x89*x144 - x102 =E= 0;

e162.. x52*x89 - x11 =E= 0;

e163.. x89*x146 - x107 =E= 0;

e164.. sqr(x89) - x160 =E= 0;

e165..    x55 - x160 =E= 0;

e166.. x48*x160 - x96 =E= 0;

e167.. x50*x160 - x101 =E= 0;

e168.. x52*x160 - x106 =E= 0;

e169.. POWER(x89,3) - x161 =E= 0;

e170.. b2*x161 - x95 =E= 0;

e171.. b3*x161 - x100 =E= 0;

e172.. b4*x161 - x105 =E= 0;

e173.. x54*x90 - x14 =E= 0;

e174.. x90*x148 - x112 =E= 0;

e175.. x56*x90 - x18 =E= 0;

e176.. x90*x150 - x117 =E= 0;

e177.. sqr(x90) - x162 =E= 0;

e178..    x15 - x162 =E= 0;

e179.. x54*x162 - x111 =E= 0;

e180.. x56*x162 - x116 =E= 0;

e181.. POWER(x90,3) - x163 =E= 0;

e182.. b5*x163 - x110 =E= 0;

e183.. b6*x163 - x115 =E= 0;

e184.. x58*x91 - x21 =E= 0;

e185.. x91*x152 - x122 =E= 0;

e186.. x60*x91 - x25 =E= 0;

e187.. x91*x154 - x127 =E= 0;

e188.. sqr(x91) - x164 =E= 0;

e189..    x22 - x164 =E= 0;

e190.. x58*x164 - x121 =E= 0;

e191.. x60*x164 - x126 =E= 0;

e192.. POWER(x91,3) - x165 =E= 0;

e193.. b7*x165 - x120 =E= 0;

e194.. b8*x165 - x125 =E= 0;

e195.. x62*x92 - x28 =E= 0;

e196.. x92*x156 - x132 =E= 0;

e197.. x64*x92 - x32 =E= 0;

e198.. x92*x158 - x137 =E= 0;

e199.. sqr(x92) - x166 =E= 0;

e200..    x29 - x166 =E= 0;

e201.. x62*x166 - x131 =E= 0;

e202.. x64*x166 - x136 =E= 0;

e203.. POWER(x92,3) - x167 =E= 0;

e204.. b9*x167 - x130 =E= 0;

e205.. b10*x167 - x135 =E= 0;

* set non-default bounds
x12.lo = -1000; x12.up = 1000;
x16.lo = -1000; x16.up = 1000;
x19.lo = -1000; x19.up = 1000;
x23.lo = -1000; x23.up = 1000;
x26.lo = -1000; x26.up = 1000;
x30.lo = -1000; x30.up = 1000;
x33.up = 5;
x34.up = 5;
x35.up = 2.4;
x36.up = 5;
x37.up = 2.4;
x38.up = 5;
x39.up = 5;
x40.up = 1.16;
x41.up = 5;
x42.fx = 3.5;
x43.lo = 2; x43.up = 5;
x44.fx = 4.1;
x45.lo = 2.5; x45.up = 5;
x46.fx = 4;
x47.lo = 2; x47.up = 6;
x48.up = 0.8;
x49.lo = -1000; x49.up = 1000;
x50.up = 0.8;
x52.up = 0.8;
x54.up = 0.5;
x56.up = 0.5;
x57.lo = -1000; x57.up = 1000;
x58.up = 0.7;
x60.up = 0.7;
x62.up = 0.58;
x63.lo = -1000; x63.up = 1000;
x64.up = 0.58;
x66.lo = 62; x66.up = 65;
x67.lo = 92.5; x67.up = 95;
x68.lo = 105; x68.up = 109;
x69.up = 1000;
x70.lo = -125; x70.up = 125;
x71.up = 1000;
x72.up = 1000;
x73.lo = -100; x73.up = 100;
x74.up = 1000;
x75.lo = -125; x75.up = 125;
x76.fx = 49;
x77.lo = -49; x77.up = 1000;
x78.lo = -65; x78.up = 1000;
x79.lo = -95; x79.up = 1000;
x80.lo = 0.2; x80.up = 0.8;
x81.lo = 0.2; x81.up = 0.8;
x82.lo = 0.2; x82.up = 0.8;
x83.lo = 0.25; x83.up = 0.5;
x84.lo = 0.25; x84.up = 0.5;
x85.lo = 0.4; x85.up = 0.7;
x86.lo = 0.4; x86.up = 0.7;
x87.lo = 0.24; x87.up = 0.58;
x88.lo = 0.24; x88.up = 0.58;
x89.lo = 0.6; x89.up = 1;
x90.lo = 0.8; x90.up = 1;
x91.lo = 0.85; x91.up = 1;
x92.lo = 0.7; x92.up = 1;
x93.lo = 100; x93.up = 1000;
x94.up = 54.1717996137183;
x99.up = 54.1717996137183;
x104.up = 54.1717996137183;
x109.up = 93.045051789432;
x114.up = 93.045051789432;
x119.up = 112.384987749469;
x124.up = 112.384987749469;
x129.up = 42.066542469172;
x134.up = 42.066542469172;
x139.up = 25;
x140.up = 25;
x141.up = 25;
x142.up = 0.64;
x143.up = 0.512;
x144.up = 0.64;
x145.up = 0.512;
x146.up = 0.64;
x147.up = 0.512;
x148.up = 0.25;
x149.up = 0.125;
x150.up = 0.25;
x151.up = 0.125;
x152.up = 0.49;
x153.up = 0.343;
x154.up = 0.49;
x155.up = 0.343;
x156.up = 0.3364;
x157.up = 0.195112;
x158.up = 0.3364;
x159.up = 0.195112;
x160.lo = 0.36; x160.up = 1;
x161.lo = 0.216; x161.up = 1;
x162.lo = 0.64; x162.up = 1;
x163.lo = 0.512; x163.up = 1;
x164.lo = 0.7225; x164.up = 1;
x165.lo = 0.614125; x165.up = 1;
x166.lo = 0.49; x166.up = 1;
x167.lo = 0.343; x167.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-12-17 Git hash: 8eaceb91
Imprint / Privacy Policy / License: CC-BY 4.0