Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only

prune and abort in callbacks when using multi threads

  • 1.  prune and abort in callbacks when using multi threads

    Posted 12/30/20 07:16 AM
    Edited by System Admin 01/20/23 04:10 PM

    Hi

    i want to prune a given subset of leaf nodes, given their node ids.

    Currently I am doing this in single threaded mode by using a node callback to go to one of the nodes that I want to prune, and then I invoke prune() in the branch callback after checking the node id.

    The problem is , this is very slow when I want to prune thousands of leaf nodes.

    I can implement this in multi threaded mode using java synchronized data structures, and can call abort() when all the required pruning is complete.

    But there is still a problem. What happens if one of the threads invokes abort (), while the other threads are branching some other nodes ?

    It would be very useful to have a method in the IloCplex object which prunes a list of leaf nodes, given their node IDs.

    In the meantime , how to do this in multi threaded mode ? help will be appreciated.

    Thanks!

    Edit: I know one way. It is to solve() for a few minutes with the callbacks needed for pruning, and after every 10 minutes check if any more pruning is needed. However, wondering if there is a better way.

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


    #DecisionOptimization