MINLPLib

A Library of Mixed-Integer and Continuous Nonlinear Programming Instances

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


Instance tspn12

Formats ams gms mod nl osil py
Primal Bounds (infeas ≤ 1e-08)
262.64739570 p1 ( gdx sol )
(infeas: 0)
Other points (infeas > 1e-08)  
Dual Bounds
222.74756250 (ANTIGONE)
262.64738550 (BARON)
240.46669460 (COUENNE)
229.72886920 (LINDO)
194.63869960 (SCIP)
0.00000000 (SHOT)
References Gentilini, Iacopo, Margot, François, and Shimada, Kenji, The Traveling Salesman Problem with Neighborhoods: MINLP Solution, Optimization Methods and Software, 28:2, 2013, 364-378.
Source tspn12Couenne.nl from minlp.org model 124
Application Traveling Salesman Problem with Neighborhoods
Added to library 21 Feb 2014
Problem type MBNLP
#Variables 90
#Binary Variables 66
#Integer Variables 0
#Nonlinear Variables 90
#Nonlinear Binary Variables 66
#Nonlinear Integer Variables 0
Objective Sense min
Objective type nonlinear
Objective curvature indefinite
#Nonzeros in Objective 90
#Nonlinear Nonzeros in Objective 90
#Constraints 26
#Linear Constraints 14
#Quadratic Constraints 12
#Polynomial Constraints 0
#Signomial Constraints 0
#General Nonlinear Constraints 0
Operands in Gen. Nonlin. Functions mul sqr sqrt
Constraints curvature convex
#Nonzeros in Jacobian 165
#Nonlinear Nonzeros in Jacobian 24
#Nonzeros in (Upper-Left) Hessian of Lagrangian 1104
#Nonzeros in Diagonal of Hessian of Lagrangian 24
#Blocks in Hessian of Lagrangian 1
Minimal blocksize in Hessian of Lagrangian 90
Maximal blocksize in Hessian of Lagrangian 90
Average blocksize in Hessian of Lagrangian 90.0
#Semicontinuities 0
#Nonlinear Semicontinuities 0
#SOS type 1 0
#SOS type 2 0
Minimal coefficient 5.9172e-03
Maximal coefficient 9.0370e+00
Infeasibility of initial point 2
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
*         27       13        0       14        0        0        0        0
*  
*  Variable counts
*                   x        b        i      s1s      s2s       sc       si
*      Total     cont   binary  integer     sos1     sos2    scont     sint
*         91       25       66        0        0        0        0        0
*  FX      0
*  
*  Nonzero counts
*      Total    const       NL      DLL
*        256      142      114        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,b25,b26,b27,b28,b29,b30,b31,b32,b33,b34,b35,b36
          ,b37,b38,b39,b40,b41,b42,b43,b44,b45,b46,b47,b48,b49,b50,b51,b52,b53
          ,b54,b55,b56,b57,b58,b59,b60,b61,b62,b63,b64,b65,b66,b67,b68,b69,b70
          ,b71,b72,b73,b74,b75,b76,b77,b78,b79,b80,b81,b82,b83,b84,b85,b86,b87
          ,b88,b89,b90,objvar;

Positive Variables  x1,x12;

Binary Variables  b25,b26,b27,b28,b29,b30,b31,b32,b33,b34,b35,b36,b37,b38,b39
          ,b40,b41,b42,b43,b44,b45,b46,b47,b48,b49,b50,b51,b52,b53,b54,b55,b56
          ,b57,b58,b59,b60,b61,b62,b63,b64,b65,b66,b67,b68,b69,b70,b71,b72,b73
          ,b74,b75,b76,b77,b78,b79,b80,b81,b82,b83,b84,b85,b86,b87,b88,b89,b90;

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;


e1.. sqrt(sqr(x1 - x3) + sqr(x2 - x4))*b25 + sqrt(sqr(x1 - x5) + sqr(x2 - x6))*
     b26 + sqrt(sqr(x1 - x7) + sqr(x2 - x8))*b27 + sqrt(sqr(x1 - x9) + sqr(x2
      - x10))*b28 + sqrt(sqr(x1 - x11) + sqr(x2 - x12))*b29 + sqrt(sqr(x1 - x13
     ) + sqr(x2 - x14))*b30 + sqrt(sqr(x1 - x15) + sqr(x2 - x16))*b31 + sqrt(
     sqr(x1 - x17) + sqr(x2 - x18))*b32 + sqrt(sqr(x1 - x19) + sqr(x2 - x20))*
     b33 + sqrt(sqr(x1 - x21) + sqr(x2 - x22))*b34 + sqrt(sqr(x1 - x23) + sqr(
     x2 - x24))*b35 + sqrt(sqr(x3 - x5) + sqr(x4 - x6))*b36 + sqrt(sqr(x3 - x7)
      + sqr(x4 - x8))*b37 + sqrt(sqr(x3 - x9) + sqr(x4 - x10))*b38 + sqrt(sqr(
     x3 - x11) + sqr(x4 - x12))*b39 + sqrt(sqr(x3 - x13) + sqr(x4 - x14))*b40
      + sqrt(sqr(x3 - x15) + sqr(x4 - x16))*b41 + sqrt(sqr(x3 - x17) + sqr(x4
      - x18))*b42 + sqrt(sqr(x3 - x19) + sqr(x4 - x20))*b43 + sqrt(sqr(x3 - x21
     ) + sqr(x4 - x22))*b44 + sqrt(sqr(x3 - x23) + sqr(x4 - x24))*b45 + sqrt(
     sqr(x5 - x7) + sqr(x6 - x8))*b46 + sqrt(sqr(x5 - x9) + sqr(x6 - x10))*b47
      + sqrt(sqr(x5 - x11) + sqr(x6 - x12))*b48 + sqrt(sqr(x5 - x13) + sqr(x6
      - x14))*b49 + sqrt(sqr(x5 - x15) + sqr(x6 - x16))*b50 + sqrt(sqr(x5 - x17
     ) + sqr(x6 - x18))*b51 + sqrt(sqr(x5 - x19) + sqr(x6 - x20))*b52 + sqrt(
     sqr(x5 - x21) + sqr(x6 - x22))*b53 + sqrt(sqr(x5 - x23) + sqr(x6 - x24))*
     b54 + sqrt(sqr(x7 - x9) + sqr(x8 - x10))*b55 + sqrt(sqr(x7 - x11) + sqr(x8
      - x12))*b56 + sqrt(sqr(x7 - x13) + sqr(x8 - x14))*b57 + sqrt(sqr(x7 - x15
     ) + sqr(x8 - x16))*b58 + sqrt(sqr(x7 - x17) + sqr(x8 - x18))*b59 + sqrt(
     sqr(x7 - x19) + sqr(x8 - x20))*b60 + sqrt(sqr(x7 - x21) + sqr(x8 - x22))*
     b61 + sqrt(sqr(x7 - x23) + sqr(x8 - x24))*b62 + sqrt(sqr(x9 - x11) + sqr(
     x10 - x12))*b63 + sqrt(sqr(x9 - x13) + sqr(x10 - x14))*b64 + sqrt(sqr(x9
      - x15) + sqr(x10 - x16))*b65 + sqrt(sqr(x9 - x17) + sqr(x10 - x18))*b66
      + sqrt(sqr(x9 - x19) + sqr(x10 - x20))*b67 + sqrt(sqr(x9 - x21) + sqr(x10
      - x22))*b68 + sqrt(sqr(x9 - x23) + sqr(x10 - x24))*b69 + sqrt(sqr(x11 - 
     x13) + sqr(x12 - x14))*b70 + sqrt(sqr(x11 - x15) + sqr(x12 - x16))*b71 + 
     sqrt(sqr(x11 - x17) + sqr(x12 - x18))*b72 + sqrt(sqr(x11 - x19) + sqr(x12
      - x20))*b73 + sqrt(sqr(x11 - x21) + sqr(x12 - x22))*b74 + sqrt(sqr(x11 - 
     x23) + sqr(x12 - x24))*b75 + sqrt(sqr(x13 - x15) + sqr(x14 - x16))*b76 + 
     sqrt(sqr(x13 - x17) + sqr(x14 - x18))*b77 + sqrt(sqr(x13 - x19) + sqr(x14
      - x20))*b78 + sqrt(sqr(x13 - x21) + sqr(x14 - x22))*b79 + sqrt(sqr(x13 - 
     x23) + sqr(x14 - x24))*b80 + sqrt(sqr(x15 - x17) + sqr(x16 - x18))*b81 + 
     sqrt(sqr(x15 - x19) + sqr(x16 - x20))*b82 + sqrt(sqr(x15 - x21) + sqr(x16
      - x22))*b83 + sqrt(sqr(x15 - x23) + sqr(x16 - x24))*b84 + sqrt(sqr(x17 - 
     x19) + sqr(x18 - x20))*b85 + sqrt(sqr(x17 - x21) + sqr(x18 - x22))*b86 + 
     sqrt(sqr(x17 - x23) + sqr(x18 - x24))*b87 + sqrt(sqr(x19 - x21) + sqr(x20
      - x22))*b88 + sqrt(sqr(x19 - x23) + sqr(x20 - x24))*b89 + sqrt(sqr(x21 - 
     x23) + sqr(x22 - x24))*b90 - objvar =E= 0;

e2.. 0.013840830449827*sqr(x1) - 0.235294117647059*x1 + 0.0177777777777778*sqr(
     x2) - 2.00888888888889*x2 =L= -56.7511111111111;

e3.. 0.013840830449827*sqr(x3) - 3.05882352941176*x3 + 0.0625*sqr(x4) - 5.75*x4
      =L= -300.25;

e4.. 0.0204081632653061*sqr(x5) - 1.3469387755102*x5 + 0.0110803324099723*sqr(
     x6) - 1.65096952908587*x6 =L= -82.7231047543671;

e5.. 0.0090702947845805*sqr(x7) - 0.299319727891156*x7 + 0.0277777777777778*
     sqr(x8) - 4.44444444444444*x8 =L= -179.24716553288;

e6.. 0.0277777777777778*sqr(x9) - 2.16666666666667*x9 + 0.015625*sqr(x10) - 
     1.40625*x10 =L= -72.890625;

e7.. 0.0110803324099723*sqr(x11) - 2.29362880886427*x11 + 0.0204081632653061*
     sqr(x12) - 0.285714285714286*x12 =L= -118.695290858726;

e8.. 0.0110803324099723*sqr(x13) - 2.27146814404432*x13 + 0.0204081632653061*
     sqr(x14) - 2.57142857142857*x14 =L= -196.412742382271;

e9.. 0.0330578512396694*sqr(x15) - 4.72727272727273*x15 + 0.0493827160493827*
     sqr(x16) - 9.03703703703704*x16 =L= -581.444444444444;

e10.. 0.0493827160493827*sqr(x17) - 5.48148148148148*x17 + 0.0204081632653061*
      sqr(x18) - 0.775510204081633*x18 =L= -158.478458049887;

e11.. 0.00591715976331361*sqr(x19) - 0.733727810650888*x19 + 0.0236686390532544
      *sqr(x20) - 2.24852071005917*x20 =L= -75.1479289940828;

e12.. 0.0330578512396694*sqr(x21) - 1.48760330578512*x21 + 0.0123456790123457*
      sqr(x22) - 0.839506172839506*x22 =L= -30.0071421283542;

e13.. 0.0277777777777778*sqr(x23) - 5.44444444444444*x23 + 0.0493827160493827*
      sqr(x24) - 8.24691358024691*x24 =L= -610.086419753086;

e14..    b25 + b26 + b27 + b28 + b29 + b30 + b31 + b32 + b33 + b34 + b35 =E= 2;

e15..    b25 + b36 + b37 + b38 + b39 + b40 + b41 + b42 + b43 + b44 + b45 =E= 2;

e16..    b26 + b36 + b46 + b47 + b48 + b49 + b50 + b51 + b52 + b53 + b54 =E= 2;

e17..    b27 + b37 + b46 + b55 + b56 + b57 + b58 + b59 + b60 + b61 + b62 =E= 2;

e18..    b28 + b38 + b47 + b55 + b63 + b64 + b65 + b66 + b67 + b68 + b69 =E= 2;

e19..    b29 + b39 + b48 + b56 + b63 + b70 + b71 + b72 + b73 + b74 + b75 =E= 2;

e20..    b30 + b40 + b49 + b57 + b64 + b70 + b76 + b77 + b78 + b79 + b80 =E= 2;

e21..    b31 + b41 + b50 + b58 + b65 + b71 + b76 + b81 + b82 + b83 + b84 =E= 2;

e22..    b32 + b42 + b51 + b59 + b66 + b72 + b77 + b81 + b85 + b86 + b87 =E= 2;

e23..    b33 + b43 + b52 + b60 + b67 + b73 + b78 + b82 + b85 + b88 + b89 =E= 2;

e24..    b34 + b44 + b53 + b61 + b68 + b74 + b79 + b83 + b86 + b88 + b90 =E= 2;

e25..    b35 + b45 + b54 + b62 + b69 + b75 + b80 + b84 + b87 + b89 + b90 =E= 2;

e26..    b26 + b27 + b34 + b46 + b53 + b61 =L= 3;

e27..    b26 + b27 + b46 =L= 2;

* set non-default bounds
x1.up = 17;
x2.lo = 49; x2.up = 64;
x3.lo = 102; x3.up = 119;
x4.lo = 42; x4.up = 50;
x5.lo = 26; x5.up = 40;
x6.lo = 65; x6.up = 84;
x7.lo = 6; x7.up = 27;
x8.lo = 74; x8.up = 86;
x9.lo = 33; x9.up = 45;
x10.lo = 37; x10.up = 53;
x11.lo = 94; x11.up = 113;
x12.up = 14;
x13.lo = 93; x13.up = 112;
x14.lo = 56; x14.up = 70;
x15.lo = 66; x15.up = 77;
x16.lo = 87; x16.up = 96;
x17.lo = 51; x17.up = 60;
x18.lo = 12; x18.up = 26;
x19.lo = 49; x19.up = 75;
x20.lo = 41; x20.up = 54;
x21.lo = 17; x21.up = 28;
x22.lo = 25; x22.up = 43;
x23.lo = 92; x23.up = 104;
x24.lo = 79; x24.up = 88;

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