<div dir="auto">Dear Dr. Galati,</div><div dir="auto"><br></div><div dir="auto">Thank you so much for your informative comments. </div><div dir="auto"><br></div><div dir="auto">All the best</div><div dir="auto">Abbas</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Feb 9, 2024 at 02:13 Matthew Galati <<a href="mailto:matthew.galati@gmail.com">matthew.galati@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div dir="ltr">Cplex has classical benders.<div><br></div><div>Gurobi has something where they take advantage of fully disconnected matrices; and I think they try to do some reductions when you have the case of "almost fully disconnected". Gu gave a talk on this a few years ago. </div><div><br></div><div>But, in general, the answer is "no". No commercial vendors (except for SAS) do automated branch-cut-and-price like what GCG does. See: <a href="https://documentation.sas.com/doc/en/pgmsascdc/v_047/casmopt/casmopt_decomp_overview.htm" target="_blank">https://documentation.sas.com/doc/en/pgmsascdc/v_047/casmopt/casmopt_decomp_overview.htm</a><br><br>Matt</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Feb 8, 2024 at 5:40 PM Abbas Omidi <<a href="mailto:abb.omidi@gmail.com" target="_blank">abb.omidi@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div dir="ltr">Dear Dr. Galati,<div><br></div><div>Thank you so much for pointing this out. </div><div>I have often used SCIP-GCG or CPLEX and do not have any experience with SAS. </div><div>Do you know if there are any implementations with CPLEX or Gurobi under a hood?</div><div><br></div><div>Kind regards</div><div>Abbas</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Feb 8, 2024 at 3:51 PM Matthew Galati <<a href="mailto:matthew.galati@gmail.com" target="_blank">matthew.galati@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div dir="auto">The only commercial solver that has these methods is SAS. Look for the DECOMP option. <div><br></div><div>Cheers, </div><div>Matt </div><div><br id="m_6266390413499941418m_-1200776570926013048m_168131694313725158lineBreakAtBeginningOfSignature"><div dir="ltr">Sent from my iPhone</div><div dir="ltr"><br><blockquote type="cite">On Feb 8, 2024, at 4:26 AM, Katrin Halbig <<a href="mailto:katrin.halbig@fau.de" target="_blank">katrin.halbig@fau.de</a>> wrote:<br><br></blockquote></div><blockquote type="cite"><div dir="ltr">
  
    
  
  
    Dear Abbas,<br>
    <br>
    To use decompositions, it is best to first write a *.dec file and
    then read it into Scip. You can write the *.dec file manually or use
    gcg to automatically create a decomposition and write it out to a
    *.dec file.<br>
    This file is read in the same way as the problem itself. On the
    command line enter "read path/to/problem read
    path/to/decomposition.dec optimize".<br>
    In pyscipopt:<br>
    m = Model()<br>
    m.readProblem("path/to/problem")<br>
    m.readProblem("path/to/decomposition.dec")<br>
    <br>
    There are several plugins that (can) use such a decomposition, for
    example, heur_gins, heur_dps, heur_padm, and the benders framework.
    Switch on the heuristics by setting the corresponding parameters,
    for example, m.setParam('heuristics/dps/freq', 0).<br>
    It's not always efficiently to use these methods, but just try it.<br>
    <br>
    Independent from a decomposition is the cons_component presolver.
    This method detects on its own whether the problem is split into
    independent components and treats them separately. But since you
    mentioned that you have linking constraints and variables, your
    problem is probably connected.<br>
    I don't know what commercial solvers do, but I would strongly assume
    that they also use methods like cons_components.<br>
    <br>
    Best,<br>
    Katrin<br>
    <br>
    <div>Am 05.02.24 um 12:48 schrieb Abbas
      Omidi:<br>
    </div>
    <blockquote type="cite">
      
      <div dir="ltr">
        <div dir="ltr"><font style="font-family:arial,sans-serif;background-color:rgb(255,255,255);color:rgb(0,0,0)" face="arial, sans-serif">Dear Alexander,</font>
          <div><font style="font-family:arial,sans-serif;background-color:rgb(255,255,255);color:rgb(0,0,0)" face="arial, sans-serif"><br>
            </font></div>
          <div><font style="font-family:arial,sans-serif;background-color:rgb(255,255,255);color:rgb(0,0,0)" face="arial, sans-serif">Thank you so much
              for your quick response. </font></div>
          <div><font style="font-family:arial,sans-serif;background-color:rgb(255,255,255);color:rgb(0,0,0)" face="arial, sans-serif">Please, let me
              explain more about what I meant.</font></div>
          <div><font style="font-family:arial,sans-serif;background-color:rgb(255,255,255);color:rgb(0,0,0)" face="arial, sans-serif"><br>
            </font></div>
          <div><font style="font-family:arial,sans-serif;background-color:rgb(255,255,255);color:rgb(0,0,0)" face="arial, sans-serif">I am currently
              working on a scheduling problem and its structures, indeed
              from the modeling point of view, to investigate how a
              standard MIP solver like SCIP or Gurobi can solve this
              problem efficiently.</font></div>
          <div><font style="font-family:arial,sans-serif;background-color:rgb(255,255,255);color:rgb(0,0,0)" face="arial, sans-serif">For that, I am
              using GCG, actually PyGCGopt, to analyze these problems.
              In my previous email, I asked about some parameters at GCG
              that seed up the solving process, and the comment by
              Prof. Lübbecke was really helpful. </font></div>
          <div><font style="font-family:arial,sans-serif;background-color:rgb(255,255,255);color:rgb(0,0,0)" face="arial, sans-serif"><br>
            </font></div>
          <div><font style="font-family:arial,sans-serif;background-color:rgb(255,255,255);color:rgb(0,0,0)" face="arial, sans-serif">Now, at
              the moment I do not need to use/implement this method
              manually and I think everything can be done automatically.
              Also, on the other hand, I am not aware of that the SCIP
              has a tool that applies <a href="https://www.scipopt.org/doc-8.0.2/html/cons__components_8c.php" style="box-sizing:border-box;text-decoration-line:underline;outline:0px;font-family:arial,sans-serif;background-position:0px 0px" target="_blank">cons_components</a> as a
              successful presolving technique. By that, my questions
              are:</font></div>
          <div><font style="font-family:arial,sans-serif;background-color:rgb(255,255,255);color:rgb(0,0,0)" face="arial, sans-serif"><br>
            </font></div>
          <div><font style="font-family:arial,sans-serif;background-color:rgb(255,255,255);color:rgb(0,0,0)" face="arial, sans-serif">1) Is it possible
              to employ the mentioned decomposition by using the
              command line? (e.g. read problem -> set this method
              -> optimize)</font></div>
          <div><font style="font-family:arial,sans-serif;background-color:rgb(255,255,255);color:rgb(0,0,0)" face="arial, sans-serif">2) Is there any
              Python implementation, PySCIPopt, that shows how we can
              use this method? (unfortunately, I do not have more
              experience with C/C++)</font></div>
          <div><font style="font-family:arial,sans-serif;background-color:rgb(255,255,255);color:rgb(0,0,0)" face="arial, sans-serif">3) Based on the
              mentioned "successful presolving technique", can we infer
              that commercial solvers like Gurobi and CPLEX have gained
              from such techniques under a hood?</font></div>
          <div><font style="font-family:arial,sans-serif;background-color:rgb(255,255,255);color:rgb(0,0,0)" face="arial, sans-serif"><br>
            </font></div>
          <div><font style="font-family:arial,sans-serif;background-color:rgb(255,255,255);color:rgb(0,0,0)" face="arial, sans-serif">Best regards</font></div>
          <div><font style="font-family:arial,sans-serif;background-color:rgb(255,255,255);color:rgb(0,0,0)" face="arial, sans-serif">Abbas</font></div>
          <div><br>
          </div>
        </div>
        <br>
        <div class="gmail_quote">
          <div dir="ltr" class="gmail_attr">On Mon, Feb 5, 2024 at
            2:09 PM Hoen, Alexander <<a href="mailto:hoen@zib.de" target="_blank">hoen@zib.de</a>> wrote:<br>
          </div>
          <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)">
            <div>
              <div id="m_6266390413499941418m_-1200776570926013048m_168131694313725158m_-89375102679366714m_2434439602759906148divtagdefaultwrapper" style="font-size:12pt;font-family:Calibri,Helvetica,sans-serif;color:rgb(0,0,0)" dir="ltr">
                <p style="font-family:Calibri,Helvetica,sans-serif">Hi Abbas,<br>
                </p>
                <p style="font-family:Calibri,Helvetica,sans-serif"><br>
                </p>
                <p style="font-family:Calibri,Helvetica,sans-serif">SCIP allows the user to provide a problem
                  decomposition. Section 4.2 in the SCIP 7 Release
                  report describes how SCIP uses the decomposition.<br>
                  <br>
                  On <a href="https://www.scipopt.org/doc-8.0.2/html/DECOMP.php" id="m_6266390413499941418m_-1200776570926013048m_168131694313725158m_-89375102679366714m_2434439602759906148LPlnk74537" target="_blank" style="font-family:Calibri,Helvetica,sans-serif">https://www.scipopt.org/doc-8.0.2/html/DECOMP.php</a> there
                  is an explanation of how to provide such a
                  decomposition.<br>
                  <br>
                  Best,</p>
                <p style="font-family:Calibri,Helvetica,sans-serif">Alex</p>
              </div>
              <hr style="display:inline-block;width:98%">
              <div id="m_6266390413499941418m_-1200776570926013048m_168131694313725158m_-89375102679366714m_2434439602759906148divRplyFwdMsg" dir="ltr"><font style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0)" face="Calibri,
                  sans-serif"><b style="font-family:Calibri,sans-serif">From:</b> Scip <<a href="mailto:scip-bounces@zib.de" target="_blank" style="font-family:Calibri,sans-serif">scip-bounces@zib.de</a>>
                  on behalf of Abbas Omidi <<a href="mailto:abb.omidi@gmail.com" target="_blank" style="font-family:Calibri,sans-serif">abb.omidi@gmail.com</a>><br>
                  <b style="font-family:Calibri,sans-serif">Sent:</b> Monday, February 5, 2024 10:49:50 AM<br>
                  <b style="font-family:Calibri,sans-serif">To:</b> <a href="mailto:scip@zib.de" target="_blank" style="font-family:Calibri,sans-serif">scip@zib.de</a><br>
                  <b style="font-family:Calibri,sans-serif">Subject:</b> [SCIP] Dealing with a problem that
                  contains a specific structure with a standard MILP
                  solver</font>
                <div> </div>
              </div>
              <div>
                <div dir="ltr"><font style="font-family:arial,sans-serif;background-color:rgb(255,255,255);color:rgb(0,0,0)" face="arial, sans-serif">Dear
                    support team,<br>
                  </font>
                  <div><br>
                  </div>
                  <div><font style="font-family:arial,sans-serif;background-color:rgb(255,255,255);color:rgb(0,0,0)" face="arial, sans-serif">Suppose
                      we have a specific formulation which contains a
                      particular structure. For example, the formulation
                      contains a block diagonal format with some linking
                      constraints or variables. </font></div>
                  <div><font style="font-family:arial,sans-serif;background-color:rgb(255,255,255);color:rgb(0,0,0)" face="arial, sans-serif"><br>
                    </font></div>
                  <div><font style="font-family:arial,sans-serif;background-color:rgb(255,255,255);color:rgb(0,0,0)" face="arial, sans-serif">As far as
                      I know, this format would be suitable for the
                      decomposition scheme. Now, I am interested to know
                      if is there any benefit to using this special
                      structure with a standard MILP solver line SCIP or
                      Gurobi.<br>
                    </font></div>
                  <div><span style="background-color:rgb(255,255,255)"><font face="arial, sans-serif" style="font-family:arial,sans-serif;color:rgb(0,0,0)"><br>
                      </font></span></div>
                  <div><span style="background-color:rgb(255,255,255)"><font face="arial, sans-serif" style="font-family:arial,sans-serif;color:rgb(0,0,0)">All
                        the best</font></span></div>
                  <div><span style="background-color:rgb(255,255,255)"><font face="arial, sans-serif" style="font-family:arial,sans-serif;color:rgb(0,0,0)">Abbas</font></span></div>
                </div>
              </div>
            </div>
          </blockquote>
        </div>
      </div>
      <br>
      <fieldset></fieldset>
      <pre style="font-family:monospace">_______________________________________________
Scip mailing list
<a href="mailto:Scip@zib.de" target="_blank" style="font-family:monospace">Scip@zib.de</a>
<a href="https://listserv.zib.de/mailman/listinfo/scip" target="_blank" style="font-family:monospace">https://listserv.zib.de/mailman/listinfo/scip</a>
</pre>
    </blockquote>
    <br>
    <pre cols="72" style="font-family:monospace">-- 
Katrin Halbig, FAU Erlangen-Nürnberg, Analytics & Mixed-Integer Optimization, Tel. +49 9131 85-67179</pre>
  

<span>_______________________________________________</span><br><span>Scip mailing list</span><br><span><a href="mailto:Scip@zib.de" target="_blank">Scip@zib.de</a></span><br><span><a href="https://listserv.zib.de/mailman/listinfo/scip" target="_blank">https://listserv.zib.de/mailman/listinfo/scip</a></span><br></div></blockquote></div></div></blockquote></div>
</blockquote></div>
</blockquote></div></div>