| New Reply |
If-then-else construction |
Share Thread | Thread Tools |
| Dec9-12, 03:51 AM | #1 |
|
|
If-then-else construction
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 |
| PhysOrg.com |
science news on PhysOrg.com >> Hong Kong launches first electric taxis >> Morocco to harness the wind in energy hunt >> Galaxy's Ring of Fire |
| Dec9-12, 05:37 AM | #2 |
|
Recognitions:
|
Hi Alexx1!
Perhaps like this? y[i][k] = (b[i][k] > 0); |
| Dec9-12, 05:53 AM | #3 |
|
|
If you know that b[i][k] will never be negative, you have y[i][k] = sgn( b[i][k] ).
|
| Dec9-12, 12:24 PM | #4 |
|
|
If-then-else 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 |
| Dec9-12, 01:03 PM | #5 |
|
|
According to Wikipedia's entry on OPL (the programming lanuage used in the program you mention), it does support an IF-THEN-ELSE construct. Why don't you use that?
|
| Dec10-12, 03:41 AM | #6 |
|
|
Do you know an alternative? |
| Dec10-12, 06:31 AM | #7 |
|
|
Here's some examples from IBM's manual on OPL:
Code:
int value = ...; int signValue = (value>0) ? 1 : (value<0) ? -1 : 0; int absValue = (value>=0) ? value : -value; y[i][k] = (b[i][k] > 0) ? 1 : 0; |
| Dec10-12, 09:17 AM | #8 |
|
|
That is a ternary operator like the one in the C language:
Code:
if() then else int variable=(boolean statement) ? [when true] : [when false]; Code:
int signValue = (value>0) ? 1 : (value<0) ? -1 : 0; |
| New Reply |
| Thread Tools | |
Similar Threads for: If-then-else construction
|
||||
| Thread | Forum | Replies | ||
| 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 | ||