Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  scheduling startBeforeStart statment

    Posted 03/09/12 11:29 AM

    Originally posted by: UMQX_Olfat_ELMahi


    Hello

    i was worknig on my scheduling problem with interval:
    dvar interval aplAct2j in TAp2Pkt ;

    and i faced the following :

    the following two commands as i understand shoul be the same but when i switch between them i found :

    with the first one:
    forall ( j in 0 .. nbPkt2*nbTsk2 - nbTsk2 -1 )
    startOf(aplAct2[j]) <= startOf(aplAct2j+ nbTsk2);

    error:
    Model found inconsistent because of: forall(j in 0..2739) startOf(aplAct2[j]) <= startOf(aplAct2j+10).
    with the second one:
    forall (j in 0 .. nbPkt2*nbTsk2 - nbTsk2 -1 )
    startBeforeStart(aplAct2[j], aplAct2j+ nbTsk2, 0);

    results:
    Problem found infeasible at the root node.

    are the two constarint different ??

    Thanks
    #DecisionOptimization
    #OPLusingCPOptimizer


  • 2.  Re: scheduling startBeforeStart statment

    Posted 03/09/12 11:31 AM

    Originally posted by: UMQX_Olfat_ELMahi


    correcting the commends apperant:
    forall ( j in 0 .. nbPkt2*nbTsk2 - nbTsk2 -1 )
    startOf(aplAct2[j]) <= startOf(aplAct2/j+ nbTsk2/);

    forall (j in 0 .. nbPkt2*nbTsk2 - nbTsk2 -1 )
    startBeforeStart(aplAct2[j], aplAct2/j+ nbTsk2/);
    #DecisionOptimization
    #OPLusingCPOptimizer


  • 3.  Re: scheduling startBeforeStart statment

    Posted 03/09/12 11:32 AM

    Originally posted by: UMQX_Olfat_ELMahi


    Sorry
    forall ( j in 0 .. nbPkt2*nbTsk2 - nbTsk2 -1 )
    startOf(aplAct2[j]) <= startOf(aplAct2[j+ nbTsk2]);

    forall (j in 0 .. nbPkt2*nbTsk2 - nbTsk2 -1 )
    startBeforeStart(aplAct2[j], aplAct2[j+ nbTsk2]);
    #DecisionOptimization
    #OPLusingCPOptimizer


  • 4.  Re: scheduling startBeforeStart statment

    Posted 03/09/12 12:02 PM

    Originally posted by: SystemAdmin


    Hello,
    There are two points:

    1) Generally speaking, the two constraints are not equivalent.

    When you write startOf(a)<=startOf(b), if interval variable b is absent, this will enforce startOf(a)<=0 (as the value of startOf(b) is 0 if no other value is specified). When you write startBeforeStart(a,b), if b is absent it won't have any effect on the start value of a. Of course similar difference applies when a is absent.

    That's why for scheduling, we advise using the form startBeforeStart that handles the optionality status (and that should be more efficient in the engine).

    If both interval variables a and b are necessarily present (not declared optional) in the model, then the two constraints are semantically equivalent.

    2) This being said, in your case, both models seem to be infeasible. The first one reports an inconsistency at extraction time whereas the second one reports inconsistency in initial propagation. But in both cases this means that the model is infeasible it is just that the infeasibility is not detected at the same moment.

    Philippe
    #DecisionOptimization
    #OPLusingCPOptimizer


  • 5.  Re: scheduling startBeforeStart statment

    Posted 03/09/12 12:12 PM

    Originally posted by: UMQX_Olfat_ELMahi


    Thanks that was helpfull
    but i wanted to state that although using the startBeforeStart make the engine much more faster but the first commant is finding the infeasibility more efficent maybe only with my program??

    thanks
    #DecisionOptimization
    #OPLusingCPOptimizer


  • 6.  Re: scheduling startBeforeStart statment

    Posted 03/09/12 12:19 PM

    Originally posted by: SystemAdmin


    I suppose that in your case, the infeasibility is trivial and one of the constraints startOf(a)<=startOf(b) is infeasible because of the initial bounds of interval variables a and b.

    Philippe
    #DecisionOptimization
    #OPLusingCPOptimizer


  • 7.  Re: scheduling startBeforeStart statment

    Posted 03/09/12 12:32 PM

    Originally posted by: UMQX_Olfat_ELMahi


    yes it was thanka ALOT
    #DecisionOptimization
    #OPLusingCPOptimizer