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

Presentation Lecture 1 INDU 6111

Embed Size (px)

Citation preview

Page 1: Presentation Lecture 1 INDU 6111

INDU 6111: Theory of Operations ResearchCourse Introduction and Mathematical Modeling

Ivan Contreras

Mechanical and Industrial Engineering DepartmentConcordia University

Interuniversity Research Centre on Enterprise Networks,Logistics and Transportation (CIRRELT)

Montreal, Canada

September 5th, 2012

Page 2: Presentation Lecture 1 INDU 6111

Operations Research: The Science of Better

Operations Research (OR) is the discipline of applying advancedanalytical methods to help make better decisions.

By using techniques such as mathematical modeling to analyzecomplex situations, OR gives executives the power to make moreeffective decisions and build productive systems based on:

The latest decision tools and techniquesConsideration of all available optionsCareful predictions of outcomes and estimates of riskMore complete data

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

Page 3: Presentation Lecture 1 INDU 6111

Operations Research: The Science of Better

To achieve these results, OR professionals draw upon the latest analyticaltechnologies, including:

Simulation: giving the ability to try out approaches and test ideasfor improvement

Optimization: narrowing choices to the very best when there arevirtually innumerable feasible options and comparing them is difficult

Probability and Statistics: helping measure risk, mine data to findvaluable connections and insights, test conclusions, and makereliable forecasts

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

Page 4: Presentation Lecture 1 INDU 6111

Operations Research: The Science of Better

OR can help executives with many challenges they face:

Locating a warehouse or distributions center to deliver materials overshorter 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 andconsumer demand

Forecasting sales for a new kind of product that has never beenmarketed 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

Page 5: Presentation Lecture 1 INDU 6111

Operations Research: The Science of Better

Operations Research encompasses a wide range of problem-solvingmethods and techniques such as:

Optimization

Simulation

Game theory

Queueing theory

Stochastic processes

Expert systems

Decision analysis

. . .

Page 6: Presentation Lecture 1 INDU 6111

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 fields of knowledge in which OR can be employed:

Economics

Computer Science

Statistics

Mathematics

Computational Biology

. . .

Page 7: Presentation Lecture 1 INDU 6111

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 fields of knowledge in which OR can be employed:

Economics

Computer Science

Statistics

Mathematics

Computational Biology

. . .

Page 8: Presentation Lecture 1 INDU 6111

Optimization

Main fields in Optimization (or Mathematical Programming):

Convex programmingLinear programmingSemidefinite programmingConic programming

Quadratic programmingNonlinear programmingNetwork optimizationInteger and combinatorial optimizationStochastic programmingRobust optimizationConstraint programmingDynamic programmingSemi-infinite programmingMulti-objective optimizationOptimal control. . .

Page 9: Presentation Lecture 1 INDU 6111

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/

Page 10: Presentation Lecture 1 INDU 6111

Course Overview

This course focuses on both the theory and applications of OR. Inparticular, it covers topics from:

Mathematical Modeling

Computational Complexity

Convex Analysis

Linear Programming

Network Optimization

Page 11: Presentation Lecture 1 INDU 6111

Course Overview

Mathematical ModelingLinear, nonlinear, and integer programming models

Convex Analysis

Convex sets, polyhedral sets and polyhedral conesExtreme points and extreme directionsRepresentation of polyhedral sets

Linear ProgrammingMotivation of the simplex method and the revised simplex methodFarkas’ lemma and the Karush-Kuhn-Tucker optimality conditionsDuality and sensitivity analysisInterior point methods

Computational Complexity TheoryComplexity issues, polynomial-time algorithmsDecision problems and classes NP and P

Network OptimizationNetwork simplex methodMatching and assignment problemsMin-cost, max-flow problems

Page 12: Presentation Lecture 1 INDU 6111

Optimization Solvers

Linear and Integer Programming Software:

CPLEXhttps://www-304.ibm.com/support/docview.wss?uid=swg21419058

XPRESShttp://optimization.fico.com/student-version-of-fico-xpress.html

GUROBIhttp://www.gurobi.com/

Page 13: Presentation Lecture 1 INDU 6111

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

Page 14: Presentation Lecture 1 INDU 6111

Mathematical Modeling in Optimization

The modeling and analysis of models evolves though several stages:

1 Problem definition: study of the system; data collection;identification of specific problem that needs to be analyzed.

2 Devising a mathematical formulation: construction of a modelthat satisfactorily represents the system while keeping the modeltractable.

3 Solving the formulation: use/develop a proper technique thatexploits any special structure of the model

4 Testing, analysis, and restructuring the model: examination ofmodel solution and its sensitivity to system parameters; study ofvarious what-if types of scenarios; enrich the model further orsimplify the model.

5 Implementation: development of a decision support system to aidin 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.

Page 15: Presentation Lecture 1 INDU 6111

Mathematical Modeling in Optimization

Translating a problem description into a formulation should be donesystematically.

1 Define what appears to be the necessary decision variables

2 Use these variables to define a set of constraints so that the feasiblepoints correspond to the feasible solutions of the problem

3 Use these variables to define the objective function

If difficulties arise, define an additional or alternative set of variables anditerate.

Important: A clear distinction should be made between the data of theproblem and the decision variables used in the model.

Note: This modeling recipe has been provided by Lawrence Wolsey in Integer

Programming, Wiley, 1998.

Page 16: Presentation Lecture 1 INDU 6111

Mathematical Modeling in Optimization

Translating a problem description into a formulation should be donesystematically.

1 Define what appears to be the necessary decision variables

2 Use these variables to define a set of constraints so that the feasiblepoints correspond to the feasible solutions of the problem

3 Use these variables to define the objective function

If difficulties arise, define an additional or alternative set of variables anditerate.

Important: A clear distinction should be made between the data of theproblem and the decision variables used in the model.

Note: This modeling recipe has been provided by Lawrence Wolsey in Integer

Programming, Wiley, 1998.

Page 17: Presentation Lecture 1 INDU 6111

Mathematical Modeling in Optimization

Translating a problem description into a formulation should be donesystematically.

1 Define what appears to be the necessary decision variables

2 Use these variables to define a set of constraints so that the feasiblepoints correspond to the feasible solutions of the problem

3 Use these variables to define the objective function

If difficulties arise, define an additional or alternative set of variables anditerate.

Important: A clear distinction should be made between the data of theproblem and the decision variables used in the model.

Note: This modeling recipe has been provided by Lawrence Wolsey in Integer

Programming, Wiley, 1998.

Page 18: Presentation Lecture 1 INDU 6111

Mathematical Modeling in Optimization

We will first study five classical problems in optimization:

Transportation problem

p-median problem

Cutting stock problem

Uncapacitated lot-sizing problem

Traveling salesman problem

Page 19: Presentation Lecture 1 INDU 6111

Example 1: The Transportation ProblemPlants Warehouses

a1

a2

a3

a4

a5

a6

b1

b2

b3

b4

b5

c65

c11

Input:

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

Page 20: Presentation Lecture 1 INDU 6111

Example 1: The Transportation Problem

Production-shipping variables

xij = amount of product produced at plant i shipped to warehouse j

Plants Warehouses

a1

a2

a3

a4

a5

a6

b1

b2

b3

b4

b5

x54

xij variables (continuous)

Page 21: Presentation Lecture 1 INDU 6111

Example 1: The Transportation Problem

The transportation problem can be formulated as the following linearprogram:

minimize∑i∈M

∑j∈N

cijxij

subject to∑i∈M

xij = bj j ∈ N∑j∈N

xij ≤ ai i ∈M

xij ≥ 0 i ∈M, j ∈ N

Page 22: Presentation Lecture 1 INDU 6111

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: djcij

Page 23: Presentation Lecture 1 INDU 6111

Example 2: The p-Median Problem

Location variables

zi =

{1 if a facility is located at node i;0 otherwise

Allocation variables

xij =

{1 if customer j is assigned to facility located at node i;0 otherwise.

Page 24: Presentation Lecture 1 INDU 6111

Example 2: The p-Median Problem

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

minimize∑i∈I

∑j∈J

djcijxij

subject to∑i∈I

zi = p∑i∈I

xij = 1 j ∈ J

xij ≤ zi i ∈ I, j ∈ J

zi, xij ∈ {0, 1} i ∈ I, j ∈ J

Page 25: Presentation Lecture 1 INDU 6111

Example 3: The Cutting Stock Problem

Len

gth

(L)

Width (W)

Standard Metal Sheet Roll A cutting pattern

Width (W)

l1

l2

l2

l3

Page 26: Presentation Lecture 1 INDU 6111

Example 3: The Cutting Stock Problem

Input:

M : set of sheet orders of different 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

Page 27: Presentation Lecture 1 INDU 6111

Example 3: The Cutting Stock Problem

Observe that given a standard sheet of length L, there are manyways of cutting it.

Each such way is called a cutting pattern.

The jth cutting pattern is characterized by the vector:

aj =

a1ja2j. . .amj

,

where the ith component aij is a nonnegative integer denoting thenumber of sheets of length li in the jth pattern.

Note that aj denotes a feasible cutting pattern if and only if∑i∈M

aij li ≤ L.

Let P denotes the set of feasible cutting patterns.

Page 28: Presentation Lecture 1 INDU 6111

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 integerlinear program:

minimize∑j∈P

xj

subject to∑j∈P

aijxi ≥ bi i ∈M

xj ∈ N+ j ∈ P

Page 29: Presentation Lecture 1 INDU 6111

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: fixed 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 satisfied in every time period

Objective: Minimize total production, set-up and inventory cost

Page 30: Presentation Lecture 1 INDU 6111

Example 4: The Uncapacitated Lot-Sizing Problem

Set-up variables

yt =

{1 if there is a positive production in period t;0 otherwise

Production variables

xj : production lot size in period t

Inventory variables

sj : inventory level at the end of period t

Page 31: Presentation Lecture 1 INDU 6111

Example 4: The Uncapacitated Lot-Sizing Problem

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

minimize∑t∈T

(ptxt + qtyt + htst)

subject to st−1 + xt − st = dt t ∈ T

xt ≤Mtyt t ∈ T

xt, st ≥ 0 t ∈ T

yt ∈ {0, 1} t ∈ T,

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

Page 32: Presentation Lecture 1 INDU 6111

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 hisstarting point

Objective: Minimize the total travel time of the tour

Page 33: Presentation Lecture 1 INDU 6111

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 hisstarting point

Objective: Minimize the total travel time of the tour

Page 34: Presentation Lecture 1 INDU 6111

Example 5: The Traveling Salesman Problem

Routing variables

xij =

{1 if the salesman goes directly from city i to city j;0 otherwise

Using these variables, we could model the TSP as:

minimize∑i∈N

∑j∈N

cijxij

subject to∑

j∈N :j 6=i

xij = 1 j ∈ N

∑i∈N :i 6=j

xij = 1 i ∈ N

xij ∈ {0, 1} i ∈ N, j ∈ N

Is this enough to model the problem?

Page 35: Presentation Lecture 1 INDU 6111

Example 5: The Traveling Salesman Problem

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

Page 36: Presentation Lecture 1 INDU 6111

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:∑i∈S

∑j /∈S

xij ≥ 1 ∀S ⊂ N,S 6= ∅.

2 Subtour elimination constraints:

∑i∈S

∑j∈S

xij ≤ |S| − 1 ∀S ⊂ N, 2 ≤ |S| ≤ n− 1.