Are valid inequalities worth the effort given modern solver preprocessing options?Solver rounding precision vs programming language rounding precisionWhat is the “big-M” method? And are there two of them?What are the tradeoffs between “exact” and Reinforcement Learning methods for solving optimization problemsWhy is it important to choose big-M carefully and what are the consequences of doing it badly?Why the optimal value that minimizes a function does not satisfy condition?How to select a Constraint Programming SolverRead an LP/MPS file in the PuLPHow to evaluate the performance of open source solver?Are there examples of spatially explicit MIP problems?Estimation of the size of Branch-and-Bound trees using ML

Generate random number in Unity without class ambiguity

A Checkmate of Dubious Legality

Pronouns when writing from the point of view of a robot

Does a humanoid possessed by a ghost register as undead to a paladin's Divine Sense?

Why did the US Airways Flight 1549 passengers stay on the wings?

How to open Lightning component in new window

Properties: Left of the colon

Why is it to say 'paucis post diebus'?

Is it okay to use different fingers every time while playing a song on keyboard? Is it considered a bad practice?

Did Logical Positivism fail because it simply denied human emotion?

In MTG, was there ever a five-color deck that worked well?

What does "autolyco-sentimental" mean?

Is it uncompelling to continue the story with lower stakes?

Why does capacitance not depend on the material of the plates?

Getting an entry level IT position later in life

ZFS on Linux: Which mountpoint option when mounting manually per script?

conditional probability of dependent random variables

how to change dot to underline in multiple file-names?

split inside flalign

Should I use (1,3) or (1-3) or (4)?

…down the primrose path

If someone else uploads my GPL'd code to Github without my permission, is that a copyright violation?

Is there any difference between "result in" and "end up with"?

Can attackers change the public key of certificate during the SSL handshake



Are valid inequalities worth the effort given modern solver preprocessing options?


Solver rounding precision vs programming language rounding precisionWhat is the “big-M” method? And are there two of them?What are the tradeoffs between “exact” and Reinforcement Learning methods for solving optimization problemsWhy is it important to choose big-M carefully and what are the consequences of doing it badly?Why the optimal value that minimizes a function does not satisfy condition?How to select a Constraint Programming SolverRead an LP/MPS file in the PuLPHow to evaluate the performance of open source solver?Are there examples of spatially explicit MIP problems?Estimation of the size of Branch-and-Bound trees using ML













11












$begingroup$


In Laurence Wolsey's Integer Programming[1], he presents a well-known procedure for deriving valid inequalities (VI) suitable for integer and mixed integer linear problems (see Section 8.3, and also Ch 9).



In the application-oriented literature, I've often seen authors present a MILP formulation then follow it up with VIs they have derived and found to be helpful in the problem, usually accompanied with experimental results (robust or not) to show the utility of the VI. (For clarification, I'm referring to VIs authors suggest adding to the formulation, not user-generated cuts derived and/or added during the solution procedure.)



Q: With the extensive pre-processing options available with commercial solvers like CPLEX or Gurobi, is this still worth doing? If yes, what are the best practices for testing and convincing oneself a VI (or set of VIs) is worth the trouble?




[1] Wolsey, Laurence A. 1998. Integer Programming. Wiley: New York. ISBN 0471283665.










share|improve this question











$endgroup$













  • $begingroup$
    Valid inequalities generally do help. That's why all good MIP solvers use them. Are you asking if it's worth it to add user-generated cuts?
    $endgroup$
    – Austin Buchanan
    8 hours ago











  • $begingroup$
    @AustinBuchanan Latest edit should help clarify. Yes, VIs are useful during the solution procedure (we need cuts!). I'm specifically talking about the addition of VIs added to the formulation prior to passing to a solver. If this is still unclear, I'll be happy to edit.
    $endgroup$
    – SecretAgentMan
    8 hours ago















11












$begingroup$


In Laurence Wolsey's Integer Programming[1], he presents a well-known procedure for deriving valid inequalities (VI) suitable for integer and mixed integer linear problems (see Section 8.3, and also Ch 9).



In the application-oriented literature, I've often seen authors present a MILP formulation then follow it up with VIs they have derived and found to be helpful in the problem, usually accompanied with experimental results (robust or not) to show the utility of the VI. (For clarification, I'm referring to VIs authors suggest adding to the formulation, not user-generated cuts derived and/or added during the solution procedure.)



Q: With the extensive pre-processing options available with commercial solvers like CPLEX or Gurobi, is this still worth doing? If yes, what are the best practices for testing and convincing oneself a VI (or set of VIs) is worth the trouble?




[1] Wolsey, Laurence A. 1998. Integer Programming. Wiley: New York. ISBN 0471283665.










share|improve this question











$endgroup$













  • $begingroup$
    Valid inequalities generally do help. That's why all good MIP solvers use them. Are you asking if it's worth it to add user-generated cuts?
    $endgroup$
    – Austin Buchanan
    8 hours ago











  • $begingroup$
    @AustinBuchanan Latest edit should help clarify. Yes, VIs are useful during the solution procedure (we need cuts!). I'm specifically talking about the addition of VIs added to the formulation prior to passing to a solver. If this is still unclear, I'll be happy to edit.
    $endgroup$
    – SecretAgentMan
    8 hours ago













11












11








11





$begingroup$


In Laurence Wolsey's Integer Programming[1], he presents a well-known procedure for deriving valid inequalities (VI) suitable for integer and mixed integer linear problems (see Section 8.3, and also Ch 9).



In the application-oriented literature, I've often seen authors present a MILP formulation then follow it up with VIs they have derived and found to be helpful in the problem, usually accompanied with experimental results (robust or not) to show the utility of the VI. (For clarification, I'm referring to VIs authors suggest adding to the formulation, not user-generated cuts derived and/or added during the solution procedure.)



Q: With the extensive pre-processing options available with commercial solvers like CPLEX or Gurobi, is this still worth doing? If yes, what are the best practices for testing and convincing oneself a VI (or set of VIs) is worth the trouble?




[1] Wolsey, Laurence A. 1998. Integer Programming. Wiley: New York. ISBN 0471283665.










share|improve this question











$endgroup$




In Laurence Wolsey's Integer Programming[1], he presents a well-known procedure for deriving valid inequalities (VI) suitable for integer and mixed integer linear problems (see Section 8.3, and also Ch 9).



In the application-oriented literature, I've often seen authors present a MILP formulation then follow it up with VIs they have derived and found to be helpful in the problem, usually accompanied with experimental results (robust or not) to show the utility of the VI. (For clarification, I'm referring to VIs authors suggest adding to the formulation, not user-generated cuts derived and/or added during the solution procedure.)



Q: With the extensive pre-processing options available with commercial solvers like CPLEX or Gurobi, is this still worth doing? If yes, what are the best practices for testing and convincing oneself a VI (or set of VIs) is worth the trouble?




[1] Wolsey, Laurence A. 1998. Integer Programming. Wiley: New York. ISBN 0471283665.







mixed-integer-programming optimization solver valid-inequalities






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 8 hours ago







SecretAgentMan

















asked 9 hours ago









SecretAgentManSecretAgentMan

6512 silver badges21 bronze badges




6512 silver badges21 bronze badges














  • $begingroup$
    Valid inequalities generally do help. That's why all good MIP solvers use them. Are you asking if it's worth it to add user-generated cuts?
    $endgroup$
    – Austin Buchanan
    8 hours ago











  • $begingroup$
    @AustinBuchanan Latest edit should help clarify. Yes, VIs are useful during the solution procedure (we need cuts!). I'm specifically talking about the addition of VIs added to the formulation prior to passing to a solver. If this is still unclear, I'll be happy to edit.
    $endgroup$
    – SecretAgentMan
    8 hours ago
















  • $begingroup$
    Valid inequalities generally do help. That's why all good MIP solvers use them. Are you asking if it's worth it to add user-generated cuts?
    $endgroup$
    – Austin Buchanan
    8 hours ago











  • $begingroup$
    @AustinBuchanan Latest edit should help clarify. Yes, VIs are useful during the solution procedure (we need cuts!). I'm specifically talking about the addition of VIs added to the formulation prior to passing to a solver. If this is still unclear, I'll be happy to edit.
    $endgroup$
    – SecretAgentMan
    8 hours ago















$begingroup$
Valid inequalities generally do help. That's why all good MIP solvers use them. Are you asking if it's worth it to add user-generated cuts?
$endgroup$
– Austin Buchanan
8 hours ago





$begingroup$
Valid inequalities generally do help. That's why all good MIP solvers use them. Are you asking if it's worth it to add user-generated cuts?
$endgroup$
– Austin Buchanan
8 hours ago













$begingroup$
@AustinBuchanan Latest edit should help clarify. Yes, VIs are useful during the solution procedure (we need cuts!). I'm specifically talking about the addition of VIs added to the formulation prior to passing to a solver. If this is still unclear, I'll be happy to edit.
$endgroup$
– SecretAgentMan
8 hours ago




$begingroup$
@AustinBuchanan Latest edit should help clarify. Yes, VIs are useful during the solution procedure (we need cuts!). I'm specifically talking about the addition of VIs added to the formulation prior to passing to a solver. If this is still unclear, I'll be happy to edit.
$endgroup$
– SecretAgentMan
8 hours ago










2 Answers
2






active

oldest

votes


















3












$begingroup$

In my experience, it's rarely, but sometimes still, worth doing. There is no general answer however, as it's very model-specific (and sometimes even instance-specific). The only way to know for sure is to try both ways with the solver of your choice. Your results will also change over time, because newer versions of solvers generally implement better algorithms and use differently tuned heuristics.






share|improve this answer











$endgroup$














  • $begingroup$
    Not clear why you mention preprocessing: maybe you mean that modern solvers already exploit a number of (powerful) cutting plane families (VIs), and you ask whether it makes sense to investigate new ones for specific problems.
    $endgroup$
    – Matteo Fischetti
    8 hours ago










  • $begingroup$
    @Matteo Fischetti: I did not mention preprocessing in my answer...?!? Did I misunderstand your comment?
    $endgroup$
    – Simon
    7 hours ago










  • $begingroup$
    @Simon Perhaps this was intended as a comment on the question? I'll wait for the commenter to clarify before I edit the question to address.
    $endgroup$
    – SecretAgentMan
    5 hours ago


















1












$begingroup$

It is, at least sometimes, still very useful.
I have a short note (link) on a problem in quay crane scheduling in which adding a single - rather uninspired - family of valid inequalities greatly reduced solution times.



My understanding is that you make the most out of enumerated valid inequalities when the linear relaxation of the MIP is poor, as they can quickly improve the dual bound.






share|improve this answer









$endgroup$

















    Your Answer








    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "700"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: false,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: null,
    bindNavPrevention: true,
    postfix: "",
    imageUploader:
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    ,
    noCode: true, onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );













    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2for.stackexchange.com%2fquestions%2f1170%2fare-valid-inequalities-worth-the-effort-given-modern-solver-preprocessing-option%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    2 Answers
    2






    active

    oldest

    votes








    2 Answers
    2






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    3












    $begingroup$

    In my experience, it's rarely, but sometimes still, worth doing. There is no general answer however, as it's very model-specific (and sometimes even instance-specific). The only way to know for sure is to try both ways with the solver of your choice. Your results will also change over time, because newer versions of solvers generally implement better algorithms and use differently tuned heuristics.






    share|improve this answer











    $endgroup$














    • $begingroup$
      Not clear why you mention preprocessing: maybe you mean that modern solvers already exploit a number of (powerful) cutting plane families (VIs), and you ask whether it makes sense to investigate new ones for specific problems.
      $endgroup$
      – Matteo Fischetti
      8 hours ago










    • $begingroup$
      @Matteo Fischetti: I did not mention preprocessing in my answer...?!? Did I misunderstand your comment?
      $endgroup$
      – Simon
      7 hours ago










    • $begingroup$
      @Simon Perhaps this was intended as a comment on the question? I'll wait for the commenter to clarify before I edit the question to address.
      $endgroup$
      – SecretAgentMan
      5 hours ago















    3












    $begingroup$

    In my experience, it's rarely, but sometimes still, worth doing. There is no general answer however, as it's very model-specific (and sometimes even instance-specific). The only way to know for sure is to try both ways with the solver of your choice. Your results will also change over time, because newer versions of solvers generally implement better algorithms and use differently tuned heuristics.






    share|improve this answer











    $endgroup$














    • $begingroup$
      Not clear why you mention preprocessing: maybe you mean that modern solvers already exploit a number of (powerful) cutting plane families (VIs), and you ask whether it makes sense to investigate new ones for specific problems.
      $endgroup$
      – Matteo Fischetti
      8 hours ago










    • $begingroup$
      @Matteo Fischetti: I did not mention preprocessing in my answer...?!? Did I misunderstand your comment?
      $endgroup$
      – Simon
      7 hours ago










    • $begingroup$
      @Simon Perhaps this was intended as a comment on the question? I'll wait for the commenter to clarify before I edit the question to address.
      $endgroup$
      – SecretAgentMan
      5 hours ago













    3












    3








    3





    $begingroup$

    In my experience, it's rarely, but sometimes still, worth doing. There is no general answer however, as it's very model-specific (and sometimes even instance-specific). The only way to know for sure is to try both ways with the solver of your choice. Your results will also change over time, because newer versions of solvers generally implement better algorithms and use differently tuned heuristics.






    share|improve this answer











    $endgroup$



    In my experience, it's rarely, but sometimes still, worth doing. There is no general answer however, as it's very model-specific (and sometimes even instance-specific). The only way to know for sure is to try both ways with the solver of your choice. Your results will also change over time, because newer versions of solvers generally implement better algorithms and use differently tuned heuristics.







    share|improve this answer














    share|improve this answer



    share|improve this answer








    edited 7 hours ago

























    answered 8 hours ago









    SimonSimon

    5721 silver badge13 bronze badges




    5721 silver badge13 bronze badges














    • $begingroup$
      Not clear why you mention preprocessing: maybe you mean that modern solvers already exploit a number of (powerful) cutting plane families (VIs), and you ask whether it makes sense to investigate new ones for specific problems.
      $endgroup$
      – Matteo Fischetti
      8 hours ago










    • $begingroup$
      @Matteo Fischetti: I did not mention preprocessing in my answer...?!? Did I misunderstand your comment?
      $endgroup$
      – Simon
      7 hours ago










    • $begingroup$
      @Simon Perhaps this was intended as a comment on the question? I'll wait for the commenter to clarify before I edit the question to address.
      $endgroup$
      – SecretAgentMan
      5 hours ago
















    • $begingroup$
      Not clear why you mention preprocessing: maybe you mean that modern solvers already exploit a number of (powerful) cutting plane families (VIs), and you ask whether it makes sense to investigate new ones for specific problems.
      $endgroup$
      – Matteo Fischetti
      8 hours ago










    • $begingroup$
      @Matteo Fischetti: I did not mention preprocessing in my answer...?!? Did I misunderstand your comment?
      $endgroup$
      – Simon
      7 hours ago










    • $begingroup$
      @Simon Perhaps this was intended as a comment on the question? I'll wait for the commenter to clarify before I edit the question to address.
      $endgroup$
      – SecretAgentMan
      5 hours ago















    $begingroup$
    Not clear why you mention preprocessing: maybe you mean that modern solvers already exploit a number of (powerful) cutting plane families (VIs), and you ask whether it makes sense to investigate new ones for specific problems.
    $endgroup$
    – Matteo Fischetti
    8 hours ago




    $begingroup$
    Not clear why you mention preprocessing: maybe you mean that modern solvers already exploit a number of (powerful) cutting plane families (VIs), and you ask whether it makes sense to investigate new ones for specific problems.
    $endgroup$
    – Matteo Fischetti
    8 hours ago












    $begingroup$
    @Matteo Fischetti: I did not mention preprocessing in my answer...?!? Did I misunderstand your comment?
    $endgroup$
    – Simon
    7 hours ago




    $begingroup$
    @Matteo Fischetti: I did not mention preprocessing in my answer...?!? Did I misunderstand your comment?
    $endgroup$
    – Simon
    7 hours ago












    $begingroup$
    @Simon Perhaps this was intended as a comment on the question? I'll wait for the commenter to clarify before I edit the question to address.
    $endgroup$
    – SecretAgentMan
    5 hours ago




    $begingroup$
    @Simon Perhaps this was intended as a comment on the question? I'll wait for the commenter to clarify before I edit the question to address.
    $endgroup$
    – SecretAgentMan
    5 hours ago











    1












    $begingroup$

    It is, at least sometimes, still very useful.
    I have a short note (link) on a problem in quay crane scheduling in which adding a single - rather uninspired - family of valid inequalities greatly reduced solution times.



    My understanding is that you make the most out of enumerated valid inequalities when the linear relaxation of the MIP is poor, as they can quickly improve the dual bound.






    share|improve this answer









    $endgroup$



















      1












      $begingroup$

      It is, at least sometimes, still very useful.
      I have a short note (link) on a problem in quay crane scheduling in which adding a single - rather uninspired - family of valid inequalities greatly reduced solution times.



      My understanding is that you make the most out of enumerated valid inequalities when the linear relaxation of the MIP is poor, as they can quickly improve the dual bound.






      share|improve this answer









      $endgroup$

















        1












        1








        1





        $begingroup$

        It is, at least sometimes, still very useful.
        I have a short note (link) on a problem in quay crane scheduling in which adding a single - rather uninspired - family of valid inequalities greatly reduced solution times.



        My understanding is that you make the most out of enumerated valid inequalities when the linear relaxation of the MIP is poor, as they can quickly improve the dual bound.






        share|improve this answer









        $endgroup$



        It is, at least sometimes, still very useful.
        I have a short note (link) on a problem in quay crane scheduling in which adding a single - rather uninspired - family of valid inequalities greatly reduced solution times.



        My understanding is that you make the most out of enumerated valid inequalities when the linear relaxation of the MIP is poor, as they can quickly improve the dual bound.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered 2 hours ago









        Alberto SantiniAlberto Santini

        6413 silver badges6 bronze badges




        6413 silver badges6 bronze badges






























            draft saved

            draft discarded
















































            Thanks for contributing an answer to Operations Research Stack Exchange!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            Use MathJax to format equations. MathJax reference.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2for.stackexchange.com%2fquestions%2f1170%2fare-valid-inequalities-worth-the-effort-given-modern-solver-preprocessing-option%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Sahara Skak | Bilen | Luke uk diar | NawigatsjuunCommonskategorii: SaharaWikivoyage raisfeerer: Sahara26° N, 13° O

            The fall designs the understood secretary. Looking glass Science Shock Discovery Hot Everybody Loves Raymond Smile 곳 서비스 성실하다 Defas Kaloolon Definition: To combine or impregnate with sulphur or any of its compounds as to sulphurize caoutchouc in vulcanizing Flame colored Reason Useful Thin Help 갖다 유명하다 낙엽 장례식 Country Iron Definition: A fencer a gladiator one who exhibits his skill in the use of the sword Definition: The American black throated bunting Spiza Americana Nostalgic Needy Method to my madness 시키다 평가되다 전부 소설가 우아하다 Argument Tin Feeling Representative Gym Music Gaur Chicken 일쑤 코치 편 학생증 The harbor values the sugar. Vasagle Yammoe Enstatite Definition: Capable of being limited Road Neighborly Five Refer Built Kangaroo 비비다 Degree Release Bargain Horse 하루 형님 유교 석 동부 괴롭히다 경제력

            19. јануар Садржај Догађаји Рођења Смрти Празници и дани сећања Види још Референце Мени за навигацијуу