Decision Optimization

Decision Optimization

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

 View Only
  • 1.  Change in IloNumToNumStepFunction between 20.1 and 22.1 ?

    Posted 21 days ago

    Hello

    From the declaration code 

    IloNumToNumStepFunction breakStepFunction = createNumToNumStepFunction(cp, start, end, 1);

    and then query

    double breakMin = breakFunction.getDefinitionIntervalMin();//equals to 'start' in 20.1, -IloInfinity in 22.1
    double breakMax = breakFunction.getDefinitionIntervalMax();//equals to 'end' in 20.1, IloInfinity in 22.1

    was returning original start and end in 20.1 but [-IloInfinity, IloInfinity] in 22.1

    Is there any reason why the behavior changed ? And what is the alternative if we want to query the 'the left (or right)-most point of the definition interval of the invoking step function.' as the javadoc defined these apis ?

    Thanks

    David



    ------------------------------
    David Gravot
    ------------------------------


  • 2.  RE: Change in IloNumToNumStepFunction between 20.1 and 22.1 ?

    Posted 18 days ago

    Hello David,

    I don't see any related bug report, or update notification for example in the release notes.

    Could you open a support case for further investigation?

    Or can you share here a small reproducible sample?

    Thanks in advance.

    Olivier (IBM Support)



    ------------------------------
    Olivier Binckly
    ------------------------------



  • 3.  RE: Change in IloNumToNumStepFunction between 20.1 and 22.1 ?

    Posted 17 days ago
    IloNumToNumStepFunction fun = cp.createNumToNumStepFunction();
    fun.setValue(1394812800000, 50544000000, 0.0)


    ------------------------------
    David Gravot
    ------------------------------



  • 4.  RE: Change in IloNumToNumStepFunction between 20.1 and 22.1 ?

    Posted 10 days ago

    Hi David,
    Some constructors of IloNumToNumStepFunction functions and other functions that used the definition range were deprecated in Java interface since 12.4 and removed from 21.x versions. There was little benefit in using them for describing functions whose argument is not yet known. The getters (getDefinitionIntervalMin and getDefinitionIntervalMax) simply returned the bounds given in the object constructor. In the absence of a constructor using bounds as arguments, the definition interval is now always [-Inf, +Inf].


    However, the interface needs to be fixed since these functions are no longer necessary and there are discrepancies over the different languages interfaces. We are sorry for the confusion it may create and will fix these discrepancies for the next release. 

    Regards,

    Philippe

    -------------------------------------------