Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  Lazy constraints in pure linear programs

    Posted 10/08/13 06:37 AM

    Originally posted by: T_O


    Hi,

    I am using the C callable library. I just tried to add lazy constraints to a pure linear program. As far as I can see, they are ignored. At fist, I wanted to open a bug report, but now, I think this might be by design. They would need their own basis stati, duals, etc.

    Am I right in assuming that I have to add them as constraints and remove them afterwards instead of just adding lazy constraints and free them? Or is there some easier way? Should I perhaps change the problem type to MIP, optimize, change the problem type to fixed MIP and reoptimize (in order to obtain dual information)?

    Best regards,
    Thomas


    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: Lazy constraints in pure linear programs

    Posted 10/09/13 11:37 AM

    In the object-oriented APIs this should work out of the box (LP + lazy constraints is automatically a MIP). In the C API you have to explicitly set the problem type to MIP. Then solving the MIP and the fixed MIP afterwards should give you the duals. However, it may be hard to figure out which lazy constraints CPLEX added to the LP. So you may want to separate those constraints yourself in a lazy constraint callback instead.


    #CPLEXOptimizers
    #DecisionOptimization


  • 3.  Re: Lazy constraints in pure linear programs

    Posted 10/09/13 01:16 PM

    Originally posted by: T_O


    Ok, thank you. I will try to find an appropriate solution to my problem.

    Best regards,
    Thomas


    #CPLEXOptimizers
    #DecisionOptimization


  • 4.  Re: Lazy constraints in pure linear programs

    Posted 12/06/14 01:51 PM

    Originally posted by: WaelNassief


    Hello,

    I need to find a way to add lazy constraints to my LP as I want to use this concept in my restricted master problem. I know that they only work for MIP, but any idea of how to come around this for LP?

    I am using Callable Library in C.

    Thank you


    #CPLEXOptimizers
    #DecisionOptimization


  • 5.  Re: Lazy constraints in pure linear programs

    Posted 12/06/14 05:25 PM

    Originally posted by: T_O


    Do you need dual informations? Otherwise, it should be no problem to change the problem type to MIP. I think you do not need any integer variables inside a MIP.

    Best regards
    Thomas


    #CPLEXOptimizers
    #DecisionOptimization


  • 6.  Re: Lazy constraints in pure linear programs

    Posted 12/06/14 07:02 PM

    Originally posted by: WaelNassief


    Yes I need the dual information. I am implementing column generation with lazy constraints in the restricted master problem. Whenever one is violated CPLEX should add it to the RMP (LP problem) and then send the associated dual value to the pricing problems I have. I still cannot do that possibly because I don't use MIP.


    #CPLEXOptimizers
    #DecisionOptimization


  • 7.  Re: Lazy constraints in pure linear programs

    Posted 12/07/14 05:17 AM

    Originally posted by: T_O


    I think I didn't really get it. How do you want to generate colums via lazy constraints (=rows)?


    #CPLEXOptimizers
    #DecisionOptimization


  • 8.  Re: Lazy constraints in pure linear programs

    Posted 12/08/14 09:25 AM

    Originally posted by: WaelNassief


    Columns are generated using pricing problems and has nothing to do with the lazy constraints. I just mentioned column generation to provide a context for my conversation.

    Now, while I am adding columns from my pricing problems to the restricted master problem (RMP) and hence solve the RMP, I need to make sure that the lazy constraints in the RMP are not violated.

    Problem: my RMP is always an LP not MIP, and I do not know how to consider these lazy constraints in my RMP without changing the RMP to an MIP one.


    #CPLEXOptimizers
    #DecisionOptimization


  • 9.  Re: Lazy constraints in pure linear programs

    Posted 12/12/14 04:28 AM

    Can you separate the lazy constraints from a lazy constraint callback? If so then you could just check whether any constraint is violated. If not, then your solution is feasible. In that case you can query the nodelp and obtain dual information from that. If you go that road you should explicitly disable heuristics so that the lazy constraint callback is never invoked for heuristic solutions (in which case the nodelp would look odd).


    #CPLEXOptimizers
    #DecisionOptimization


  • 10.  Re: Lazy constraints in pure linear programs

    Posted 12/12/14 08:43 PM

    Originally posted by: WaelNassief


    Can you elaborate please?

    What do you mean by lazy constraint callback? I believe CPLEX should be doing that job automatically because i defined those constraints already as lazy ones.


    #CPLEXOptimizers
    #DecisionOptimization


  • 11.  Re: Lazy constraints in pure linear programs

    Posted 01/06/15 03:50 AM

    What I meant was to separate the lazy constraints in a callback instead of providing them up front.


    #CPLEXOptimizers
    #DecisionOptimization