<br><font size=2 face="sans-serif">We have a Cbc application modeled on
Cbc/examples/driver4.cpp; in particular, it uses the function CbcMain1
to actually launch the solution.</font>
<br>
<br><font size=2 face="sans-serif">In a previous version of the same application,
we mimicked something much simpler, more like driver1.cpp. &nbsp;In that
version, we were able to monitor the problem as it was being solved. &nbsp;We
used calls like CbcModel-&gt;getObjValue() in another thread to watch the
objective improving. &nbsp;(We are aware of thread hazards, but we were
pretty careful to protect ourselves from them.)</font>
<br>
<br><font size=2 face="sans-serif">When we switched to the driver4-like
approach, this stopped working. &nbsp;CbcMain1 makes its own copy of the
given Cbc model, and it is on this copy (called &quot;cbcModel&quot; in
the code, which is in CbcSolver.cpp) that CbcModel.branchAndBound() is
actually invoked. &nbsp;Poking the original model to find out its best
objective so far, or the number of nodes it has processed, doesn't work.</font>
<br>
<br><font size=2 face="sans-serif">Is there a right way to expose this
copied model so that outside code can query its progress? &nbsp;I'm reluctant
to mess around with the code in CbcSolver.cpp, but will do that if I have
to.</font>