Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  Runtime node consistency level with CPO

    Posted 09/26/09 01:40 AM

    Originally posted by: SystemAdmin


    [thiago.serra said:]

    Hi folks,

    I'm currently working on search space reduction for a CP scheduling model.

    My first idea was to get some unfeasibilities more obvious so that invalid branching could be detected earlier. I've tried to do that by creating additional constraints to the model.
    For example, being explicit about a constraint over an inconsistency that could be already detected some steps ahead if not explicitly declared.
    But, intead of speeding up, sometimes it turned out that the solver got more lost than before, taking much more time to find a single solution.
    For such reason, I have some doubts about redundat constraints design that I would like to share with other modelers and ILOG staff.

    Is constraint redundancy worthy for performance purposes in CPO?
    What is the highest node consistency level I can assume that CPO will check before each branching over an interval variable?
    Is there any situation in which redundancy should be avoided?

    TIA.
    #DecisionOptimization
    #OPLusingCPOptimizer


  • 2.  Re: Runtime node consistency level with CPO

    Posted 10/05/09 09:23 PM

    Originally posted by: SystemAdmin


    [pvilim said:]

    Hello Tiago.

    In general, adding redundant constraint is useful if the redundant constraint makes a propagation which would not be done without it. If it does not make such propagation or if it is very time consuming then it does not pay off. Adding good redundant constraints usually requires good knowledge of the engine and also some experimentation.

    Note also that CP Optimizer is trying hard to get good propagation. For example, as a user you may specify several constraints, but it doesn't mean that they will be necessarily propagated separately. CP Optimizer may aggregate them into global constraints.

    For interval variables, CP Optimizer maintains bound consistency. This also may be one of the reasons why your redundant constraint doesn't work: the constraint should affect startMin/startMax, endMin/endMax etc, otherwise the propagation is too weak (for example constraint is startOf(interval) != 5).

    Finally note that in order to further limit the search space you may use inference levels (see for example parameter SequenceInferenceLevel). By increasing inference level you can turn on more time consuming propagation algorithms which may propagate better.

    Petr
    #DecisionOptimization
    #OPLusingCPOptimizer


  • 3.  Re: Runtime node consistency level with CPO

    Posted 10/06/09 04:21 PM

    Originally posted by: SystemAdmin


    [thiago.serra said:]

    So I shall pay more attention to explicit domain restriction constraints in scheduling models.

    Thanks again, Petr.
    #DecisionOptimization
    #OPLusingCPOptimizer