[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Help-glpk] More conditional variables fun

From: Michael Hennebry
Subject: Re: [Help-glpk] More conditional variables fun
Date: Tue, 13 Oct 2009 23:35:28 +0400

On Mon, 12 Oct 2009, Yaron Kretchmer wrote:

> Thanks Michael
> Yes, the differences (and the variables themselves) are bounded. We can
> denote the the upper/lower limit for each variable/difference by the
> constants l(x) and u(x).

First, I made a mistake:
The sets have seven extreme points each,
one for one value of (a,b) and two each for the others.

> What would the formulation be in that case?

I think I'll let you do the math.
Each constraint will be tight at three of the extreme points.
That gives you three equations in four variables.
Scaling is allowed, so one of the variables may be fixed.
Check to make sure that the other extreme points satisfy the constraint.
If some slacks are positive and others negative,
the "facet" you have been deriving is invalid.
If all are nonpositive and three are zero, then the direction is wrong.

Note that you do not have to use constant bounds.
If the bounds depend on (a,b) that is just fine.
The narrower the bounds, the tighter the linear relaxation will be.
Narrowing bounds might be worth considerable effort.

][Michael Hennebry wrote:]
>> the feasible sets of (a,b,c-d) and (a,b,c-e)
>> have four extreme points.
>> Their convex hulls are tetrahedra.
]Yaron Kretchmer wrote:
>>  Now I'd like to be able to model conditional non-binary variables. Does

]]][Yaron Kretchmer wrote:]
>>>> anybody know how to formulate this in mathprog?
>>>> ----------Begin Description -------------------
>>>> *) a,b are binary
>>>> *) c,d,e is continuous.
>>>> *) I'd like c to be
>>>>    - 0 if a=b=0
>>>>    - d if a=0,b=1
>>>>    - e if a=1,b=0
>>>>    - 0 if a=b=1
>>>> ----------End Description

Michael   address@hidden
"Pessimist: The glass is half empty.
Optimist:   The glass is half full.
Engineer:   The glass is twice as big as it needs to be."

reply via email to

[Prev in Thread] Current Thread [Next in Thread]