<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    I try searching on the 2 messages.<br>
    CBC\Clp-1.14.7\Clp\src<br>
    Searching for: complementarity gap&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for the final<br>
    ClpMessage.cpp(84): {CLP_BARRIER_END, 46, 1, "At end primal/dual
    infeasibilities %g/%g, complementarity gap %g, objective %g"},<br>
    ClpPredictorCorrector.cpp(940):
    handler_-&gt;message(CLP_BARRIER_END, messages_)<br>
    <br>
    context<br>
    <b>&nbsp;&nbsp;&nbsp;&nbsp; // If quadratic use last solution</b><b><br>
    </b><b>&nbsp;&nbsp;&nbsp;&nbsp; // Restore quadratic objective if necessary</b><b><br>
    </b><b>&nbsp;&nbsp;&nbsp;&nbsp; if (saveObjective) {</b><br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; delete objective_;<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objective_ = <b>saveObjective</b>;<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objectiveValue_ = 0.5 * (primalObjective_ +
    dualObjective_);<br>
    &nbsp;&nbsp;&nbsp;&nbsp; }<br>
    &nbsp;&nbsp;&nbsp;&nbsp; handler_-&gt;message(<b>CLP_BARRIER_END,</b> messages_)<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;&lt;
    static_cast&lt;double&gt;(sumPrimalInfeasibilities_)<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;&lt; static_cast&lt;double&gt;(<b>sumDualInfeasibilities</b>_)<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;&lt; static_cast&lt;double&gt;(<b>complementarityGap_</b>)<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;&lt; static_cast&lt;double&gt;(objectiveValue())<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;&lt; CoinMessageEol;<br>
    <br>
    <br>
    and Complementarity&nbsp;&nbsp; for the interior progress.<br>
    ClpMessage.cpp(73): {CLP_BARRIER_ITERATION, 35, 1, "%d Primal %g
    Dual %g Complementarity %g - %d fixed, rank %d"},<br>
    ClpPredictorCorrector.cpp(246):
    handler_-&gt;message(CLP_BARRIER_ITERATION, messages_)<br>
    <br>
    context<br>
    <b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; complementarityGap_ =
      complementarityGap(numberComplementarityPairs_,</b><b><br>
    </b><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; numberComplementarityItems_,
      0);</b><br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; handler_-&gt;message(CLP_BARRIER_ITERATION, messages_)<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;&lt; numberIterations_<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;&lt;
    static_cast&lt;double&gt;(primalObjective_ * objScale -
    dblParam_[ClpObjOffset])<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;&lt;
    static_cast&lt;double&gt;(dualObjective_ * objScale -
    dblParam_[ClpObjOffset])<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;&lt;
    static_cast&lt;double&gt;(complementarityGap_)<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;&lt; numberFixedTotal<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;&lt; cholesky_-&gt;rank()<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;&lt; CoinMessageEol;<br>
    <br>
    <br>
    I suspect that the Barrier quadratic use of KKT is ignored for the
    final.<br>
    <br>
    It seems above that the quadratic restore at <b>final&nbsp; </b>fails
    to recompute the <b> complementarityGap_</b><br>
    <br>
    Try more code review to see what it takes to stuff the prior one
    away somewhere like&nbsp; <b>saveObjective</b>&nbsp; say <b>save_</b><b>complementarityGap_
    </b><br>
    or perhaps just try adding the bold line above <br>
    before the<b>CLP_BARRIER_END,</b>&nbsp; case.<br>
    <br>
    <pre wrap=""> At end primal/dual infeasibilities 0/<b>547812.72,</b> complementarity gap
 31.492848, </pre>
    Looks like&nbsp;<b> save_sumDualInfeasibilities_</b>&nbsp; will also be
    needed&nbsp; from the log.<br>
    <br>
    ClpSimplexNonlinear.cpp(42): ClpObjective * saveObjective = NULL;<br>
    ClpSimplexNonlinear.cpp(55): saveObjective = objective_;<br>
    ClpSimplexNonlinear.cpp(186): if (saveObjective) {<br>
    ClpSimplexNonlinear.cpp(188): objective_ = saveObjective;<br>
    ClpPredictorCorrector.cpp(114): ClpObjective * saveObjective = NULL;<br>
    ClpPredictorCorrector.cpp(123): saveObjective = objective_;<br>
    ClpPredictorCorrector.cpp(153): if (saveObjective) {<br>
    ClpPredictorCorrector.cpp(155): objective_ = saveObjective;<br>
    ClpPredictorCorrector.cpp(935): if (saveObjective) {<br>
    ClpPredictorCorrector.cpp(937): objective_ = saveObjective;<br>
    <br>
    So practically this means to just ignore the final messages and go
    with the last line prior to <br>
    <pre wrap=""> Exiting</pre>
    .
    <pre wrap=""> 15 Primal -1.8559771e+11 Dual -1.8559771e+11 Complementarity
 0.093779229 - 55 fixed, rank 1122
 Exiting - using solution from iteration 14</pre>
    <br>
    <br>
    William<br>
    <br>
    <div class="moz-cite-prefix">On 10/30/2012 2:11 PM, Stephanie Jakus
      wrote:<br>
    </div>
    <blockquote
cite="mid:CAKCku4A6go6b_84pG3=p=GY+4k8vN4kfzGYwKPgYyBSYGShkZw@mail.gmail.com"
      type="cite">
      <pre wrap="">Dear Clp mailing list,

My results when using the Clp barrier method are troubling because,
while the complementarity gap steadily decreases, the solver reports:
"At end primal/dual infeasibilities 0/547812.72." Why might a
primal-dual interior point method end with non-zero dual
infeasibility? Thanks very much in advance for your help.

Sincerely,
Stephanie Jakus

Coin LP version 1.14.5, build Nov 10 2011
 command line - /Clp/clp -import
 /cygdrive/c/Clp/mps_files/clp_input.mps -presolve off -cross off
 -printi all -directory /cygdrive/c/Clp/clp_output -barr -solu
 solfile.txt
 At line 8 NAME          Model
   At line 9 ROWS
 At line 472 COLUMNS
 At line 1173 RHS
 At line 1405 QUADOBJ
 Problem Model has 461 rows, 200 columns and 1200 elements
 At line 1606 ENDATA
 Model was imported from /cygdrive/c/Clp/mps_files/clp_input.mps in 0 seconds
 102891 elements in sparse Cholesky, flop count 5.20638e+07
 0 Primal 1.0987224e+14 Dual -1.1363736e+16 Complementarity
 4.5987811e+14 - 0 fixed, rank 1122
 1 Primal 6.0855063e+11 Dual -7.700622e+14 Complementarity
 4.0678514e+13 - 0 fixed, rank 1122
 2 Primal 1.3082029e+11 Dual -1.9298626e+14 Complementarity
 7.6610156e+12 - 0 fixed, rank 1122
 3 Primal 4.6315105e+10 Dual -1.9592583e+13 Complementarity
 6.9005659e+11 - 0 fixed, rank 1122
 4 Primal -8.6905913e+10 Dual -1.8205962e+12 Complementarity
 5.9771431e+10 - 0 fixed, rank 1122
 5 Primal -1.6152714e+11 Dual -3.9216081e+11 Complementarity
 7.870926e+09 - 0 fixed, rank 1122
 6 Primal -1.7909989e+11 Dual -2.4456859e+11 Complementarity
 2.2414622e+09 - 0 fixed, rank 1122
 7 Primal -1.8420608e+11 Dual -1.9517877e+11 Complementarity
 3.739759e+08 - 0 fixed, rank 1122
 8 Primal -1.8542753e+11 Dual -1.8626013e+11 Complementarity 28116783 -
 0 fixed, rank 1122
 9 Primal -1.8558269e+11 Dual -1.8566307e+11 Complementarity 2708118.6
 - 0 fixed, rank 1122
 10 Primal -1.8559658e+11 Dual -1.856041e+11 Complementarity 253515.82
 - 0 fixed, rank 1122
 11 Primal -1.8559763e+11 Dual -1.8559833e+11 Complementarity 23581.122
 - 0 fixed, rank 1122
 12 Primal -1.8559771e+11 Dual -1.8559776e+11 Complementarity 1863.9402
 - 18 fixed, rank 1122
 13 Primal -1.8559771e+11 Dual -1.8559772e+11 Complementarity 214.33975
 - 55 fixed, rank 1122
 14 Primal -1.8559771e+11 Dual -1.8559771e+11 Complementarity 1.1391258
 - 55 fixed, rank 1122
 15 Primal -1.8559771e+11 Dual -1.8559771e+11 Complementarity
 0.093779229 - 55 fixed, rank 1122
 Exiting - using solution from iteration 14
 At end primal/dual infeasibilities 0/547812.72, complementarity gap
 31.492848, objective -1.8559771e+11
 Optimal objective -1.855977106e+11 - 15 iterations time 0.372
_______________________________________________
Clp mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Clp@list.coin-or.org">Clp@list.coin-or.org</a>
<a class="moz-txt-link-freetext" href="http://list.coin-or.org/mailman/listinfo/clp">http://list.coin-or.org/mailman/listinfo/clp</a>

</pre>
    </blockquote>
    <br>
  </body>
</html>