Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  Replaying solutions

    Posted 08/07/11 06:15 PM

    Originally posted by: SystemAdmin


    Dear forum,

    I'm implementing a scheduling problem in CP Optimizer with some side constraints (such as all-diff), a non-overlapping constraint, and a couple of user-defined constraints. These new constraints might change the candidate heads/tails of a IlcIntervalSequenceVar, and potentially add precedence relations as well. Furthermore, I have a non-deterministic search strategy (which proves optimality if certain conditions are given). Following the CP Optimizer manual, I thus set

    cp.setParameter(IloCP::AutomaticReplay, IloCP::Off);

    before calling "cp.solve(my_nondet_goal)". Nevertheless, the search still tries to replay the optimal solution, outputting the message

    ! Search terminated, replaying optimal solution

    and then, due to the non-deterministic nature of my search, it exits with the following message after some fails:

    Error: IloCP internal error: cannot replay solution

    Should CP-Optimizer still replays the search strategy, even when the above parameter is set to "off"? Or the solver always needs to replay the optimal solution in any case? (Perhaps because of the presence of these additional constraints?)

    My CP Optimizer version was obtained from the CPLEX 12.2 Academic Studio package.

    Thank you very much for your kind help,
    Andre
    #CPOptimizer
    #DecisionOptimization


  • 2.  Re: Replaying solutions

    Posted 09/08/11 07:55 AM

    Originally posted by: SystemAdmin


    Hello,
    This is a bug. In fact, solve() always calls the replay even if AutomaticReplay is set to Off. But next() does the right thing. So you could replace:

    
    IloBool ok = solve(goal);
    


    With

    
    IloBool ok = IloFalse; cp.startNewSearch(goal); 
    
    while (cp.next()) 
    { ok = IloTrue; 
    } cp.endSearch();
    


    Regards,
    Philippe
    #CPOptimizer
    #DecisionOptimization


  • 3.  Re: Replaying solutions

    Posted 09/09/11 09:58 AM

    Originally posted by: SystemAdmin


    Thank you very much, Philippe.
    #CPOptimizer
    #DecisionOptimization