Rule Solver

Integrating business rules and optimization technologies

 
 
Rule Solver™ User Manual                                                                                                                                  Live Demo (Play & Learn)   
Download       
JSR-331 CP API Standard   Modeling and Solving Scheduling and Resource Allocation Problems

 

Modeling and Solving Optimization Problems                     

For real-world problems where many alternatives are available, it is often too tedious or just impossible, to create (and maintain!) thousands of rules to cover every possible combination of problem parameters.  At the same time, Constraint Programming is a well-known technology for calculating the best possible utilization of resources, (e.g., people, time, processes, vehicles, equipment, raw materials, supplies, capacity, securities, etc.), needed to achieve a desired result (minimum cost, minimum process time, maximum profit, etc.).  An optimization problem is specified as an objective function and a set of constraints over some variables.  A solution to the problem is a set of values for the variables that satisfies the constraints and minimizes/maximizes the objective function.  Here are examples of optimization problems:

  1. Selecting a product such as a travel package, calling plan, or banking service, that fits a customer needs/profile in the best way

  2. Finding an optimal combination of insurance discounts/surcharges

  3. Assigning the best available resources while scheduling jobs with multiple constraints and preferences.

More real-world examples and a combined use of Rule, Optimization, and Workflow Engines, have been previously described. A more recent use of Business Rules (BR) and Constraint Programming (CP) can be found here.  Today an integrated use of BR and Optimization techniques is especially important to address Online Decision Support problems such as online reservation, services scheduling, offer generation, etc.  These online problems are characterized by frequently changing constraints and multiple alternatives with very limited time to find the most optimal solution. In all these situations, it makes sense to create business rules that define the search space and then to apply an optimization technique to find the best possible alternative.

Rule Solver™    

OpenRules® BDMS includes a special component called Rule Solver that applies Constraint Programming techniques to model and solve scheduling, resource allocation, configuration, and other constraint satisfaction and optimization problems. Rule Solver brings the power of Constraints Programming to the business application world by providing two interfaces:

  1. Application Developer Interface that allows a developer to represent and solve their constraint satisfaction problem using a combination of Java and Excel-based decision tables

  2. Business User Interface that allows business users (non-programmers) to use business rules (decision tables) for modeling of complex business decisions without coding. Rule Solver™ automatically validates the Excel-based decision models, points to possible inconsistencies in business rules, and applies the default search strategy to find feasible or optimal solutions. Rule Solver™ can play the role of a Rule Engine using the same tabular decision model as an input.

Rule Solver™  may automatically resolve rule ordering problems when the order of rules inside decision tables and the execution order of different decision tables does not matter (is not required to be explicitly defined by an end user). Previously only Rete-based rule engines could address rules ordering. Additionally, Rule Solver™ can find solutions in situations when business rules only partially define a problem. Is a user defines an optimization objective, Rule Solver™ can find a solutions that minimizes/maximizes this objective. Read more in this paper.

Integrating Rules Solver and Rule Engine

The following diagram describes how the integrated use of Rule Solver™ and Rule Engine can be applied to Online Decision Support:

The combination of Rule Engine and Rule Solver allows developers to create Web-based decision support engines with unprecedented power. While business rules could be used to define and modify a business problem, the proper optimization model can be expressed in terms of constraints and solved by a powerful optimization engine.

Download

Rule Solver is available for downloads as a part of the complete OpenRules® installation:  DOWNLOAD. You may request the latest release of Rule Solver™ by sending an email to support@openrules.com.

Optimization Techniques

OpenRules® uses two major optimization techniques in its Rule Solver implementation:

  • CP: Constraint Programming
  • LP: Linear Programming

Constraint Programming

Today Constraint Programming (CP) has become a leading technique for solving complex decision support problems in manufacturing, telecom, logistics, finance, and other industries. Among such problems are job scheduling, resource allocation, planning, product configuration, and other optimization problems with many business constraints. CP provides a great foundation for the development of smart "optimization engines" to support different e-businesses.

There are multiple commercial and open source constraint solvers available on the market today. Usually a constraint solver supports the following features:

  1. Integer, Boolean, floating-point constrained variables, and collections of constrained objects

  2. Major arithmetic, logical and global constraints, and constrained expressions

  3. Efficient event notification and constraint propagation mechanisms

  4. Scheduling objects (activities, resources) and constraints on them

  5. Pre-defined search algorithms

  6. Ability to write problem-specific constraints and search algorithms.

The latest version of the Rule Solver is based on the newest version of the JSR-331 "Constraint Programming API", a Java Community Process (JCP) standard that recently  received the JCP award as "The Most Innovative JSR of 2010". OpenRules® CTO Dr. Jacob Feldman is the Specification Lead of this JSR. JSR-331 allows a user to switch between different underlying constraint solvers without any changes in the application code. In particular, the current version of JSR-331 works with the following open source constraint solvers:

Linear and Integer Programming

Linear programming (LP), integer programming (IP), and mixed linear integer programming (MIP), offer a highly efficient implementation of optimization techniques based on the well known simplex algorithm.

OpenRules® utilizes the following LP/MIP products:

  1. GLPK™, an open-source GNU Linear Programming Kit

  2. ILOG CPLEX™, a market leader among commercial linear and integer programming tools.

GLPK is an open source package intended for solving linear programming, mixed integer linear programming, and other related problems.

ILOG CPLEX™ delivers high-performance, robust, flexible optimizers for solving large-scale linear, mixed-integer and quadratic programming problems in mission-critical resource allocation applications.

Other LP/MIP products also can be used.

The hybrid use of constraint and linear engines provides a very powerful approach for solving real-world problems with huge search space and a limited response time.

Key Benefits

  • Optimization solves complex decision support problems when a pure business rules technique stops short

  • Optimized applications generate solutions faster than any other software

  • Optimization automates your solution process and verifies that the solution
    adheres to your business rules

  • Optimization dramatically improves business flexibility, responsiveness to
    changing circumstances, and ability to test "what if" scenarios

  • Optimization focuses decisions and resources on business priorities

Optimization Engines Development

OpenRules, Inc. provides professional services to assist customers in the development of optimization engines integrated with different rule engines. If you are interested, please contact us at info@openrules.com.

 

 

 

Welcome
Welcome
Business Rules Repository Decisions Top-Down Semantics In Concert Business Analyst Decisioning
Welcome
themed object
Business Rules - Time to Excel
Bookmark and Share