$title FcNetStat Management program for fcnet model $version 140 goto OK $abort 'need newer GAMS version' $label OK $set tblheaders InputFileName,NumberOfVariables,NumberOfEquations,NumberOfNonZeros,ModelStatus,SolverTime,ObjectiveValue,ObjectiveValueEstimate,xxx set th headers / %tblheaders%/ $escape = $onecho > rdata.gms table %=1(*,th) $ondelim %tblheaders% $include %=1.txt $offdelim ; $offecho $escape % * Read the tracefiles from the different runs: $offlisting $batinclude rdata xpress $batinclude rdata cplex $batinclude rdata cplexcuts $batinclude rdata cplexcutsheur $onlisting alias (u,*) Set m(u) all models ms(u) simple models md(u) difficult models; m(u) = cplex(u,'NumberOfVariables'); ms(u) = cplex(u,'NumberOfVariables') and not cplexcuts(u,'NumberOfVariables'); md(u) = cplexcuts(u,'NumberOfVariables'); set hth / '#Eqns', '#Vars', '#NZ', 'BestInt', 'BestBnd', 'rel.Gap' / parameter rep; rep(m,'#Eqns') = cplex(m,'NumberOfEquations'); rep(m,'#Vars') = cplex(m,'NumberOfVariables'); rep(m,'#NZ') = cplex(m,'NumberOfNonZeros'); * Simple Models from CPLEX and XPRESS run rep(ms,'BestInt') = round(min(cplex(ms,'ObjectiveValue'),xpress(ms,'ObjectiveValue')),4); rep(ms,'BestBnd') = round(max(cplex(ms,'ObjectiveValueEstimate'),xpress(ms,'ObjectiveValueEstimate')),4); * Difficult model from all runs rep(md,'BestInt') = round(min(cplex (md,'ObjectiveValue'), xpress (md,'ObjectiveValue'), cplexcuts (md,'ObjectiveValue'), cplexcutsheur(md,'ObjectiveValue')),4); rep(md,'BestBnd') = round(max(cplex (md,'ObjectiveValueEstimate'), xpress (md,'ObjectiveValueEstimate'), cplexcuts (md,'ObjectiveValueEstimate'), cplexcutsheur(md,'ObjectiveValueEstimate')),4); rep(m,'rel.Gap') = round(100*(rep(m,'BestInt') - rep(m,'BestBnd'))/rep(m,'BestBnd'),2); file fhtm / fcnetstat.htm /; put fhtm '' /; $onput
FCNetLib is a collection of instances for the fixed cost network flow problem. The purpose of the collection is to provide a unified presentation of the data instances together with some GAMS models that implement a straight forward IP formulation and a more sophisticated version that utilizes the GAMS/BCH facility. A class of known cuts (dicuts) is implemented as well as the local branching heuristic within the BCH framework.
The original models were in XPRESS-Modeler format and collected by Laurence Wolsey and collagues at Universite Catholique de Louvain. They were translated by Alexey Koptsevich into GAMS.
| Name | $offput $set tdmacro ALIGN=RIGHT BGCOLOR="# loop(hth, put '' hth.tl:0 ' | ' /) put '' set c / c1 fefefe, c2 e0e0e0 / mc(u,c); scalar ordm /0/; loop(m, ordm=ordm+1; mc(m,'c1')$(mod(ordm,2)=1) = yes; mc(m,'c2')$(mod(ordm,2)=0) = yes; ); set hth0(hth) /'#Eqns', '#Vars', '#NZ'/, hth2(hth) / 'BestBnd' /; $set hth0 put$hth0(hth) rep(m,hth):0:0; $set hth2 put$hth2(hth) rep(m,hth):0:2; $set hthgap put$(sameas(hth,'rel.Gap') and rep(m,hth)) rep(m,hth):0:2; $set hthBI put$sameas(hth,'BestInt') '' rep(m,hth):0:2 ''; loop(mc(m,c), put / ' |
|---|---|---|
| ' m.tl:0 ' | '/; loop(hth, put ''; %hth0% %hth2% %hthBI% %hthgap% put ' | ' /) put '