Business Decision Modeling with Rule Engines and CP/LP Solvers

There are two major types of decision engines utilized by different Business Rules and Decision Management systems to execute business decision models:

1. Traditional rule engines (RETE-based or Sequential).
2. Constraint-based rule engines Continue reading

Another Solution for DMCommunity Challenge “Recreational Fee”

Problem

The DMCommunity Challenge Apr-2019 “Recreational Fee” is based on the following problem provided by Ron Ross:

A city has created a decision table to determine appropriate usage fees for its recreational facilities based on length of usage and when the usage occurs:

Continue reading

One-Click AWS Lambda Deployment

OpenRules business decision models can be deployed as operational decision services utilizing the Serverless architecture provided by Amazon Web Services (AWS), the most powerful and popular cloud platform in the modern world.  When you deploy your decision models as AWS Lambda functions, you don’t even think about servers and pay only for the execution time your services actually consume. Continue reading

Now Business Analysts can Deploy their Business Decision Models on Amazon Cloud

Nowadays rules-based business decision models are usually developed and maintained by business analysts or other subject matter experts (not by software developers). And more and more people want to make their business decision models available from cloud as operational decision services. But is it possible for non-technical people to achieve this objective? There are so many new terms and concepts to learn, that it seems doubtful for business people to handle this task. Continue reading

Decision Manager – Introduction Video (3 mins)

On Aug. 1 we made OpenRules Decision Manager publicly available for the first time – everybody can download and try its free evaluation version. This 3 mins YouTube video provides a very simple introduction to the on-premise version of our new product that now can execute exactly the same decision models as the classic OpenRules BRDMS.

The major advantage of the Decision Manager is the fact that it is well-positioned to be used on cloud utilizing server-based or serverless architectures.  It perfectly fits the requirements of the modern microservices and is ready to support decision-making applications which handle the millions of complex rules-based transactions per day when every transaction should be executed within milliseconds. The next upcoming release of OpenRules® Decision Manager will provide a cloud-based UI for analysis, debugging, automatic deployment and execution of decision models as microservices – stay tuned!

OpenRules Java API became even Simpler

The latest OpenRules Release 8.0.0 comes with a new, very simple Java API for incorporation of business decision models created by business people in Excel into Java applications. It corresponds to the simple view of a decision model as “a Business Glossary surrounded by Decision Tables that specify decision logic for Goals and Sub-Goals“. OpenRules 8.0.0 explicitly introduced Java concepts “DecisionModel” and  “Goal” to support the Goal-Oriented Decision Modeling approach described in this book. Continue reading

OpenRules at AWS

We are aggressively making OpenRules-based services available from cloud environments such as Amazon EC2. In particular, we’ve just re-deployed our Decision Model Analyzer from a 3rd party remote Tomcat to Amazon. It was just a very simple reconfiguration, but the effect is really positive: the Analyzer is now much faster and much more reliable. You may try it yourself without any registration or fee: simply click on the button on the right.

The source code of the Analyzer is included in the OpenRules standard release and can be considered as an example of how to deploy OpenRules web applications created using OpenRules Dialog to cloud. Another example is the game “Nim” that you may play now from the cloud by clicking on the image below: Continue reading

Integrated Use of Rule Engines and Constraint/Linear Solvers

Operational business problems can be defined by a set of decision variables and a set of rules that specify relationships between these variables – see the formal definition. This definition considers a decision as a solution of such a problem, but it doesn’t assume anything about ‘HOW’ how decisions will be produced. It means decisions can be found by applying any rule engine, a DMN engine, a constraint or MIP solver, a custom piece of software written in any programming language, a manually provided expert’s decision, or their various combinations. Continue reading

Building Decision Models for DMCommunity.org Challenge “Balanced Assignment”

DMCommunity Sep-2018 Challenge “Balanced Assignment” gives an example of a complex business problem with a serious optimization component. This problem deals with the assignment of people to different project groups. Usually, such problems require deep knowledge of optimization techniques. My interest was to build a decision model for this problem and to investigate what can be done by business people and where the involvement of optimization experts is necessary. So, I attempted to use a business-friendly approach to represent and to solve this complex problem. It was not a simple journey, and this article describes what I did successfully and where I failed. Link

A Formal Definition of Operational Business Decision

Dr. Bob Moore in his DMCommunity.org post “What is a ‘Decision’?” considers different definitions of a “Business Decision” and “Business Decision Logic”, which Bob, Ron Ross, and I have recently been discussing in the context of the March DMC Challenge. Below I will share my point of view.

First of all, it’s important to stress that we are talking not about any ‘decision’ but ‘Operational Business Decision’ which provides a solution for an operational business problem. The majority of such problems can be considered as a special case of the classical Constraint Satisfaction Problem (CSP) defined in the famous book by S.Russell and P.Norvig “Artificial Intelligence: a Modern Approach” [5]. So, I simply applied the Russell/Norvig’s definition to our business problem. Continue reading

A New Book “Goal-Oriented Decision Modeling with OpenRules”

In February-2019 I published a new book “Goal-Oriented Decision Modeling with OpenRules” available from Amazon. It explains the goal-oriented approach to business decision modeling introduced by OpenRules in 2018. The book is a practical guide that explains how to create and maintain operational business decision models in a step-by-step easy to understand style. The guide consists of a series of dialog-sessions in which an AUTHOR explains major decision modeling concepts and methods to an inquisitive READER who asks questions and implements the concepts. You will quickly learn how to represent complex decision logic and end up with a deep understanding of practical decision modeling techniques. The book contains only 150 pages, and you may start developing your own decision models after reading first 1-2 chapters.

Continue reading

Building and Using Domain-Specific Libraries of Decision Models

Our customers frequently build not one but multiple decision models for their business domains like property and casualty insurance, loan origination, medical guidelines, etc. After building several decision models, they already have a quite rich glossary and various decision tables that essentially cover their business domain. So, it gives them a good foundation to build a library of relatively small decision models which can be used to assemble more complex decision models. Sometimes they even add domain-specific decision tables and supporting Java classes. This PDF document uses well-known loan origination problems (described in the Chapter 11 of the DMN specification) to explain how to build and utilize a library of decision models. Link

Model-based Optimal Solutions for Flight Rebooking Challenge

During the closing discussion at the DecisionCAMP-2018, I promoted a new “model-based” approach to decision modeling that contrary to the commonly used “method-based” approach allows a human decision modeler to concentrate on “WHAT” instead of “HOW”. This approach gives more power to decision modelers allowing a decision engine to come up not just with one of many possible decisions but to find the optimal decision. I wanted to demonstrate this power using a more complex business problem and to do it before the end of this year. So, I decided to apply the model-based approach to the problem “Rebooking Passengers from Cancelled Flights” that is the most challengeable problem among multiple DMCommunity.org Challenges. Continue reading

Model-based Solutions for Advanced Vacation Days Challenge

I provided two solutions for DMCommunity.org Challenge “Vacation Days Advanced”. So far, all decision models submitted as solutions for the old Jan-2016 Challenge and the new challenge were “method-based” meaning they describe exactly how to assign extra days while avoiding possible conflicts. I tried to apply a new “model-based” approach that concentrates on “what” instead of “how” and finds not just one of many possible solutions but the optimal one.  The first decision model consists of clearly separated two parts: 1) Business Part presented in Excel decision tables; 2) Technical Part presented in Java using the JSR-331 standard. The second decision model is an attempt to present both parts completely in DMN-like decision tables using Excel only (the supporting Java code is hidden in new Excel templates). You may analyze both solutions here. I’d appreciate comments and suggestions for improvement.

OpenRules Presentations at DecisionCAMP and LuxLogAI-2018

OpenRules was well presented at the major technical business decision management event DecisionCAMP-2018. Here are the presentations directly related to OpenRules:

I also published a paper “Building and Analyzing Goal-Oriented Decision Models” at the Proceedings of the RuleML+RR 2018 Challenge – it explains our goal-oriented approach to decision modeling using a Credit Card Application decision model. In my closing notes I tried to demonstrate how a smarter decision engine can simplify decision modeling using concrete examples from DMCommunity.org challenges. After considering different decision modeling approaches, we will add these capabilities to standard OpenRules features.

DMCommunity Challenge July-2018 “Zoo, Buses, and Kids”

The July’s challenge “Zoo, Buses, and Kids” deals with a very simple optimization problem:
“300 kids need to travel to the London zoo. The school may rent 40 seats and 30 seats buses for 500£ and 400£. How many buses of each to minimize cost?”
Naturally, a constraint solver nicely and easily solves this and more complex constraint satisfaction problems as shown in Philippe Laborie’s solution. When today I saw  a pure SQL solution provided by Damir Sudarevic, I thought that it’s time to model this problem as a business decision model. It would not be as compact as provided solutions, but it should be oriented to business users.  Continue reading

Decision Automation and Explanations

Prof. Gene Freuder wrote a position paper “Complete Explanations” for The Second Workshop on Progress Towards the Holy Grail that will be held on Aug 27, 2018 during CP 2018 in Lille, France. Gene writes: “As AI becomes more ubiquitous there is a renewed interest in computers being able to provide explanations, and the European GPDR provides special impetus.” Geen’s paper concentrates on constraint satisfaction problems (CSPs), but, as I’d shown in my 2016 paper, we may consider a decision model as a CSP, and everything Gene is talking about directly applies to business decision modeling. Continue reading

Goal-Oriented Decision Modeling with OpenRules-7

The major Release 7.0.0 is making OpenRules even more user-friendly without losing any of the sophistication of already proven decision modeling technology. Our customers don’t have anymore to define an execution sequence of their decision tables in special tables of the type “Decision” – these tables can be automatically generated. Now it is sufficient for a human decision modeler to define only Glossary and Decision Tables that specify business logic for all included goals and subgoals. Then for any selected business goal, OpenRules Engine will execute all related decision tables in an automatically calculated order to determine the goal’s value. You may watch this short video that uses simple examples to explain the goal-oriented approach to decision modeling supported by OpenRules-7. Continue reading

Keep DMN Simple

People who started decision modeling standardization years ago were all agreed that the DMN standard is supposed to be oriented to subject matter experts, should be simple, friendly enough while powerful to cover the common denominator in operational decision modeling. It was a good start for DMN in 2013 and an enthusiastic acceptance since then. However, today DMN is full of complex, programmer-oriented features which seem to get even more complex in new releases. There are plenty examples of unnecessary complexity being proudly promoted for their “elegance”.  Here are a few examples to compare. Continue reading

Old Decision Model “Credit Card Application” Implemented with New OpenRules-7

The latest June-2018 DMCommunity Challenge”Credit Card Application” gives me a good chance to demonstrate the new upcoming OpenRules Release 7.0.0. I remember that Nick Broom was one of the first who published a real-world decision model right after the DMN introduction. I also remember that at the same day I implemented and published  Nick’s model using only Excel and OpenRules  available at that time (it was release 6.2.6). It would be interesting to compare this old implementation with a new one below that takes advantages of new OpenRules-7. Continue reading

DMCommunity Challenge April-2018 “Up-Selling Rules”

In this post we will provide a response to the DMCommunity.org Apr-2018 Challenge “Up-Selling Rules  that deals with two decision tables: 1) up-selling rules that offer new products to a customer based on the customer profile and the products which the customer already has; 2) customer profiling rules. We will use for the first time the latest OpenRules version (not released yet to public) that removes a need for ordering of multiple decision tables.  Continue reading

Introducing DMN to Business Analysts in 15 Minutes

Last year BBC-2017 organizers gave me 20 minutes to introduce DMN to business analysts at the “Technology Theater”, an open space in the Expo hall. Based on the positive feedback from people who attended my presentation, I decided to share it with more people.  You may look at my slides in the PDF format. Below I will describe an example I believe  is very useful to introduce major DMN concepts in 15 minutes. Continue reading

OpenRules Solution for the Christmas Challenge

DMCommunity.org offered a new Dec-2017 Challenge called “Reindeer Ordering“. It has a nice Christmas formulation:
Santa always leaves plans for his elves to determine the order in which the reindeer will pull his sleigh. This year, for the European leg of his journey, his elves are working to the following schedule, which will form a single line of nine reindeer. Here are the rules: Continue reading

Decision Modeling: LEGO Style

Recently I helped one of our larger customers to build a set of their business decision models. At the end I said that now they can continue to assemble new decision models themselves. Then one of their business analysts said that our decision modeling approach reminds him of LEGO. I believe this is a really good analogy and I will elaborate on it using specific examples.

Continue reading