Rule Violations and Over-Constrained Problems

Learn the rules like a pro, so you can break them like an artist.” – Pablo Picasso
 
 
Practical people know that one of the most important property of a business rule is its ability to be violated. Here are a few examples:

1) In a wealth management system, business rules such as “Technology sector inside a client portfolio should not exceed 17.5 %” are most likely violated during the trading day as technology stock prices constantly fluctuate.

2) Even such a hard rule as “A technician cannot serve two different customers at the same time” in reality still may be violated. For example, a scheduler may assign a technician to serve two different customers between 9:00 and 11:00, even if officially each job requires not 60 but 75 minutes. Why? Because a scheduler knows that these two customers live nearby, and an experienced technician still will be able to complete both jobs within a 2-hour window.

A practical decision support system should also be capable of making similar decisions. So, instead of trying to satisfy all rules, it is better to assign certain weights (importance) to some rules, set up violation limits, and try to minimize the total weighted rule violations.

Nowadays, I can see that more and more of our customers look for such intelligence in their systems. It seems as a natural trend: as custom decision management systems become more mature, they should become more knowledgeable and more flexible. It is quite similar to a rookie employee who gains real-world experience over time. I usually redirect OpenRules customers to this 2009 presentation. It includes an interesting example of how to deal with a notorious rule engine benchmark, “Miss Manners”, when input data is not what is usually expected.

To make this presentation more accessible to a wider audience of practitioners, I decided to upload it to SlideShare. Hopefully, you will find it useful if your decision support application has to deal with hard and soft rules. If you have any questions, do not hesitate to send a request to support@openrules.com or directly to me at jacobfeldman@openrules.com – I would really like to deal with such problems.

P.S. If you look for a deeper understanding of how Constraint Programming tools deal with these problems, you may look at the presentation “Using Hard and Soft Rules to Define and Solve Optimization Problems” presented by Prof. Barry O’Sullivan and me at BRForum in Nov-2009.

Leave a comment

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