Decision Optimization

 View Only
  • 1.  Sensitivity analysis in OPL

    Posted Mon December 14, 2020 04:22 AM
    In Cplex Optimization Studio, is there a way (an OPL command) to obtain the Information on obj and rhs sensitivity ranges that can be obtained in the interactive optimizer with the commands 'display sensitivity obj *' and 'display sensitivity rhs *' or via the Concert Technology functions getObjSA and getRHSSA?

    ------------------------------
    Michael Drexl
    ------------------------------

    #DecisionOptimization


  • 2.  RE: Sensitivity analysis in OPL

    Posted Mon December 14, 2020 10:13 AM
    Edited by System Fri January 20, 2023 04:34 PM
    Hi

    in the IDE and in scripting you have access to some sensitivity info.

    If you need more, you may use an external java call as suggested at https://community.ibm.com/community/user/datascience/communities/community-home/digestviewer/viewthread?MessageKey=b87c6329-72d7-4aaa-ae96-74ac82a33b6d&CommunityKey=ab7de0fd-6f43-47a9-8261-33578a231bb7&tab=digestviewer#bmb87c6329-72d7-4aaa-ae96-74ac82a33b6d

    And do not hesitate to log wishes at

    https://ibm-data-and-ai.ideas.aha.io/ideas/search?utf8=%E2%9C%93&query=cplex

    regards


    ------------------------------
    [Alex] [Fleischer]
    [EMEA CPLEX Optimization Technical Sales]
    [IBM]
    ------------------------------



  • 3.  RE: Sensitivity analysis in OPL

    Posted Mon December 14, 2020 11:44 AM
    i know some sensitivety analysis command in cplex, but i don't know how to use them.


    ------------------------------
    Zhaojin LI
    ------------------------------



  • 4.  RE: Sensitivity analysis in OPL

    Posted Mon December 14, 2020 11:59 AM
    Hi,

    let me give you a tiny example in python docplex:

    from docplex.mp.model import Model
    tm = Model(name="MyModel")
    x = tm.continuous_var()
    y = tm.continuous_var()
    tm.add_constraint(2*x+y <= 8)
    tm.add_constraint(x+2*y <= 6)
    expr = 3*x+2*y
    tm.maximize(expr)
    result = tm.solve()
    
    cpx = tm.get_engine().get_cplex()
    
    print(cpx.solution.sensitivity.lower_bounds())
    print(cpx.solution.sensitivity.upper_bounds())
    print(cpx.solution.sensitivity.bounds())
    print(cpx.solution.sensitivity.objective())
    print(cpx.solution.sensitivity.rhs())​


    ------------------------------
    [Alex] [Fleischer]
    [EMEA CPLEX Optimization Technical Sales]
    [IBM]
    ------------------------------