MINLPLib

A Library of Mixed-Integer and Continuous Nonlinear Programming Instances

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


Instance flay03h

Determine the optimal length and width of a number of rectangular patches of land with fixed area, such that the perimeter of the set of patches is minimized.
Formats ams gms mod nl osil py
Primal Bounds (infeas ≤ 1e-08)
48.98979486 p1 ( gdx sol )
(infeas: 5e-15)
Other points (infeas > 1e-08)  
Dual Bounds
48.98894200 (ALPHAECP)
48.98979257 (ANTIGONE)
48.98979272 (BARON)
48.98979486 (BONMIN)
48.98978636 (COUENNE)
48.98979352 (LINDO)
48.98979322 (SCIP)
48.98974379 (SHOT)
References Sawaya, Nicolas W, Reformulations, relaxations and cutting planes for generalized disjunctive programming, PhD thesis, Carnegie Mellon University, 2006.
Source FLay03H.gms from CMU-IBM MINLP solver project page
Application Layout
Added to library 28 Sep 2013
Problem type MBNLP
#Variables 122
#Binary Variables 12
#Integer Variables 0
#Nonlinear Variables 3
#Nonlinear Binary Variables 0
#Nonlinear Integer Variables 0
Objective Sense min
Objective type linear
Objective curvature linear
#Nonzeros in Objective 2
#Nonlinear Nonzeros in Objective 0
#Constraints 144
#Linear Constraints 141
#Quadratic Constraints 0
#Polynomial Constraints 0
#Signomial Constraints 3
#General Nonlinear Constraints 0
Operands in Gen. Nonlin. Functions  
Constraints curvature convex
#Nonzeros in Jacobian 384
#Nonlinear Nonzeros in Jacobian 3
#Nonzeros in (Upper-Left) Hessian of Lagrangian 3
#Nonzeros in Diagonal of Hessian of Lagrangian 3
#Blocks in Hessian of Lagrangian 3
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
Minimal coefficient 1.0000e+00
Maximal coefficient 6.0000e+01
Infeasibility of initial point 59
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
*        145       28        6      111        0        0        0        0
*  
*  Variable counts
*                   x        b        i      s1s      s2s       sc       si
*      Total     cont   binary  integer     sos1     sos2    scont     sint
*        123      111       12        0        0        0        0        0
*  FX      0
*  
*  Nonzero counts
*      Total    const       NL      DLL
*        387      384        3        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,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,b111,b112,b113,b114,b115,b116
          ,b117,b118,b119,b120,b121,b122,objvar;

Positive Variables  x1,x2,x3,x4,x5,x6,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;

Binary Variables  b111,b112,b113,b114,b115,b116,b117,b118,b119,b120,b121,b122;

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;


e1..  - 2*x13 - 2*x14 + objvar =E= 0;

e2..  - x1 - x7 + x13 =G= 0;

e3..  - x2 - x8 + x13 =G= 0;

e4..  - x3 - x9 + x13 =G= 0;

e5..  - x4 - x10 + x14 =G= 0;

e6..  - x5 - x11 + x14 =G= 0;

e7..  - x6 - x12 + x14 =G= 0;

e8.. 40/x10 - x7 =L= 0;

e9.. 50/x11 - x8 =L= 0;

e10.. 60/x12 - x9 =L= 0;

e11..    x1 - x15 - x17 - x19 - x21 =E= 0;

e12..    x1 - x16 - x18 - x20 - x22 =E= 0;

e13..    x2 - x23 - x25 - x27 - x29 =E= 0;

e14..    x2 - x24 - x26 - x28 - x30 =E= 0;

e15..    x3 - x31 - x33 - x35 - x37 =E= 0;

e16..    x3 - x32 - x34 - x36 - x38 =E= 0;

e17..    x4 - x39 - x41 - x43 - x45 =E= 0;

e18..    x4 - x40 - x42 - x44 - x46 =E= 0;

e19..    x5 - x47 - x49 - x51 - x53 =E= 0;

e20..    x5 - x48 - x50 - x52 - x54 =E= 0;

e21..    x6 - x55 - x57 - x59 - x61 =E= 0;

e22..    x6 - x56 - x58 - x60 - x62 =E= 0;

e23..    x7 - x63 - x65 - x67 - x69 =E= 0;

e24..    x7 - x64 - x66 - x68 - x70 =E= 0;

e25..    x8 - x71 - x73 - x75 - x77 =E= 0;

e26..    x8 - x72 - x74 - x76 - x78 =E= 0;

e27..    x9 - x79 - x81 - x83 - x85 =E= 0;

e28..    x9 - x80 - x82 - x84 - x86 =E= 0;

e29..    x10 - x87 - x89 - x91 - x93 =E= 0;

e30..    x10 - x88 - x90 - x92 - x94 =E= 0;

e31..    x11 - x95 - x97 - x99 - x101 =E= 0;

e32..    x11 - x96 - x98 - x100 - x102 =E= 0;

e33..    x12 - x103 - x105 - x107 - x109 =E= 0;

e34..    x12 - x104 - x106 - x108 - x110 =E= 0;

e35..    x15 - 29*b111 =L= 0;

e36..    x16 - 29*b112 =L= 0;

e37..    x17 - 29*b114 =L= 0;

e38..    x18 - 29*b115 =L= 0;

e39..    x19 - 29*b117 =L= 0;

e40..    x20 - 29*b118 =L= 0;

e41..    x21 - 29*b120 =L= 0;

e42..    x22 - 29*b121 =L= 0;

e43..    x23 - 29*b111 =L= 0;

e44..    x24 - 29*b113 =L= 0;

e45..    x25 - 29*b114 =L= 0;

e46..    x26 - 29*b116 =L= 0;

e47..    x27 - 29*b117 =L= 0;

e48..    x28 - 29*b119 =L= 0;

e49..    x29 - 29*b120 =L= 0;

e50..    x30 - 29*b122 =L= 0;

e51..    x31 - 29*b112 =L= 0;

e52..    x32 - 29*b113 =L= 0;

e53..    x33 - 29*b115 =L= 0;

e54..    x34 - 29*b116 =L= 0;

e55..    x35 - 29*b118 =L= 0;

e56..    x36 - 29*b119 =L= 0;

e57..    x37 - 29*b121 =L= 0;

e58..    x38 - 29*b122 =L= 0;

e59..    x39 - 29*b111 =L= 0;

e60..    x40 - 29*b112 =L= 0;

e61..    x41 - 29*b114 =L= 0;

e62..    x42 - 29*b115 =L= 0;

e63..    x43 - 29*b117 =L= 0;

e64..    x44 - 29*b118 =L= 0;

e65..    x45 - 29*b120 =L= 0;

e66..    x46 - 29*b121 =L= 0;

e67..    x47 - 29*b111 =L= 0;

e68..    x48 - 29*b113 =L= 0;

e69..    x49 - 29*b114 =L= 0;

e70..    x50 - 29*b116 =L= 0;

e71..    x51 - 29*b117 =L= 0;

e72..    x52 - 29*b119 =L= 0;

e73..    x53 - 29*b120 =L= 0;

e74..    x54 - 29*b122 =L= 0;

e75..    x55 - 29*b112 =L= 0;

e76..    x56 - 29*b113 =L= 0;

e77..    x57 - 29*b115 =L= 0;

e78..    x58 - 29*b116 =L= 0;

e79..    x59 - 29*b118 =L= 0;

e80..    x60 - 29*b119 =L= 0;

e81..    x61 - 29*b121 =L= 0;

e82..    x62 - 29*b122 =L= 0;

e83..    x63 - 40*b111 =L= 0;

e84..    x64 - 40*b112 =L= 0;

e85..    x65 - 40*b114 =L= 0;

e86..    x66 - 40*b115 =L= 0;

e87..    x67 - 40*b117 =L= 0;

e88..    x68 - 40*b118 =L= 0;

e89..    x69 - 40*b120 =L= 0;

e90..    x70 - 40*b121 =L= 0;

e91..    x71 - 40*b111 =L= 0;

e92..    x72 - 50*b113 =L= 0;

e93..    x73 - 40*b114 =L= 0;

e94..    x74 - 50*b116 =L= 0;

e95..    x75 - 40*b117 =L= 0;

e96..    x76 - 50*b119 =L= 0;

e97..    x77 - 40*b120 =L= 0;

e98..    x78 - 50*b122 =L= 0;

e99..    x79 - 40*b112 =L= 0;

e100..    x80 - 50*b113 =L= 0;

e101..    x81 - 40*b115 =L= 0;

e102..    x82 - 50*b116 =L= 0;

e103..    x83 - 40*b118 =L= 0;

e104..    x84 - 50*b119 =L= 0;

e105..    x85 - 40*b121 =L= 0;

e106..    x86 - 50*b122 =L= 0;

e107..    x87 - 40*b111 =L= 0;

e108..    x88 - 40*b112 =L= 0;

e109..    x89 - 40*b114 =L= 0;

e110..    x90 - 40*b115 =L= 0;

e111..    x91 - 40*b117 =L= 0;

e112..    x92 - 40*b118 =L= 0;

e113..    x93 - 40*b120 =L= 0;

e114..    x94 - 40*b121 =L= 0;

e115..    x95 - 40*b111 =L= 0;

e116..    x96 - 50*b113 =L= 0;

e117..    x97 - 40*b114 =L= 0;

e118..    x98 - 50*b116 =L= 0;

e119..    x99 - 40*b117 =L= 0;

e120..    x100 - 50*b119 =L= 0;

e121..    x101 - 40*b120 =L= 0;

e122..    x102 - 50*b122 =L= 0;

e123..    x103 - 40*b112 =L= 0;

e124..    x104 - 50*b113 =L= 0;

e125..    x105 - 40*b115 =L= 0;

e126..    x106 - 50*b116 =L= 0;

e127..    x107 - 40*b118 =L= 0;

e128..    x108 - 50*b119 =L= 0;

e129..    x109 - 40*b121 =L= 0;

e130..    x110 - 50*b122 =L= 0;

e131..    x15 - x23 + x63 =L= 0;

e132..    x16 - x31 + x64 =L= 0;

e133..    x24 - x32 + x72 =L= 0;

e134..  - x17 + x25 + x73 =L= 0;

e135..  - x18 + x33 + x81 =L= 0;

e136..  - x26 + x34 + x82 =L= 0;

e137..    x43 - x51 + x91 =L= 0;

e138..    x44 - x59 + x92 =L= 0;

e139..    x52 - x60 + x100 =L= 0;

e140..  - x45 + x53 + x101 =L= 0;

e141..  - x46 + x61 + x109 =L= 0;

e142..  - x54 + x62 + x110 =L= 0;

e143..    b111 + b114 + b117 + b120 =E= 1;

e144..    b112 + b115 + b118 + b121 =E= 1;

e145..    b113 + b116 + b119 + b122 =E= 1;

* set non-default bounds
x1.up = 29;
x2.up = 29;
x3.up = 29;
x4.up = 29;
x5.up = 29;
x6.up = 29;
x7.lo = 1; x7.up = 40;
x8.lo = 1; x8.up = 50;
x9.lo = 1; x9.up = 60;
x10.lo = 1; x10.up = 40;
x11.lo = 1; x11.up = 50;
x12.lo = 1; x12.up = 60;
x13.up = 30;
x14.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% minimizing objvar;


Last updated: 2024-03-25 Git hash: 1dae024f
Imprint / Privacy Policy / License: CC-BY 4.0