OpenRules Platform

Decision Optimization

Constraints with Probabilities

Represent uncertainty in optimization models by associating probabilities with constraints and possible outcomes.

RuleSolver allows creators of business decision models to post constraints that can be violated based on their relative importance (probability). Let’s consider the sample problem “FlyingAnimalsWithProbabilities” with the following decision variables:

image

Now we can post the following constraints with relative importance, some of which can override the others:

image

Note that this is a multi-hit decision table and under certain conditions, multiple constraints (even contradictory ones) will be posted. The first two rules with the probability ALWAYS will be posted as regular “hard” constraints that cannot be violated. All other rules are posted with probabilities, meaning they can be violated. When you run the standard method SolverFindSolution, it should automatically decide which constraints will be violated, making sure that the total constraint violation is minimal.

RuleSolver supports the following “Probability” values with their relative violation costs:

NEVER(0),
VERY_LOW(10),
LOW(25),
BELOW_MID(35),
MID(50),
ABOVE_MID(60),
HIGH(75),
VERY_HIGH(90),
ALWAYS(100);

The probability ALWAYS means that this is a regular “hard” constraint that cannot be violated. The probability NEVER means that this constraint never can be satisfied but its opposite constraint should be satisfied. For example, if you create a constraint “x =5” and post it with probability NEVER, it means that the opposite constraint “x != 5” should be satisfied.

All other probability values allow the constraint to be violated with certain penalties. For instance, probability MID invokes a higher penalty to compare with probability LOW, but a lower penalty to compare with HIGH.

RuleSolver supports the standard decision table column “SolverPostConstraintsWithProbabilities” with two sub-columns “Constraint Expression” and “Probability” like in the above example. Here is another example from the project “MapColoringWithProbabilities”:

    image

    Here the rules 1-6 post hard constraints and rules 7-9 post constraints with their relative importance.

    The regular method Solve:

    Constraints with Probabilities illustration

    will call the standard method “SolverFindSolution” to find a solution making sure that the total constraint violation is minimal.

    Try Rule Solver

    Build decision models that find the best answer.

    Start with the free evaluation, then install Rule Solver and explore its optimization examples.