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)ⓘ | |
| Other points (infeas > 1e-08)ⓘ | |
| Dual Boundsⓘ | 222.74756250 (ANTIGONE) 262.64739570 (BARON) 240.46669460 (COUENNE) 261.41176140 (GUROBI) 229.72886920 (LINDO) 194.63869960 (SCIP) 0.00000000 (SHOT) 255.11016150 (XPRESS) |
| 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 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: 2025-08-07 Git hash: e62cedfc

