MINLPLib

A Library of Mixed-Integer and Continuous Nonlinear Programming Instances

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


Instance: syn30m

Selection of optimal configuration and parameters for a processing system selected from a superstructure containing alternative processing units and interconnections.
Formats ams gms mod nl osil
Primal Bounds (infeas ≤ 1e-08)
138.15960250 p1 ( gdx sol )
(infeas: 2e-10)
Other points (infeas > 1e-08)  
Dual Bounds
138.15960250 (ALPHAECP)
138.16014000 (ANTIGONE)
138.15961290 (BARON)
138.15960250 (BONMIN)
138.15961130 (COUENNE)
138.15978010 (SCIP)
References Duran, Marco A and Grossmann, I E, An Outer-Approximation Algorithm for a Class of Mixed-integer Nonlinear Programs, Mathematical Programming, 36:3, 1986, 307-339.
Türkay, Metin and Grossmann, I E, Logic-based MINLP Algorithms for optimal synthesis of process networks, Computers and Chemical Engineering, 20:8, 1996, 959-978.
Source Syn30M.gms from CMU-IBM MINLP solver project page
Application Synthesis of processing system
Added to library 28 Sep 2013
Problem type MBNLP
#Variables 100
#Binary Variables 30
#Integer Variables 0
#Nonlinear Variables 20
#Nonlinear Binary Variables 0
#Nonlinear Integer Variables 0
Objective Sense max
Objective type linear
Objective curvature linear
#Nonzeros in Objective 51
#Nonlinear Nonzeros in Objective 0
#Constraints 167
#Linear Constraints 147
#Quadratic Constraints 0
#Polynomial Constraints 0
#Signomial Constraints 0
#General Nonlinear Constraints 20
Operands in Gen. Nonlin. Functions log
Constraints curvature convex
#Nonzeros in Jacobian 415
#Nonlinear Nonzeros in Jacobian 20
#Nonzeros in (Upper-Left) Hessian of Lagrangian 20
#Nonzeros in Diagonal of Hessian of Lagrangian 20
#Blocks in Hessian of Lagrangian 20
Minimal blocksize in Hessian of Lagrangian 1
Maximal blocksize in Hessian of Lagrangian 1
Average blocksize in Hessian of Lagrangian 1.0
#Semicontinuities 0
#Nonlinear Semicontinuities 0
#SOS type 1 0
#SOS type 2 0
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
*        168       19       51       98        0        0        0        0
*  
*  Variable counts
*                   x        b        i      s1s      s2s       sc       si
*      Total     cont   binary  integer     sos1     sos2    scont     sint
*        101       71       30        0        0        0        0        0
*  FX      0
*  
*  Nonzero counts
*      Total    const       NL      DLL
*        467      447       20        0
*
*  Solve m using MINLP maximizing 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,b72,b73,b74,b75,b76,b77,b78,b79,b80,b81,b82,b83,b84,b85,b86
          ,b87,b88,b89,b90,b91,b92,b93,b94,b95,b96,b97,b98,b99,b100,b101;

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;

Binary Variables  b72,b73,b74,b75,b76,b77,b78,b79,b80,b81,b82,b83,b84,b85,b86
          ,b87,b88,b89,b90,b91,b92,b93,b94,b95,b96,b97,b98,b99,b100,b101;

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;


e1..    objvar + x2 - 5*x8 + 2*x13 + 10*x30 + 5*x31 - 40*x38 - 15*x39 - 10*x40
      - 30*x41 - 35*x42 - 20*x43 - 25*x44 - 15*x45 - 30*x53 + x58 - 80*x66
      - 285*x67 - 290*x68 - 280*x69 - 290*x70 - 350*x71 + 5*b72 + 8*b73 + 6*b74
      + 10*b75 + 6*b76 + 7*b77 + 4*b78 + 5*b79 + 2*b80 + 4*b81 + 3*b82 + 7*b83
      + 3*b84 + 2*b85 + 4*b86 + 2*b87 + 3*b88 + 5*b89 + 2*b90 + b91 + 2*b92
      + 9*b93 + 5*b94 + 2*b95 + 10*b96 + 4*b97 + 7*b98 + 4*b99 + 2*b100
      + 8*b101 =E= 0;

e2..    x2 - x3 - x4 =E= 0;

e3..  - x5 - x6 + x7 =E= 0;

e4..    x7 - x8 - x9 =E= 0;

e5..    x9 - x10 - x11 - x12 =E= 0;

e6..    x14 - x17 - x18 =E= 0;

e7..    x16 - x19 - x20 - x21 =E= 0;

e8..    x24 - x28 - x29 =E= 0;

e9..  - x25 - x31 + x32 =E= 0;

e10..    x26 - x33 - x34 =E= 0;

e11..    x27 - x35 - x36 - x37 =E= 0;

e12..    x46 - x47 =E= 0;

e13..    x47 - x48 - x49 =E= 0;

e14..  - x50 - x51 + x52 =E= 0;

e15..    x52 - x53 - x54 =E= 0;

e16..    x54 - x55 - x56 - x57 =E= 0;

e17..    x59 - x62 - x63 =E= 0;

e18..    x61 - x64 - x65 - x66 =E= 0;

e19.. -log(1 + x3) + x5 + b72 =L= 1;

e20..    x3 - 40*b72 =L= 0;

e21..    x5 - 3.71357206670431*b72 =L= 0;

e22.. -1.2*log(1 + x4) + x6 + b73 =L= 1;

e23..    x4 - 40*b73 =L= 0;

e24..    x6 - 4.45628648004517*b73 =L= 0;

e25..  - 0.75*x10 + x14 + b74 =L= 1;

e26..  - 0.75*x10 + x14 - b74 =G= -1;

e27..    x10 - 4.45628648004517*b74 =L= 0;

e28..    x14 - 3.34221486003388*b74 =L= 0;

e29.. -1.5*log(1 + x11) + x15 + b75 =L= 1;

e30..    x11 - 4.45628648004517*b75 =L= 0;

e31..    x15 - 2.54515263975353*b75 =L= 0;

e32..  - x12 + x16 + b76 =L= 1;

e33..  - x12 + x16 - b76 =G= -1;

e34..  - 0.5*x13 + x16 + b76 =L= 1;

e35..  - 0.5*x13 + x16 - b76 =G= -1;

e36..    x12 - 4.45628648004517*b76 =L= 0;

e37..    x13 - 30*b76 =L= 0;

e38..    x16 - 15*b76 =L= 0;

e39.. -1.25*log(1 + x17) + x22 + b77 =L= 1;

e40..    x17 - 3.34221486003388*b77 =L= 0;

e41..    x22 - 1.83548069293539*b77 =L= 0;

e42.. -0.9*log(1 + x18) + x23 + b78 =L= 1;

e43..    x18 - 3.34221486003388*b78 =L= 0;

e44..    x23 - 1.32154609891348*b78 =L= 0;

e45.. -log(1 + x15) + x24 + b79 =L= 1;

e46..    x15 - 2.54515263975353*b79 =L= 0;

e47..    x24 - 1.26558121681553*b79 =L= 0;

e48..  - 0.9*x19 + x25 + b80 =L= 1;

e49..  - 0.9*x19 + x25 - b80 =G= -1;

e50..    x19 - 15*b80 =L= 0;

e51..    x25 - 13.5*b80 =L= 0;

e52..  - 0.6*x20 + x26 + b81 =L= 1;

e53..  - 0.6*x20 + x26 - b81 =G= -1;

e54..    x20 - 15*b81 =L= 0;

e55..    x26 - 9*b81 =L= 0;

e56.. -1.1*log(1 + x21) + x27 + b82 =L= 1;

e57..    x21 - 15*b82 =L= 0;

e58..    x27 - 3.04984759446376*b82 =L= 0;

e59..  - 0.9*x22 + x38 + b83 =L= 1;

e60..  - 0.9*x22 + x38 - b83 =G= -1;

e61..  - x30 + x38 + b83 =L= 1;

e62..  - x30 + x38 - b83 =G= -1;

e63..    x22 - 1.83548069293539*b83 =L= 0;

e64..    x30 - 20*b83 =L= 0;

e65..    x38 - 20*b83 =L= 0;

e66.. -log(1 + x23) + x39 + b84 =L= 1;

e67..    x23 - 1.32154609891348*b84 =L= 0;

e68..    x39 - 0.842233385663186*b84 =L= 0;

e69.. -0.7*log(1 + x28) + x40 + b85 =L= 1;

e70..    x28 - 1.26558121681553*b85 =L= 0;

e71..    x40 - 0.572481933717686*b85 =L= 0;

e72.. -0.65*log(1 + x29) + x41 + b86 =L= 1;

e73.. -0.65*log(1 + x32) + x41 + b86 =L= 1;

e74..    x29 - 1.26558121681553*b86 =L= 0;

e75..    x32 - 33.5*b86 =L= 0;

e76..    x41 - 2.30162356062425*b86 =L= 0;

e77..  - x33 + x42 + b87 =L= 1;

e78..  - x33 + x42 - b87 =G= -1;

e79..    x33 - 9*b87 =L= 0;

e80..    x42 - 9*b87 =L= 0;

e81..  - x34 + x43 + b88 =L= 1;

e82..  - x34 + x43 - b88 =G= -1;

e83..    x34 - 9*b88 =L= 0;

e84..    x43 - 9*b88 =L= 0;

e85.. -0.75*log(1 + x35) + x44 + b89 =L= 1;

e86..    x35 - 3.04984759446376*b89 =L= 0;

e87..    x44 - 1.04900943706034*b89 =L= 0;

e88.. -0.8*log(1 + x36) + x45 + b90 =L= 1;

e89..    x36 - 3.04984759446376*b90 =L= 0;

e90..    x45 - 1.11894339953103*b90 =L= 0;

e91.. -0.85*log(1 + x37) + x46 + b91 =L= 1;

e92..    x37 - 3.04984759446376*b91 =L= 0;

e93..    x46 - 1.18887736200171*b91 =L= 0;

e94.. -log(1 + x48) + x50 + b92 =L= 1;

e95..    x48 - 1.18887736200171*b92 =L= 0;

e96..    x50 - 0.78338879230327*b92 =L= 0;

e97.. -1.2*log(1 + x49) + x51 + b93 =L= 1;

e98..    x49 - 1.18887736200171*b93 =L= 0;

e99..    x51 - 0.940066550763924*b93 =L= 0;

e100..  - 0.75*x55 + x59 + b94 =L= 1;

e101..  - 0.75*x55 + x59 - b94 =G= -1;

e102..    x55 - 0.940066550763924*b94 =L= 0;

e103..    x59 - 0.705049913072943*b94 =L= 0;

e104.. -1.5*log(1 + x56) + x60 + b95 =L= 1;

e105..    x56 - 0.940066550763924*b95 =L= 0;

e106..    x60 - 0.994083415506506*b95 =L= 0;

e107..  - x57 + x61 + b96 =L= 1;

e108..  - x57 + x61 - b96 =G= -1;

e109..  - 0.5*x58 + x61 + b96 =L= 1;

e110..  - 0.5*x58 + x61 - b96 =G= -1;

e111..    x57 - 0.940066550763924*b96 =L= 0;

e112..    x58 - 30*b96 =L= 0;

e113..    x61 - 15*b96 =L= 0;

e114.. -1.25*log(1 + x62) + x67 + b97 =L= 1;

e115..    x62 - 0.705049913072943*b97 =L= 0;

e116..    x67 - 0.666992981045719*b97 =L= 0;

e117.. -0.9*log(1 + x63) + x68 + b98 =L= 1;

e118..    x63 - 0.705049913072943*b98 =L= 0;

e119..    x68 - 0.480234946352917*b98 =L= 0;

e120.. -log(1 + x60) + x69 + b99 =L= 1;

e121..    x60 - 0.994083415506506*b99 =L= 0;

e122..    x69 - 0.690184503917672*b99 =L= 0;

e123..  - 0.9*x64 + x70 + b100 =L= 1;

e124..  - 0.9*x64 + x70 - b100 =G= -1;

e125..    x64 - 15*b100 =L= 0;

e126..    x70 - 13.5*b100 =L= 0;

e127..  - 0.6*x65 + x71 + b101 =L= 1;

e128..  - 0.6*x65 + x71 - b101 =G= -1;

e129..    x65 - 15*b101 =L= 0;

e130..    x71 - 9*b101 =L= 0;

e131..    b72 + b73 =E= 1;

e132..  - b74 + b77 + b78 =G= 0;

e133..  - b77 + b83 =G= 0;

e134..  - b78 + b84 =G= 0;

e135..  - b75 + b79 =G= 0;

e136..  - b79 + b85 + b86 =G= 0;

e137..  - b76 + b80 + b81 + b82 =G= 0;

e138..  - b80 + b86 =G= 0;

e139..  - b81 + b87 + b88 =G= 0;

e140..  - b82 + b89 + b90 + b91 =G= 0;

e141..    b72 + b73 - b74 =G= 0;

e142..    b72 + b73 - b75 =G= 0;

e143..    b72 + b73 - b76 =G= 0;

e144..    b74 - b77 =G= 0;

e145..    b74 - b78 =G= 0;

e146..    b75 - b79 =G= 0;

e147..    b76 - b80 =G= 0;

e148..    b76 - b81 =G= 0;

e149..    b76 - b82 =G= 0;

e150..    b77 - b83 =G= 0;

e151..    b78 - b84 =G= 0;

e152..    b79 - b85 =G= 0;

e153..    b79 - b86 =G= 0;

e154..    b81 - b87 =G= 0;

e155..    b81 - b88 =G= 0;

e156..    b82 - b89 =G= 0;

e157..    b82 - b90 =G= 0;

e158..    b82 - b91 =G= 0;

e159..  - b91 + b92 + b93 =G= 0;

e160..  - b94 + b97 + b98 =G= 0;

e161..  - b95 + b99 =G= 0;

e162..    b91 - b92 =G= 0;

e163..    b91 - b93 =G= 0;

e164..    b94 - b97 =G= 0;

e165..    b94 - b98 =G= 0;

e166..    b95 - b99 =G= 0;

e167..    b96 - b100 =G= 0;

e168..    b96 - b101 =G= 0;

* set non-default bounds
x2.up = 40;
x13.up = 30;
x30.up = 20;
x31.up = 20;
x58.up = 30;

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% maximizing objvar;


Last updated: 2019-07-12 Git hash: 46a7b4f1
Imprint / Privacy Policy