Decision Optimization

Decision Optimization

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

 View Only
  • 1.  Suggest a heuristic solution to CPLEX

    Posted Fri March 06, 2020 10:50 AM

    Originally posted by: brown_rice


    Hi,


    I'd like to suggest a solution for a variable during the branch-and-cut process in Java API. I believe this is different than "warm-start" in a sense that when I get into a callback function to generate a cut, I also want to tell CPLEX a potential solution for a variable existing in the main model. Is it possible to do such a thing? If so, what are my options? 

     

    Thanks,


    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: Suggest a heuristic solution to CPLEX

    Posted Fri March 06, 2020 05:04 PM

    I don't really know what you mean by "suggest a solution for a variable". I presume you are talking about a value for just one variable, but "suggest" it in what way? What would you want CPLEX to do with the proposed value?


    #CPLEXOptimizers
    #DecisionOptimization


  • 3.  Re: Suggest a heuristic solution to CPLEX

    Posted Fri March 06, 2020 06:13 PM

    Originally posted by: brown_rice


    I know that my question sounds quite vague. I read this in a paper and the authors were telling that they use "user-suggested heuristic" when a violated cut is generated within the callback function. They mention that they pass the dual objective value as a user-defined heuristic to the solver in case there is a violated cut. I thought that this might be related to CPLEX. 


    #CPLEXOptimizers
    #DecisionOptimization


  • 4.  Re: Suggest a heuristic solution to CPLEX

    Posted Fri March 06, 2020 06:28 PM

    It's hard to know what they were doing without reading the paper, but it might be that they are supplying a feasible solution at the node where the cut was generated (since the solution at that node is apparently infeasible due to the new cut). If their heuristic solution is globally feasible (won't be nuked by a future Benders cut) and if it is better than the current incumbent, it would make sense to try to inject it. With the new generic callbacks, you should be able to inject a new feasible solution from just about any context. Note that this would have to be a complete feasible solution (values for all variables), not just a value for one variable.


    #CPLEXOptimizers
    #DecisionOptimization


  • 5.  Re: Suggest a heuristic solution to CPLEX

    Posted Fri March 06, 2020 07:29 PM

    Originally posted by: brown_rice


    Yes, I believe that's what exactly they were trying to explain. Is there document or an example that I can go through to learn how to inject a solution? 


    #CPLEXOptimizers
    #DecisionOptimization


  • 6.  Re: Suggest a heuristic solution to CPLEX

    Posted Fri March 06, 2020 11:26 PM

    The AdMIPex9 example that ships with CPLEX Studio shows how to inject a solution.


    #CPLEXOptimizers
    #DecisionOptimization