Decision Optimization

Decision Optimization

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

 View Only
Expand all | Collapse all

Understanding (and Skipping Some Of) the Initial Heuristics

  • 1.  Understanding (and Skipping Some Of) the Initial Heuristics

    Posted Mon June 24, 2019 06:21 AM

    Originally posted by: stevedwards


    Hi team,

    I have implemented a list heuristic as a set of search phases to help guide CP Optimizer towards an initial solution. It is working exactly as I was hoping and the results are perfect but I am hoping it can be sped up further.

    Upon changing the LogVerbosity to Verbose, the LogPeriod to 1, and the #Workers to 1 I can see CP Optimizer trying its normal heuristics to find an initial solution and many of them are not relevant. For example, it seems many of the heuristics tend to give up at the first failure and then restart. As the search phases I am using constitute a list heuristic there's no benefit at all of restarting. Furthermore I expect there to be a number of failures so this phase of the search is somewhat wasted. Is there anyway to pass this information to the solver? I tried updating the RestartFailLimit but seems that this is not relevant at this phase of search.,

    To be honest, I am a little surprised that I even need to force CP Optimizer to use my list heuristic to begin with. The ordering is based largely on the underlying precedence graph which I have read that CP Optimizer uses. Is there any details about the heuristics that are used in the first phase of search and what order they are tried? That would be extremely helpful :-).

    Thanks in advance,

    Steven


    #CPOptimizer
    #DecisionOptimization


  • 2.  Re: Understanding (and Skipping Some Of) the Initial Heuristics

    Posted Mon June 24, 2019 07:19 AM

    Originally posted by: PhilippeLaborie


    Hi Steven,

    CPO tries a number of heuristics (so without allowed failure) before trying the search strategies that exploit the search phases. 

    The heuristics are not restarted (they are run only once), but some heuristics may be quite similar and that could explain why you have the feeling that they are restarted.

    There is no way to change this behavior. 

    Which version are you using? 12.9 ?

    > To be honest, I am a little surprised that I even need to force CP Optimizer to use

    > my list heuristic to begin with. The ordering is based largely on the underlying precedence

    > graph which I have read that CP Optimizer uses.

    Yes, the CPO heuristics are based on the precedence graph. Could you attach a (as small as possible) instance as a .cpo file where you would expect the heuristics to produce a feasible solution without failure?

     


    #CPOptimizer
    #DecisionOptimization


  • 3.  Re: Understanding (and Skipping Some Of) the Initial Heuristics

    Posted Tue June 25, 2019 04:05 AM

    Originally posted by: stevedwards


    Thanks Philippe :-),

     

    Oh I didn't realise that the heuristics did not allow for any failures at all. I would not really expect any heuristic to find a feasible to any of my real instances without at least a few failures along the way. I am more interested in trying to reduce the number of failures.  

     

    I am using 12.8 as it doesn't seem possible to download 12.9 through the academic initiative yet?

     

    In light of what you have said, I realise I can simply use the DepthFirst search parameter and that's doing what I intended.

    Thanks,

    Steven

     

     

     


    #CPOptimizer
    #DecisionOptimization


  • 4.  Re: Understanding (and Skipping Some Of) the Initial Heuristics

    Posted Wed June 26, 2019 08:20 AM

    Originally posted by: rdumeur


    Dear Steve,

     

    COS 12.9 has been announced as available via Academic Initiative: https://developer.ibm.com/docloud/blog/2019/03/12/cplex-optimization-studio-12-9-is-available/

    I'm interested in knowing what prevented you to get it.

    Cheers,

     

                  Renaud


    #CPOptimizer
    #DecisionOptimization


  • 5.  Re: Understanding (and Skipping Some Of) the Initial Heuristics

    Posted Wed June 26, 2019 08:01 PM

    Originally posted by: stevedwards


    Hi Renaud,

     

    Oh yes I see that now. When I checked a couple of days ago on the following link it had "(coming soon)" next to ILOG CPLEX Optimization Studio.

     

    https://my15.digitalexperience.ibm.com/b73a5759-c6a6-4033-ab6b-d9d4f9a6d65b/dxsites/151914d1-03d2-48fe-97d9-d21166848e65/technology/data-science

     

    Thanks for that.

    Steven


    #CPOptimizer
    #DecisionOptimization