Decision Optimization

Decision Optimization

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

 View Only
  • 1.  Sensitivity Analysis

    Posted Mon September 21, 2009 04:20 PM

    Originally posted by: SystemAdmin


    [gramchurn said:]

    I have a quadratic mixed integer programming problem that has a quadratic objective function and linear constraints. Having solved the problem optimally, I would like to extract the langrangian constants for one of the IloConstraints. Is there any way i can extract that from the IloCplex object? I'm using CPLEX 9.1 and I'd like to analyse the sensitivity of the problem given constraint 1 below (i.e, the penalty if i increase q^n_b by 1).

    max  sum_{b \in B} q_b (c_b -  d_b q_b)  - \sum_{s \in S} q_s(a_s + b_sq_s) - \sum_{l\in T} |F_l| \cdot p_l

    subject to:
    1) q^n_b - q^n_s + q^n_{injected} = 0 \forall n \in N \\%% this assumes there's only one b and s at a node n
    2) q_{injected}^n = \sum_{l \in T^l}  F_l

    Any help would be greatly appreciated.

    Thanks.

    G.
    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: Sensitivity Analysis

    Posted Mon October 05, 2009 11:11 PM

    Originally posted by: SystemAdmin


    [achterberg said:]

    Since you are solving a mixed integer problem, you have bad luck: for MI(Q)P there is no (easy) dual concept that tells you which constraints and bounds prevent the objective from improving.

    With CPLEX 10 we introduced the "conflict refiner". You can use this tool to do something like a sensitivity analysis. Assuming you have a minimization problem and the optimal objective value is c*. Then, add the constraint cx <= c* - epsilon (with epsilon being some small number larger than the feasibility tolerance of 1e-6). This modified problem instance should be infeasible. Solve it (and get the "problem infeasible" message) and then apply the conflict refiner to extract a small set of constraints and bounds that make the model infeasible. These constraints are the ones that prevent your objective from improving. But please note that there might be another set of constraints that prevents the objective from moving, which means that deleting the first conflict set from the model does not necessarily mean that the modified model will have a better objective value. But at least it should give you some insights into your model which help to understand your model better.<br />
    #CPLEXOptimizers
    #DecisionOptimization