Declarative Decision Modeling with OpenRules Solver

DecisionCAMP-2023 is now a history. As the Chair of this popular annual decision-management event, I published my fresh impressions after 3 days of interesting presentations and discussions. In this post I will describe the key ideas behind OpenRules presentation “Declarative Decision Modeling with Rule Solver”. You may watch its recording.

On Sep 19, 2023 I presented a new approach that supports declarative decision modeling by integrating rule engines and constraint solvers within the same (!) decision models. It allows business analysts to create a decision model using DMN-like decision tables (“WHAT”) and rely on predefined search strategies to come up with the proper decisions (“HOW”).

The main idea of the proposed approach is to introduce new types of decision table columns that define constrained variables and their relationships. It allows a user to mix and match business rules with technical constraints within the same decision tables. This approach has been implemented in a new OpenRules RuleSolver. Here is an example of a decision table with a business condition and a solver action:

Rule Solver extends DMN-like decision tables with predefined actions on collections such as “All Different” and predefined search methods. All RuleSolver’s column start with the prefix “Solver”. Here are examples of the predefined Solver’s columns and methods:

Here is a complete simple decision model (with results) for the Map Coloring problem:

I used well-known decision modeling challenges to compare this new declarative approach to traditional procedural decision modeling:

The most interesting and complex among them is the Flight Rebooking problem offered by DMCommunity.org: “A flight was cancelled, and we need to re-book passengers to other flights considering their frequent flyer status. miles, and seat availability“. Most of the submitted solutions were based on a procedural approach and used different implementations of a greedy algorithm where decision models concentrate on “HOW” to make flight assignments. We suggested and implemented a decision model that concentrate on Problem Definition (“WHAT”) instead of Problem Resolution.

You may download open-sourced http://RuleSolver.com and analyze the above declarative decision models. To run them you need to install a free evaluation version of OpenRules Decision Manager.

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.