MINLPLib
A Library of Mixed-Integer and Continuous Nonlinear Programming Instances
Home // Instances // Documentation // Download // Statistics
Instance waterund14
| Formatsⓘ | ams gms lp mod nl osil pip py | 
| Primal Bounds (infeas ≤ 1e-08)ⓘ | |
| Other points (infeas > 1e-08)ⓘ | |
| Dual Boundsⓘ | 329.56983790 (ANTIGONE) 323.97749030 (BARON) 328.68856540 (COUENNE) 329.56950820 (GUROBI) 325.49581030 (LINDO) 329.47444030 (SCIP) 10.00000000 (SHOT) | 
| Referencesⓘ | Castro, Pedro M and Teles, João P, Comparison of global optimization algorithms for the design of water-using networks, Computers and Chemical Engineering, 52, 2013, 249-261. Teles, João P, Castro, Pedro M, and Novais, Augusto Q, LP-based solution strategies for the optimal design of industrial water networks with multiple contaminants, Chemical Engineering Science, 63:2, 2008, 376-394. Teles, João P, Castro, Pedro M, and Matos, Henrique A, Global optimization of water networks design using multiparametric disaggregation, Computers and Chemical Engineering 40, 2012, 132-147. | 
| Sourceⓘ | ANTIGONE test library model Other_MIQCQP/teles_etal_2009_WUN_Ex14.gms | 
| Applicationⓘ | Water Network Design | 
| Added to libraryⓘ | 15 Aug 2014 | 
| Problem typeⓘ | QCP | 
| #Variablesⓘ | 125 | 
| #Binary Variablesⓘ | 0 | 
| #Integer Variablesⓘ | 0 | 
| #Nonlinear Variablesⓘ | 80 | 
| #Nonlinear Binary Variablesⓘ | 0 | 
| #Nonlinear Integer Variablesⓘ | 0 | 
| Objective Senseⓘ | min | 
| Objective typeⓘ | linear | 
| Objective curvatureⓘ | linear | 
| #Nonzeros in Objectiveⓘ | 14 | 
| #Nonlinear Nonzeros in Objectiveⓘ | 0 | 
| #Constraintsⓘ | 135 | 
| #Linear Constraintsⓘ | 69 | 
| #Quadratic Constraintsⓘ | 66 | 
| #Polynomial Constraintsⓘ | 0 | 
| #Signomial Constraintsⓘ | 0 | 
| #General Nonlinear Constraintsⓘ | 0 | 
| Operands in Gen. Nonlin. Functionsⓘ | |
| Constraints curvatureⓘ | indefinite | 
| #Nonzeros in Jacobianⓘ | 813 | 
| #Nonlinear Nonzeros in Jacobianⓘ | 456 | 
| #Nonzeros in (Upper-Left) Hessian of Lagrangianⓘ | 432 | 
| #Nonzeros in Diagonal of Hessian of Lagrangianⓘ | 0 | 
| #Blocks in Hessian of Lagrangianⓘ | 4 | 
| Minimal blocksize in Hessian of Lagrangianⓘ | 20 | 
| Maximal blocksize in Hessian of Lagrangianⓘ | 20 | 
| Average blocksize in Hessian of Lagrangianⓘ | 20.0 | 
| #Semicontinuitiesⓘ | 0 | 
| #Nonlinear Semicontinuitiesⓘ | 0 | 
| #SOS type 1ⓘ | 0 | 
| #SOS type 2ⓘ | 0 | 
| Minimal coefficientⓘ | 1.0000e+00 | 
| Maximal coefficientⓘ | 4.0000e+02 | 
| Infeasibility of initial pointⓘ | 1.8e+04 | 
| Sparsity Jacobianⓘ |  | 
| Sparsity Hessian of Lagrangianⓘ |  | 
$offlisting
*  
*  Equation counts
*      Total        E        G        L        N        X        C        B
*        136       63       18       55        0        0        0        0
*  
*  Variable counts
*                   x        b        i      s1s      s2s       sc       si
*      Total     cont   binary  integer     sos1     sos2    scont     sint
*        126      126        0        0        0        0        0        0
*  FX      0
*  
*  Nonzero counts
*      Total    const       NL      DLL
*        828      372      456        0
*
*  Solve m using NLP minimizing objvar;
Variables  objvar,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,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;
Positive Variables  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,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;
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;
e1..    objvar - x2 - x3 - x4 - x5 - x6 - x7 - x8 - x9 - x10 - x11 - x12 - x13
      - x14 - x15 =E= 0;
e2..  - x2 - x9 + x16 - x30 - x37 - x44 - x51 - x58 - x65 - x72 =E= 0;
e3..  - x3 - x10 + x17 - x31 - x38 - x45 - x52 - x59 - x66 - x73 =E= 0;
e4..  - x4 - x11 + x18 - x32 - x39 - x46 - x53 - x60 - x67 - x74 =E= 0;
e5..  - x5 - x12 + x19 - x33 - x40 - x47 - x54 - x61 - x68 - x75 =E= 0;
e6..  - x6 - x13 - x34 - x41 - x48 - x55 - x62 - x69 - x76 =E= -20;
e7..  - x7 - x14 - x35 - x42 - x49 - x56 - x63 - x70 - x77 =E= -60;
e8..  - x8 - x15 - x36 - x43 - x50 - x57 - x64 - x71 - x78 =E= -70;
e9..    x16 - x23 - x30 - x31 - x32 - x33 - x34 - x35 - x36 =E= 0;
e10..    x17 - x24 - x37 - x38 - x39 - x40 - x41 - x42 - x43 =E= 0;
e11..    x18 - x25 - x44 - x45 - x46 - x47 - x48 - x49 - x50 =E= 0;
e12..    x19 - x26 - x51 - x52 - x53 - x54 - x55 - x56 - x57 =E= 0;
e13..  - x27 - x58 - x59 - x60 - x61 - x62 - x63 - x64 =E= -30;
e14..  - x28 - x65 - x66 - x67 - x68 - x69 - x70 - x71 =E= -70;
e15..  - x29 - x72 - x73 - x74 - x75 - x76 - x77 - x78 =E= -40;
e16.. x16*x79 - (x30*x103 + x37*x109 + x44*x115 + x51*x121) - 15*x9 - 300*x58
       - 400*x65 - 90*x72 =E= 0;
e17.. x16*x80 - (x30*x104 + x37*x110 + x44*x116 + x51*x122) - 25*x2 - 140*x58
       - 155*x65 - 100*x72 =E= 0;
e18.. x16*x81 - (x30*x105 + x37*x111 + x44*x117 + x51*x123) - 2*x2 - 200*x58
       - 180*x65 - 300*x72 =E= 0;
e19.. x16*x82 - (x30*x106 + x37*x112 + x44*x118 + x51*x124) - 4*x2 - 9*x9
       - 170*x58 - 220*x65 - 220*x72 =E= 0;
e20.. x16*x83 - (x30*x107 + x37*x113 + x44*x119 + x51*x125) - 3*x9 - 130*x58
       - 110*x65 - 80*x72 =E= 0;
e21.. x16*x84 - (x30*x108 + x37*x114 + x44*x120 + x51*x126) - 2*x2 - 200*x58
       - 190*x65 - 115*x72 =E= 0;
e22.. x17*x85 - (x31*x103 + x38*x109 + x45*x115 + x52*x121) - 15*x10 - 300*x59
       - 400*x66 - 90*x73 =E= 0;
e23.. x17*x86 - (x31*x104 + x38*x110 + x45*x116 + x52*x122) - 25*x3 - 140*x59
       - 155*x66 - 100*x73 =E= 0;
e24.. x17*x87 - (x31*x105 + x38*x111 + x45*x117 + x52*x123) - 2*x3 - 200*x59
       - 180*x66 - 300*x73 =E= 0;
e25.. x17*x88 - (x31*x106 + x38*x112 + x45*x118 + x52*x124) - 4*x3 - 9*x10
       - 170*x59 - 220*x66 - 220*x73 =E= 0;
e26.. x17*x89 - (x31*x107 + x38*x113 + x45*x119 + x52*x125) - 3*x10 - 130*x59
       - 110*x66 - 80*x73 =E= 0;
e27.. x17*x90 - (x31*x108 + x38*x114 + x45*x120 + x52*x126) - 2*x3 - 200*x59
       - 190*x66 - 115*x73 =E= 0;
e28.. x18*x91 - (x32*x103 + x39*x109 + x46*x115 + x53*x121) - 15*x11 - 300*x60
       - 400*x67 - 90*x74 =E= 0;
e29.. x18*x92 - (x32*x104 + x39*x110 + x46*x116 + x53*x122) - 25*x4 - 140*x60
       - 155*x67 - 100*x74 =E= 0;
e30.. x18*x93 - (x32*x105 + x39*x111 + x46*x117 + x53*x123) - 2*x4 - 200*x60
       - 180*x67 - 300*x74 =E= 0;
e31.. x18*x94 - (x32*x106 + x39*x112 + x46*x118 + x53*x124) - 4*x4 - 9*x11
       - 170*x60 - 220*x67 - 220*x74 =E= 0;
e32.. x18*x95 - (x32*x107 + x39*x113 + x46*x119 + x53*x125) - 3*x11 - 130*x60
       - 110*x67 - 80*x74 =E= 0;
e33.. x18*x96 - (x32*x108 + x39*x114 + x46*x120 + x53*x126) - 2*x4 - 200*x60
       - 190*x67 - 115*x74 =E= 0;
e34.. x19*x97 - (x33*x103 + x40*x109 + x47*x115 + x54*x121) - 15*x12 - 300*x61
       - 400*x68 - 90*x75 =E= 0;
e35.. x19*x98 - (x33*x104 + x40*x110 + x47*x116 + x54*x122) - 25*x5 - 140*x61
       - 155*x68 - 100*x75 =E= 0;
e36.. x19*x99 - (x33*x105 + x40*x111 + x47*x117 + x54*x123) - 2*x5 - 200*x61
       - 180*x68 - 300*x75 =E= 0;
e37.. x19*x100 - (x33*x106 + x40*x112 + x47*x118 + x54*x124) - 4*x5 - 9*x12
       - 170*x61 - 220*x68 - 220*x75 =E= 0;
e38.. x19*x101 - (x33*x107 + x40*x113 + x47*x119 + x54*x125) - 3*x12 - 130*x61
       - 110*x68 - 80*x75 =E= 0;
e39.. x19*x102 - (x33*x108 + x40*x114 + x47*x120 + x54*x126) - 2*x5 - 200*x61
       - 190*x68 - 115*x75 =E= 0;
e40.. -x16*(x103 - x79) =E= -10560;
e41.. -x16*(x104 - x80) =E= -4320;
e42.. -x16*(x105 - x81) =E= -4560;
e43.. -x16*(x106 - x82) =E= -12000;
e44.. -x16*(x107 - x83) =E= -3960;
e45.. -x16*(x108 - x84) =E= -6000;
e46.. -x17*(x109 - x85) =E= -2400;
e47.. -x17*(x110 - x86) =E= -3400;
e48.. -x17*(x111 - x87) =E= -1150;
e49.. -x17*(x112 - x88) =E= -5000;
e50.. -x17*(x113 - x89) =E= -2000;
e51.. -x17*(x114 - x90) =E= -5000;
e52.. -x18*(x115 - x91) =E= -7200;
e53.. -x18*(x116 - x92) =E= -2400;
e54.. -x18*(x117 - x93) =E= -2880;
e55.. -x18*(x118 - x94) =E= -8000;
e56.. -x18*(x119 - x95) =E= -4000;
e57.. -x18*(x120 - x96) =E= -2400;
e58.. -x19*(x121 - x97) =E= -9000;
e59.. -x19*(x122 - x98) =E= -14130;
e60.. -x19*(x123 - x99) =E= -11700;
e61.. -x19*(x124 - x100) =E= -9000;
e62.. -x19*(x125 - x101) =E= -5400;
e63.. -x19*(x126 - x102) =E= -18000;
e64..    x79 =L= 112;
e65..    x80 =L= 54;
e66..    x81 =L= 12;
e67..    x82 =L= 134;
e68..    x83 =L= 12;
e69..    x84 =L= 30;
e70..    x85 =L= 32;
e71..    x86 =L= 12;
e72..    x87 =L= 47;
e73..    x88 =L= 56;
e74..    x89 =L= 40;
e75..    x90 =L= 100;
e76..    x91 =L= 10;
e77..    x92 =L= 80;
e78..    x93 =L= 54;
e79..    x94 =L= 39;
e80..    x95 =L= 80;
e81..    x96 =L= 60;
e82..    x97 =L= 45;
e83..    x98 =L= 93;
e84..    x99 =L= 70;
e85..    x100 =L= 177;
e86..    x101 =L= 20;
e87..    x102 =L= 20;
e88..    x103 =L= 200;
e89..    x104 =L= 90;
e90..    x105 =L= 50;
e91..    x106 =L= 234;
e92..    x107 =L= 45;
e93..    x108 =L= 80;
e94..    x109 =L= 80;
e95..    x110 =L= 80;
e96..    x111 =L= 70;
e97..    x112 =L= 156;
e98..    x113 =L= 80;
e99..    x114 =L= 200;
e100..    x115 =L= 100;
e101..    x116 =L= 110;
e102..    x117 =L= 90;
e103..    x118 =L= 139;
e104..    x119 =L= 130;
e105..    x120 =L= 90;
e106..    x121 =L= 145;
e107..    x122 =L= 250;
e108..    x123 =L= 200;
e109..    x124 =L= 277;
e110..    x125 =L= 80;
e111..    x126 =L= 220;
e112.. -(x34*x103 + x41*x109 + x48*x115 + x55*x121) - 15*x13 - 300*x62
        - 400*x69 - 90*x76 =G= -4000;
e113.. -(x34*x104 + x41*x110 + x48*x116 + x55*x122) - 25*x6 - 140*x62 - 155*x69
        - 100*x76 =G= -800;
e114.. -(x34*x105 + x41*x111 + x48*x117 + x55*x123) - 2*x6 - 200*x62 - 180*x69
        - 300*x76 =G= -600;
e115.. -(x34*x106 + x41*x112 + x48*x118 + x55*x124) - 4*x6 - 9*x13 - 170*x62
        - 220*x69 - 220*x76 =G= -1600;
e116.. -(x34*x107 + x41*x113 + x48*x119 + x55*x125) - 3*x13 - 130*x62 - 110*x69
        - 80*x76 =G= -600;
e117.. -(x34*x108 + x41*x114 + x48*x120 + x55*x126) - 2*x6 - 200*x62 - 190*x69
        - 115*x76 =G= -2000;
e118.. -(x35*x103 + x42*x109 + x49*x115 + x56*x121) - 15*x14 - 300*x63
        - 400*x70 - 90*x77 =G= -18000;
e119.. -(x35*x104 + x42*x110 + x49*x116 + x56*x122) - 25*x7 - 140*x63 - 155*x70
        - 100*x77 =G= -3300;
e120.. -(x35*x105 + x42*x111 + x49*x117 + x56*x123) - 2*x7 - 200*x63 - 180*x70
        - 300*x77 =G= -4800;
e121.. -(x35*x106 + x42*x112 + x49*x118 + x56*x124) - 4*x7 - 9*x14 - 170*x63
        - 220*x70 - 220*x77 =G= -7200;
e122.. -(x35*x107 + x42*x113 + x49*x119 + x56*x125) - 3*x14 - 130*x63 - 110*x70
        - 80*x77 =G= -3600;
e123.. -(x35*x108 + x42*x114 + x49*x120 + x56*x126) - 2*x7 - 200*x63 - 190*x70
        - 115*x77 =G= -5400;
e124.. -(x36*x103 + x43*x109 + x50*x115 + x57*x121) - 15*x15 - 300*x64
        - 400*x71 - 90*x78 =G= -1400;
e125.. -(x36*x104 + x43*x110 + x50*x116 + x57*x122) - 25*x8 - 140*x64 - 155*x71
        - 100*x78 =G= -1750;
e126.. -(x36*x105 + x43*x111 + x50*x117 + x57*x123) - 2*x8 - 200*x64 - 180*x71
        - 300*x78 =G= -7000;
e127.. -(x36*x106 + x43*x112 + x50*x118 + x57*x124) - 4*x8 - 9*x15 - 170*x64
        - 220*x71 - 220*x78 =G= -1400;
e128.. -(x36*x107 + x43*x113 + x50*x119 + x57*x125) - 3*x15 - 130*x64 - 110*x71
        - 80*x78 =G= -2800;
e129.. -(x36*x108 + x43*x114 + x50*x120 + x57*x126) - 2*x8 - 200*x64 - 190*x71
        - 115*x78 =G= -3150;
e130..    x16 =L= 120;
e131..    x17 =L= 50;
e132..    x18 =L= 80;
e133..    x19 =L= 90;
e134..    x20 =L= 0;
e135..    x21 =L= 0;
e136..    x22 =L= 0;
* set non-default bounds
x2.up = 100000;
x3.up = 100000;
x4.up = 100000;
x5.up = 100000;
x6.up = 100000;
x7.up = 100000;
x8.up = 100000;
x9.up = 100000;
x10.up = 100000;
x11.up = 100000;
x12.up = 100000;
x13.up = 100000;
x14.up = 100000;
x15.up = 100000;
x16.up = 100000;
x17.up = 100000;
x18.up = 100000;
x19.up = 100000;
x20.up = 100000;
x21.up = 100000;
x22.up = 100000;
x23.up = 100000;
x24.up = 100000;
x25.up = 100000;
x26.up = 100000;
x27.up = 100000;
x28.up = 100000;
x29.up = 100000;
x30.up = 100000;
x31.up = 100000;
x32.up = 100000;
x33.up = 100000;
x34.up = 100000;
x35.up = 100000;
x36.up = 100000;
x37.up = 100000;
x38.up = 100000;
x39.up = 100000;
x40.up = 100000;
x41.up = 100000;
x42.up = 100000;
x43.up = 100000;
x44.up = 100000;
x45.up = 100000;
x46.up = 100000;
x47.up = 100000;
x48.up = 100000;
x49.up = 100000;
x50.up = 100000;
x51.up = 100000;
x52.up = 100000;
x53.up = 100000;
x54.up = 100000;
x55.up = 100000;
x56.up = 100000;
x57.up = 100000;
x58.up = 100000;
x59.up = 100000;
x60.up = 100000;
x61.up = 100000;
x62.up = 100000;
x63.up = 100000;
x64.up = 100000;
x65.up = 100000;
x66.up = 100000;
x67.up = 100000;
x68.up = 100000;
x69.up = 100000;
x70.up = 100000;
x71.up = 100000;
x72.up = 100000;
x73.up = 100000;
x74.up = 100000;
x75.up = 100000;
x76.up = 100000;
x77.up = 100000;
x78.up = 100000;
x79.up = 100000;
x80.up = 100000;
x81.up = 100000;
x82.up = 100000;
x83.up = 100000;
x84.up = 100000;
x85.up = 100000;
x86.up = 100000;
x87.up = 100000;
x88.up = 100000;
x89.up = 100000;
x90.up = 100000;
x91.up = 100000;
x92.up = 100000;
x93.up = 100000;
x94.up = 100000;
x95.up = 100000;
x96.up = 100000;
x97.up = 100000;
x98.up = 100000;
x99.up = 100000;
x100.up = 100000;
x101.up = 100000;
x102.up = 100000;
x103.up = 100000;
x104.up = 100000;
x105.up = 100000;
x106.up = 100000;
x107.up = 100000;
x108.up = 100000;
x109.up = 100000;
x110.up = 100000;
x111.up = 100000;
x112.up = 100000;
x113.up = 100000;
x114.up = 100000;
x115.up = 100000;
x116.up = 100000;
x117.up = 100000;
x118.up = 100000;
x119.up = 100000;
x120.up = 100000;
x121.up = 100000;
x122.up = 100000;
x123.up = 100000;
x124.up = 100000;
x125.up = 100000;
x126.up = 100000;
Model m / all /;
m.limrow=0; m.limcol=0;
m.tolproj=0.0;
$if NOT '%gams.u1%' == '' $include '%gams.u1%'
$if not set NLP $set NLP NLP
Solve m using %NLP% minimizing objvar;
Last updated: 2025-08-07 Git hash: e62cedfc