You are on page 1of 36

INDU 6111: Theory of Operations Research

Course Introduction and Mathematical Modeling

Ivan Contreras
Mechanical and Industrial Engineering Department Concordia University Interuniversity Research Centre on Enterprise Networks, Logistics and Transportation (CIRRELT) Montreal, Canada

September 5th, 2012

Operations Research: The Science of Better

Operations Research (OR) is the discipline of applying advanced analytical methods to help make better decisions. By using techniques such as mathematical modeling to analyze complex situations, OR gives executives the power to make more eective decisions and build productive systems based on:
The latest decision tools and techniques Consideration of all available options Careful predictions of outcomes and estimates of risk More complete data

Extracted from: http://www.scienceofbetter.org/

Operations Research: The Science of Better


To achieve these results, OR professionals draw upon the latest analytical technologies, including: Simulation: giving the ability to try out approaches and test ideas for improvement Optimization: narrowing choices to the very best when there are virtually innumerable feasible options and comparing them is dicult Probability and Statistics: helping measure risk, mine data to nd valuable connections and insights, test conclusions, and make reliable forecasts

Extracted from: http://www.scienceofbetter.org/

Operations Research: The Science of Better


OR can help executives with many challenges they face: Locating a warehouse or distributions center to deliver materials over shorter distances at reduced cost Solving complex scheduling problems Deciding when to discount, and how much Optimizing a portfolio of investments Planting crops in the face of uncertainty about weather and consumer demand Forecasting sales for a new kind of product that has never been marketed before Figuring out the best way to run a call center

For success stories in OR go to: http://www.scienceofbetter.org/can do/success stories.htm

Operations Research: The Science of Better

Operations Research encompasses a wide range of problem-solving methods and techniques such as: Optimization Simulation Game theory Queueing theory Stochastic processes Expert systems Decision analysis ...

Applications in Operations Research


Several areas within Industrial Engineering in which OR can be used: Design and analysis of manufacturing systems Production planning and inventory control Machine and personnel scheduling Transportation and logistics Product design and development Quality control ... There are other elds of knowledge in which OR can be employed: Economics Computer Science Statistics Mathematics Computational Biology ...

Applications in Operations Research


Several areas within Industrial Engineering in which OR can be used: Design and analysis of manufacturing systems Production planning and inventory control Machine and personnel scheduling Transportation and logistics Product design and development Quality control ... There are other elds of knowledge in which OR can be employed: Economics Computer Science Statistics Mathematics Computational Biology ...

Optimization
Main elds in Optimization (or Mathematical Programming): Convex programming
Linear programming Semidenite programming Conic programming

Quadratic programming Nonlinear programming Network optimization Integer and combinatorial optimization Stochastic programming Robust optimization Constraint programming Dynamic programming Semi-innite programming Multi-objective optimization Optimal control ...

OR Institutes and Associations


Canada: Canadian Operational Research Society (CORS) http://www.cors.ca/ North America: Institute for Operations Research and Management Sciences (INFORMS) http://www.informs.org/ Europe: The Association of European Operational Research Societies (EURO) http://www.euro-online.org/ The Entire Globe: International Federation of Operational Research Societies (IFORS) http://ifors.org/

Course Overview

This course focuses on both the theory and applications of OR. In particular, it covers topics from: Mathematical Modeling Computational Complexity Convex Analysis Linear Programming Network Optimization

Course Overview
Mathematical Modeling
Linear, nonlinear, and integer programming models

Convex Analysis
Convex sets, polyhedral sets and polyhedral cones Extreme points and extreme directions Representation of polyhedral sets

Linear Programming
Motivation of the simplex method and the revised simplex method Farkas lemma and the Karush-Kuhn-Tucker optimality conditions Duality and sensitivity analysis Interior point methods

Computational Complexity Theory


Complexity issues, polynomial-time algorithms Decision problems and classes N P and P

Network Optimization
Network simplex method Matching and assignment problems Min-cost, max-ow problems

Optimization Solvers

Linear and Integer Programming Software: CPLEX https://www-304.ibm.com/support/docview.wss?uid=swg21419058 XPRESS http://optimization.co.com/student-version-of-co-xpress.html GUROBI http://www.gurobi.com/

Linear Algebra

Concepts in linear algebra that are assumed to be know are: Vectors: addition, scalar multiplication, inner product, and norms Vector spaces (in particular the Euclidean space) Linear and convex combinations, linear independence Spanning set and basis Matrices, partitioned matrices, inverse, and transpose Elementary matrix operations Solving a system of linear equations Rank of a matrix

Mathematical Modeling in Optimization


The modeling and analysis of models evolves though several stages:
1

Problem denition: study of the system; data collection; identication of specic problem that needs to be analyzed. Devising a mathematical formulation: construction of a model that satisfactorily represents the system while keeping the model tractable. Solving the formulation: use/develop a proper technique that exploits any special structure of the model Testing, analysis, and restructuring the model: examination of model solution and its sensitivity to system parameters; study of various what-if types of scenarios; enrich the model further or simplify the model. Implementation: development of a decision support system to aid in the decision-making process.

The interested reader is referred to: Brown and Rosenthal, Optimization Tradecraft: Hard-Won Insights from Real-Worls Decision Support, Interfaces, 38(5), 2008.

Mathematical Modeling in Optimization


Translating a problem description into a formulation should be done systematically.
1 2

Dene what appears to be the necessary decision variables Use these variables to dene a set of constraints so that the feasible points correspond to the feasible solutions of the problem Use these variables to dene the objective function

If diculties arise, dene an additional or alternative set of variables and iterate. Important: A clear distinction should be made between the data of the problem and the decision variables used in the model.
Note: This modeling recipe has been provided by Lawrence Wolsey in Integer Programming, Wiley, 1998.

Mathematical Modeling in Optimization


Translating a problem description into a formulation should be done systematically.
1 2

Dene what appears to be the necessary decision variables Use these variables to dene a set of constraints so that the feasible points correspond to the feasible solutions of the problem Use these variables to dene the objective function

If diculties arise, dene an additional or alternative set of variables and iterate. Important: A clear distinction should be made between the data of the problem and the decision variables used in the model.
Note: This modeling recipe has been provided by Lawrence Wolsey in Integer Programming, Wiley, 1998.

Mathematical Modeling in Optimization


Translating a problem description into a formulation should be done systematically.
1 2

Dene what appears to be the necessary decision variables Use these variables to dene a set of constraints so that the feasible points correspond to the feasible solutions of the problem Use these variables to dene the objective function

If diculties arise, dene an additional or alternative set of variables and iterate. Important: A clear distinction should be made between the data of the problem and the decision variables used in the model.
Note: This modeling recipe has been provided by Lawrence Wolsey in Integer Programming, Wiley, 1998.

Mathematical Modeling in Optimization

We will rst study ve classical problems in optimization: Transportation problem p-median problem Cutting stock problem Uncapacitated lot-sizing problem Traveling salesman problem

Example 1: The Transportation Problem


Plants a1 c11 b1 Warehouses

Input:
a2 b2 a3 b3 a4 b4 a5 b5 a6 c65

M : set of plants N : set of warehouses cij : cost between i and j bj : demand at warehouse j ai : capacity at plant i

The transportation problem: Decide the production quantity at each plant Find a shipping pattern form plants to warehouses to satisfy demand Objective: Minimize the total shipping cost Unit shipping cost from plant i to warehouse j: cij

Example 1: The Transportation Problem


Production-shipping variables xij = amount of product produced at plant i shipped to warehouse j
Plants a1 b1 a2 b2 a3 b3 a4 x54 a5 b5 a6 b4 Warehouses

xij variables (continuous)

Example 1: The Transportation Problem

The transportation problem can be formulated as the following linear program:

minimize
iM jN

cij xij xij = bj


iM

subject to

jN iM

xij ai
jN

xij 0

i M, j N

Example 2: The p-Median Problem


Input: J: set of customers I: set of candidate locations cij : cost between i and j dj : demand of customer j p: number of facilities to open The p-median problem: The location of p facilities The assignment of each customer to its closest facility Assume that each facility has unlimited capacity Objective: Minimize the total transportation cost Transportation cost from i to j: dj cij

Example 2: The p-Median Problem

Location variables zi = 1 0 if a facility is located at node i; otherwise

Allocation variables xij = 1 0 if customer j is assigned to facility located at node i; otherwise.

Example 2: The p-Median Problem


The p-median problem can be formulated as the following integer linear program:

minimize
iI jJ

dj cij xij zi = p
iI

subject to

xij = 1
iI

jJ i I, j J i I, j J

xij zi zi , xij {0, 1}

Example 3: The Cutting Stock Problem


Standard Metal Sheet Roll A cutting pattern l1

l2 Length (L)

l2

l3

Width (W)

Width (W)

Example 3: The Cutting Stock Problem

Input: M : set of sheet orders of dierent size (|M | = m) L: standard length of sheet rolls bi : demand of sheets with length li The cutting stock problem: Cut the standard rolls in such a way as to satisfy the orders We assume that scrap pieces are useless Objective: Minimize the waste by minimizing number of rolls needed

Example 3: The Cutting Stock Problem


Observe that given a standard sheet of length L, there are many ways of cutting it. Each such way is called a cutting pattern. The jth cutting pattern is characterized by the vector: a1j a aj = 2j , ... amj where the ith component aij is a nonnegative integer denoting the number of sheets of length li in the jth pattern. Note that aj denotes a feasible cutting pattern if and only if aij li L.
iM

Let P denotes the set of feasible cutting patterns.

Example 3: The Cutting Stock Problem


Cutting pattern variables: xj : number of standard rolls cut according to the jth pattern

The cutting stock problem can be formulated as the following integer linear program:

minimize
jP

xj aij xi bi
jP

subject to

iM

xj N+

jP

Example 4: The Uncapacitated Lot-Sizing Problem


Input: T : set of time periods dt : demand at period t pt : unit production cost at period t qt : xed production cost at period t ht : unit inventory cost at period t The uncapacitated lot-sizing problem: Decide the production lot size and inventory level in every period Capacity in each period is assumed to be unlimited We assume that demand must be satised in every time period Objective: Minimize total production, set-up and inventory cost

Example 4: The Uncapacitated Lot-Sizing Problem

Set-up variables yt = 1 0 if there is a positive production in period t; otherwise

Production variables xj : production lot size in period t Inventory variables sj : inventory level at the end of period t

Example 4: The Uncapacitated Lot-Sizing Problem

The uncapacitated lot-sizing problem can be formulated as the following integer linear program:

minimize
tT

(pt xt + qt yt + ht st ) st1 + xt st = dt xt M t yt xt , st 0 yt {0, 1} tT tT t T, tT

subject to

where Mt is a large positive number, denoting an upper bound on the maximum lot size in period t.

Example 5: The Traveling Salesman Problem

Input: N : set of cities (|N | = n) cij : travel time between i and j

The traveling salesman problem (TSP): A salesman must visit each city exactly once and then return to his starting point Objective: Minimize the total travel time of the tour

Example 5: The Traveling Salesman Problem

Input: N : set of cities (|N | = n) cij : travel time between i and j

The traveling salesman problem (TSP): A salesman must visit each city exactly once and then return to his starting point Objective: Minimize the total travel time of the tour

Example 5: The Traveling Salesman Problem


Routing variables xij = 1 0 if the salesman goes directly from city i to city j; otherwise

Using these variables, we could model the TSP as:

minimize
iN jN

cij xij xij = 1


jN :j=i

subject to

jN iN i N, j N

xij = 1
iN :i=j

xij {0, 1} Is this enough to model the problem?

Example 5: The Traveling Salesman Problem

We have to eliminate subtours = obtain one single connected component!

Example 5: The Traveling Salesman Problem

To achieve so we need additional constraints that guarantee connectivity. For that, we have at least two options:
1

Cut-set constraints: xij 1


iS j S /

S N, S = .

Subtour elimination constraints: xij |S| 1


iS jS

S N, 2 |S| n 1.

You might also like