Fault Tolerance provided by
Capillary Routing
Description of the AMPL code
Keeping track of CPLEX solves
Script |
Comments |
printf "Layer %d,
Solving %s ...\n",l,if _nobjs==1 then _objname[1] else "?"; solve; let solve_n := solve_n + 1; let solve_results[solve_n]
:= solve_result; |
◄printing the layer number and the objective name; solving; incrementing the number of solves; saving the solve result |
let file :=
"solvelog.csv"; |
◄logging into solvelog.csv file |
if solve_n == 1 then { remove (file); printf "%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s\n", "time", "obj name", "obj value", "solve result", "solve time", "solve user time", "solve system time", "solve elapsed time", "total solve time", "total solve user time", "total solve system time", "total solve elapsed time" >> (file); } |
◄adding the header |
printf
"%s,%s,%f,%s,%f,%f,%f,%f,%f,%f,%f,%f\n", sub(ctime(),"^[^ ]*
",""), if _nobjs==1 then _objname[1] else
"?", if _nobjs==1 then _obj[1] else
"?", solve_result, _solve_time, _solve_user_time, _solve_system_time, _solve_elapsed_time, _total_solve_time, _total_solve_user_time, _total_solve_system_time, _total_solve_elapsed_time >> (file); |
◄adding the record |
close (file); |
◄closing the solvelog.csv |
* * *