<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-NZ" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">There are a few issues selecting the LP solver method (i.e. Primal Simplex, Dual Simplex, Barrier etc.) in CoinMP:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">1) The ‘Method’ parameter of the CoinOptimizeProblem function doesn’t do anything. It gets passed to the CbcSolveProblem function, but the code in this function does not use it. So regardless of what you enter in this parameter, you’ll
get the default method (Dual Simplex?)<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">2) CoinMP.h defines some solution method constants: <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">#define SOLV_METHOD_PRIMAL 0x00000001L<o:p></o:p></p>
<p class="MsoNormal">#define SOLV_METHOD_DUAL 0x00000002L<o:p></o:p></p>
<p class="MsoNormal">#define SOLV_METHOD_NETWORK 0x00000004L<o:p></o:p></p>
<p class="MsoNormal">#define SOLV_METHOD_BARRIER 0x00000008L<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">... but if you use these vales to set the COIN_INT_SOLVEMETHOD parameter, the value you pass is interpreted according to the values defined in ClpSolve.hpp:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"> enum SolveType {<o:p></o:p></p>
<p class="MsoNormal"> useDual = 0,<o:p></o:p></p>
<p class="MsoNormal"> usePrimal,<o:p></o:p></p>
<p class="MsoNormal"> usePrimalorSprint,<o:p></o:p></p>
<p class="MsoNormal"> useBarrier,<o:p></o:p></p>
<p class="MsoNormal"> useBarrierNoCross,<o:p></o:p></p>
<p class="MsoNormal"> automatic,<o:p></o:p></p>
<p class="MsoNormal"> tryDantzigWolfe,<o:p></o:p></p>
<p class="MsoNormal"> tryBenders,<o:p></o:p></p>
<p class="MsoNormal"> notImplemented<o:p></o:p></p>
<p class="MsoNormal"> };<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">So, for example, to select barrier, the value you need to pass is 3, not 8 as defined in CoinMP.h<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">3) For reasons I have yet to understand completely, if your problem has no integer variables, neither way of selecting the solve method has any effect anyway.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">These issues are in CoinMP v1.7.6, as recently retrieved from the subversion trunk.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-NZ"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-NZ"><o:p> </o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>