Register to reply 
Ifthenelse construction 
Share this thread: 
#1
Dec912, 03:51 AM

P: 86

How can we define a constraint saying:
if b is larger than zero then y has to equal 1 if b is equal to zero then y has to equal 0 ? It concerns the following problem: b[i][k] = amount of vegetable i growing on patch k y[i][k] = 1 if vegetable i is grown on patch k = 0 otherwise So we want to say that if the amount of vegetable i on patch k is larger than zero (i.e. b[i][k] > 0), vegetable i must be assigned to patch k (i.e. y[i][k] = 1) I was thinking that it could be something like that: for all i sum(k) b[i][k]*y[i][k] = b[i][k] But I don't know if this is correct or not, since you could cancel out both terms b[i][k] What do you guys think? Kind regards, Alex 


#3
Dec912, 05:53 AM

P: 181

If you know that b[i][k] will never be negative, you have y[i][k] = sgn( b[i][k] ).



#4
Dec912, 12:24 PM

P: 86

Ifthenelse construction
The thing is I need a constraint to use in the program
IBM ILOG CPLEX Optimization Studio None of both constraints is accepted in CPLEX 


#5
Dec912, 01:03 PM

P: 181

According to Wikipedia's entry on OPL (the programming lanuage used in the program you mention), it does support an IFTHENELSE construct. Why don't you use that?



#6
Dec1012, 03:41 AM

P: 86

Do you know an alternative? 


#7
Dec1012, 06:31 AM

P: 181

Here's some examples from IBM's manual on OPL:
y[i][k] = (b[i][k] > 0) ? 1 : 0; 


#8
Dec1012, 09:17 AM

Sci Advisor
PF Gold
P: 1,381

That is a ternary operator like the one in the C language:



Register to reply 
Related Discussions  
Information on construction elevators (construction hoists, buck hoists)  General Engineering  0  
2D Matrix construction  Linear & Abstract Algebra  5  
Th construction of e  General Math  3  
The construction of pi  General Math  6  
Is there a name for this construction?  Linear & Abstract Algebra  1 