Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  Using IIS with C++

    Posted 11/13/08 01:56 PM

    Originally posted by: SystemAdmin


    [cplexuser said:]

    Hi there,

      We have been using IIS for finding the conflicts that are present in LP model. We set IISInd flag to 1 to get limilted amount of conflicts. Currently, we have moved to CPLEX11. IIS is deprecated in CPLEX10. However, we are still able to use IIS in CPLEX11. Since IISInd flag is removed from CPLEX11, we are unable to set parameter to 1 to indicate that we need limited number of conflicts. We tried using conflict refiner in place of IIS as suggested by CPLEX manual. It seems like the number of conflicts retuned by refineconflict is similar to getting conflicts from IIS with IISInd parameter set to 0 (ie it returns more number of conflicts).

    Can you please suggest a solution? Is it possible to still use IIS in CPLEX11 and control it to give only limited set of conflicts?

    If not, is there a way in conflict refiner to make sure we get limited set of conflicts? (to replicate IIS with IISInd flag set to 1)

    Thank you
    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: Using IIS with C++

    Posted 11/13/08 07:38 PM

    Originally posted by: SystemAdmin


    [prubin said:]

    IIRC, the IISind flag did not directly control the size of the IIS found, it just switched algorithms.

    In any case, if you are trying to find smaller IISes, you might try the feasOpt method, together with the FeasOptMode parameter.

    /Paul
    #CPLEXOptimizers
    #DecisionOptimization


  • 3.  Re: Using IIS with C++

    Posted 11/14/08 04:04 PM

    Originally posted by: SystemAdmin


    [cplexuser said:]

    Hi Paul,

    Thanks for the reply. seems like feasopt is also changed with respect to how we get the revisions for upper and lower bounds from that of CPLEX10. I get the relative changes that needs to be done (through getInfeasibilities method) for bounds . I adjust the lower and upper bounds with the relative changes suggested by CPLEX to get the revisions. So far it has proved results are same for CPLEX 9 and CPLEX11. But is it guaranteed that they are always same?

    For CPLEX 9,  I set feasopt with optimize flag as false (the last parameter for feasopt).

    In CPLEX11, I dont specify feasoptmode and allow it take default.

    Please let me know your suggestions.

    Also, It would be great if you could let me know your suggestions on finding IIS with conflictrefiner. Both from speed and compatability wise with IIS.

    Thank you
    #CPLEXOptimizers
    #DecisionOptimization


  • 4.  Re: Using IIS with C++

    Posted 11/14/08 07:46 PM

    Originally posted by: SystemAdmin


    [prubin said:]

    [quote author=cplexuser link=topic=686.msg2104#msg2104 date=1226667815]
    Thanks for the reply. seems like feasopt is also changed with respect to how we get the revisions for upper and lower bounds from that of CPLEX10. I get the relative changes that needs to be done (through getInfeasibilities method) for bounds . I adjust the lower and upper bounds with the relative changes suggested by CPLEX to get the revisions. So far it has proved results are same for CPLEX 9 and CPLEX11. But is it guaranteed that they are always same?


    I don't know, but I would not bank on it.  In fact, I don't even know if running feasOpt twice in the same CPLEX version is guaranteed to always produce the same results; there might be multiple optimal solutions to the relaxation problem.

    [quote author=cplexuser link=topic=686.msg2104#msg2104 date=1226667815]
    Also, It would be great if you could let me know your suggestions on finding IIS with conflictrefiner. Both from speed and compatability wise with IIS.


    I'm not sure what you mean by "compatibility wise with IIS" -- refineConflict should always return an IIS.  I don't have enough experience with it to say anything about speed.  If you have prior insight into where a conflict might lie, I suspect that prioritizing the constraints you expect to be involved might speed up refineConflict a bit.

    In my work, I've either used feasOpt or my own version of feasOpt, rather than refineConflict, but that's because I'm looking specifically for low-cardinality IISes.

    /Paul
    #CPLEXOptimizers
    #DecisionOptimization


  • 5.  Re: Using IIS with C++

    Posted 11/21/08 07:58 AM

    Originally posted by: SystemAdmin


    [cplexuser said:]

    Thanks, Paul..

    I checked with both conflict refiner and IIS. We found there are some differences in conflicts reported with that of IIS. Speed wise finding conflicts with feasopt was better than conflictrefiner.


    regards
    #CPLEXOptimizers
    #DecisionOptimization