How to use non-binary variable in a conditional statement MILP?
$begingroup$
I have a conditional statement I want to implement in a MILP.
$A$ is a non-binary variable that has known upper and lower bounds. $B$ is a known parameter. And $C$ is a binary variable.
How do I formulate the condition?
If $A < B$ then $C$ is $1$, otherwise $C$ is $0$ or $1$.
Is this possible? I am new to optimization using GAMS and i'm still figuring out how this works.
optimization linear-programming constraints mixed-integer-programming
$endgroup$
add a comment |
$begingroup$
I have a conditional statement I want to implement in a MILP.
$A$ is a non-binary variable that has known upper and lower bounds. $B$ is a known parameter. And $C$ is a binary variable.
How do I formulate the condition?
If $A < B$ then $C$ is $1$, otherwise $C$ is $0$ or $1$.
Is this possible? I am new to optimization using GAMS and i'm still figuring out how this works.
optimization linear-programming constraints mixed-integer-programming
$endgroup$
add a comment |
$begingroup$
I have a conditional statement I want to implement in a MILP.
$A$ is a non-binary variable that has known upper and lower bounds. $B$ is a known parameter. And $C$ is a binary variable.
How do I formulate the condition?
If $A < B$ then $C$ is $1$, otherwise $C$ is $0$ or $1$.
Is this possible? I am new to optimization using GAMS and i'm still figuring out how this works.
optimization linear-programming constraints mixed-integer-programming
$endgroup$
I have a conditional statement I want to implement in a MILP.
$A$ is a non-binary variable that has known upper and lower bounds. $B$ is a known parameter. And $C$ is a binary variable.
How do I formulate the condition?
If $A < B$ then $C$ is $1$, otherwise $C$ is $0$ or $1$.
Is this possible? I am new to optimization using GAMS and i'm still figuring out how this works.
optimization linear-programming constraints mixed-integer-programming
optimization linear-programming constraints mixed-integer-programming
edited Jan 9 at 13:19
Klangen
1,72811334
1,72811334
asked Jan 9 at 13:01
Charles uuuCharles uuu
32
32
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
$begingroup$
We know the bounds of $A$, let say $m le A le M$.
if $m ge B$, then we clearly, we have $A ge B$.
Hence we assume that $m < B$, then we know that
$$frac{B-A}{B-m} le 1$$
we consider the constraint $$frac{B-A}{B-m}le C$$
Hence if $A < B$, then we have the left hand side of the inequality being positive and it is at most $1$, forcing $C$ to take value $1$.
If $A ge B$, then the left hand side of the inequality is non-positive, hence not imposing constraint on $C$.
$endgroup$
$begingroup$
Thanks Siong !!
$endgroup$
– Charles uuu
Jan 9 at 13:52
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%2f3067424%2fhow-to-use-non-binary-variable-in-a-conditional-statement-milp%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
We know the bounds of $A$, let say $m le A le M$.
if $m ge B$, then we clearly, we have $A ge B$.
Hence we assume that $m < B$, then we know that
$$frac{B-A}{B-m} le 1$$
we consider the constraint $$frac{B-A}{B-m}le C$$
Hence if $A < B$, then we have the left hand side of the inequality being positive and it is at most $1$, forcing $C$ to take value $1$.
If $A ge B$, then the left hand side of the inequality is non-positive, hence not imposing constraint on $C$.
$endgroup$
$begingroup$
Thanks Siong !!
$endgroup$
– Charles uuu
Jan 9 at 13:52
add a comment |
$begingroup$
We know the bounds of $A$, let say $m le A le M$.
if $m ge B$, then we clearly, we have $A ge B$.
Hence we assume that $m < B$, then we know that
$$frac{B-A}{B-m} le 1$$
we consider the constraint $$frac{B-A}{B-m}le C$$
Hence if $A < B$, then we have the left hand side of the inequality being positive and it is at most $1$, forcing $C$ to take value $1$.
If $A ge B$, then the left hand side of the inequality is non-positive, hence not imposing constraint on $C$.
$endgroup$
$begingroup$
Thanks Siong !!
$endgroup$
– Charles uuu
Jan 9 at 13:52
add a comment |
$begingroup$
We know the bounds of $A$, let say $m le A le M$.
if $m ge B$, then we clearly, we have $A ge B$.
Hence we assume that $m < B$, then we know that
$$frac{B-A}{B-m} le 1$$
we consider the constraint $$frac{B-A}{B-m}le C$$
Hence if $A < B$, then we have the left hand side of the inequality being positive and it is at most $1$, forcing $C$ to take value $1$.
If $A ge B$, then the left hand side of the inequality is non-positive, hence not imposing constraint on $C$.
$endgroup$
We know the bounds of $A$, let say $m le A le M$.
if $m ge B$, then we clearly, we have $A ge B$.
Hence we assume that $m < B$, then we know that
$$frac{B-A}{B-m} le 1$$
we consider the constraint $$frac{B-A}{B-m}le C$$
Hence if $A < B$, then we have the left hand side of the inequality being positive and it is at most $1$, forcing $C$ to take value $1$.
If $A ge B$, then the left hand side of the inequality is non-positive, hence not imposing constraint on $C$.
answered Jan 9 at 13:19


Siong Thye GohSiong Thye Goh
101k1466117
101k1466117
$begingroup$
Thanks Siong !!
$endgroup$
– Charles uuu
Jan 9 at 13:52
add a comment |
$begingroup$
Thanks Siong !!
$endgroup$
– Charles uuu
Jan 9 at 13:52
$begingroup$
Thanks Siong !!
$endgroup$
– Charles uuu
Jan 9 at 13:52
$begingroup$
Thanks Siong !!
$endgroup$
– Charles uuu
Jan 9 at 13:52
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%2f3067424%2fhow-to-use-non-binary-variable-in-a-conditional-statement-milp%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