MINLPLib

A Library of Mixed-Integer and Continuous Nonlinear Programming Instances

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


Instance tspn08

Formats ams gms mod nl osil py
Primal Bounds (infeas ≤ 1e-08)
290.56685390 p1 ( gdx sol )
(infeas: 0)
Other points (infeas > 1e-08)  
Dual Bounds
266.38129820 (ANTIGONE)
290.56685270 (BARON)
285.75075350 (COUENNE)
264.99874910 (LINDO)
284.90970650 (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 tspn8Couenne.nl from minlp.org model 124
Application Traveling Salesman Problem with Neighborhoods
Added to library 21 Feb 2014
Problem type MBNLP
#Variables 44
#Binary Variables 28
#Integer Variables 0
#Nonlinear Variables 44
#Nonlinear Binary Variables 28
#Nonlinear Integer Variables 0
Objective Sense min
Objective type nonlinear
Objective curvature indefinite
#Nonzeros in Objective 44
#Nonlinear Nonzeros in Objective 44
#Constraints 18
#Linear Constraints 10
#Quadratic Constraints 8
#Polynomial Constraints 0
#Signomial Constraints 0
#General Nonlinear Constraints 0
Operands in Gen. Nonlin. Functions mul sqr sqrt
Constraints curvature convex
#Nonzeros in Jacobian 92
#Nonlinear Nonzeros in Jacobian 16
#Nonzeros in (Upper-Left) Hessian of Lagrangian 480
#Nonzeros in Diagonal of Hessian of Lagrangian 16
#Blocks in Hessian of Lagrangian 1
Minimal blocksize in Hessian of Lagrangian 44
Maximal blocksize in Hessian of Lagrangian 44
Average blocksize in Hessian of Lagrangian 44.0
#Semicontinuities 0
#Nonlinear Semicontinuities 0
#SOS type 1 0
#SOS type 2 0
Minimal coefficient 5.9172e-03
Maximal coefficient 8.5432e+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
*         19        9        0       10        0        0        0        0
*  
*  Variable counts
*                   x        b        i      s1s      s2s       sc       si
*      Total     cont   binary  integer     sos1     sos2    scont     sint
*         45       17       28        0        0        0        0        0
*  FX      0
*  
*  Nonzero counts
*      Total    const       NL      DLL
*        137       77       60        0
*
*  Solve m using MINLP minimizing objvar;


Variables  x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,b17,b18,b19
          ,b20,b21,b22,b23,b24,b25,b26,b27,b28,b29,b30,b31,b32,b33,b34,b35,b36
          ,b37,b38,b39,b40,b41,b42,b43,b44,objvar;

Positive Variables  x8,x13;

Binary Variables  b17,b18,b19,b20,b21,b22,b23,b24,b25,b26,b27,b28,b29,b30,b31
          ,b32,b33,b34,b35,b36,b37,b38,b39,b40,b41,b42,b43,b44;

Equations  e1,e2,e3,e4,e5,e6,e7,e8,e9,e10,e11,e12,e13,e14,e15,e16,e17,e18,e19;


e1.. sqrt(sqr(x1 - x3) + sqr(x2 - x4))*b17 + sqrt(sqr(x1 - x5) + sqr(x2 - x6))*
     b18 + sqrt(sqr(x1 - x7) + sqr(x2 - x8))*b19 + sqrt(sqr(x1 - x9) + sqr(x2
      - x10))*b20 + sqrt(sqr(x1 - x11) + sqr(x2 - x12))*b21 + sqrt(sqr(x1 - x13
     ) + sqr(x2 - x14))*b22 + sqrt(sqr(x1 - x15) + sqr(x2 - x16))*b23 + sqrt(
     sqr(x3 - x5) + sqr(x4 - x6))*b24 + sqrt(sqr(x3 - x7) + sqr(x4 - x8))*b25
      + sqrt(sqr(x3 - x9) + sqr(x4 - x10))*b26 + sqrt(sqr(x3 - x11) + sqr(x4 - 
     x12))*b27 + sqrt(sqr(x3 - x13) + sqr(x4 - x14))*b28 + sqrt(sqr(x3 - x15)
      + sqr(x4 - x16))*b29 + sqrt(sqr(x5 - x7) + sqr(x6 - x8))*b30 + sqrt(sqr(
     x5 - x9) + sqr(x6 - x10))*b31 + sqrt(sqr(x5 - x11) + sqr(x6 - x12))*b32 + 
     sqrt(sqr(x5 - x13) + sqr(x6 - x14))*b33 + sqrt(sqr(x5 - x15) + sqr(x6 - 
     x16))*b34 + sqrt(sqr(x7 - x9) + sqr(x8 - x10))*b35 + sqrt(sqr(x7 - x11) + 
     sqr(x8 - x12))*b36 + sqrt(sqr(x7 - x13) + sqr(x8 - x14))*b37 + sqrt(sqr(x7
      - x15) + sqr(x8 - x16))*b38 + sqrt(sqr(x9 - x11) + sqr(x10 - x12))*b39 + 
     sqrt(sqr(x9 - x13) + sqr(x10 - x14))*b40 + sqrt(sqr(x9 - x15) + sqr(x10 - 
     x16))*b41 + sqrt(sqr(x11 - x13) + sqr(x12 - x14))*b42 + sqrt(sqr(x11 - x15
     ) + sqr(x12 - x16))*b43 + sqrt(sqr(x13 - x15) + sqr(x14 - x16))*b44
      - objvar =E= 0;

e2.. 0.013840830449827*sqr(x1) - 0.318339100346021*x1 + 0.0236686390532544*sqr(
     x2) - 2.9112426035503*x2 =L= -90.3511598861612;

e3.. 0.0493827160493827*sqr(x3) - 3.30864197530864*x3 + 0.04*sqr(x4) - 1.36*x4
      =L= -65.9797530864197;

e4.. 0.0330578512396694*sqr(x5) - 0.694214876033058*x5 + 0.0493827160493827*
     sqr(x6) - 8.54320987654321*x6 =L= -372.138455259667;

e5.. 0.0330578512396694*sqr(x7) - 6.57851239669422*x7 + 0.013840830449827*sqr(
     x8) - 0.235294117647059*x8 =L= -327.280991735537;

e6.. 0.00826446280991736*sqr(x9) - 0.446280991735537*x9 + 0.013840830449827*
     sqr(x10) - 2.92041522491349*x10 =L= -159.076696502617;

e7.. 0.0330578512396694*sqr(x11) - 4.13223140495868*x11 + 0.013840830449827*
     sqr(x12) - 3.22491349480969*x12 =L= -315.983442477623;

e8.. 0.00756143667296786*sqr(x13) - 0.173913043478261*x13 + 0.0123456790123457*
     sqr(x14) - 0.395061728395062*x14 =L= -3.16049382716049;

e9.. 0.00591715976331361*sqr(x15) - 0.72189349112426*x15 + 0.00694444444444444*
     sqr(x16) - 1.38888888888889*x16 =L= -90.4621959237344;

e10..    b17 + b18 + b19 + b20 + b21 + b22 + b23 =E= 2;

e11..    b17 + b24 + b25 + b26 + b27 + b28 + b29 =E= 2;

e12..    b18 + b24 + b30 + b31 + b32 + b33 + b34 =E= 2;

e13..    b19 + b25 + b30 + b35 + b36 + b37 + b38 =E= 2;

e14..    b20 + b26 + b31 + b35 + b39 + b40 + b41 =E= 2;

e15..    b21 + b27 + b32 + b36 + b39 + b42 + b43 =E= 2;

e16..    b22 + b28 + b33 + b37 + b40 + b42 + b44 =E= 2;

e17..    b23 + b29 + b34 + b38 + b41 + b43 + b44 =E= 2;

e18..    b18 + b20 + b21 + b23 + b31 + b32 + b34 + b39 + b41 + b43 =L= 4;

e19..    b17 + b18 + b19 + b22 + b24 + b25 + b28 + b30 + b33 + b37 =L= 4;

* set non-default bounds
x1.lo = 3; x1.up = 20;
x2.lo = 55; x2.up = 68;
x3.lo = 29; x3.up = 38;
x4.lo = 12; x4.up = 22;
x5.lo = 5; x5.up = 16;
x6.lo = 82; x6.up = 91;
x7.lo = 94; x7.up = 105;
x8.up = 17;
x9.lo = 16; x9.up = 38;
x10.lo = 97; x10.up = 114;
x11.lo = 57; x11.up = 68;
x12.lo = 108; x12.up = 125;
x13.up = 23;
x14.lo = 7; x14.up = 25;
x15.lo = 48; x15.up = 74;
x16.lo = 88; x16.up = 112;

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