<div dir="ltr"><div>I think that there are some problems with the reporting of the lower bound when starting with a predetermined solution.  When I do something like:</div><div><br></div><div>  CbcModel cbcModel(osi);</div>
<div>  CbcMain0(cbcModel);</div><div>  model.setBestSolution(guess, numCols, obj);</div><div>  const char * argv2[]={&quot;injectsol&quot;, &quot;-seconds&quot;, &quot;3600&quot;, &quot;-solve&quot;,&quot;-quit&quot;};</div>
<div>  CbcMain1(5, argv2, cbcModel);</div><div><br></div><div>It appears that the solver starts twice, but only reports the lower bound from the outer run (which appears to be just the result of a bunch of cuts.)  If the problem is only cosmetic (the incorrect lower bound being reported), I can live with it. Why do we need to restart in the first place?  I can give you some code, but you can just take the first solution from a nontrivial model, and restart a copy of the model with the previous soln and similar things will happen.</div>
<div><br></div><div><br></div><div>The output looks like</div><div><br></div><div><div>command line - injectsol -seconds 3600 -solve -quit (default strategy 1)</div><div>seconds was changed from 1e+100 to 3600</div><div>Continuous objective value is 306383 - 0.92 seconds</div>
<div>Cgl0003I 0 fixed, 8317 tightened bounds, 0 strengthened rows, 0 substitutions</div><div>Cgl0003I 0 fixed, 4932 tightened bounds, 0 strengthened rows, 0 substitutions</div><div>Cgl0003I 0 fixed, 7103 tightened bounds, 0 strengthened rows, 0 substitutions</div>
<div>Cgl0003I 0 fixed, 7758 tightened bounds, 0 strengthened rows, 0 substitutions</div><div>Cgl0003I 0 fixed, 7661 tightened bounds, 0 strengthened rows, 0 substitutions</div><div>Cgl0003I 0 fixed, 7540 tightened bounds, 0 strengthened rows, 0 substitutions</div>
<div>Cgl0003I 0 fixed, 7481 tightened bounds, 0 strengthened rows, 0 substitutions</div><div>Cgl0003I 0 fixed, 7419 tightened bounds, 0 strengthened rows, 0 substitutions</div><div>Cgl0003I 0 fixed, 7325 tightened bounds, 0 strengthened rows, 0 substitutions</div>
<div>Cgl0004I processed model has 3183 rows, 8109 columns (8109 integer) and 63855 elements</div><div>Cbc0038I Solution found of 306383</div><div>Cbc0038I Branch and bound needed to clear up 1498 general integers</div><div>
Cbc0038I Full problem 3184 rows 8109 columns, reduced to 2682 rows 5030 columns - too large</div><div>Cbc0038I Mini branch and bound could not fix general integers</div><div>Cbc0038I No solution found this major pass</div>
<div>Cbc0038I Before mini branch and bound, 6611 integers at bound fixed and 0 continuous of which 50 were internal integer and 0 internal continuous</div><div>Cbc0038I Full problem 3183 rows 8109 columns, reduced to 1788 rows 1493 columns</div>
<div>Cbc0038I Mini branch and bound did not improve solution (12.63 seconds)</div><div>Cbc0038I After 12.63 seconds - Feasibility pump exiting - took 6.38 seconds</div><div>Cbc0038I Full problem 3183 rows 8109 columns, reduced to 1844 rows 1568 columns</div>
<div>Cbc0031I 58 added rows had average density of 249.7931</div><div>Cbc0013I At root node, 58 cuts changed objective from 306383.27 to 314230.99 in 20 passes</div><div>Cbc0014I Cut generator 0 (Probing) - 0 row cuts average 0.0 elements, 431 column cuts (431 active)  in 1.620 seconds - new frequency is 1</div>
<div>Cbc0014I Cut generator 1 (Gomory) - 319 row cuts average 556.5 elements, 0 column cuts (43 active)  in 3.559 seconds - new frequency is 1</div><div>Cbc0014I Cut generator 2 (Knapsack) - 0 row cuts average 0.0 elements, 0 column cuts (0 active)  in 0.071 seconds - new frequency is -100</div>
<div>Cbc0014I Cut generator 3 (Clique) - 0 row cuts average 0.0 elements, 0 column cuts (0 active)  in 0.002 seconds - new frequency is -100</div><div>Cbc0014I Cut generator 4 (MixedIntegerRounding2) - 8 row cuts average 67.6 elements, 0 column cuts (1 active)  in 0.610 seconds - new frequency is -100</div>
<div>Cbc0014I Cut generator 6 (TwoMirCuts) - 280 row cuts average 252.0 elements, 0 column cuts (0 active)  in 1.414 seconds - new frequency is 1</div><div>Cbc0010I After 0 nodes, 1 on tree, 383452.46 best solution, best possible 314230.99 (33.14 seconds)</div>
</div><div><div>Cbc0038I Full problem 3183 rows 8109 columns, reduced to 1422 rows 1128 columns</div><div>Cbc0038I Full problem 3241 rows 8109 columns, reduced to 2681 rows 5030 columns</div><div>Cbc0044I Reduced cost fixing - 2681 rows, 5030 columns - restarting search</div>
<div>Cbc0012I Integer solution of 383452.46 found by Previous solution after 0 iterations and 0 nodes (59.99 seconds)</div></div><div><div>Cbc0031I 59 added rows had average density of 245.88136</div><div>Cbc0013I At root node, 59 cuts changed objective from 306383.27 to 314244.6 in 4 passes</div>
<div>Cbc0014I Cut generator 0 (Probing) - 0 row cuts average 0.0 elements, 67 column cuts (67 active)  in 0.310 seconds - new frequency is 1</div><div>Cbc0014I Cut generator 1 (Gomory) - 47 row cuts average 202.8 elements, 0 column cuts (42 active)  in 0.264 seconds - new frequency is 1</div>
<div>Cbc0014I Cut generator 2 (Knapsack) - 0 row cuts average 0.0 elements, 0 column cuts (0 active)  in 0.010 seconds - new frequency is -100</div><div>Cbc0014I Cut generator 3 (Clique) - 0 row cuts average 0.0 elements, 0 column cuts (0 active)  in 0.000 seconds - new frequency is -100</div>
<div>Cbc0014I Cut generator 4 (MixedIntegerRounding2) - 0 row cuts average 0.0 elements, 0 column cuts (0 active)  in 0.148 seconds - new frequency is -100</div><div>Cbc0014I Cut generator 5 (FlowCover) - 0 row cuts average 0.0 elements, 0 column cuts (0 active)  in 0.071 seconds - new frequency is -100</div>
<div>Cbc0014I Cut generator 6 (TwoMirCuts) - 64 row cuts average 152.9 elements, 0 column cuts (0 active)  in 0.205 seconds - new frequency is -100</div><div>Cbc0014I Cut generator 7 (Stored from first) - 60 row cuts average 251.7 elements, 0 column cuts (3 active)</div>
<div>Cbc0010I After 0 nodes, 1 on tree, 383452.46 best solution, best possible 314244.6 (66.56 seconds)</div></div><div><br></div><div>[And now a word from our sponsor ...]</div><div><br></div><div><div>Cbc0010I After 28500 nodes, 8319 on tree, 335722.71 best solution, best possible 314650.52 (3576.32 seconds)</div>
<div>Cbc0020I Exiting on maximum time</div><div>Cbc0005I Partial search - best objective 335722.71 (best possible 314650.52), took 6716191 iterations and 28597 nodes (3597.00 seconds)</div><div>Cbc0032I Strong branching done 11770 times (748581 iterations), fathomed 161 nodes and fixed 312 variables</div>
<div>Cbc0035I Maximum depth 347, 1583061 variables fixed on reduced cost</div><div>Cbc0038I Probing was tried 27963 times and created 722193 cuts of which 167 were active after adding rounds of cuts (155.081 seconds)</div>
<div>Cbc0038I Gomory was tried 27963 times and created 30873 cuts of which 9868 were active after adding rounds of cuts (687.126 seconds)</div><div>Cbc0038I Knapsack was tried 4 times and created 0 cuts of which 0 were active after adding rounds of cuts (0.010 seconds)</div>
<div>Cbc0038I Clique was tried 4 times and created 0 cuts of which 0 were active after adding rounds of cuts (0.000 seconds)</div><div>Cbc0038I MixedIntegerRounding2 was tried 4 times and created 0 cuts of which 0 were active after adding rounds of cuts (0.148 seconds)</div>
<div>Cbc0038I FlowCover was tried 4 times and created 0 cuts of which 0 were active after adding rounds of cuts (0.071 seconds)</div><div>Cbc0038I TwoMirCuts was tried 1 times and created 64 cuts of which 0 were active after adding rounds of cuts (0.205 seconds)</div>
<div>Cbc0038I Stored from first was tried 27963 times and created 9823 cuts of which 5511 were active after adding rounds of cuts (0.000 seconds)</div><div>Cbc0012I Integer solution of 335722.71 found by Reduced search after 6734688 iterations and 28647 nodes (3597.50 seconds)</div>
<div>Cbc0020I Exiting on maximum time</div><div>Cbc0005I Partial search - best objective 335722.71 (best possible 314230.99), took 6734688 iterations and 28647 nodes (3597.50 seconds)</div><div>Cbc0032I Strong branching done 438 times (4140 iterations), fathomed 0 nodes and fixed 0 variables</div>
<div>Cbc0035I Maximum depth 37, 0 variables fixed on reduced cost</div><div>Cuts at root node changed objective from 306383 to 314231</div><div>Probing was tried 37 times and created 800 cuts of which 0 were active after adding rounds of cuts (1.751 seconds)</div>
<div>Gomory was tried 37 times and created 326 cuts of which 45 were active after adding rounds of cuts (4.145 seconds)</div><div>Knapsack was tried 20 times and created 0 cuts of which 0 were active after adding rounds of cuts (0.071 seconds)</div>
<div>Clique was tried 20 times and created 0 cuts of which 0 were active after adding rounds of cuts (0.002 seconds)</div><div>MixedIntegerRounding2 was tried 20 times and created 8 cuts of which 1 were active after adding rounds of cuts (0.610 seconds)</div>
<div>FlowCover was tried 1 times and created 0 cuts of which 0 were active after adding rounds of cuts (0.007 seconds)</div><div>TwoMirCuts was tried 37 times and created 282 cuts of which 1 were active after adding rounds of cuts (1.891 seconds)</div>
<div><br></div><div>Result - Stopped on time limit</div><div><br></div><div>Objective value:                335722.71500000</div><div>Lower bound:                    314230.987</div><div>Gap:                            0.07</div>
<div>Enumerated nodes:               28647</div><div>Total iterations:               6734688</div><div>Time (CPU seconds):             3597.94</div><div>Time (Wallclock seconds):       3625.79</div><div><br></div><div>Total time (CPU seconds):       3597.94   (Wallclock seconds):       3625.79</div>
<div><br></div></div><div><br></div></div>