Decision Optimization

 View Only
Expand all | Collapse all

call an NLP solver within lazyconstraint callback

  • 1.  call an NLP solver within lazyconstraint callback

    Posted Tue April 21, 2020 11:10 PM

    Originally posted by: amindehghanian


    Hi all,

     

    I am solving a problem by branch-and-cut. In order to solve my separation problem, I need to solve a non-convex continuous optimization problem. Is it possible to call and use an NLP solver within the lazyconstraint callback? 

    Second, which NLP solver you recommend?

     

    Thanks,


    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: call an NLP solver within lazyconstraint callback

    IBM Champion
    Posted Wed April 22, 2020 03:02 PM

    As far as I know, there are no constraints on what you can do in a callback other than tampering with the CPLEX problem instance. So you should be able to call an NLP solver (on a separate problem) inside a lazy constraint callback. That said, if the NLP solver takes a long time solving the subproblem, you may not be thrilled with the rate of progress (and you will need to adjust the CPLEX time limit accordingly).

    For the second question, that is going to depend on what sort of NLP you are solving, whether your callback requires an optimal solution to the NLP or just a "good solution", and possibly what language you are programming in.


    #CPLEXOptimizers
    #DecisionOptimization


  • 3.  Re: call an NLP solver within lazyconstraint callback

    Posted Wed April 22, 2020 10:06 PM

    Originally posted by: amindehghanian


    Thanks Paul!

    I will code in Python, and the NLP is a feasibility problem. So, I will stop as soon as I figure out the problem is feasible or infeasible.


    #CPLEXOptimizers
    #DecisionOptimization