Decision Optimization

 View Only
  • 1.  Warm-start

    Posted Wed May 11, 2022 11:27 AM

    I am working on a large scale production scheduling problem that interacts with users. Suppose we have a schedule generated few mins ago. Now, users review the schedule result and make few modifications on schedule result itself along with modifications on input parameters. The modified schedule should be fed to CP as an initial partial schedule. In this case, I want to use the warm-start method. Previously, I have used the warm-start by feeding an OPL model with previous OPL solution in the following way. 
    for (var j in oplNew.Jobs)
       for (var m in oplNew.Mchs)
          sol.setValue(oplNew.itvs[j][o],oplOld.itvs[j][o]);

    However, in my use-case, I don't have oplOld, but only the suggested schedule. Let me use the sample of "sched_jobshop" to illustrate the need. We would like to start the search with the following schedule (note the schedule may have conflicts and contain only partial schedule). How to feed this suggested schedule to CP as warm-start?

    //partial suggested schedule
    startOf(itvs[0][0])==20; startOf(itvs[0][1])==40; startOf(itvs[0][2])==55;
    startOf(itvs[0][3])==58; startOf(itvs[0][4])==62; startOf(itvs[0][5])==65;
    startOf(itvs[1][0])==22; startOf(itvs[1][1])==35; startOf(itvs[1][2])==45;
    startOf(itvs[1][3])==60; startOf(itvs[1][4])==70; startOf(itvs[1][5])==80;

    Thanks,



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


  • 2.  RE: Warm-start
    Best Answer

    Posted Thu May 12, 2022 02:43 AM
    Hi,

    in the object IloOplCPSolution you can use setStartMin, setStartMax and so on ...




    ------------------------------
    [Alex] [Fleischer]
    [Data and AI Technical Sales]
    [IBM]
    ------------------------------