You are on page 1of 6

BUSINESS OPTIMIZATION WITH

RED HAT DECISION MANAGER


TECHNOLOGY OVERVIEW

RED HAT DECISION INTRODUCTION


MANAGER BENEFITS:
Red Hat® Decision Manager 7 offers Java™ developers a unique toolkit for the construction of appli-
• A lightweight, embeddable cations that solve complex scheduling and resource optimization problems. Its business optimizer
planning engine can quickly find good solutions to problems that are otherwise extremely difficult, time-consuming,
• Solves constraint satisfaction and expensive to solve. No specific knowledge of optimization techniques is required in order to
problems efficiently use business optimizer, making it easy for IT organizations to deliver optimized business solutions
without the need for specialized expertise and tools.
• Combines optimization
heuristics and metaheuris- Business optimizer is based on the OptaPlanner JBoss® community project, and it is included with a
tics with very efficient Red Hat Decision Manager 7 subscription at no additional cost. Business optimizer benefits from the
score calculation underlying capabilities of the business rules engine, which conveys scalability benefits compared to
traditional planning solutions that do not use rules-based technology.
• Easily adjustable
optimization algorithm MANY DEMANDS, LIMITED RESOURCES
Every organization faces planning problems and must provide products or services with a limited set
of constrained resources, such as employees, assets, time, and money. Business optimizer optimizes
planning so you can do more business with fewer resources. This is known as constraint satisfac-
tion programming.

Less fuel Shorter schedule Higher utilization


Vehicle routing Job shop scheduling Equipment scheduling

1 2 3 4 5 6 7 1 2 3 4 5
Job 1 1/day
Thing 1 B E C
1-2 2-4 4-5
Job 2 1/day
Thing 2 D A
1/day 1-3 3-5
Job 3
1/day
Job 4

Business optimizing
Employee rostering

Sat Sun Mon


8 14 22 6 14 22 6 14 22
Bin packing
Employee 1 L L Free
CPU RAM
2 5 5 1 Employee 2 E Free L

Employee 3 N Free Free


2 4 3 3
Employee 4 Free E E
Better allocations Employee 5 Free N N

facebook.com/redhatinc Happier employees


@redhatnews JB0096

linkedin.com/company/red-hat
Figure 1. Business resource planning.

redhat.com
None of the smartest Examples of the types of challenges that business optimizing can address include:
computer scientists in the
• Employee rostering — scheduling personnel, such as nurses or service personnel, with the appro-
world have found a means to
priate availability and skills for 24-hour coverage
solve NP-complete (nonde-
terministic polynomial time) • Agenda scheduling — scheduling meetings, appointments, maintenance jobs, advertisements,
problems yet. In fact, there’s and more
a $1 million prize for the
• Educational scheduling — scheduling lessons, courses, exams, or conference presentations
first correct solution.
• Vehicle routing — planning vehicles, such as trucks, trains, boats, or airplanes with freight
or people

• Bin packing — filling containers, trucks, ships, and storage warehouses, but also cloud
compute nodes

• Job shop scheduling — planning car assembly lines, machine queue planning, or workforce
task planning

• Cutting stock — minimizing waste while cutting paper, steel, or carpet

• Sports scheduling — planning football or baseball leagues

• Financial optimization — optimizing investment portfolios or spreading risk

These types of problems are very common across many industries, and they are difficult and expen-
sive to solve. In mathematical terms, these problems are probably NP-complete. This means that
there is no known way to find an optimal solution in a reasonable time.

PLANNING PROBLEMS
HARD AND SOFT CONSTRAINTS
A planning problem has a number of solutions. There are several categories of solution:

A constraint is a restriction that any solution to a planning problem should satisfy. Planning prob-
lems have at least two types of constraints:

• A (negative) hard constraint must not be broken. For example: one teacher cannot teach two
different lessons at the same time.

• A (negative) soft constraint should not be broken if it can be avoided. For example: Teacher A does
not like to teach on Friday afternoon.

Some problems have positive constraints too:

• A positive soft constraint (or reward) should be fulfilled if possible. For example: Teacher B likes to
teach on Monday morning.

The quality of a solution to a planning problem can be measured by the extent to which it complies
with the problem’s hard and soft constraints. A score calculation (or fitness function) is used to
produce a numerical score for each solution, and to compare solutions in order to determine which
out of a set of possible solutions is the best.

redhat.com TECHNOLOGY OVERVIEW  Business optimization with Decision Manager 7 2


A HUGE SEARCH SPACE
A planning problem has a number of solutions. There are several categories of solutions:

• A possible solution is any solution whether or not it breaks any number of constraints. Planning
problems tend to have an incredibly large number of possible solutions. Many of those solutions
are worthless.

• A feasible solution is a solution that does not break any (negative) hard constraints. The number of
feasible solutions tends to be relative to the number of possible solutions. Sometimes there are no
feasible solutions. Every feasible solution is a possible solution.

• An optimal solution is a solution with the highest score. Planning problems tend to have one (or a
few) optimal solutions. There is always at least one optimal solution, even in the case that there
are no feasible solutions and the optimal solution isn’t feasible.

• The best solution found is the solution with the highest score found by an implementation in a
given amount of time. The best solution found is likely to be feasible, and given enough time, it’s
an optimal solution.

The number of possible solutions is typically huge, even with a small dataset. Most problems have
a lot more possible solutions than the minimal number of atoms in the known universe (10^80).
Because there is no fast, easy way to find the optimal solution, any implementation is forced to eval-
uate at least a subset of all those possible solutions.

RED HAT APPROACH


The business optimizer, part of Red Hat Decision Manager 7, is a lightweight, embeddable planning
engine. Business optimizer helps Java programmers solve these types of constraint satisfaction
problems efficiently. Business optimizer combines optimization heuristics and metaheuristics with
very efficient score calculation. Depending on the use case, some optimization algorithms perform
better than others, but it’s impossible to tell in advance.

With business optimizer, it is easy to switch the optimization algorithm by changing the solver con-
figuration in a few lines of XML or code. The included benchmarker toolkit allows you to easily deter-
mine the best configuration for your business.

redhat.com TECHNOLOGY OVERVIEW  Business optimization with Decision Manager 7 3


USING THE BUSINESS OPTIMIZER

Solver configuration
Domain (java, ...) Score function (drl, ...)
Hard constraints
• CPU power capacity
Computer Process
• RAM memory capacity
• Network bandwidth capacity
CloudBalance
Soft constraints
• Minimize maintenance cost

SolverFactory
buildSolver()

Problem dataset 1 Solution dataset 1


Computer X Process A Computer X Process A
Process B Process B
Process C
Computer Y Process D
Solver Computer Y
Process C
Process D
Process E Process E
Process F solve(problem) getBestSolution() Process F
Computer Z Computer Z
Process G Process G

JB0097

Figure 2. Using the business resource planner.

The approach to solving a planning problem with business optimizer can be broadly divided into
these steps:

1. Modelthe planning entities. A set of Java classes are created to describe the problem in terms of
the key entities and their relationships. For example, for a vehicle routing problem, Java classes
are required that represent the types of vehicles, types of drivers, delivery locations, etc.

2. Defineconstraints. Hard and soft constraints on planning entities, such as maximum loads and
driver availability, are defined by scoring functions that calculate a score representing the extent
to which a specific constraint is met by a given solution. Scoring functions may be written in Java,
or for complex planning problems, in Drools DRL, which lets business optimizer take advantage of
the speed and scalability of the Red Hat Decision Manager 7 rules engine.

3. Loada problem dataset. Provide business optimizer with data representing a specific instance of
the problem to solve — for example, a set of vehicles and delivery locations.

solving. Use the business optimizer API to start solving the problem. Business optimizer will
4. Start
work continuously to find solutions and will keep the best one found so far.

5. Obtain a solution. Use the business optimizer API to retrieve the current best solution. Typically
it will converge on a solution within a few minutes, depending on the size and complexity of
the problem.

redhat.com TECHNOLOGY OVERVIEW  Business optimization with Decision Manager 7 4


Business optimizer offers users considerable control over the solving process at runtime. The rela-
tive importance of each constraint can be modified, and one or more components of a solution can
be locked to specific values and made immovable. In this way, users can exercise more control over
generated solutions; they can limit automatic solving to specific aspects of a problem and incorpo-
rate their own preferred answers into the overall solution.

CONTINUOUS AND REAL-TIME PLANNING


In most scenarios, planning solutions need to be revisited constantly as the goals, resources, and
constraints change over time. Unexpected events such as equipment breakdowns, severe weather,
and absent staff mean that a solution may no longer be effective and new solutions are needed
quickly. Or solutions such as a staff roster may need to be generated on a regular basis, perhaps
weekly, with each week’s roster dependent on assignments completed in the prior week.

For these scenarios, the business optimizer offers both real-time and continuous planning capa-
bilities. In real-time mode, business optimizer can continually adjust solutions as the problem data
changes, allowing a rapid response to unplanned events. In continuous mode, business optimizer
produces incremental solutions for an advancing window of time that takes prior results
into account.

INTEGRATION WITH BUSINESS APPLICATIONS AND DATA

Business optimizer offers many flexible options for developers to integrate with their IT infrastruc-
ture. Input and output data (the planning problem and the solution) are plain old Java objects
(POJOs), so integration with other Java and Java EE (JEE) technologies is straightforward.

Business
resource planner
@PlanningEntity XStream XML file
class Process {
@PlanningEntity
@XStreamAlias(...) <cloudBalance>
@PlanningVariable <computerList>
class Process {
Computer getComputer() {...} <computer id=”1”>...</computer>
}
@PlanningVariable <computerList>
Computer getComputer() {...} <processList>
} <process>
<name>A</name>
<computer ref =”1”/>
or
<process>
...
JavaBeans </processList>
JAXB </cloudBalance>
Computer X Process A
Process B
Process C
Computer Y Process D JPA
Process E Relational database
Computer Z Process F
Process G @PlanningEntity
@Entity Table PROCESS
class Process {
process id process name computer id
@PlanningVariable 1 A 1 (x)
@ManyToOne 2 B 2(y)
Computer getComputer() {...} 3 C 3(x)
} 4 D 4(y)
5 E 5(y)
Infinispan, JAX-RS, or
6 F 6(z)
Hadoop, ... Camel, ... 7 G 7(z)
JDBC
Data grid REST/SOAP
JB0098

Figure 3. Integration overview—business optimizer combines easily with other Java and JEE technologies

redhat.com TECHNOLOGY OVERVIEW  Business optimization with Decision Manager 7 5


TECHNOLOGY OVERVIEW  Business optimization with Decision Manager 7

In addition, business optimizer is fully compatible with JEE and Open Service Gateway Initiative
(OSGi) environments and can easily be exposed as a service on an enterprise service bus (ESB), such
as Apache Camel.

MORE INFORMATION
Many organizations are using business optimizer to solve a wide range of problems, from scheduling
sporting events to optimizing the use of shift workers to scheduling package deliveries. Red Hat
now offers worldwide support and consulting services to help you create timely and successful opti-
mizer implementations.

For more information on how Red Hat Decision Manager 7 with its business optimizer can help opti-
mize business operations, visit redhat.com/Decision-Manager.

ABOUT RED HAT


Red Hat is the world’s leading provider of open source solutions, using a community-powered approach
to provide reliable and high-performing cloud, virtualization, storage, Linux, and middleware technologies.
Red Hat also offers award-winning support, training, and consulting services. Red Hat is an S&P company
with more than 80 offices spanning the globe, empowering its customers’ businesses.

NORTH AMERICA EUROPE, MIDDLE EAST, ASIA PACIFIC LATIN AMERICA


1 888 REDHAT1 AND AFRICA +65 6490 4200 +54 11 4329 7300
facebook.com/redhatinc
@redhatnews 00800 7334 2835 apac@redhat.com info-latam@redhat.com
linkedin.com/company/red-hat europe@redhat.com

redhat.com Copyright © 2017 Red Hat, Inc. Red Hat, Red Hat Enterprise Linux, the Shadowman logo, and JBoss are trademarks or registered
#f10413_0118 trademarks of Red Hat, Inc. or its subsidiaries in the United States and other countries. Linux® is the registered trademark of Linus Torvalds
in the U.S. and other countries. Java and all Java based trademarks and logos are trademarks or registered trademarks of Oracle America,
Inc. in the U.S. and other countries.

You might also like