Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  IloCP.searchPhase question

    Posted 10/16/12 07:24 PM

    Originally posted by: SystemAdmin


    I have an interactive application using IloCP strictly with intvar decision variables representing categories (of questions), questions and answers to these questions. Making matters worse, there are subquestions which roll up to these questions as well. Everything is tied together using compatibility tables and "softer" indexed expression constraints. Initial propagation occurs and I can manually answer ALL questions manually, one by one, until every rollup question is answered. However, when trying to implement a search phase for answering all remaining unanswered questions, I am declaring both IloCustomIntVarChooser and IloCustomIntValueChooser instances using the appropriate decision variables, such as:

    IloIntVarChooser varChooser = new ILOGIntVarChooser(cp);
    IloIntValueChooser valChooser = new ILOGIntValueChooser(cp);

    IloIntVar[] vars = new IloIntVar[5];

    vars[0] = Q_Plan_Answers;
    vars[1] = Q_Option_Answers;
    vars[2] = Q_ProviderType_Answers;
    vars[3] = Q_Market_Answers;
    vars[4] = Q_SolMode_Answers;

    IloSearchPhase sp = cp.searchPhase(vars, varChooser, valChooser);

    cp.startNewSearch(sp);

    if (cp.next()) { blah blah blah }

    My problem is, there are many hundreds of decision variables that are NOT a rollup question or answer and when I add appropriate display (cp.output().println("valuable display")) in each "chooser", the startNewSearch always fails with a constraint such as:

    % P internal constraint
    failure(0)
    failure(0)

    This occurs after initial propagation and the model in a stable state. All decision variables are integer values only, and I'm specifically passing in the array of IloIntVar decision variables I'd like for it to concentrate on.

    If I know that the model is complete after answering all rollup questions only, is it possible to instruct CP that it's okay to leave some decision variables not fixed?

    And what could be causing this initial failuer BEFORE any of my displays are coming out (within the choosers)?

    Thank you for any help you can provide!!!
    #CPOptimizer
    #DecisionOptimization


  • 2.  Re: IloCP.searchPhase question

    Posted 10/17/12 02:32 PM

    Originally posted by: SystemAdmin


    I've determined that simply setting my fail limit to something other than 0 (zero) allows the failed search phase(s) to complete successfully. The command is:

    cp.setParameter(IloCP.IntParam.FailLimit, 10);

    Of course, it does correctly fix the expected decision variables but does not throw a Failure(0) error.
    #CPOptimizer
    #DecisionOptimization