Dynamic Real-Time Optimization Engine - SOLVER
Thomas Edison once said: "There's a way to do it better - find it".
At BoldIQ we listened and we found it. In fact we find it for our customers every day.
BoldIQ enables customers utilizing our technologies, to expect and realize more out of their resources, and to act quickly and efficiently when changes occur. Beyond ongoing optimized planning, the BoldIQ platform provides on-the-fly change management from an entire systems perspective.
One of the major challenges dynamic companies encounter in their business is creating and executing an efficient and robust operating plan and schedule in an environment that changes frequently.
Creating a schedule that meets demand, satisfies all legal and physical constraints, and at the same time utilizes resources in the most efficient way (taking into account multiple objectives an operation might have such as financial, customer satisfaction, and more), is a difficult problem even if all of the resource and environmental properties are static. More over when both the resources and the demand on them are dynamic.
The corresponding mathematical problem is well known, considered to be extremely difficult to solve, and almost impossible to solve optimally, let alone in high speeds and rapid succession. Executing the plan is even more of a challenge since one has to deal with many different kinds of disruptive events (e.g. weather induced delays, asset failures, human behavior, etc.) and react accordingly in real time.
The complexities and difficulties in creating and executing a schedule lead to increased operating cost, lower customer satisfaction, and negatively impact the company’s business overall.
The Challenge with Standard Approaches
There are a number of different commercial ‘off the shelf’ systems currently used for schedule creation. However, all of them are based on applying and forcing many simplifying assumptions that cause the resulting schedules to become infeasible once real-world constraints are introduced.
These assumptions are typically made in order to create corresponding mathematical problems which are tractable using standard techniques and tools (e.g. CPLEX, customized column generation, dynamic search, etc.). The major reason for simplification is that standard approaches unify constraints and optimality conditions into a single formulation. This makes it extremely difficult and sometimes even impossible to incorporate complicated, in many cases non-linear, real-world constraints into a tractable problem formulation.
Moreover, schedules are often generated by partitioning the original problem into several (simpler) sub-problems, and piecing together the results to form a master solution. The problem with this approach is that even if each sub-problem is solved optimally, there is a high probability that the master solution is not globally optimal, and in fact, may not even be feasible.
Another drawback of the existing systems is that they usually take a long time to generate feasible solutions, making them difficult to use during schedule execution when immediate, real time results are necessary.
The BoldIQ Approach
The main goal for BoldIQ Solver is to create an efficient schedule which utilizes available resources in order to satisfy customer demand without breaking any given constraints.
All operational resources can be used including people and assets, internal to the operation or external. The constraints represent current and future resource states and transitions between them, resource availability and properties, business rules, and regulations.
How are we different?
The approach utilized in the BoldIQ Solver is based on a separation between the generation of feasible solutions and optimization. Due to this separation, a much richer set of constraints can be implemented so that fully feasible solutions, simultaneously satisfying constraints for all resources and objects, can be created. Following this approach, optimization becomes decoupled from the details of feasibility constraints, allowing the creation of very sophisticated and powerful optimization algorithms. This approach also enables us to provide solution at very high speeds and in rapid succession.
BoldIQ has created a high performance feasibility engine, supporting many real world constraints which no other system does. Having a quick method for generating feasible solutions serves multiple goals:
- Since all feasible solutions satisfy actual real-world constraints, any of them can be executed without any need for manual adjustments.
- When constraints change or environmental and resource properties are dynamic, new schedules can be generated and executed quickly, providing real time disruption handling capabilities.
- Optimization consists of a search among different feasible solutions. Hence, faster feasible solution generation increases optimization performance as well.
- In real-world applications, multiple optimality criteria are often used such as minimal operating cost, high customer satisfaction, low level of outsourcing, and high resource utilization. In many cases these criteria contradict each other and cannot be easily incorporated into a standard problem formulation. Since feasibility enforcement and optimization process are separated in our approach, these multiple optimization criteria are naturally implemented in the BoldIQ Solver using multi-objective (Pareto) optimization.
The optimization subsystem, decoupled from the feasibility engine, includes a set of proprietary algorithms, making it very efficient and useful for both schedule creation and execution (disruption handling).
In addition to the optimization and feasibility engines, the BoldIQ Solver system provides users with the necessary interfaces, contains a set of pre- and post-processing modules, supports adjustable logic for soft constraint modification, and utilizes hardware capabilities for parallel processing.
Applied in the complex dynamic environments such as aviation and transportation
High level system overview
The BoldIQ Solver system comprises a data preprocessing subsystem and a schedule generation subsystem.
- The data preprocessing subsystem generates the (relatively) static data necessary for schedule generation.
- The dynamic data processing subsystem is responsible for schedule generation given all constraints, resources and demand.
There are two main stages in schedule generation process: accept/reject (AR) and optimization (OPT).
During the AR stage, Solver’s objective is to create a schedule minimizing the number of rejected demand requests. If it can’t achieve the state with no rejections and there are constraints that can be ‘stretched’ within predefined and allowable tolerance limits, Solver partially relaxes those constraints in order to minimize the number of rejections. During this stage, a set of alternate solutions is created due to the possibility of different constraint relaxations on different subsets of resources or because different algorithms are used.
During the OPT stage, Solver uses a set of best solutions generated during the AR stage and optimizes them according to various objectives (cost, performance, utilization, etc.)
Constraints and Cost Functions
There are two main categories of constraints implemented in the Solver: hard and soft constraints.
Hard constraints (legal and physical):
These constraints (rules) must be enforced at all times since a schedule which violates any of them is considered infeasible and cannot be executed. For example, an asset cannot teleport from one location to the other without a corresponding physical move that includes time and cost; people should never exceed government regulations placed on the maximum amount of work time allowable without any rest.
Soft constraints (business rules and preferences):
These constraints are usually based on the company’s policies, preferences, and requirements. Some of them are provided with certain tolerance limits within which the corresponding schedule is considered less desirable, but remains feasible. For example, if, according to the contract with a customer, a service reservation can be delayed by 30 minutes, schedules with these kinds of delays are feasible, although in general delays should be avoided if possible in order to keep customer satisfaction high.
*Note that the cost functions themselves can be considered to belong to the set of soft constraints.
Solver can be deployed in two keys fashions: Integrated into your existing software platforms or OAAS™ - Optimization as a Service.