If then convex condition in mixed integer linear programming with binary variables The 2019 Stack Overflow Developer Survey Results Are InNested optimization problems solving using mixed integer linear programmingBinary integer variables in linear programmingMixed-Integer Bilinear Program (MIBLP) with linear constraintsLinear programming or mixed integer linear programming approximationhow to solve binary integer programming with non-convex nonlinear objective function?Convex constraint in a Mixed-Integer ProgramVariable selection in mixed linear integer programming or mixed integer programming with convex constraints and objectiveA mixed integer programming problemmixed integer linear programming problemOptimize the product of three binary variables: convex relaxation and integer solutions

Loose spokes after only a few rides

Does a dangling wire really electrocute me if I'm standing in water?

Lightning Grid - Columns and Rows?

Do these rules for Critical Successes and Critical Failures seem Fair?

Is flight data recorder erased after every flight?

Right tool to dig six foot holes?

What to do when moving next to a bird sanctuary with a loosely-domesticated cat?

For what reasons would an animal species NOT cross a *horizontal* land bridge?

What do hard-Brexiteers want with respect to the Irish border?

"as much details as you can remember"

Deal with toxic manager when you can't quit

Origin of "cooter" meaning "vagina"

Aging parents with no investments

Why can Shazam fly?

If I score a critical hit on an 18 or higher, what are my chances of getting a critical hit if I roll 3d20?

What are the motivations for publishing new editions of an existing textbook, beyond new discoveries in a field?

How to type this arrow in math mode?

Why hard-Brexiteers don't insist on a hard border to prevent illegal immigration after Brexit?

How technical should a Scrum Master be to effectively remove impediments?

How to deal with fear of taking dependencies

What is the most effective way of iterating a std::vector and why?

Is bread bad for ducks?

Is there any way to tell whether the shot is going to hit you or not?

Identify boardgame from Big movie



If then convex condition in mixed integer linear programming with binary variables



The 2019 Stack Overflow Developer Survey Results Are InNested optimization problems solving using mixed integer linear programmingBinary integer variables in linear programmingMixed-Integer Bilinear Program (MIBLP) with linear constraintsLinear programming or mixed integer linear programming approximationhow to solve binary integer programming with non-convex nonlinear objective function?Convex constraint in a Mixed-Integer ProgramVariable selection in mixed linear integer programming or mixed integer programming with convex constraints and objectiveA mixed integer programming problemmixed integer linear programming problemOptimize the product of three binary variables: convex relaxation and integer solutions










1












$begingroup$


I have a convex polynomial $f(x_1,dots,x_t)$ where $x_1,dots,x_tinmathbb R$ and constant $a$.



If condition $$f(x_1,dots,x_t)leq a$$ holds I have to make variables $y_1,dots,y_ninmathbb R$ ($ngeq t$ and some of $y_i$s are same as $x_i$s) satisfy some linear condition $Ayleq b$ where $Ainmathbb R^mtimes n$ and $binmathbb R^m$ are fixed and known where $y^T=(y_1,dots,y_n)$ is variable vector.



If condition $$f(x_1,dots,x_t)> a$$ holds I just have to make variables $y_1,dots,y_ninmathbb R$ to satisfy nothing however it should be defined.




Is this possible to this with feasibility Mixed integer programming with no objective function possibly by introducing integer variables and only additional linear conditions?











share|cite|improve this question











$endgroup$
















    1












    $begingroup$


    I have a convex polynomial $f(x_1,dots,x_t)$ where $x_1,dots,x_tinmathbb R$ and constant $a$.



    If condition $$f(x_1,dots,x_t)leq a$$ holds I have to make variables $y_1,dots,y_ninmathbb R$ ($ngeq t$ and some of $y_i$s are same as $x_i$s) satisfy some linear condition $Ayleq b$ where $Ainmathbb R^mtimes n$ and $binmathbb R^m$ are fixed and known where $y^T=(y_1,dots,y_n)$ is variable vector.



    If condition $$f(x_1,dots,x_t)> a$$ holds I just have to make variables $y_1,dots,y_ninmathbb R$ to satisfy nothing however it should be defined.




    Is this possible to this with feasibility Mixed integer programming with no objective function possibly by introducing integer variables and only additional linear conditions?











    share|cite|improve this question











    $endgroup$














      1












      1








      1


      1



      $begingroup$


      I have a convex polynomial $f(x_1,dots,x_t)$ where $x_1,dots,x_tinmathbb R$ and constant $a$.



      If condition $$f(x_1,dots,x_t)leq a$$ holds I have to make variables $y_1,dots,y_ninmathbb R$ ($ngeq t$ and some of $y_i$s are same as $x_i$s) satisfy some linear condition $Ayleq b$ where $Ainmathbb R^mtimes n$ and $binmathbb R^m$ are fixed and known where $y^T=(y_1,dots,y_n)$ is variable vector.



      If condition $$f(x_1,dots,x_t)> a$$ holds I just have to make variables $y_1,dots,y_ninmathbb R$ to satisfy nothing however it should be defined.




      Is this possible to this with feasibility Mixed integer programming with no objective function possibly by introducing integer variables and only additional linear conditions?











      share|cite|improve this question











      $endgroup$




      I have a convex polynomial $f(x_1,dots,x_t)$ where $x_1,dots,x_tinmathbb R$ and constant $a$.



      If condition $$f(x_1,dots,x_t)leq a$$ holds I have to make variables $y_1,dots,y_ninmathbb R$ ($ngeq t$ and some of $y_i$s are same as $x_i$s) satisfy some linear condition $Ayleq b$ where $Ainmathbb R^mtimes n$ and $binmathbb R^m$ are fixed and known where $y^T=(y_1,dots,y_n)$ is variable vector.



      If condition $$f(x_1,dots,x_t)> a$$ holds I just have to make variables $y_1,dots,y_ninmathbb R$ to satisfy nothing however it should be defined.




      Is this possible to this with feasibility Mixed integer programming with no objective function possibly by introducing integer variables and only additional linear conditions?








      logic convex-optimization linear-programming integer-programming mixed-integer-programming






      share|cite|improve this question















      share|cite|improve this question













      share|cite|improve this question




      share|cite|improve this question








      edited Apr 6 at 20:03







      Brout

















      asked Apr 6 at 11:47









      BroutBrout

      2,6111431




      2,6111431




















          2 Answers
          2






          active

          oldest

          votes


















          0












          $begingroup$

          $$
          Ay le b + M(1-delta) \
          f(x_1,...,x_n) le a + M(1-delta) \
          delta in 0,1
          $$

          And penalize the $delta$ variable in your cost function so that it is set to $0$ only if there is no other option.






          share|cite|improve this answer











          $endgroup$












          • $begingroup$
            @Kuifke What happens if condition does not hold is also important to me.
            $endgroup$
            – Brout
            Apr 6 at 11:53










          • $begingroup$
            If the condition does not hold, then $delta = 0$, and the first equation becomes $Ay le b+M$ which always holds.
            $endgroup$
            – Kuifje
            Apr 6 at 11:54










          • $begingroup$
            Then $y$ may not satisfy the condition.
            $endgroup$
            – Brout
            Apr 6 at 11:55










          • $begingroup$
            But you wrote that "if the condition does not hold I should not care."
            $endgroup$
            – Kuifje
            Apr 6 at 11:56










          • $begingroup$
            That means such a $y$ should be definable in the program.
            $endgroup$
            – Brout
            Apr 6 at 11:57


















          0












          $begingroup$

          I can think of two alternatives, neither of which is perfect. Both involve a binary variable $delta$, a large scalar $M$ and a vector of large scalars $vecM$. Both use the inequality $Ayle b + vecM(1-delta)$.



          The first approach adds the inequality $f(x)ge a - Mdelta$. The weakness of this version is that if $f(x)=a$, $delta$ can be either 1 (logically correct) or 0. So the if-then requirement fails to be enforced if $f(x)=a$.



          The second approach instead uses $f(x)ge a + epsilon - Mdelta$ for some small $epsilon > 0$. The good news is that $f(x)=a$ will result in $Ayle b$. The bad news is that $f(x)in (a, a+epsilon)$ enforces $Ayle b$, which was not wanted.



          Note that @Kuifje's approach, penalizing $delta$, can achieve exactly what was asked for, provided that a penalty coefficient can be found that is large enough to enforce the requirement (which is testable: see if the final solution violates it) but not large enough to produce a suboptimal solution (harder to test).






          share|cite|improve this answer









          $endgroup$













            Your Answer





            StackExchange.ifUsing("editor", function ()
            return StackExchange.using("mathjaxEditing", function ()
            StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix)
            StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
            );
            );
            , "mathjax-editing");

            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "69"
            ;
            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: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            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%2fmath.stackexchange.com%2fquestions%2f3176907%2fif-then-convex-condition-in-mixed-integer-linear-programming-with-binary-variabl%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









            0












            $begingroup$

            $$
            Ay le b + M(1-delta) \
            f(x_1,...,x_n) le a + M(1-delta) \
            delta in 0,1
            $$

            And penalize the $delta$ variable in your cost function so that it is set to $0$ only if there is no other option.






            share|cite|improve this answer











            $endgroup$












            • $begingroup$
              @Kuifke What happens if condition does not hold is also important to me.
              $endgroup$
              – Brout
              Apr 6 at 11:53










            • $begingroup$
              If the condition does not hold, then $delta = 0$, and the first equation becomes $Ay le b+M$ which always holds.
              $endgroup$
              – Kuifje
              Apr 6 at 11:54










            • $begingroup$
              Then $y$ may not satisfy the condition.
              $endgroup$
              – Brout
              Apr 6 at 11:55










            • $begingroup$
              But you wrote that "if the condition does not hold I should not care."
              $endgroup$
              – Kuifje
              Apr 6 at 11:56










            • $begingroup$
              That means such a $y$ should be definable in the program.
              $endgroup$
              – Brout
              Apr 6 at 11:57















            0












            $begingroup$

            $$
            Ay le b + M(1-delta) \
            f(x_1,...,x_n) le a + M(1-delta) \
            delta in 0,1
            $$

            And penalize the $delta$ variable in your cost function so that it is set to $0$ only if there is no other option.






            share|cite|improve this answer











            $endgroup$












            • $begingroup$
              @Kuifke What happens if condition does not hold is also important to me.
              $endgroup$
              – Brout
              Apr 6 at 11:53










            • $begingroup$
              If the condition does not hold, then $delta = 0$, and the first equation becomes $Ay le b+M$ which always holds.
              $endgroup$
              – Kuifje
              Apr 6 at 11:54










            • $begingroup$
              Then $y$ may not satisfy the condition.
              $endgroup$
              – Brout
              Apr 6 at 11:55










            • $begingroup$
              But you wrote that "if the condition does not hold I should not care."
              $endgroup$
              – Kuifje
              Apr 6 at 11:56










            • $begingroup$
              That means such a $y$ should be definable in the program.
              $endgroup$
              – Brout
              Apr 6 at 11:57













            0












            0








            0





            $begingroup$

            $$
            Ay le b + M(1-delta) \
            f(x_1,...,x_n) le a + M(1-delta) \
            delta in 0,1
            $$

            And penalize the $delta$ variable in your cost function so that it is set to $0$ only if there is no other option.






            share|cite|improve this answer











            $endgroup$



            $$
            Ay le b + M(1-delta) \
            f(x_1,...,x_n) le a + M(1-delta) \
            delta in 0,1
            $$

            And penalize the $delta$ variable in your cost function so that it is set to $0$ only if there is no other option.







            share|cite|improve this answer














            share|cite|improve this answer



            share|cite|improve this answer








            edited Apr 6 at 11:58

























            answered Apr 6 at 11:51









            KuifjeKuifje

            7,2722726




            7,2722726











            • $begingroup$
              @Kuifke What happens if condition does not hold is also important to me.
              $endgroup$
              – Brout
              Apr 6 at 11:53










            • $begingroup$
              If the condition does not hold, then $delta = 0$, and the first equation becomes $Ay le b+M$ which always holds.
              $endgroup$
              – Kuifje
              Apr 6 at 11:54










            • $begingroup$
              Then $y$ may not satisfy the condition.
              $endgroup$
              – Brout
              Apr 6 at 11:55










            • $begingroup$
              But you wrote that "if the condition does not hold I should not care."
              $endgroup$
              – Kuifje
              Apr 6 at 11:56










            • $begingroup$
              That means such a $y$ should be definable in the program.
              $endgroup$
              – Brout
              Apr 6 at 11:57
















            • $begingroup$
              @Kuifke What happens if condition does not hold is also important to me.
              $endgroup$
              – Brout
              Apr 6 at 11:53










            • $begingroup$
              If the condition does not hold, then $delta = 0$, and the first equation becomes $Ay le b+M$ which always holds.
              $endgroup$
              – Kuifje
              Apr 6 at 11:54










            • $begingroup$
              Then $y$ may not satisfy the condition.
              $endgroup$
              – Brout
              Apr 6 at 11:55










            • $begingroup$
              But you wrote that "if the condition does not hold I should not care."
              $endgroup$
              – Kuifje
              Apr 6 at 11:56










            • $begingroup$
              That means such a $y$ should be definable in the program.
              $endgroup$
              – Brout
              Apr 6 at 11:57















            $begingroup$
            @Kuifke What happens if condition does not hold is also important to me.
            $endgroup$
            – Brout
            Apr 6 at 11:53




            $begingroup$
            @Kuifke What happens if condition does not hold is also important to me.
            $endgroup$
            – Brout
            Apr 6 at 11:53












            $begingroup$
            If the condition does not hold, then $delta = 0$, and the first equation becomes $Ay le b+M$ which always holds.
            $endgroup$
            – Kuifje
            Apr 6 at 11:54




            $begingroup$
            If the condition does not hold, then $delta = 0$, and the first equation becomes $Ay le b+M$ which always holds.
            $endgroup$
            – Kuifje
            Apr 6 at 11:54












            $begingroup$
            Then $y$ may not satisfy the condition.
            $endgroup$
            – Brout
            Apr 6 at 11:55




            $begingroup$
            Then $y$ may not satisfy the condition.
            $endgroup$
            – Brout
            Apr 6 at 11:55












            $begingroup$
            But you wrote that "if the condition does not hold I should not care."
            $endgroup$
            – Kuifje
            Apr 6 at 11:56




            $begingroup$
            But you wrote that "if the condition does not hold I should not care."
            $endgroup$
            – Kuifje
            Apr 6 at 11:56












            $begingroup$
            That means such a $y$ should be definable in the program.
            $endgroup$
            – Brout
            Apr 6 at 11:57




            $begingroup$
            That means such a $y$ should be definable in the program.
            $endgroup$
            – Brout
            Apr 6 at 11:57











            0












            $begingroup$

            I can think of two alternatives, neither of which is perfect. Both involve a binary variable $delta$, a large scalar $M$ and a vector of large scalars $vecM$. Both use the inequality $Ayle b + vecM(1-delta)$.



            The first approach adds the inequality $f(x)ge a - Mdelta$. The weakness of this version is that if $f(x)=a$, $delta$ can be either 1 (logically correct) or 0. So the if-then requirement fails to be enforced if $f(x)=a$.



            The second approach instead uses $f(x)ge a + epsilon - Mdelta$ for some small $epsilon > 0$. The good news is that $f(x)=a$ will result in $Ayle b$. The bad news is that $f(x)in (a, a+epsilon)$ enforces $Ayle b$, which was not wanted.



            Note that @Kuifje's approach, penalizing $delta$, can achieve exactly what was asked for, provided that a penalty coefficient can be found that is large enough to enforce the requirement (which is testable: see if the final solution violates it) but not large enough to produce a suboptimal solution (harder to test).






            share|cite|improve this answer









            $endgroup$

















              0












              $begingroup$

              I can think of two alternatives, neither of which is perfect. Both involve a binary variable $delta$, a large scalar $M$ and a vector of large scalars $vecM$. Both use the inequality $Ayle b + vecM(1-delta)$.



              The first approach adds the inequality $f(x)ge a - Mdelta$. The weakness of this version is that if $f(x)=a$, $delta$ can be either 1 (logically correct) or 0. So the if-then requirement fails to be enforced if $f(x)=a$.



              The second approach instead uses $f(x)ge a + epsilon - Mdelta$ for some small $epsilon > 0$. The good news is that $f(x)=a$ will result in $Ayle b$. The bad news is that $f(x)in (a, a+epsilon)$ enforces $Ayle b$, which was not wanted.



              Note that @Kuifje's approach, penalizing $delta$, can achieve exactly what was asked for, provided that a penalty coefficient can be found that is large enough to enforce the requirement (which is testable: see if the final solution violates it) but not large enough to produce a suboptimal solution (harder to test).






              share|cite|improve this answer









              $endgroup$















                0












                0








                0





                $begingroup$

                I can think of two alternatives, neither of which is perfect. Both involve a binary variable $delta$, a large scalar $M$ and a vector of large scalars $vecM$. Both use the inequality $Ayle b + vecM(1-delta)$.



                The first approach adds the inequality $f(x)ge a - Mdelta$. The weakness of this version is that if $f(x)=a$, $delta$ can be either 1 (logically correct) or 0. So the if-then requirement fails to be enforced if $f(x)=a$.



                The second approach instead uses $f(x)ge a + epsilon - Mdelta$ for some small $epsilon > 0$. The good news is that $f(x)=a$ will result in $Ayle b$. The bad news is that $f(x)in (a, a+epsilon)$ enforces $Ayle b$, which was not wanted.



                Note that @Kuifje's approach, penalizing $delta$, can achieve exactly what was asked for, provided that a penalty coefficient can be found that is large enough to enforce the requirement (which is testable: see if the final solution violates it) but not large enough to produce a suboptimal solution (harder to test).






                share|cite|improve this answer









                $endgroup$



                I can think of two alternatives, neither of which is perfect. Both involve a binary variable $delta$, a large scalar $M$ and a vector of large scalars $vecM$. Both use the inequality $Ayle b + vecM(1-delta)$.



                The first approach adds the inequality $f(x)ge a - Mdelta$. The weakness of this version is that if $f(x)=a$, $delta$ can be either 1 (logically correct) or 0. So the if-then requirement fails to be enforced if $f(x)=a$.



                The second approach instead uses $f(x)ge a + epsilon - Mdelta$ for some small $epsilon > 0$. The good news is that $f(x)=a$ will result in $Ayle b$. The bad news is that $f(x)in (a, a+epsilon)$ enforces $Ayle b$, which was not wanted.



                Note that @Kuifje's approach, penalizing $delta$, can achieve exactly what was asked for, provided that a penalty coefficient can be found that is large enough to enforce the requirement (which is testable: see if the final solution violates it) but not large enough to produce a suboptimal solution (harder to test).







                share|cite|improve this answer












                share|cite|improve this answer



                share|cite|improve this answer










                answered 2 days ago









                prubinprubin

                1,605125




                1,605125



























                    draft saved

                    draft discarded
















































                    Thanks for contributing an answer to Mathematics 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%2fmath.stackexchange.com%2fquestions%2f3176907%2fif-then-convex-condition-in-mixed-integer-linear-programming-with-binary-variabl%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

                    Hidroelektrana Sadržaj Povijest | Podjela hidroelektrana | Snaga dobivena u hidroelektranama | Dijelovi hidroelektrane | Uloga hidroelektrana u suvremenom svijetu | Prednosti hidroelektrana | Nedostaci hidroelektrana | Države s najvećom proizvodnjom hidro-električne energije | Deset najvećih hidroelektrana u svijetu | Hidroelektrane u Hrvatskoj | Izvori | Poveznice | Vanjske poveznice | Navigacijski izbornikTechnical Report, Version 2Zajedničkom poslužiteljuHidroelektranaHEP Proizvodnja d.o.o. - Hidroelektrane u Hrvatskoj

                    WordPress Information needed

                    Oconto (Nebraska) Índice Demografia | Geografia | Localidades na vizinhança | Referências Ligações externas | Menu de navegação41° 8' 29" N 99° 45' 41" O41° 8' 29" N 99° 45' 41" OU.S. Census Bureau. Census 2000 Summary File 1U.S. Census Bureau. Estimativa da população (julho de 2006)U.S. Board on Geographic Names. Topical Gazetteers Populated Places. Gráficos do banco de dados de altitudes dos Estados Unidos da AméricaEstatísticas, mapas e outras informações sobre Oconto em city-data.com