lp15.gms : LP with many zeros at solution

Description

This model turfed up an issue with GAMS/KNITRO using the KNITRO 8.1.1 libs.
If you run with --DOFIXING=1 we fix vars whose optimal value is zero.

Contributor: Steve Dirkse, Apr 2013


Small Model of Type : LP


Category : GAMS Test library


Main file : lp15.gms

$TITLE LP with many zeros at solution (LP15,SEQ=607)

$ontext
This model turfed up an issue with GAMS/KNITRO using the KNITRO 8.1.1 libs.
If you run with --DOFIXING=1 we fix vars whose optimal value is zero.

Contributor: Steve Dirkse, Apr 2013
$offtext

$if not set TESTTOL $set TESTTOL 1e-6

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,x111,x112,x113,x114,x115,x116
          ,x117,x118,x119,x120,x121,x122,x123,x124,x125,x126,x127,x128,x129
          ,x130,x131;

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,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,x111,x112,x113,x114
          ,x115,x116,x117,x118,x119,x120,x121,x122,x123,x124,x125,x126,x127
          ,x128,x129,x130,x131;

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


e1..    x1 - 7.94371645704962*x2 - 2.26113114277088*x3 - 3.38065073538384*x4
      - 7.14300402192478*x5 - 5.04825110458736*x6 - 9.68973486680128*x7
      - 9.62106351516712*x8 - 9.09304802942527*x9 - 3.94792252101998*x10
      - 5.113900935716*x11 - 6.36563530642949*x12 - 8.90762227896649*x13
      - 2.53606265907487*x14 - 6.7024312289866*x15 - 7.94431618490897*x16
      - 6.12502399120752*x17 - 635.528516964996*x18 - 8.2989574166744*x19
      - 3.51037863350163*x20 - 4.90015537103137*x21 - 4.02637174837522*x22
      - 182.921962447185*x23 - 6.16953542942867*x24 - 5.89080103351099*x25
      - 6.20346714086806*x26 - 9.79495489237814*x27 - 3.89320550520756*x28
      - 7.86675625006026*x29 - 9.66263881863133*x30 - 9.54091790940512*x31
      - 3.30303672066149*x32 - 3.92452592975089*x33 - 2.93310115654553*x34
      - 2.56562683599376*x35 - 7.5812921108628*x36 - 3.4314614890109*x37
      - 7.82628532808339*x38 - 6.55687972827566*x39 - 3.6189886023889*x40
      - 7.66629398751903*x41 - 1.06990163834191*x42 - 8.79859557701635*x43
      - 1.13627774625693*x44 - 4.85456775109504*x45 - 4.22785669536148*x46
      - 7.34386142551861*x47 - 613.051894636754*x48 - 5.94823507714054*x49
      - 635.527267228557*x50 - 7.29622906419617*x51 - 9.40128606448877*x52
      - 5.22352796221324*x53 - 2.92262154255386*x54 - 5.59705624007455*x55
      - 4.29147205754465*x56 - 9.41861735090758*x57 - 97872.111590446*x58
      - 5.53481361632918*x59 - 4.53168940774262*x60 - 2.84370150641597*x61
      - 5.76591571168938*x62 - 6.30179550297372*x63 - 4.1122392201559*x64
      - 3.27595087357815*x65 - 5.92892704547841*x66 - 5.92734699814815*x67
      - 1.52441433237004*x68 - 4.39961518627275*x69 - 9.7666130268134*x70
      - 4.41838148875139*x71 - 2.4066522358941*x72 - 5.25032919420018*x73
      - 4.57303055190211*x74 - 2.84970863729927*x75 - 6.64609115864812*x76
      - 1.03195545160583*x77 - 5.53558723392698*x78 - 1.02010089697586*x79
      - 5.69230207781374*x80 - 8.52514382942082*x81 - 1.64908894163007*x82
      - 7.84585027397479*x83 - 3.61132733126844*x84 - 3.20458330378815*x85
      - 4.92382496448448*x86 - 4.31928096315115*x87 - 5.98081885376981*x88
      - 1.67200187929256*x89 - 9.18498543665824*x90 - 1.43832410505014*x91
      - 8.38322243050532*x92 - 8.13656186534732*x93 - 6.93582836784554*x94
      - 4.5259496152817*x95 - 4.71838122788287*x96 - 8.7911402160097*x97
      - 9.77786488576035*x98 - 6.15139913485822*x99 - 3.8257176474547*x100
      - 5.09528676627499*x101 - 4.33918817634576*x102 - 4.77864256135252*x103
      - 1.76774203476989*x104 - 8.33090782768015*x105 - 5.58278280770798*x106
      - 7.60976726119461*x107 - 8.41946283048195*x108 - 4.73077189214691*x109
      - 9.31986011165097*x110 - 4.54733953507616*x111 - 4.99884583272851*x112
      - 7.25925195857439*x113 - 7.09024670352171*x114 - 6.14389597778061*x115
      - 2.56165203698043*x116 - 6.43914629898514*x117 - 6.27396347805049*x118
      - 7.55003954612009*x119 - 3.21605413604563*x120 - 2.27875045585279*x121
      - 9.02074522225042*x122 - 4.98489368899947*x123 - 2.02912140635919*x124
      - 9.1325829669723*x125 - 4.00467380701076*x126 - 9.96421622248631*x127
      - 5.18047760513443*x128 - 5.7744441049842*x129 - 2.71347492357036*x130
      - 2.79153249176609*x131 =E= 0;

e2..    x2 + x3 + x4 + x5 + x6 + x7 - x23 - x32 - x38 - x47 - x69 - x81 =E= 0;

e3..    x8 + x9 + x10 + x11 + x12 + x13 + x14 - x15 - x24 - x33 - x39 - x53
      - x70 - x107 - x121 =E= 0;

e4..  - x8 + x15 + x16 + x17 + x18 + x19 + x20 + x21 + x22 - x34 - x71 - x77
      - x85 - x98 =E= 0;

e5..  - x9 - x16 + x23 + x24 + x25 + x26 + x27 + x28 + x29 + x30 + x31 - x48
      - x61 - x72 - x92 - x103 - x114 - x122 =E= 0;

e6..  - x2 - x25 + x32 + x33 + x34 + x35 + x36 + x37 - x49 - x62 - x82 - x86
      - x108 - x128 =E= 0;

e7..  - x3 - x17 - x26 - x35 + x38 + x39 + x40 + x41 + x42 + x43 + x44 + x45
      + x46 - x54 - x63 =E= -1;

e8..  - x10 + x47 + x48 + x49 + x50 + x51 + x52 - x55 - x73 - x83 - x87 - x93
      - x99 - x115 =E= 0;

e9..  - x40 - x50 + x53 + x54 + x55 + x56 + x57 + x58 + x59 + x60 - x64 - x74
      - x88 - x104 - x129 =E= 0;

e10..  - x4 - x41 - x56 + x61 + x62 + x63 + x64 + x65 + x66 + x67 + x68 - x78
       - x94 =E= 0;

e11..  - x18 - x65 + x69 + x70 + x71 + x72 + x73 + x74 + x75 + x76 - x100
       - x109 - x123 =E= 0;

e12..  - x11 - x27 + x77 + x78 + x79 + x80 - x95 - x110 - x124 - x130 =E= 0;

e13..  - x28 - x42 - x57 - x75 - x79 + x81 + x82 + x83 + x84 - x101 - x111
       - x116 =E= 0;

e14..  - x12 - x29 - x58 - x84 + x85 + x86 + x87 + x88 + x89 + x90 + x91 - x105
       - x117 - x131 =E= 0;

e15..  - x19 - x76 - x89 + x92 + x93 + x94 + x95 + x96 + x97 - x102 - x125
       =E= 0;

e16..  - x5 - x13 - x20 - x43 - x59 - x66 + x98 + x99 + x100 + x101 + x102
       - x126 =E= 0;

e17..  - x14 - x21 + x103 + x104 + x105 + x106 =E= 0;

e18..  - x6 - x36 - x44 - x51 - x80 + x107 + x108 + x109 + x110 + x111 + x112
       + x113 - x118 =E= 0;

e19..  - x7 - x30 - x45 - x60 - x90 - x96 - x112 + x114 + x115 + x116 + x117
       + x118 + x119 + x120 =E= 1;

e20..  - x22 - x37 - x46 - x67 - x106 - x119 + x121 + x122 + x123 + x124 + x125
       + x126 + x127 =E= 0;

e21..  - x31 - x52 - x68 - x91 - x97 - x113 - x120 - x127 + x128 + x129 + x130
       + x131 =E= 0;

* set non-default levels
x1.l = 7.29969557525491;
x2.l = 0.000489988128077299;
x3.l = 0.00483776106437889;
x4.l = 0.000143062685291375;
x5.l = 0.000321147077853275;
x6.l = 0.000212063791197897;
x7.l = 7.94717370884318E-5;
x8.l = 0.000318785924930735;
x9.l = 0.000347653064019926;
x10.l = 0.000722188024112967;
x11.l = 0.000593414610540324;
x12.l = 0.000252631524559881;
x13.l = 0.000396554110410454;
x14.l = 0.00272093103986709;
x15.l = 0.00069076940526544;
x16.l = 0.00047818233180975;
x17.l = 0.0029543518193458;
x18.l = 2.31453892642548E-6;
x19.l = 0.000446889186594945;
x20.l = 0.000903396425408334;
x21.l = 0.00118397873666409;
x22.l = 0.000660501503018066;
x23.l = 1.6969565954801E-5;
x24.l = 0.00083010954467402;
x25.l = 0.00139741289201819;
x26.l = 0.00312840732483265;
x27.l = 0.000502548749055438;
x28.l = 0.000801473391672192;
x29.l = 0.00029030896198679;
x30.l = 0.000108743779458923;
x31.l = 0.000398636466485315;
x32.l = 0.0010175354025098;
x33.l = 0.000421276540865463;
x34.l = 0.000211235534633512;
x35.l = 0.983204090612027;
x36.l = 0.000168895371840052;
x37.l = 5.45390958794833E-5;
x38.l = 0.000362785889777749;
x39.l = 0.000273586756966628;
x40.l = 0.000352358315562705;
x41.l = 0.000227989654172674;
x42.l = 9.2882503083605E-5;
x43.l = 0.000219030551179005;
x44.l = 2.1078029659396E-5;
x45.l = 7.90502197651646E-5;
x46.l = 0.000113587897152561;
x47.l = 0.00255526577764412;
x48.l = 2.23318682659569E-6;
x49.l = 0.00360555422808058;
x50.l = 2.2733640195965E-6;
x51.l = 7.39992933842439E-5;
x52.l = 0.000230603816819018;
x53.l = 0.000403534341703178;
x54.l = 0.00663472606212624;
x55.l = 0.000301347430814556;
x56.l = 0.000450275032720486;
x57.l = 0.000246732529782611;
x58.l = 1.33592453509267E-8;
x59.l = 0.000346358090578397;
x60.l = 0.000113716121160851;
x61.l = 0.000465199564382656;
x62.l = 0.000600024021946217;
x63.l = 0.000983012934609177;
x64.l = 0.000793222534810449;
x65.l = 0.000561131109183453;
x66.l = 0.000410324001615664;
x67.l = 0.000379575889837393;
x68.l = 0.000379273523236681;
x69.l = 0.00122550250696173;
x70.l = 0.000414225726023575;
x71.l = 0.000603799688164847;
x72.l = 0.00066733389210397;
x73.l = 0.00051130073231922;
x74.l = 0.00103996260224949;
x75.l = 0.000617855820027095;
x76.l = 0.000447703544270948;
x77.l = 0.00465315699984357;
x78.l = 0.00219425164180796;
x79.l = 0.000708200799339531;
x80.l = 0.00034450139395203;
x81.l = 0.00090543534103894;
x82.l = 0.973116993364857;
x83.l = 0.000548901888828404;
x84.l = 9.33748333003515E-5;
x85.l = 0.00117429035989348;
x86.l = 0.00186661437898002;
x87.l = 0.000876490109767453;
x88.l = 0.00134744430191274;
x89.l = 0.00213223514043943;
x90.l = 0.000113594300940695;
x91.l = 0.00100629062264905;
x92.l = 0.000527614660034766;
x93.l = 0.000563918098711969;
x94.l = 0.00155618456562918;
x95.l = 0.000902695719958425;
x96.l = 0.000150302311725666;
x97.l = 0.000406188047678767;
x98.l = 0.00035911543956672;
x99.l = 0.000629215932097273;
x100.l = 0.00121911066502029;
x101.l = 0.00066486498994538;
x102.l = 0.000637873908978289;
x103.l = 0.000485971876344683;
x104.l = 0.00286089801688682;
x105.l = 0.000126848554061959;
x106.l = 0.000431191329237728;
x107.l = 0.000758369054605783;
x108.l = 0.000936827023093695;
x109.l = 0.00250588603524506;
x110.l = 0.000569336709184385;
x111.l = 0.000904958332691112;
x112.l = 0.00016263625810755;
x113.l = 0.00052038385218252;
x114.l = 0.00404025550328707;
x115.l = 0.00231656745012231;
x116.l = 0.970627737061482;
x117.l = 0.0037025649697624;
x118.l = 0.00553785938507648;
x119.l = 0.00464687777123837;
x120.l = 0.00993565258727808;
x121.l = 0.0015602869283373;
x122.l = 0.000460166597328929;
x123.l = 0.00123924216374569;
x124.l = 0.00130618024702949;
x125.l = 0.000442201623455167;
x126.l = 0.000913370678562807;
x127.l = 0.000364825247904212;
x128.l = 0.00306415852070257;
x129.l = 0.00210054383268988;
x130.l = 0.004025934799175;
x131.l = 0.00405121701166614;

* set non-default marginals
e1.m = 1;
e2.m = 377.447109825993;
e3.m = 380.168650231271;
e4.m = 379.372765262116;
e5.m = 379.885183158084;
e6.m = 379.245263620647;
e7.m = 376.690593589385;
e8.m = 384.432993989349;
e9.m = 378.132098270894;
e10.m = 375.452122441055;
e11.m = 376.21140623482;
e12.m = 380.236692511213;
e13.m = 380.893673633347;
e14.m = 379.662319708859;
e15.m = 379.04199197675;
e16.m = 379.714469236533;
e17.m = 378.133201378297;
e18.m = 379.522343141135;
e19.m = 383.453006961638;
e20.m = 378.548360975549;
e21.m = 381.719371440159;
x2.m = 9.74187025170414;
x3.m = 1.50461490616265;
x4.m = 1.38566335044554;
x5.m = 9.41036343246476;
x6.m = 7.12348441972945;
x7.m = 15.6956320024464;
x8.m = 8.82517854601245;
x9.m = 8.80958095623872;
x10.m = 8.21226627909847;
x11.m = 5.18194321565836;
x12.m = 5.8593047840181;
x13.m = 8.45344128422866;
x14.m = 0.500613806100781;
x15.m = 7.49831619814128;
x16.m = 8.4567340808771;
x17.m = 3.44285231847615;
x18.m = 632.3671579377;
x19.m = 7.96818413130889;
x20.m = 3.85208260791847;
x21.m = 3.66059148721195;
x22.m = 3.20196746180857;
x23.m = 180.483889115094;
x24.m = 6.45300250261522;
x25.m = 5.25088149607424;
x26.m = 3.00887757216856;
x27.m = 10.146464245507;
x28.m = 4.90169598047039;
x29.m = 7.64389280083542;
x30.m = 13.2304626221852;
x31.m = 11.3751061914798;
x32.m = 1.50488292600697;
x33.m = 4.84791254037418;
x34.m = 3.06060279801415;
x35.m = 0.0109568047310055;
x36.m = 7.85837163135037;
x37.m = 2.73455884391287;
x38.m = 8.58280156469162;
x39.m = 10.0349363701617;
x40.m = 5.06049328389877;
x41.m = 6.42782283918896;
x42.m = 5.27298168230424;
x43.m = 11.8224712241646;
x44.m = 3.96802729800725;
x45.m = 11.6169811233484;
x46.m = 6.08562408152621;
x47.m = 0.357977262162304;
x48.m = 608.504083805489;
x49.m = 0.760504708438752;
x50.m = 629.226371510102;
x51.m = 2.38557821598195;
x52.m = 6.68766351529843;
x53.m = 7.26007992258942;
x54.m = 1.48111686104399;
x55.m = 11.8979519585292;
x56.m = 1.61149622770471;
x57.m = 12.18019271336;
x58.m = 97873.641811884;
x59.m = 7.11718458196753;
x60.m = 9.85259809848612;
x61.m = 7.27676222344554;
x62.m = 9.5590568912822;
x63.m = 7.54026665130379;
x64.m = 6.79221504999584;
x65.m = 4.03523466734386;
x66.m = 10.1912738409567;
x67.m = 9.02358553264293;
x68.m = 7.7916633314743;
x69.m = 5.63531877744535;
x70.m = 13.7238570232638;
x71.m = 7.57974051604713;
x72.m = 6.08042915915797;
x73.m = 13.4719169487291;
x74.m = 6.49372258797634;
x75.m = 7.53197603582597;
x76.m = 9.47667690057836;
x77.m = 0.168028202508804;
x78.m = 0.751017163768513;
x79.m = 1.67708201910979;
x80.m = 4.97795270773566;
x81.m = 5.07858002206672;
x82.m = 0.000678928930484526;
x83.m = 11.385170629977;
x84.m = 2.37997340678077;
x85.m = 2.91502885704487;
x86.m = 4.50676887627258;
x87.m = 9.08995524364103;
x88.m = 4.45059741580502;
x89.m = 1.05167414718377;
x90.m = 12.975672689437;
x91.m = 3.49537583634968;
x92.m = 9.22641361183895;
x93.m = 13.527563877946;
x94.m = 3.3459588321496;
x95.m = 5.72065014974423;
x96.m = 9.12939621277038;
x97.m = 11.468519679418;
x98.m = 9.43616091134352;
x99.m = 10.8699238876745;
x100.m = 0.322654645742124;
x101.m = 6.27449116308911;
x102.m = 3.66671091656341;
x103.m = 6.53062434114006;
x104.m = 1.76663892736781;
x105.m = 9.86002615824285;
x106.m = 5.99794240496075;
x107.m = 8.25607435133033;
x108.m = 8.14238330999438;
x109.m = 1.41983498583223;
x110.m = 10.0342094817291;
x111.m = 5.91867002728818;
x112.m = 8.92950965323156;
x113.m = 9.45628025759827;
x114.m = 3.52242289996784;
x115.m = 7.12388300549177;
x116.m = 0.00231870868938674;
x117.m = 2.64845904620642;
x118.m = 2.34329965754743;
x119.m = 2.64539356003144;
x120.m = 1.48241861456645;
x121.m = 3.89903971157411;
x122.m = 10.3575674047852;
x123.m = 2.64793894827038;
x124.m = 3.71745294202287;
x125.m = 9.62621396817345;
x126.m = 5.17078206799425;
x127.m = 13.1352266870958;
x128.m = 2.70636978562298;
x129.m = 2.18717093571987;
x130.m = 1.23079599462457;
x131.m = 0.734480760466549;

$ifthen set DOFIXING
x2.fx = 0;
x3.fx = 0;
x4.fx = 0;
x5.fx = 0;
x6.fx = 0;
x7.fx = 0;
x8.fx = 0;
x9.fx = 0;
x10.fx = 0;
x11.fx = 0;
x12.fx = 0;
x13.fx = 0;
x14.fx = 0;
x15.fx = 0;
x16.fx = 0;
x17.fx = 0;
x18.fx = 0;
x19.fx = 0;
x20.fx = 0;
x21.fx = 0;
x22.fx = 0;
x23.fx = 0;
x24.fx = 0;
x25.fx = 0;
x26.fx = 0;
x27.fx = 0;
x28.fx = 0;
x29.fx = 0;
x30.fx = 0;
x31.fx = 0;
x32.fx = 0;
x33.fx = 0;
x34.fx = 0;
* x35 unfixed
x36.fx = 0;
x37.fx = 0;
x38.fx = 0;
x39.fx = 0;
x40.fx = 0;
x41.fx = 0;
x42.fx = 0;
x43.fx = 0;
x44.fx = 0;
x45.fx = 0;
x46.fx = 0;
x47.fx = 0;
x48.fx = 0;
x49.fx = 0;
x50.fx = 0;
x51.fx = 0;
x52.fx = 0;
x53.fx = 0;
x54.fx = 0;
x55.fx = 0;
x56.fx = 0;
x57.fx = 0;
x58.fx = 0;
x59.fx = 0;
x60.fx = 0;
x61.fx = 0;
x62.fx = 0;
x63.fx = 0;
x64.fx = 0;
x65.fx = 0;
x66.fx = 0;
x67.fx = 0;
x68.fx = 0;
x69.fx = 0;
x70.fx = 0;
x71.fx = 0;
x72.fx = 0;
x73.fx = 0;
x74.fx = 0;
x75.fx = 0;
x76.fx = 0;
x77.fx = 0;
x78.fx = 0;
x79.fx = 0;
x80.fx = 0;
x81.fx = 0;
* x82 unfixed
x83.fx = 0;
x84.fx = 0;
x85.fx = 0;
x86.fx = 0;
x87.fx = 0;
x88.fx = 0;
x89.fx = 0;
x90.fx = 0;
x91.fx = 0;
x92.fx = 0;
x93.fx = 0;
x94.fx = 0;
x95.fx = 0;
x96.fx = 0;
x97.fx = 0;
x98.fx = 0;
x99.fx = 0;
x100.fx = 0;
x101.fx = 0;
x102.fx = 0;
x103.fx = 0;
x104.fx = 0;
x105.fx = 0;
x106.fx = 0;
x107.fx = 0;
x108.fx = 0;
x109.fx = 0;
x110.fx = 0;
x111.fx = 0;
x112.fx = 0;
x113.fx = 0;
x114.fx = 0;
x115.fx = 0;
* x116 unfixed
x117.fx = 0;
x118.fx = 0;
x119.fx = 0;
x120.fx = 0;
x121.fx = 0;
x122.fx = 0;
x123.fx = 0;
x124.fx = 0;
x125.fx = 0;
x126.fx = 0;
x127.fx = 0;
x128.fx = 0;
x129.fx = 0;
x130.fx = 0;
x131.fx = 0;
$endif

Model m / all /;

m.limrow=0; m.limcol=0;

Solve m using LP minimizing x1;

abort$[m.modelstat <> 1] 'not solved';

scalars
  tol     / %TESTTOL% /
  zbar 'known solution' / 6.77636781462 /
  z
  ;
z = x1.l;

file log / '' /;
log.nd = 16;
put log / 'zbar = ', zbar
        / '   z = ', z
        /;
abort$[abs(z-zbar) > tol] 'wrong optimum value', zbar, z, tol;