Decision Optimization

Decision Optimization

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

 View Only
  • 1.  CP - setStartingPoint

    Posted Wed May 31, 2023 04:29 PM

    I set an initial feasible solution with previously generated feasible solution by the same model. When I provide an entire solution set (or closer to 90%, i.e., among 1000 interval variables, 900 are given) as a startingpoint, the setStartingPoint method works well. However, when I provide less than 90% of solution, then CP model fails to set the starting point, not even a partial. Note all interval variables are optional in this problem and there is no constraint that forces a minimum number of intervals. So, this failure does not make sense. Can you please give me an insight?

    sol.setStart(thisOplModel.modes[thisOplModel.Modes.get(pre.o, pre.m)], pre.s);
    sol.setEnd(thisOplModel.modes[thisOplModel.Modes.get(pre.o, pre.m)], pre.e);
    cp.setStartingPoint(sol);


    In addition, the following code ensures the recipe compatibility of jobs in the same machine. I found it becomes slower when the problem size get increased. Is there any alternative way of handling the job compatibility constraint? Also, if I remove the following code, the setStartingPoint method works well with less than 90% of solution.
        forall(md in Modes) alwaysEqual(Batches[md.mch], modes[md], md.recipe, true, true);  

     ! Using iterative diving.
     ! Giving up trying to complete the starting point to a full assignment.
     *             0    9,937  3.85s        1      (gap  > 10000%)
    Thanks,



    ------------------------------
    Andy Ham
    ------------------------------