Decision Optimization

Decision Optimization

Delivers prescriptive analytics capabilities and decision intelligence to improve decision-making.


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  how to linearize the expression

    Posted 02/28/12 09:23 PM

    Originally posted by: GMB7_Wang_Kefeng


    a,b is positive real decision variable; c is a blooean decision variable. If I want to
    express the meaning as follows:
    if c=0 then
    a=0 and b=0;
    if c!=0 then
    a!=0 or b!=0
    I know these relationship can be expressed into the logistic constraints. But I want to make it as the
    linearized expressions, who can tell me whether these relationship can be described into several linearized expressions?
    #DecisionOptimization
    #OPLusingCPLEXOptimizer


  • 2.  Re: how to linearize the expression

    Posted 02/29/12 04:14 PM

    Originally posted by: MSaqib


    How about c <= a + b? That seems to capture the if c == 0 then a = 0 and b = 0. Depending on your optimization objective function, it might also hold for the other case.
    #DecisionOptimization
    #OPLusingCPLEXOptimizer


  • 3.  Re: how to linearize the expression

    Posted 03/01/12 02:00 AM

    Originally posted by: SystemAdmin


    Your modelling approach only captures
    (a+b == 0) -> (c==0)

    The constraints you want to model is

    dvar boolean c;
    dvar float+ a;
    dvar float+ b;
     
    (c==0) -> (a==0 && b == 0);
    (c==1) -> (a!=0 || b != 0);
    


    What you could do is use some kind of big-M-modelling

    Suppose M is some "big number": Then you have

    a <= M*c
    b <= M*c
    a+b >= c*1/M
    


    i.e., when c==0 you get
    a <= 0
    b <= 0
    a+b >= 0
    (i.e. all three variables have to be 0)
    For c == 1 you get
    a <= M
    b <= M
    a+b >= 1/M
    (i.e. a+b take a slightly positive value)

    There might as well be other ways to lineralize the constraints.
    Typlically the big-M-terms make the model numerically more difficult to solve ...

    Hope this will help

    Regards
    Norbert
    #DecisionOptimization
    #OPLusingCPLEXOptimizer