cplex gibt viel auf dem Terminal aus, obwohl entsprechende Parameter gesetzt sind
Frage
Ich verwende CPLEX in Cpp.Nach dem Googeln habe ich herausgefunden, welche Parameter eingestellt werden müssen, um Komplexität beim Drucken auf dem Terminal zu vermeiden, und ich verwende sie folgendermaßen:
IloCplex cplex(model);
std::ofstream logfile("cplex.log");
cplex.setOut(logfile);
cplex.setWarning(logfile);
cplex.setError(logfile);
cplex.setParam(IloCplex::MIPInterval, 1000);//Controls the frequency of node logging when MIPDISPLAY is set higher than 1.
cplex.setParam(IloCplex::MIPDisplay, 0);//MIP node log display information-No display until optimal solution has been found
cplex.setParam(IloCplex::SimDisplay, 0);//No iteration messages until solution
cplex.setParam(IloCplex::BarDisplay, 0);//No progress information
cplex.setParam(IloCplex::NetDisplay, 0);//Network logging display indicator
if ( !cplex.solve() ) {
....
}
aber dennoch druckt cplex solche Dinge:
Warning: Bound infeasibility column 'x11'.
Presolve time = 0.00 sec. (0.00 ticks)
Root node processing (before b&c):
Real time = 0.00 sec. (0.01 ticks)
Parallel b&c, 4 threads:
Real time = 0.00 sec. (0.00 ticks)
Sync time (average) = 0.00 sec.
Wait time (average) = 0.00 sec.
------------
Total (root+branch&cut) = 0.00 sec. (0.01 ticks)
Gibt es eine Möglichkeit, das Drucken zu vermeiden?
Lösung 2
Dies ist das, was in C ++ arbeitet, nach cplexParameterdoc:
generasacodicetagpre.Andere Tipps
Verwenden setOut
Methode von IloAlgorithm
Klasse (IloCplex
erbt von IloAlgorithm
).Sie können einen Null-Ausgabestream als Parameter festlegen und verhindern, dass die Nachricht auf dem Bildschirm protokolliert wird.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow