hii, I am new to Cplex optimization Studio.Please help me as I am stuck in a problem where I have to use If condition in Decision variable (dvar). Please tell me how it is possible to do in IBM ILOG CPLEX Optimization Studio
This topic has been locked.
2 replies Latest Post - 2013-01-06T17:37:57Z by SystemAdmin
Pinned topic If-Decision Variable
Answered question This question has been answered.
Unanswered question This question has not been answered yet.
Updated on 2013-01-06T17:37:57Z at 2013-01-06T17:37:57Z by SystemAdmin
Re: If-Decision Variable2012-12-25T23:19:23Z in response to SystemAdminIt's not very clear what you mean by "if condition in decision variable". I think you probably want to conditionally define a decision expression (dexpr) using a if-then-else semantic. OPL provides a one line syntax for that:
range A = 1..5; dvar int b[a in A]; dvar int c[a in A]; dexpr int x[a in A] = a%2 == 0 ? b[a] : c[a];
In this example, x[a] is equal to b[a] if a is even, or c[a] if a is odd.
Re: If-Decision Variable2013-01-06T17:37:57Z in response to SystemAdminAre you trying to use a decision variable in an if-statement? This is not supported, see the reference manual.
What you can do instead is use logical constraints. A statement like 'if (x>=0) then a*y >= b' is equivalent to the implication constraint 'x >= 0 => a*y >= b'.