PM[6,131].F17.C58: Initialize[6,131]; Band[6,131]={3,4,7,8,9,12,13,16}//Sort; bf = "SHORT/HEX/LP/cplexE.lp6.131.F17.C58"; (* LPdisplay[bf]==0.510819 AllHex[[58]]/.VertexSub[17]== {{5, 10, 11}, {10, 9, 12}, {10, 12, 11}, {9, 8, 12}}; Map[StringVar["sigE",17,#]&,%]== {sigma{17}57018, sigma{17}61999, sigma{17}62305, sigma{17}61693}; LPmax[bf,"y(8)"]== 2.0912257844 LPmax[bf,"y(5)"]== 2.0912257844 ht=Array[LPmax[bf,StringVar["y",#]]&,Max[GBLregions]]; PSelect[ht,#>2.13&]=={10, 12}; ht//Max== 2.1374509994 eta[2.7,2.1374509994,2.1374509994]^2== 1.90017 *) extra57018[1]= { "\n\\ Case 1 (57018)\n", "\\ Gamma on {5,10,11}\n", "\\ gamma ","\n", "sigma{17}57018+0.419351 solid{17}57018 - 0.079431 dih{17}5 - ", " 0.0436 y(5,10)-0.0436 y(5,11) < -0.0294\n", "sigma{17}57018 + 0.145 y(5)+0.081 y(10)+0.081 y(11)+0.16 ", " y(5,10)+0.16 y(5,11) -e{17}57018 < 1.255\n", "sigma{17}57018 + 0.03 y(5)+0.03 y(10)+0.03 y(11)+0.16 ", " y(5,10)+0.16 y(5,11) -e{17}57018 < 0.820001\n", "sigma{17}57018 + 0.03 y(5)+0.03 y(10)+0.03 y(11)+0.094 ", " y(5,10)+0.094 y(5,11) -f{17}57018 < 0.5361\n", "sigma{17}57018 + 0.145 y(5)+0.08 y(10)+0.08 y(11)+0.133 ", " y(5,10)+0.133 y(5,11) < 1.146\n" }//StringJoin extra57018[2]= { "\n\\ Case 2 (57018)\n", "\\ Vc > 2.7 on {5,10,11}\n", "y(10,11)>2.7\n", "y(10,11)+e{17}57018 > 2.739\n", "y(5,11)-e{17}57018-slk(10,11) < 2.12\n", "y(5,10)-e{17}57018-slk(10,11) < 2.12\n", "sigma{17}57018-f{17}57018-slk(10,11) < -0.0498\n", "1.69 y(10,11)+ y(5,10)+y(5,11) -f{17}57018-slk{10,11) > 9.044\n", "sigma{17}57018 + 0.08 y(5) + 0.08 y(10)+0.08 y(11) + ", " 0.142 y(5,10) + 0.142 y(5,11) < 1.0612\n" }//StringJoin extra57018[3]= { "\n\\ Case 3 (57018)\n", "\\ Vc < 2.7, etatop>sqrt2 on {5,10,11}\n", "y(10,11)< 2.7\n", "sigma{17}57018 < -0.064\n", "y(5,10)+y(5,11) > 4.4\n", "1.69 y(10,11) + y(5,11)+y(5,10) > 9.0659\n" }//StringJoin extra61693[1]= { "\n\\ Case 1 (61693)\n", "\\ gamma on {8,9,12} ","\n", "sigma{17}61693+0.419351 solid{17}61693 - 0.079431 dih{17}8 - ", " 0.0436 y(8,9)-0.0436 y(8,12) < -0.0294\n", "sigma{17}61693 + 0.145 y(8)+0.081 y(9)+0.081 y(12)+0.16 ", " y(8,9)+0.16 y(8,12) -e{17}61693 < 1.255\n", "sigma{17}61693 + 0.03 y(8)+0.03 y(9)+0.03 y(12)+0.16 ", " y(8,9)+0.16 y(8,12) -e{17}61693 < 0.820001\n", "sigma{17}61693 + 0.03 y(8)+0.03 y(9)+0.03 y(12)+0.094 ", " y(8,9)+0.094 y(8,12) -f{17}61693 < 0.5361\n", "sigma{17}61693 + 0.145 y(8)+0.08 y(9)+0.08 y(12)+0.133 ", " y(8.9)+0.133 y(8,12) < 1.146\n" }//StringJoin extra61693[2]= { "\n\\ Case 2 (61693)\n", "\\ Vc > 2.7 on {8,9,12} \n", "y(9,12)>2.7\n", "y(9,12)+e{17}61693 > 2.739\n", "y(8,12)-e{17}61693-slk(9,12) < 2.12\n", "y(8,9)-e{17}61693-slk(9,12) < 2.12\n", "sigma{17}61693-f{17}61693-slk(9,12) < -0.0498\n", "1.69 y(9,12)+ y(8,12)+y(8,9) -f{17}61693-slk(9,12) > 9.044\n", "sigma{17}61693 + 0.08 y(8) + 0.08 y(9)+0.08 y(12) + ", " 0.142 y(8,9) + 0.142 y(8,12) < 1.0612\n" }//StringJoin extra61693[3]= { "\n\\ Case 3 (61693)\n", "\\ Vc < 2.7, etatop>sqrt2 on {8,9,12}\n", "y(9,12)< 2.7\n", "sigma{17}61693 < -0.064\n", "y(8,9)+y(8,12) > 4.4\n", "1.69 y(9,12) + y(8,9)+y(8,12) > 9.0659\n" }//StringJoin extra62305[1]= { "\n\\ Case 1 (62305)\n", "\\ A type, \n", "\\ on {10,11,12} \n", "sigma{17}62305+0.419351 solid{17}62305 <0.289 \n", "-sigma{17}62305- 0.058 y(10) -0.08 y(11)-0.08 y(12) - 0.16 y(11,12) ", " -0.21 y(10,11) -0.21 y(10,12) > -1.7531\n", "y(10,11)< 2.697\n", "y(10,12)< 2.697 \n", "y(11,12) < 2.315\n" }//StringJoin extra62305[2]= (* short diagonal *) { "\n\\ Case 2 (62305)\n", "\\ on {10,11,12} \n", "y(10,11)>2.77 ", "\n", "y(10,12)<2.77 \n", (* might as well make it disjoint from case 3 *) "-sigma{17}62305- 0.058 y(10) -0.1 y(11)-0.1 y(12) - 0.165 y(11,12) ", " -0.115 y(10,11) -0.12 y(10,12) > -1.38875\n" }//StringJoin extra62305[3]= (* long diagonal *) { "\n\\ Case 3 (62305)\n", "\\ on {10,11,12} \n", "y(10,12)>2.77 ", "\n", "-sigma{17}62305- 0.058 y(10) -0.1 y(11)-0.1 y(12) - 0.165 y(11,12) ", " -0.115 y(10,12) -0.12 y(10,11) > -1.38875\n" }//StringJoin extra62305[4]= { "\n\\ Case 4 (62305)\n", "\\ on {10,11,12} \n", "y(10,11)<2.77 ", "\n", "y(10,12)<2.77 ", "\n", "slk(10,11)=0\n", (* if y(10,11)<2.77 *) "y(10,11)+y(10,12)+y(11,12)>7.206\n", "-sigma{17}62305- 0.058 y(10) -0.05 y(11)-0.05 y(12) - 0.16 y(11,12) ", " -0.13 y(10,11) -0.13 y(10,12) > -1.24547\n" }//StringJoin extra61999[1]= { "\n\\ Case 1 (61999)\n", "\\ on {10,9,12} \n", "\\ A type, \n", "sigma{17}61999+0.419351 solid{17}61999 <0.289 \n", "-sigma{17}61999- 0.058 y(12) -0.08 y(9)-0.08 y(10) - 0.16 y(9,10) ", " -0.21 y(10,12) -0.21 y(9,12) > -1.7531\n", "y(10,12)< 2.697\n", "y(9,12)< 2.697\n", "y(9,10) < 2.315\n" }//StringJoin extra61999[2]= (* short diagonal *) { "\n\\ Case 2 (61999)\n", "\\ on {10,9,12} \n", "y(9,12)>2.77 ", "\n", "y(10,12)<2.77 \n", (* might as well make it disjoint from case 3 *) "-sigma{17}61999- 0.058 y(12) -0.1 y(9)-0.1 y(10) - 0.165 y(9,10) ", " -0.115 y(9,12) -0.12 y(10,12) > -1.38875\n" }//StringJoin extra61999[3]= (* long diagonal *) { "\n\\ Case 3 (61999)\n", "\\ on {10,9,12} \n", "y(10,12)>2.77 ", "\n", "-sigma{17}61999- 0.058 y(12) -0.1 y(9)-0.1 y(10) - 0.165 y(9,10) ", " -0.115 y(10,12) -0.12 y(9,12) > -1.38875\n" }//StringJoin extra61999[4]= { "\n\\ Case 4 (61999)\n", "\\ on {10,9,12} \n", "y(10,12)<2.77 ", "\n", "y(9,12)<2.77 ", "\n", "slk(9,12)=0\n", "y(9,10)+y(9,12)+y(10,12)>7.206\n", "-sigma{17}61999- 0.058 y(12) -0.05 y(9)-0.05 y(10) - 0.16 y(9,10) ", " -0.13 y(10,12) -0.13 y(9,12) > -1.24547\n" }//StringJoin ExtraIneq[h_,i_,j_,k_]:= extra57018[h]<> extra62305[i]<>extra61999[j]<>extra61693[k]; (* tab=Table[{h,i,j,k,LPdisplay[bf,ExtraIneq[h,i,j,k]]}, {h,1,3},{i,1,4},{j,1,4},{k,1,3}]~Flatten~3; tabHi= Select[tab,#[[2]]>=#[[3]]&&Last[#]>0.4429&]; *) tabHi= {{1, 1, 1, 1, 0.4473536437699999}, {1, 1, 1, 2, 0.45994966655}, {1, 1, 1, 3, 0.45340188132}, {1, 2, 1, 1, 0.4545948402299999}, {1, 2, 1, 2, 0.46312372559}, {1, 4, 1, 1, 0.4641932010299999}, {1, 4, 1, 2, 0.47605721008}, {1, 4, 2, 1, 0.45872840397}, {1, 4, 2, 2, 0.4578566636699999}, {1, 4, 2, 3, 0.44834868158}, {1, 4, 3, 2, 0.44313129122}, {1, 4, 4, 1, 0.4817418446399999}, {1, 4, 4, 2, 0.49213660686}, {1, 4, 4, 3, 0.46070402423}, {2, 1, 1, 1, 0.45615379112}, {2, 1, 1, 2, 0.4644517289999999}, {2, 2, 1, 1, 0.46628008941}, {2, 2, 1, 2, 0.4723043354099999}, {2, 4, 1, 1, 0.4770673227099999}, {2, 4, 1, 2, 0.48585201292}, {2, 4, 2, 1, 0.4566786733999999}, {2, 4, 2, 2, 0.45595305971}, {2, 4, 2, 3, 0.4467714944199999}, {2, 4, 4, 1, 0.4895942245399999}, {2, 4, 4, 2, 0.4934417759599999}, {2, 4, 4, 3, 0.45931263053}, {3, 1, 1, 1, 0.4539593329499999}, {3, 1, 1, 2, 0.4598211692599999}, {3, 4, 1, 1, 0.47433045456}, {3, 4, 1, 2, 0.481032305}, {3, 4, 4, 1, 0.46363975883}, {3, 4, 4, 2, 0.46755332854}} Length[tabHi]== 32; ineq[i_]:= Apply[ExtraIneq,Drop[tabHi[[i]],-1]]; (* PSelect[ht,#>2.13&]=={10, 12}; (* from above *) ht2[i_]:=Map[LPmax[bf,StringVar["y",#],ineq[i]]&,{10,12}]//Max Array[ht2,Length[tabHi]]//Max == 2.1263956665 (* so we have ht213=0 *) *) Infeasible=0; << SHORT/HEX/cplexBn.sum; valHexn=values; list = Select[valHexn,#[[3]]==131&&#[[5]]==58&]; Length[list]== 256; pp= PSelect[list,#[[1]]>0.4429&]; Length[pp]==255; (* vv0 = Module[{j,k,bb,bb2,pp}, Table[ { "read ", "cplexE.lp6.131.F17.C58", " lp\n", "add\n", Branch[Band[6,131],j], ineq[k], "ht213=0\n", "end\n", "opt\n" }, {j,1,2^Length[Band[6,131]]}, {k,1,Length[tabHi]}] ]//StringJoin; Module[{stream}, stream=OpenWrite["SHORT/HEX/LP/cplexB131.58.exec"]; WriteString[stream, "set logfile cplexB131.58.log\n"<> "set preprocessing presolve no\n" ]; WriteString[stream,vv0]; Close[stream]; ]; *) << SHORT/HEX/cplexB131.58.sum; valB = values; pvalB = PSelect[valB,#[[1]]>0.4429&] ; Length[pvalB]== 708; AB[r_,mod_]:= {1+(r-IMod[r,mod])/mod,IMod[r,mod]}; (* Example Array[AB[#,5]&,30] ... *) (* BRANCH TO index131.58exp *) << SHORT/HEX/INDEX/index131.58exp; (* -> to here (cplex-131-maus) (* Experiment *) str = "sigma{17}62305+0.419351 solid{17}62305 < 0.289\n"<> "sigma{17}61999+0.419351 solid{17}61999 < 0.289\n"; LPdisplay[bf,str]== 0.454171; (* Experiment *) str = {"solid{17}62305+0.22 y(11)+0.22 y(12)+ 0.22 y(10) - 0.6 y(11,12)-\n", " 0.35 y(10,12)-0.35 y(10,11) < -0.809\n", "solid{17}61999+0.22 y(9)+0.22 y(10)+ 0.22 y(12) - 0.6 y(9,10)-\n", " 0.35 y(10,12) -0.35 y(9,12) < -0.809\n"}//StringJoin; LPdisplay[bf,str]== 0.485352 (* Experiment *) Array[LPmax[bf,"-sigma{"<>S[#]<>"}"]&,16]//Max == 0.0638817 This means that all the simplices are compression scored. (* Experiment *) Map[LPdisplay[bf, Branch[Band[6,131],#]<> "y(10,12) >2.77\n"<> "sigma{17}62305< -0.077\n"<> "sigma{17}61999< -0.077\n" ]&,pp] //Max == 0.433005 (* This means that the diagonal y(10,12) has length < 2.77. Great! *) PM[6,131].F17.C58, *)