Thanks, this works as a charm!<div><br></div><div>I&#39;ve gotten a step further and i would like to do constraint branching / branch on sets of original variables. As I read it DIP per default does binary branching on the most fractional original variable, but dippy seems to support constraint branching, is it possible to use this functionality in DIP, without going through dippy?</div>
<div><br></div><div>Brgds, Christian<br><br><div class="gmail_quote">2011/11/15 Matthew Galati <span dir="ltr">&lt;<a href="mailto:Matthew.Galati@sas.com">Matthew.Galati@sas.com</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">




<div bgcolor="#FFFFFF">
<div>You do not need to define the full compact model in the pricing problem if you write your own solveRelaxed function. Just the master needs to be defined in the compact space. </div>
<div><br>
</div>
<div>Examples of this in the examples dir are TSP, GAP and probably a few others. </div>
<div><br>
</div>
<div>I will look into the tickets when I get back from informs. <br>
<br>
Sent from my iPhone</div><div><div></div><div class="h5">
<div><br>
On Oct 18, 2011, at 5:17 AM, &quot;Christian Plum&quot; &lt;<a href="mailto:chrplum@gmail.com" target="_blank">chrplum@gmail.com</a>&gt; wrote:<br>
<br>
</div>
<div></div>
<blockquote type="cite">
<div>Hi Matthew 
<div><br>
</div>
<div>Thanks, that works fine, though i run into <a href="https://projects.coin-or.org/Dip/ticket/64" target="_blank">https://projects.coin-or.org/Dip/ticket/64</a> on some of my instances, but this is alleviated by SolveMasterAsIP<span style="font-family:Verdana,Arial,&#39;Bitstream Vera Sans&#39;,Helvetica,sans-serif;font-size:13px;background-color:rgb(255,255,221)"> =
 0</span> and I havent experienced 65. </div>
<div><br>
</div>
<div>I have another question I hope you can help me with: </div>
<div><br>
</div>
<div>In the compact formulation of my problem, theres a non-linear constraints, which at great expense in binary variables can be linearized. In the pricing problem (elementary shortest path with resource constraints), which I&#39;ll implement in &quot;DecompApp::solveRelaxed&quot;
 i can handle this non-linearity efficiently without additional use use binary vars. So my questions: Do I need to describe the &quot;Full&quot; compact model for the setModelRelax(model, m_appParam.ModelNameRelax) subproblem  or can this be a relaxed version ?</div>

<div><br>
</div>
<div>Hope that makes sense ;) </div>
<div><br>
</div>
<div>Brgds, </div>
<div><br>
</div>
<div>Christan</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
<div class="gmail_quote">2011/10/7 Matthew Galati <span dir="ltr">&lt;<a href="mailto:matthew.galati@gmail.com" target="_blank">matthew.galati@gmail.com</a>&gt;</span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi Christian,
<div><br>
</div>
<div>The best way to handle master-only columns is explicitly. Unfortunately, I never got around to finish coding that up in the framework. It is on my longer-term ToDo List. </div>
<div><br>
</div>
<div>Currently, the way it works in DIP is by using dummy blocks for each master-only column. These are constructed relatively efficiently, so it is not as bad as it sounds. Although it does add a convexity constraint for each block - which can bog down the
 master problem if there are many master-only columns.</div>
<div><br>
</div>
<div>The MILPBlock application will create, identify and manage these for you. If you are building your own application, you have to let the framework know which columns are master-only by creating blocks (just like constraint blocks) and then flagging them
 as master only. I don&#39;t think I have a simple example of this written up. But, you can see how to do it in the MILPBlock application. See MILPBlock_DecompApp.cpp createModelMasterOnlys( ).</div>
<div><br>
</div>
<div>
<div><br>
</div>
<div> for(vit = masterOnlyCols.begin(); vit != masterOnlyCols.end(); vit++){</div>
<div>      i = *vit;</div>
<div><br>
</div>
<div>      DecompConstraintSet * model = new DecompConstraintSet();</div>
<div>      model-&gt;m_masterOnly      = true;</div>
<div>      model-&gt;m_masterOnlyIndex = i;</div>
<div>      model-&gt;m_masterOnlyLB    = colLB[i];</div>
<div>      model-&gt;m_masterOnlyUB    = colUB[i];</div>
<div>      //0=cont, 1=integer</div>
<div>      model-&gt;m_masterOnlyIsInt =</div>
<div>         (integerVars &amp;&amp; integerVars[i]) ? true : false;</div>
<div>//...</div>
<div>     setModelRelax(model,</div>
<div>
<div>                    &quot;master_only&quot; + UtilIntToStr(i), nBlocks);</div>
<div>     nBlocks++;</div>
</div>
<div>//...</div>
<div><br>
</div>
<div><br>
</div>
<div>Let me know if you have any questions.</div>
<div><br>
</div>
<div>Thanks,</div>
<div>Matt</div>
<div><br>
</div>
<div><br>
</div>
<br>
<div class="gmail_quote">
<div>
<div></div>
<div>On Fri, Oct 7, 2011 at 5:58 AM, Christian Plum <span dir="ltr">&lt;<a href="mailto:chrplum@gmail.com" target="_blank">chrplum@gmail.com</a>&gt;</span> wrote:<br>
</div>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>
<div></div>
<div>Hi, 
<div><br>
</div>
<div>Im working on price and cut model containing Master-only Columns, which are not appearing in any block. This is briefly mentioned in DecompAlgo.cpp Ln 134:</div>
<div><br>
</div>
<div>
<div>   //---</div>
<div>   //--- sanity check that the union of active columns in blocks</div>
<div>   //---   should cover all columns in core - if not, these are &#39;master-only&#39;</div>
<div>   //---   columns which can be dealt with using either LD or the using the </div>
<div>   //---   ideas of Rob Pratt discussion (9/27/09), or defined explicitly </div>
<div>   //---   by user</div>
<div>   //---</div>
</div>
<div><br>
</div>
<div>Could this refer to creating a dummy block for these columns ? Or how is this best handled ?</div>
<div><br>
</div>
<div>Brgds, Christian</div>
<div><br>
</div>
<div><br>
</div>
<br>
</div>
</div>
_______________________________________________<br>
Dip mailing list<br>
<a href="mailto:Dip@list.coin-or.org" target="_blank">Dip@list.coin-or.org</a><br>
<a href="http://list.coin-or.org/mailman/listinfo/dip" target="_blank">http://list.coin-or.org/mailman/listinfo/dip</a><br>
</blockquote>
</div>
<br>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</blockquote>
<blockquote type="cite">
<div><span>_______________________________________________</span><br>
<span>Dip mailing list</span><br>
<span><a href="mailto:Dip@list.coin-or.org" target="_blank">Dip@list.coin-or.org</a></span><br>
<span><a href="http://list.coin-or.org/mailman/listinfo/dip" target="_blank">http://list.coin-or.org/mailman/listinfo/dip</a></span></div>
</blockquote>
</div></div></div>

</blockquote></div><br></div>