You are on page 1of 27

Prescriptive Analytics

Source: Business Analytics by U Dinesh


Kumar

U Dinesh Kumar, IIM Bangalore


Prescriptive Analytics

Prescriptive analytics provides the optimal solution (or the best


action) to a problem. Traditionally, operations research
techniques are used for finding the optimal solution to a
problem. Many machine learning algorithms use optimization
techniques such as gradient descent while solving a problem.

U Dinesh Kumar, IIM Bangalore


Prescriptive Analytics

• Prescriptive analytics prescribes decision


options to problems and selects the best
decision from several alternatives.

• Operations Research models are frequently


used for Solving prescriptive analytics
problems.

05/07/2020 3
U Dinesh Kumar, IIM Bangalore
Commercial Applications -
Examples
• Airline industry – Flight scheduling
• Dynamic Pricing and Revenue management
– All most all industries
• Telecommunications – Queuing theory,
network algorithms
• Transportation industry – Routing, logistics
• Production – Inventory theory, simulation,
analytical production line models, supply
chain models
• Engineering and development – Design
optimization, Scheduling, resource allocation
• Finance – Portfolio optimization, Capital
Budgeting
05/07/2020 4
U Dinesh Kumar, IIM Bangalore
Applications of LP
• Product Mix.
• Cutting Stock.
• Blending Problems.
• Transportation Problems.
• Travelling Salesman.
• Assignment Problems.
• Financial Portfolios.
• Marketing Mix.

U Dinesh Kumar, IIM Bangalore


Linear Integer Programming - Definition
• A Linear programming with the additional
constraint that one or more of the decision
variables can take only integer values.
• LIP is most frequently used since most industrial
problems are integer programming problems.

U Dinesh Kumar, IIM Bangalore


Types of Integer Programming
Problems
• Pure-integer program - If all the
variables must be integer, we have all
integer-linear programming problem.
• Mixed-integer program (MIP) - If some
but not all variables must be integer, we
have a mixed-integer linear program.
• 0-1 integer program - If all decision
variables are either 0 or 1, we have a 0-1
linear integer program.

U Dinesh Kumar, IIM Bangalore


Branch and Bound (B &B)
• Branch and Bound is a technique used for
solving Integer and combinatorial
optimization problems.

• Branch and Bound is a Divide and


Conquer strategy in which the original
problem is divided into several sub-
problems.

U Dinesh Kumar, IIM Bangalore


Branch and Bound
• Branch and Bound implicitly enumerates
all possible feasible solutions of IP.

• By Solving a single sub-problem many


possible solutions may be eliminated from
further consideration.

U Dinesh Kumar, IIM Bangalore


Branch and Bound and Relaxation
• Associated with an integer programming problem
(IPP), P, one can define another optimization
problem, PR, known as relaxed problem.
• PR is related to P (IP Problem) in the following
way:
– Every feasible solution to P is also feasible to PR.

– For a maximization problem the optimal solution


to PR is the upper bound to the original problem
P. That is, the optimal solution of the IP problem
cannot exceed the optimal solution of the relaxed
problem.
– For a minimization problem the optimal solution
to PR is the lower bound to the original problem
U Dinesh Kumar, IIM Bangalore
Branch and Bound Steps to solve an ILP
• Identify the appropriate relaxed problem:
e.g. if the problem is a pure ILP, Identify the
appropriate relaxed problem. Solve the LP
relaxation. Stop if the optimal solution is integer.

• Branch: Divide the original problem into sub-


problems, by introducing new constraints.

• Bound: Conquer the problem by deriving upper


and lower bounds and fathoming the sub-
problems if possible.

• Test for optimality: If there are no unfathomed


sub-problems left then return theIIM Bangalore
U Dinesh Kumar, current
Branch and Bound Steps to solve an ILP
• Identify the appropriate relaxed problem:
e.g. if the problem is a pure LIP, we ignore the integer
constraints; if it is 0-1 LIP, we replace the binary
constraint for each decision variable Xi, with 0<= Xi <= 1
in the relaxed problem; if it is mixed LIP, use relaxation
only for integer variables.
Solve the LP relaxation. Stop if the optimal solution is
integer.
• Branching Step: Divide the original problem into sub-
problems, by introducing new constraints. e.g.
Let Xk be non-integer in the optimal solution of the
relaxed problem. Then we create 2 sub-problems by
introducing following constraints:
Xk <= floor (Xk) i.e. greatest integer less than or equal
to Xk and Xk >= ceil (Xk) i.e. least integer greater than
U Dinesh Kumar, IIM Bangalore
Branching in Mixed Integer Programming
• When branching a mixed integer
programming problem, only branch on
those required to be integer.

U Dinesh Kumar, IIM Bangalore


Lower and Upper Bounds for
maximization problem
• Upper bound for a sub-problem is the optimal
solution to the sub-problem under LP relaxation.
Thus, an upper bound may not be an integer
solution in a maximization problem.

• A feasible integer solution of a sub-problem is


called a lower bound. Thus, a lower bound is an
integer solution and thus a candidate solution.

• The best candidate solution is the optimal


solution to the IP.

U Dinesh Kumar, IIM Bangalore


Bounding for Maximization
• Bounding is a fast way of finding the
optimal solution within a feasible sub-
region by eliminating sub-problems.

• In a maximization problem If the lower


bound (candidate solution) for a sub-
problem 1 is greater than the upper bound
for any other sub-problem (say sub
problem) 2, then sub-problem 2 may be
safely discarded from the search.

U Dinesh Kumar, IIM Bangalore


Bounding for Minimization
• In a minimization problem If the upper
bound (candidate solution) for a sub-
problem 1 is less than the lower bound
(Optimal solution to LP Relaxation) for any
other sub-problem (say sub-problem 2),
then sub-problem 2 may be safely
discarded from the search.

U Dinesh Kumar, IIM Bangalore


Fathoming (Elimination of Sub-
problems)
• If it is not necessary to branch a sub-problem,
then we say that the sub-problem is fathomed.

• For a Maximization (Minimization) Problem, a sub-


problem can be fathomed if:
– The sub-problem created by additional
constraint is infeasible.
– The solution to the sub-problem satisfies the
initial constraints of the original problem
(candidate solution).
– The optimal Z of the sub-problem is less than
(greater than) the best candidate solution
obtained so far for the maximization
(minimization) problem.
U Dinesh Kumar, IIM Bangalore
Multi-criteria decision making
problems (MCDM)
• MCDM is a class of problems in which the optimal
solution is chosen based on more than one
objective function.

• Analytic Hierarchy Process (AHP) and Goal


Programming (GP) are two most popular
techniques in MCDM.

U Dinesh Kumar, IIM Bangalore


Examples of MCDM Problems
Vendor Procurement
Selection E.g. Car

Quality Price

Cost Mileage

On-time Style
Delivery

Capacity Comfort

U Dinesh Kumar, IIM Bangalore


Goal Programming - Introduction
• Goal programming is a variation of linear
programming.

• Different objectives are set as goals of the


decision making problem.

• The decision maker may specify an ordinal


ranking of goals.

U Dinesh Kumar, IIM Bangalore


Types of Goals
• There are three possible types of goals:

– A lower, one sided goal sets a lower limit that we do not


want to fall under (but exceeding the limit is fine).

– An upper, one sided goal sets an upper limit that we do not


want to exceed (but failing under the limit is fine).

– A two-sided goal sets a specific target that we do not want


to miss on either side.

U Dinesh Kumar, IIM Bangalore


Pre-emptive and Non pre-
emptive Goal Programming
• If all the goals are treated equally
important, then we call it a non pre-
emptive game.

• If there is a hierarchy of priority levels


for the goals, then it is called pre-
emptive goal programming.

U Dinesh Kumar, IIM Bangalore


Goal Programming Steps
• Define decision variables.
• Identify objectives (goals).
• Define deviational variables for
each goal.
• Formulate constraint equations.
– Economic constraints (hard
constraints)
– Goal constraints (soft constraints)
• Formulate the objective function.
U Dinesh Kumar, IIM Bangalore
Deviation Variables
• In goal programming deviation
variables, Di+ and Di-, are the
amounts a targeted goal i is
overachieved or underachieved,
respectively.

• The goals are added to the constraint


set with Di+ and Di- acting as the
surplus and slack variables.

U Dinesh Kumar, IIM Bangalore


Objective in GP
• The objective function in a Goal
Programming is always minimized and
must be composed of deviational variables
only.

• Decision variables are implicitly assigned


coefficient zero in the objective function.

U Dinesh Kumar, IIM Bangalore


Summary
• Prescriptive analytics is used to find best solution/decision to
a problem. Prescriptive analytics is the frontier of analytics
capability.
• Operations research techniques such as linear programming,
integer programming and goal programming are frequently
used for solving prescriptive analytics problems.
• Many prescriptive analytics problems such as travelling
salesman problem and bin-packing problem, facility location
problem do not have efficient algorithms to solve as the size
of problem increases and are big data problems within
prescriptive analytics.

U Dinesh Kumar, IIM Bangalore


• Linear programming is one of the most popular prescriptive
analytics technique used for solving several analytics
problems such as product mix, transportation, revenue
management, assortment planning, shelf space allocation etc.
• The concept of shadow price provides insights about the
marginal value of a resource that will be very useful in
decision making.
• Integer programming is another prescriptive analytics
problem that can be used for several organizational problems
such as capital budgeting, facility location.
• Many prescriptive analytics problems may have multiple
objectives. Problems with multiple objectives are solved
using goal programming.

U Dinesh Kumar, IIM Bangalore

You might also like