<div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Hi,</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">I have made a solver for a type of knapsack problem and it appears to be working fine. However CBC is reporting that a particular solution is optimal, when according to the literature it is possible to get a higher value.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Is the Cbc_isProvenOptimal function reliable and am I using it correctly?</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Here is how I am processing the result from CBC:</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Cbc_solve(model);<br><br>if (Cbc_status(model) == 0)<br>{<br>    if (Cbc_isAbandoned(model))<br>        cc = 'a';<br>    else<br>    {<br>        if (Cbc_isProvenInfeasible(model))<br>            cc = 'i';<br>        else<br>        {<br>            ret = Cbc_isProvenOptimal(model);<br>            if (ret)<br>                cc = 'z';<br>            else<br>                cc = 'y';<br>            x = Cbc_getColSolution(model);<br>            v = Cbc_getObjValue(model);<br>...</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">The resulting code cc is 'z', but the value v appears to be suboptimal.<br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Thanks for your help.<br></div></div>