Dear Users,
I would like to generate a report which shows me what solution was
found after say every 10 seconds, in order to generate a graph which
depicts the path a solver took to reach a solution.
In the Logfile, I can see what his current best solution is, but I
cannot control the interval at which it logs the time. Currently for
CPLEX, I have found that the timestamp is shown in seconds after every
twenty entries. For SBB I’ve found this entry to be at similar, but
not in time dependant intervals.
Is it possible to change the logfile properties to write a report on a
time basis instead of (for the case of a SBB.opt file to define a
“loginterval” on time instead of nodes)? For example, instead of
loginterval reporting the solution found in each 100 nodes, to instead
report every 100 seconds?
Should this not be possible, do you have any ideas how I can force the
solver to spit out the current solution (and perhaps the current best
bound) in regular, predefined time intervals? It doesnt matter if its
CPU time, or walltime, just something that is comparable inbetween
models and solvers.
Any ideas would be greatly appreciated.
The models I am solving are of the MINLP (The objective is Nonlinear)
class and the approximations are solved as LP’s, using SBB(+CONOPT)
and CPLEX.
Short excerpt of the “worst” model:
objlogfix … KNLINFIX =e= sum((n,t),
nodes(n,‘FUNCA’)yNLINFIX(n,t) + nodes(n,‘FUNCB’)(sum(j,
xNLINFIX(j,n,t)*jobs(j,‘CPU’))/
nodes(n,‘CPUAVAIL’))**nodes(n,‘FUNCC’)) ;
fullallocationNLINFIX(j,t) … sum(n, xNLINFIX(j,n,t)) =e=
feasj(j,t) ;
cpusupplylimitNLINFIX(n,t) … sum(j,
xNLINFIX(j,n,t)*jobs(j,‘CPU’)) =l= nodes(n,‘CPUAVAIL’) ;
memsupplylimitNLINFIX(n,t) … sum(j,
xNLINFIX(j,n,t)*jobs(j,‘MEM’)) =l= nodes(n,‘MEMAVAIL’) ;
yinitNLINFIX(n,t) … yNLINFIX(n,t) =g= sum(j,
xNLINFIX(j,n,t))/200;
Model AMANDA_NLIN_FIX /
objlogfix,fullallocationNLINFIX,cpusupplylimitNLINFIX,memsupplylimitNLINFIX,yinitNLINFIX / ;
AMANDA_NLIN_FIX.nodlim=999999999;
AMANDA_NLIN_FIX.optfile=1;
Solve AMANDA_NLIN_FIX using minlp minimizing KNLINFIX;
Regards,
Christian
\