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
$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?
logic convex-optimization linear-programming integer-programming mixed-integer-programming
$endgroup$
add a comment |
$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?
logic convex-optimization linear-programming integer-programming mixed-integer-programming
$endgroup$
add a comment |
$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?
logic convex-optimization linear-programming integer-programming mixed-integer-programming
$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
logic convex-optimization linear-programming integer-programming mixed-integer-programming
edited Apr 6 at 20:03
Brout
asked Apr 6 at 11:47
BroutBrout
2,6111431
2,6111431
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
$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.
$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
|
show 12 more comments
$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).
$endgroup$
add a comment |
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
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
$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.
$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
|
show 12 more comments
$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.
$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
|
show 12 more comments
$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.
$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.
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
|
show 12 more comments
$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
|
show 12 more comments
$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).
$endgroup$
add a comment |
$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).
$endgroup$
add a comment |
$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).
$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).
answered 2 days ago
prubinprubin
1,605125
1,605125
add a comment |
add a comment |
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.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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