Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  How can I to model this?

    Posted 04/26/08 12:06 AM

    Originally posted by: SystemAdmin


    [adriana said:]

    Hi, I need to model this expression:

    max( X[i] -iniX[i], 0 ) < max&#91;i&#93;<br />
    where X[i] is my variable to optimize


    is it possible to use logic operators to model this for example

    X[i] = iniX[i] or X[i] >=min[i]

    and how can I to specify a cardinality for the solution?

    Thanks!
    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: How can I to model this?

    Posted 05/03/08 06:03 AM

    Originally posted by: SystemAdmin


    [jgregory said:]

    I am not certain of your terminology, but if by "X-iniX" you mean you want to separate the fractional part of a solution value from its integer part, then first of all I suggest you think about numerical tolerances.  That is, how close to the next higher integer can a number be, and still be distinguishable from that higher integer?  Is 7.9999999999 the same for you as 8.0 or do you want to consider it 7.0 plus the fractional part 0.9999999999?  It may be that you imply this already with the "max" on the right hand side of your first expression.

    With that in mind, I believe you can introduce two new variables for each variable X, where one of them is an integer variable, and the other is a fractional value between 0 and some value close to 1.  The tolerance I spoke of will determine what that upper value should be.  Specifically:

      X = Y + Z

    where
      X is a continuous varialble with whatever upper bound you currently use;
      Y is an integer variable with an appropriate upper bound consistent with X;
      Z is a continuous variable with lower bound 0 and upper bound 0.99

    Here I have implicitly chosen a tolerance of 0.01 as the threshold smaller than which I will not distinguish.  As you might guess from my example choice here, I foresee numerical trouble in solving your model if you choose too small a threshold.  Depending on your model, two digits might be the safest choice, or you might have success demanding a few more digits.  I would be nervous about asking for more than six.

    I suspect you already know that the introduction of integer variables can make a model more difficult to solve than its purely continuous counterpart.  But if these remainder values are crucial to your model then there is probably no alternative formulation that completely avoids this additional complexity.
    #CPLEXOptimizers
    #DecisionOptimization