clex stampa molto al terminale, anche se i parametri corrispondenti sono impostati
Domanda
Sto usando clex in CPP. Dopo aver bisogno di Google, ho scoperto quali parametri devono essere impostati per evitare Clex dalla stampa al terminale e li uso come questo:
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() ) {
....
}
.
Ma tuttavia clesso stampa cose del genere:
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)
.
C'è un modo per evitare di stamparli?
Soluzione 2
Questo è ciò che funziona in C ++ in base a CPLEXparametridoc:
.cplex.setOut(env.getNullStream());
cplex.setWarning(env.getNullStream());
cplex.setError(env.getNullStream());
. Altri suggerimenti
Utilizzare il metodo setOut
da Classe IloAlgorithm
(IloCplex
Eredita da IloAlgorithm
).È possibile impostare un flusso di uscita null come parametro e impedire la registrazione del messaggio sullo schermo.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow