Using Standardized Constraint Programming Tools
open source constraint solvers:
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:
Integer, Boolean, floating-point constrained variables, and collections of constrained objects
Major arithmetic, logical and global constraints, and constrained expressions
Efficient event notification and constraint propagation mechanisms
Scheduling objects (activities, resources) and constraints on them
Pre-defined search algorithms
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 , a standard that recently ® 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
You may download JSR-331 from http://openrules.com/jsr331.
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:
GLPK™, an open-source GNU Linear Programming Kit
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.
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.
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
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 firstname.lastname@example.org.