Most experts and practitioners had agreed long ago that decision models should be declarative, meaning a user specifies WHAT the decision problem is and provides test cases with the desired outcome, and then the underlying decision engine or system automatically determines HOW to find the solution. Rule Engines and Constraint Solvers were specifically designed to support the declarativity.
Continue readingCategory Challenges
Solving Challenge “Risky Stocks”
In this post, I describe a solution to the DMCommunity May 2025 Challenge and briefly analyze different approaches to rules with exceptions and conflicts.
Continue readingTrying to find an optimal decision without an optimization engine
All provided solutions to the DMCommunity April 2025 Challenge “Case Assignment” use an optimization engine. The OpenRules solution utilized Rule Solver. I decided to try to solve this problem using only rules without any optimization engine. In doing that, my solution failed to satisfy all problem requirements. I believe it could be helpful for Business Rules practitioners to analyze (and potentially improve) my implementation described below.
Continue readingOpenRules Solution to Feb-2025 Challenge “Mr Bates vs The Post Office”
DMCommunity.org posted the challenge “Mr Bates vs The Post Office”. I applied Rule Solver to demonstrate how to solve this challenge using several decision tables. Link
Then I decided to ask GenAI to produce a solution for this challenge using JavaSolver API. I was a bit surprised that Copilot is quite familiar with JavaSolver It quickly generated for me a Java program for a simple Arithmetic problem similar to this one. Then I gave the text of this Challenge in plain English, and Copilot generated a very good working solution for this challenge as well! Here it is: https://dmcommunity.org/wp-content/uploads/2025/03/challenge2025feb.copilot.pdf
English-like Expressions inside Decision Tables
OpenRules Release 10.3 adds an ability to create complex English-like expressions inside your decision tables. With new predefined functions for lists and arrays of business objects, you don’t need to use loops in many practical situations. Consider a relatively simple example.
Continue readingHelping ChatGPT to Build a Working Decision Model
These days only lazy people don’t write about ChatGPT and large language models (LLM). Vendors are trying to be the first to announce a ChatGPT integration even when they don’t have anything serious to show. I’ve also written about it: see “ChatGPT Producing Simple Decision Models” and “LLM and Decision Modeling“. This weekend I decided to help ChatGPT (that is now at GPT-4) to address the Challenge “Permit Eligibility” published by DMCommunity.org. It has a simple rule: “An applicant is eligible for a resident permit if the applicant has lived at an address while married and in that time period, they have shared the same address at least 7 of the last 10 years.” But this rule contains several tricky assumptions – no wonder, DM vendors are not in a hurry to submit a solution.
Continue reading

