MINLPLib

A Library of Mixed-Integer and Continuous Nonlinear Programming Instances

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


Instance waterund17

Formats ams gms lp mod nl osil pip py
Primal Bounds (infeas ≤ 1e-08)
157.09444440 p1 ( gdx sol )
(infeas: 7e-12)
Other points (infeas > 1e-08)  
Dual Bounds
153.07213560 (ANTIGONE)
155.53552890 (BARON)
154.38398760 (COUENNE)
157.02851610 (GUROBI)
154.84014420 (LINDO)
156.93588690 (SCIP)
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_Ex17.gms
Application Water Network Design
Added to library 15 Aug 2014
Problem type QCP
#Variables 74
#Binary Variables 0
#Integer Variables 0
#Nonlinear Variables 48
#Nonlinear Binary Variables 0
#Nonlinear Integer Variables 0
Objective Sense min
Objective type linear
Objective curvature linear
#Nonzeros in Objective 15
#Nonlinear Nonzeros in Objective 0
#Constraints 66
#Linear Constraints 39
#Quadratic Constraints 27
#Polynomial Constraints 0
#Signomial Constraints 0
#General Nonlinear Constraints 0
Operands in Gen. Nonlin. Functions  
Constraints curvature indefinite
#Nonzeros in Jacobian 332
#Nonlinear Nonzeros in Jacobian 180
#Nonzeros in (Upper-Left) Hessian of Lagrangian 168
#Nonzeros in Diagonal of Hessian of Lagrangian 0
#Blocks in Hessian of Lagrangian 4
Minimal blocksize in Hessian of Lagrangian 12
Maximal blocksize in Hessian of Lagrangian 12
Average blocksize in Hessian of Lagrangian 12.0
#Semicontinuities 0
#Nonlinear Semicontinuities 0
#SOS type 1 0
#SOS type 2 0
Minimal coefficient 1.0000e+00
Maximal coefficient 8.0000e+02
Infeasibility of initial point 6.08e+04
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
*         67       35        3       29        0        0        0        0
*  
*  Variable counts
*                   x        b        i      s1s      s2s       sc       si
*      Total     cont   binary  integer     sos1     sos2    scont     sint
*         75       75        0        0        0        0        0        0
*  FX      0
*  
*  Nonzero counts
*      Total    const       NL      DLL
*        348      168      180        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;

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;

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;


e1..    objvar - x2 - x3 - x4 - x5 - x6 - x7 - x8 - x9 - x10 - x11 - x12 - x13
      - x14 - x15 - x16 =E= 0;

e2..  - x2 - x7 - x12 + x17 - x27 - x32 - x37 - x42 - x47 =E= 0;

e3..  - x3 - x8 - x13 + x18 - x28 - x33 - x38 - x43 - x48 =E= 0;

e4..  - x4 - x9 - x14 + x19 - x29 - x34 - x39 - x44 - x49 =E= 0;

e5..  - x5 - x10 - x15 + x20 - x30 - x35 - x40 - x45 - x50 =E= 0;

e6..  - x6 - x11 - x16 - x31 - x36 - x41 - x46 - x51 =E= -65;

e7..    x17 - x22 - x27 - x28 - x29 - x30 - x31 =E= 0;

e8..    x18 - x23 - x32 - x33 - x34 - x35 - x36 =E= 0;

e9..    x19 - x24 - x37 - x38 - x39 - x40 - x41 =E= 0;

e10..    x20 - x25 - x42 - x43 - x44 - x45 - x46 =E= 0;

e11..  - x26 - x47 - x48 - x49 - x50 - x51 =E= -75;

e12.. x17*x52 - (x27*x64 + x32*x67 + x37*x70 + x42*x73) - 3*x2 - 2*x12
       - 150*x47 =E= 0;

e13.. x17*x53 - (x27*x65 + x32*x68 + x37*x71 + x42*x74) - 2*x7 - 4*x12
       - 800*x47 =E= 0;

e14.. x17*x54 - (x27*x66 + x32*x69 + x37*x72 + x42*x75) - 2*x2 - 2*x7 - 220*x47
       =E= 0;

e15.. x18*x55 - (x28*x64 + x33*x67 + x38*x70 + x43*x73) - 3*x3 - 2*x13
       - 150*x48 =E= 0;

e16.. x18*x56 - (x28*x65 + x33*x68 + x38*x71 + x43*x74) - 2*x8 - 4*x13
       - 800*x48 =E= 0;

e17.. x18*x57 - (x28*x66 + x33*x69 + x38*x72 + x43*x75) - 2*x3 - 2*x8 - 220*x48
       =E= 0;

e18.. x19*x58 - (x29*x64 + x34*x67 + x39*x70 + x44*x73) - 3*x4 - 2*x14
       - 150*x49 =E= 0;

e19.. x19*x59 - (x29*x65 + x34*x68 + x39*x71 + x44*x74) - 2*x9 - 4*x14
       - 800*x49 =E= 0;

e20.. x19*x60 - (x29*x66 + x34*x69 + x39*x72 + x44*x75) - 2*x4 - 2*x9 - 220*x49
       =E= 0;

e21.. x20*x61 - (x30*x64 + x35*x67 + x40*x70 + x45*x73) - 3*x5 - 2*x15
       - 150*x50 =E= 0;

e22.. x20*x62 - (x30*x65 + x35*x68 + x40*x71 + x45*x74) - 2*x10 - 4*x15
       - 800*x50 =E= 0;

e23.. x20*x63 - (x30*x66 + x35*x69 + x40*x72 + x45*x75) - 2*x5 - 2*x10
       - 220*x50 =E= 0;

e24.. -x17*(x64 - x52) =E= -6120;

e25.. -x17*(x65 - x53) =E= -3096;

e26.. -x17*(x66 - x54) =E= -1800;

e27.. -x18*(x67 - x55) =E= -6400;

e28.. -x18*(x68 - x56) =E= -60800;

e29.. -x18*(x69 - x57) =E= -8640;

e30.. -x19*(x70 - x58) =E= -5600;

e31.. -x19*(x71 - x59) =E= -1400;

e32.. -x19*(x72 - x60) =E= -11200;

e33.. -x20*(x73 - x61) =E= -648;

e34.. -x20*(x74 - x62) =E= -408;

e35.. -x20*(x75 - x63) =E= -360;

e36..    x52 =L= 30;

e37..    x53 =L= 37;

e38..    x54 =L= 10;

e39..    x55 =L= 20;

e40..    x56 =L= 300;

e41..    x57 =L= 45;

e42..    x58 =L= 120;

e43..    x59 =L= 20;

e44..    x60 =L= 200;

e45..    x61 =L= 23;

e46..    x62 =L= 43;

e47..    x63 =L= 15;

e48..    x64 =L= 115;

e49..    x65 =L= 80;

e50..    x66 =L= 35;

e51..    x67 =L= 120;

e52..    x68 =L= 1250;

e53..    x69 =L= 180;

e54..    x70 =L= 220;

e55..    x71 =L= 45;

e56..    x72 =L= 400;

e57..    x73 =L= 50;

e58..    x74 =L= 60;

e59..    x75 =L= 30;

e60.. -(x31*x64 + x36*x67 + x41*x70 + x46*x73) - 3*x6 - 2*x16 - 150*x51
       =G= -5850;

e61.. -(x31*x65 + x36*x68 + x41*x71 + x46*x74) - 2*x11 - 4*x16 - 800*x51
       =G= -26000;

e62.. -(x31*x66 + x36*x69 + x41*x72 + x46*x75) - 2*x6 - 2*x11 - 220*x51
       =G= -10400;

e63..    x17 =L= 72;

e64..    x18 =L= 64;

e65..    x19 =L= 56;

e66..    x20 =L= 24;

e67..    x21 =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;

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: 2024-04-02 Git hash: 1dd5fb9b
Imprint / Privacy Policy / License: CC-BY 4.0