[ library(eplex) | Reference Manual | Alphabetic Index ]
# reduced_cost_pruning(+Handle, ?GlobalCost)

Prune bounds of all problem variables based on their reduced costs
*Handle*
- Handle to a (solved) solver state
*GlobalCost*
- Bounded global cost variable

## Description

Handle is a problem handle referring to the linear relaxation of
a more complex problem. GlobalCost is the overall cost variable
of the complex problem.

This predicate tries to prune the bounds of all variables that
occur in the linear relaxation, based on their reduced costs,
the optimum of the relaxation, and the currently known bounds
(lower if maximising, upper if minimising) on the global cost.

This predicate should be called just after the Handle has been solved.
In particular, it can be used as the post-goal in an lp-demon.
The solver should have been set up with the `reduced_cost(yes)`
option.

Note that the bounds of GlobalCost is obtained using the generic
get_var_bounds/3. For correct pruning, GlobalCost should only have
bounds that are relevant to this problem.

### Fail Conditions

None
## See Also

lp_demon_setup / 5