Originally posted by: MarekGrzes
Dear Paul,
Thanks a lot for looking into my log. Yes, multi-threading is something that I did not consider. But, when I print more information (please see below), I can see that Heuristic Calls happen early on for sure. Please check the line:
Heuristic Feasible Integer Solution=0.7025965741093891, Current Incumbent LB = -11.000000000000032
It shows that current LB is -11 which means (I assume) that the line is printed in a correct place in the log. A few lines below seem to be displaced a little but it does not look that the impact is large.
In this particular example, the first call to my heuristic function returns an optimal solution, that is why you probably thought that it happened at the very end.
As I said in my previous post, when this log is produced, I send to cplex all variables using setSolution(), and my solution is ignored by cplex as you can see. It would be great if cplex could throw an exception or something like that to inform the developer what is wrong.
If you have any ideas please let me know.
Thank you,
Marek
Found feasible solution after 0.00 sec. Objective = -11.0000
Probing time = 0.00 sec.
Clique table members: 2.
MIP emphasis: balance optimality and feasibility.
MIP search method: traditional branch-and-cut.
Parallel mode: none, using 1 thread.
Root relaxation solution time = 0.00 sec.
Nodes Cuts/
Node Left Objective IInf Best Integer Best Bound ItCnt Gap Variable B NodeID Parent Depth
* 0+ 0 -11.0000 8 ---
Warning: Control callbacks may disable some MIP features.
0 0 6.6113 4 -11.0000 6.6113 8 160.10%
Heuristic Feasible Integer Solution=0.7025965741093891, Current Incumbent LB = -11.000000000000032
* 0+ 0 -2.1893 6.6113 8 401.98%
Heuristic Feasible Integer Solution=0.0, Current Incumbent LB = -2.1892819068826412
0 0 5.4608 5 -2.1893 Cuts: 17 18 349.44%
0 0 5.0458 9 -2.1893 Cuts: 6 27 330.48%
Heuristic Feasible Integer Solution=-0.027632181215288654, Current Incumbent LB = -2.1892819068826412
Heuristic Feasible Integer Solution=-0.3027222578949562, Current Incumbent LB = -2.1892819068826412
0 0 4.1427 8 -2.1893 Cuts: 10 35 289.23%
Heuristic Feasible Integer Solution=-1.266662059560037, Current Incumbent LB = -2.1892819068826412
0 0 3.6090 8 -2.1893 Cuts: 9 39 264.85%
Heuristic Feasible Integer Solution=-2.6621557763699712, Current Incumbent LB = -2.1892819068826412
0 0 3.3056 4 -2.1893 MIRcuts: 5 42 250.99%
* 0+ 0 0.0000 3.3056 42 ---
0 0 3.3023 6 0.0000 Cuts: 2 44 ---
0 0 3.0609 6 0.0000 MIRcuts: 3 48 ---
* 0+ 0 0.1725 3.0609 48 ---
Heuristic Feasible Integer Solution=-7.105427357601002E-15, Current Incumbent LB = 1.7763568394002505E-15
0 0 2.9431 5 0.1725 Cuts: 4 51 ---
0 0 2.9398 7 0.1725 Cuts: 3 53 ---
Heuristic Feasible Integer Solution=-2.6621557763699712, Current Incumbent LB = 0.17247597379834367
0 0 2.8151 8 0.1725 MIRcuts: 3 58 ---
0 0 2.6437 5 0.1725 Cuts: 8 65 ---
Heuristic Feasible Integer Solution=-3.187095449369817, Current Incumbent LB = 0.17247597379834367
Heuristic Feasible Integer Solution=-3.206326842057834, Current Incumbent LB = 0.17247597379834367
0 0 2.5164 9 0.1725 Cuts: 8 70 ---
* 0+ 0 0.7026 2.5164 70 258.15%
0 0 cutoff 0.7026 0.7026 70 0.00% 0 0
Elapsed real time = 5.87 sec. (tree size = 0.00 MB, solutions = 5)
Mixed integer rounding cuts applied: 12
Root node processing (before b&c):
Real time = 5.87
Sequential b&c:
Real time = 0.00
-------
Total (root+branch&cut) = 5.87 sec.
#CPLEXOptimizers#DecisionOptimization