Decision Optimization

Decision Optimization

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

 View Only
  • 1.  finding fractional variables in the branch callback

    Posted Sun August 23, 2020 04:11 PM
    hi
    what is the best way to find fractional variables in the node realxation, and variables already fixed to integer values , in the branch callback.

    ------------------------------
    srinivas tamvada
    ------------------------------

    #DecisionOptimization


  • 2.  RE: finding fractional variables in the branch callback

    Posted Sun August 23, 2020 04:25 PM
    To start, you can call getUB() or getUBs() and getLB() or getLBs() to get the upper and lower bounds of the integer variables. I believe that variables CPLEX has fixed will have lower bound = upper bound. You can then call getValue() or getValues() to get the values of all remaining integer variables, and check whether their fractional parts are > epsilon and less than 1 - epsilon, where epsilon is the integrality tolerance.

    ------------------------------
    Paul Rubin
    Professor Emeritus
    Michigan State University
    ------------------------------



  • 3.  RE: finding fractional variables in the branch callback

    Posted Sun August 23, 2020 05:35 PM
    hi Prof Rubin
    thank you for the note.

    method getFeasibilities () seems to be useful for finding variables that are fractional

    but to find variables that are fixed to an integer value already, by going thruough all the varaibles and finding their UB and LB seems expensive. Is there a faster way ?

    ------------------------------
    srinivas tamvada
    ------------------------------



  • 4.  RE: finding fractional variables in the branch callback

    Posted Mon August 24, 2020 12:46 AM
    Yes, you can use node user data to keep track of the unfixed variables and then only check those variables.

    ------------------------------
    Daniel Junglas
    ------------------------------