Big Decision Tables

Decision tables are the most popular decision modeling constructs but they have a tendency to grow with time or to use huge arrays of data from the very beginning. When decision tables have tens and even hundreds of thousands of rules, their performance may go down. It becomes especially unacceptable when such big decision tables need to be executed a million times a day. This article describes how OpenRules deals with big decision tables executing even very large tables within milliseconds and giving its users a choice of where to keep and maintain their data: in Excel, in a CSV file, in a fixed-width file, or in a database. Link

Custom Template for Nested Loops

If you read attentively my latest post, you may notice this interesting table:

What does it do? It compares every unique pair (G1;G2) of elements of the array “Guests” using rules “SeatingForTwoGuests”. It is based on the newly introduced custom template “ActionNestedLoops” that our customers may find it quite useful.

Continue reading

Rules as Preferences (Miss Manners Advanced)

DMCommunity Challenge July-2023 deals with a rules-based decisioning problem when not all rules can be satisfied and thus should be considered as preferences. It offers an advanced version of “Miss Manners” (see OpenRules solution) with not equal numbers of males and females at each party. So, the seating arrangement “boy-girl-boy-girl and each guest has someone on the left or right with a common hobby” becomes not a Rule but a Preference. It makes the problem much more difficult to represent and solve especially if we want to find an optimal seating. In this post I will demonstrate how to build the corresponding business decision model using the latest version of OpenRules Rule Solver.

Continue reading

Composite Decision Variables

In real-world decision models, you may want to write business rules that refer to combinations of two or more individual decision variables called composite decision variables. For example, your business concept “Department” may have a decision variable “Manager” of the type “Employee” which is another business concept with such variables as “Name”, “Salary”, “Gender”, etc.

Continue reading