Decision Optimization

Decision Optimization

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

 View Only
  • 1.  Convergence error MILP in Matlab

    Posted Fri December 23, 2016 11:58 PM

    Originally posted by: JulianF


    Hi,

    I am formulating a MILP problem with both binary and continuous variables. The problem includes the dual variables that I use in other inequalities. When I get the solution some of my binary variables are not exactly 1 but 0.9999938... which affects considerable the solution I get because another continuous variable, that should be different from 0, becomes 0. My guess is that on 3 of the inequalities I am including 'inf' as a multiplier of the binary variables. Here the inequalities:

    -inf*b1 - c1 <= 0  n  c1 <= 0

    Inf*b1 - c2 + c1 <= inf

    c2 - c1 <=  0

    (Complementary slack conditions)

    where c1 and c2 are continuous and b1 is the binary. With 'inf' the problem gives me very unreasonable solutions. When replacing 'inf' by a "big" number I get the optimal solution but I have the problem of 'b1' not being exactly 1 and c1 being 0 when it shouldn't. Also, the problem becomes highly sensitive to this boundary.

    Please let me know if you need more details on the problem and I would greatly appreciate any help.

    CPLEX 12.6; Matlab 2012a

     

    Julian

     


    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: Convergence error MILP in Matlab

    Posted Mon January 02, 2017 07:52 AM

    Originally posted by: BoJensen


    Using 'Inf' is really not recommended for numerical reasons as you discovered yourself. Determining a reasonable value for BigM constraints can be tricky, since a too high value can cause numerical troubles and trickle flow and a too small value may violate the constraints.  One option is to consider using indicator constraints.

    Please note, had you been using CPLEX 12.7.0, I believe our new modelling assist feature would have raised a warning/suggestion about a possible reformulation from BigM to indicator constraints.


    #CPLEXOptimizers
    #DecisionOptimization


  • 3.  Re: Convergence error MILP in Matlab

    Posted Tue January 03, 2017 09:41 PM

    Originally posted by: JulianF


    BoJensen, thank you very much for your valuable reply. I read the blog on 'trickle flow' and I think I will get through the options to troubleshoot the problem. I also downloaded CPLEX 12.7 to make use of the new features. Once I get through this options I will let you know if the issue has been solved.

    Cheers,


    #CPLEXOptimizers
    #DecisionOptimization