Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  Net present value objective for the RCPSP

    Posted 01/24/17 03:31 PM

    Originally posted by: aleh


    I am solving the resource-constrained project scheduling problem with a net present value objective. I am using the cp optimizer and a formulation derived from the example model in the distribution. I use the following arithmetic objective expression:

    IloNumExprArray Profits(Env);
    for(j=0;j<numJobs;++j)
    {
        Profits.add( Profit[j] / IloPower( 1.0 + r, IloEndOf(Task[j]) ) );
    }
    IloObjective Objective = IloMaximize(Env,IloSum(Profits));
    

    In http://link.springer.com/chapter/10.1007/978-3-642-29828-8_24, it is suggested, that a NPV propagator is the key to efficiently solving these problems with constraint programming. Is this the right thing to do, or is there options provided by the cp optimizer that either increase the optimizer efficiency for this problem, or are equivalent to adding a new propagator.


    #CPOptimizer
    #DecisionOptimization


  • 2.  Re: Net present value objective for the RCPSP

    Posted 01/25/17 02:53 AM

    Originally posted by: PhilippeLaborie


    Hello,

    I think your objective function formulation could be slightly improved by avoiding the division and using:
    Profits.add( Profit[j] * IloPower( 1.0 + r, -IloEndOf(Task[j]) ) );

    I'm a bit surprised you do not have any coefficient alpha (alpha << 1) in the exponent, I suppose of course that you have r<<1, but when IloEndOf(Task[j]) gets quite large, you would probably loose less precision by using exp(- alpha *  IloEndOf(Task[j])).

    CP Optimizer does not use  LCG but some Large Neighbourhood Search guided (here) by a linear relaxation of the problem that will convexify the NPV objective function. I'm interested to see how your CPO model compares to the results of the paper you mention. Note that in the paper, the problems are tiny (largest problems have 30 tasks); it would also be interesting to compare the approaches on more realistic problems that are 10 or even 100 times larger.

     

     


    #CPOptimizer
    #DecisionOptimization