Lecture 3 – Classic LP Examples Topics Employee scheduling problem Energy distribution problem...

35
Lecture 3 – Classic LP Examples Topics • Employee scheduling problem • Energy distribution problem • Feed mix problem • Cutting stock problem • Regression analysis • Model Transformations

Transcript of Lecture 3 – Classic LP Examples Topics Employee scheduling problem Energy distribution problem...

Page 1: Lecture 3 – Classic LP Examples Topics Employee scheduling problem Energy distribution problem Feed mix problem Cutting stock problem Regression analysis.

Lecture 3 – Classic LP Examples

Topics• Employee scheduling problem• Energy distribution problem• Feed mix problem• Cutting stock problem• Regression analysis• Model Transformations

Page 2: Lecture 3 – Classic LP Examples Topics Employee scheduling problem Energy distribution problem Feed mix problem Cutting stock problem Regression analysis.

Macrosoft has a 24-hour-a-day, 7-days-a-week toll free hotline that is being set up to answer questions regarding a new product. The following table summarizes the number of full-time equivalent employees (FTEs) that must be on duty in each time block.

Interval Time FTEs1 0-4 152 4-8 103 8-12 404 12-16 705 16-20 406 20-0 35

Employee Scheduling

Page 3: Lecture 3 – Classic LP Examples Topics Employee scheduling problem Energy distribution problem Feed mix problem Cutting stock problem Regression analysis.

•Macrosoft may hire both full-time and part-time employees. The former work 8-hour shifts and the latter work 4-hour shifts; their respective hourly wages are $15.20 and $12.95. Employees may start work only at the beginning of 1 of the 6 intervals.

•Part-time employees can only answer 5 calls in the time a full-time employee can answer 6 calls. (i.e., a part-time employee is only 5/6 of a full-time employee.)

•At least two-thirds of the employees working at any one time must be full-time employees.

Formulate an LP to determine how to staff the hotline at minimum cost.

Constraints for Employee Scheduling

Page 4: Lecture 3 – Classic LP Examples Topics Employee scheduling problem Energy distribution problem Feed mix problem Cutting stock problem Regression analysis.

Decision Variables

xt =# of full-time employees that begin the day at the start of interval t and work for 8 hours

yt = # of part-time employees that are assigned interval t

min 121.6(x1 + • • • + x6) +51.8(y1 + • • • + y6)

s.t. 56 y1 1556 y2 1056 y3 4056 y4 7056 y5 4056 y6 35

(8 15.20) (4 12.95)

All shifts must be covered

PT employee is 5/6 FT employee

x1 + x6 +

x1 + x2 +

x2 + x3 +

x3 + x4 +

x4 + x5 +

x5 + x6 +

Page 5: Lecture 3 – Classic LP Examples Topics Employee scheduling problem Energy distribution problem Feed mix problem Cutting stock problem Regression analysis.

x1 + x6 23

23

... 2

3

xt yt t =1,2,…,6

At least 2/3 workers must be full time

More constraints:

Nonnegativity

(x6 + x1 + y1)

x1 + x2(x1 + x2 + y2)

(x5 + x6 + y6)x5 + x6

Page 6: Lecture 3 – Classic LP Examples Topics Employee scheduling problem Energy distribution problem Feed mix problem Cutting stock problem Regression analysis.

• An agricultural mill produces a different feed for cattle, sheep, and chickens by mixing the following raw ingredients: corn, limestone, soybeans, and fish meal.

• These ingredients contain the following nutrients: vitamins, protein, calcium, and crude fat in the following quantities:

Ingredient, iVitamins Protein Calcium Crude Fat

Corn 8 10 6 8Limestone 6 5 10 6Soybeans 10 12 6 6Fish Meal 4 18 6 9

Let aik = quantity of nutrient k per kg of ingredient i

Nutrient, k

Feed Mix Problem

Page 7: Lecture 3 – Classic LP Examples Topics Employee scheduling problem Energy distribution problem Feed mix problem Cutting stock problem Regression analysis.

• The mill has (firm) contracts for the following demands.

Demand (kg) Cattle Sheep Chicken10,000 6,000 8,000

• There are limited availabilities of the raw ingredients.

Supply (kg) Corn Limestone Soybeans Fish Meal6,000 10,000 4,000 5,000

• The different feeds have “quality” bounds per kilogram.

Vitamins Protein Calcium Crude fatmin max min max min max min max

Cattle 6 -- 6 -- 7 -- 4 8Sheep 6 -- 6 -- 6 -- 4 8Chicken 4 6 6 -- 6 -- 4 8

si

dj

The above values represent bounds: ljk and ujk

Constraints

Page 8: Lecture 3 – Classic LP Examples Topics Employee scheduling problem Energy distribution problem Feed mix problem Cutting stock problem Regression analysis.

• Cost per kg of the raw ingredients is as follows:

Corn Limestone Soybeans Fish meal

cost/kg, ci 20¢ 12¢ 24¢ 12¢

Formulate problem as a linear program whose solution yields desired feed production levels at minimum cost.

Indices/sets

i I ingredients { corn, limestone, soybeans, fish meal }j J products { cattle, sheep, chicken feeds }k K nutrients { vitamins, protein, calcium, crude fat }

Costs and Notation

Page 9: Lecture 3 – Classic LP Examples Topics Employee scheduling problem Energy distribution problem Feed mix problem Cutting stock problem Regression analysis.

Data

dj demand for product j (kg)si supply of ingredient i (kg)ljk lower bound on number of nutrients of type k

per kg of product jupper bound on number of nutrients of type k per kg of product jcost per kg of ingredient i

aik number of nutrients k per kg of ingredient i

Decision Variables

xij amount (kg) of ingredient i used in producing product j

ujk

ci

Page 10: Lecture 3 – Classic LP Examples Topics Employee scheduling problem Energy distribution problem Feed mix problem Cutting stock problem Regression analysis.

min cixij

s.t.

xij

xij = dj

xij si

j J

iI jJ

iI

i IjJ

aikxij ujkdjiI

j J, kK

aikxij ljk djiI

j J, kK

i I, j J

LP Formulation of Feed Mix Problem

Page 11: Lecture 3 – Classic LP Examples Topics Employee scheduling problem Energy distribution problem Feed mix problem Cutting stock problem Regression analysis.

Raw Materials QualitiesBlended

commoditiescorn, limestone,

soybeans, fish mealprotein, vitamins,calcium, crude fat

feed

butane, catalyticreformate,

heavy naphtha

octane, volatility,vapor pressure

gasoline

pig iron,ferro-silicon,

carbide, variousalloys

carbon,manganese,

chrome content

metals

2 raw ingredients 1 quality 1 commodity

Generalization of feed Mix Problem GivesBlending Problems

Page 12: Lecture 3 – Classic LP Examples Topics Employee scheduling problem Energy distribution problem Feed mix problem Cutting stock problem Regression analysis.

• Three special orders for rolls of paper have been placed at a paper mill. The orders are to be cut from standard rolls of 10 and 20 widths.

Order Width Length1 5 10,0002 7 30,0003 9 20,000

• Assumption: Lengthwise strips can be taped together

• Goal: Throw away as little as possible

Trim-Loss or Cutting Stock problem

Page 13: Lecture 3 – Classic LP Examples Topics Employee scheduling problem Energy distribution problem Feed mix problem Cutting stock problem Regression analysis.

Problem: What is trim-loss?

Decision variables: xj = length of roll cut using

pattern, j = 1, 2, … ?

7

10

9'5'

5

20

5000'

Page 14: Lecture 3 – Classic LP Examples Topics Employee scheduling problem Energy distribution problem Feed mix problem Cutting stock problem Regression analysis.

10 roll 20 roll

x1

5 2 0 0 4 2 2 1 0 07 0 1 0 0 1 0 2 1 09 0 0 1 0 0 1 0 1 2

Trim loss 0 3 1 0 3 1 1 4 2

x2 x3 x4 x5 x6 x7 x8 x9

min z = 10(x1+x2+x3) + 20(x4+x5+x6+x7+x8+x9)

s.t. 2x1 + 4x4 + 2x5 + 2x6 + x7 10,000

x2 +x5 + 2x7 + x8 30,000

x3 + x6 + x8 + 2x9 20,000

xj0, j = 1, 2,…,9

Patterns Possible

Page 15: Lecture 3 – Classic LP Examples Topics Employee scheduling problem Energy distribution problem Feed mix problem Cutting stock problem Regression analysis.

Minimize Trim Loss + Overproduction

min z = 3x2 + x3 + 3x5 + x6 + x7+ 4x8

+ 5y1 + 7y2 + 9y3

s.t. 2x1 + 4x4 + 2x5 + 2x6 + x7 – y1 = 10,000

x2 + x5 + 2x7 + x8 – y2 = 30,000

x3 + x6 + x8 + 2x9 – y3 = 20,000

xj0, j = 1,…,9; yi 0, i = 1, 2, 3

where yi is overproduction of width i

+ 2x9

Alternative Formulation

Page 16: Lecture 3 – Classic LP Examples Topics Employee scheduling problem Energy distribution problem Feed mix problem Cutting stock problem Regression analysis.

Minimizing Piecewise Linear Convex Functions

• Definition of convexity

• Examples of objective functions

1. f (x) = maxk=1,…,p (ckx + dk)

2. f (x) = j=1,n cj|xj|, cj > 0 for all j

3. f (x) = separable, piecewise linear, convex

Page 17: Lecture 3 – Classic LP Examples Topics Employee scheduling problem Energy distribution problem Feed mix problem Cutting stock problem Regression analysis.

Definition of a Convex/Concave Function

• A function f : n is called convex if for every x and y n, and every [0,1], we have

f (x + (1 – )y) ≤ f (x) + (1 – )f (y)

• A function f : n is called concave if for every x and y n, and every [0,1], we have

f (x + (1 – )y) ≥ f (x) + (1 – )f (y)

• If f (x) is convex, then –f (x) is concave

Page 18: Lecture 3 – Classic LP Examples Topics Employee scheduling problem Energy distribution problem Feed mix problem Cutting stock problem Regression analysis.

Minimizing the Maximum of Several Affine Functions

Problem: min maxk=1,…,p (ckx + dk)

s.t. Ax ≥ b

Transformed problem:min z

s.t. z ≥ ckx + dk, k = 1,…,p

Ax ≥ b

x

f(x) = max

Page 19: Lecture 3 – Classic LP Examples Topics Employee scheduling problem Energy distribution problem Feed mix problem Cutting stock problem Regression analysis.

Problems Involving Absolute Values: Minimizing the L1-Norm

Problem: min j=1,n cj|xj|, cj > 0 for all j

s.t. Ax ≥ b

Transformation 1:

min j=1,n cjzj

s.t. Ax ≥ b zj ≥ xj, j = 1,…,n

zj ≥ –xj, j = 1,…,n

Transformation 2:

min j=1,n cj(xj+ + xj

-)

s.t. Ax + – Ax - ≥ b

x + ≥ 0, x - ≥ 0where xj = xj

+ – xj- for all j

Page 20: Lecture 3 – Classic LP Examples Topics Employee scheduling problem Energy distribution problem Feed mix problem Cutting stock problem Regression analysis.

Data Fitting Example

• Problem: We are given p data points of the form (ak, bk), k = 1,…,p, where ak n and bk , and wish to build a model that predicts the value of the variable b from knowledge of the vector a.

• Assume a linear model: b = ax + x0, where (x,

x0) is a parameter vector to be determined.

• Error: Given a particular values of (x, x0), the residual (predictive error) at the k th data point is defined by |akx + x0 – bk|.

• Objective: Find values of (x, x0) that best explain the available data; i.e., minimize the error.

Page 21: Lecture 3 – Classic LP Examples Topics Employee scheduling problem Energy distribution problem Feed mix problem Cutting stock problem Regression analysis.

Data Fitting Example (cont’d)

• Model 1: Minimize the largest residual

min maxk |akx + x0 – bk|

Transformed model 1: min z

s.t. z ≥ akx + x0 – bk , k = 1,…,p

z ≥ – akx – x0 + bk , k = 1,…,p

• Model 2: Minimize the sum of residuals

min k=1,p |akx + x0 – bk|

Transformed model 2:

min k=1,p zk

s.t. zk ≥ akx + x0 – bk , k = 1,…,p

zk ≥ – akx – x0 + bk , k = 1,…,p

Page 22: Lecture 3 – Classic LP Examples Topics Employee scheduling problem Energy distribution problem Feed mix problem Cutting stock problem Regression analysis.

Data (a,b) = { (1,2) , (3,4) , (4,7) }

We want to “fit” a linear function b = ax + x0 to these data points; i.e., we have to choose optimal values for x and x0.

7654321

1 2 3 4 5

b

a

Constrained Regression

Page 23: Lecture 3 – Classic LP Examples Topics Employee scheduling problem Energy distribution problem Feed mix problem Cutting stock problem Regression analysis.

Objective: Find parameters x and x0 that minimize the

maximum absolute deviation between the data ak and

the fitted line bk = akx + x0. bk andbk

In addition, we’re going to impose a priori knowledge that theslope of the line must be positive. (We don’t know about the intercept.)

Decision variables x = slope of line known to be positivex0 = b-intercept positive or negative

observedvalue

Predictedvalue

Page 24: Lecture 3 – Classic LP Examples Topics Employee scheduling problem Energy distribution problem Feed mix problem Cutting stock problem Regression analysis.

Let z = max { |bk bk| : k = 1, 2, 3 }

Optimization model:

min z

where bk = akx + x0

Objective function:

s.t. z |bk bk|, k = 1, 2, 3

min max { |bk bk| : k = 1, 2, 3 }

Page 25: Lecture 3 – Classic LP Examples Topics Employee scheduling problem Energy distribution problem Feed mix problem Cutting stock problem Regression analysis.

Note: 2 |x| iff 2 x and 2 x

Thus z |bk bk| is equivalent to

z akx + x0 bk and z akx – x0 + bk

Convert absolute value terms to linear terms:

Nonlinear constraints:

b1 b1 = 1x + x0 – 2

b2 b2 = 3x + x0 – 4

b3 b3 = 4x + x0 – 7

z

z

z

Page 26: Lecture 3 – Classic LP Examples Topics Employee scheduling problem Energy distribution problem Feed mix problem Cutting stock problem Regression analysis.

Letting x0 = x0+ x0

-, x0+ 0, x0

- 0, we finally get …

min z

s.t. x + x0+ x0

- z

x, x0+, x0

-, z 0

x x0+ x0

- z3x + x0

+ x0- z

3x x0+ x0

- z4x + x0

+ x0- z

4x x0+ x0

- z

Page 27: Lecture 3 – Classic LP Examples Topics Employee scheduling problem Energy distribution problem Feed mix problem Cutting stock problem Regression analysis.

Separable Piecewise Linear Functions

• Model: min f (x) = f1(x1) + f2(x2) + . . . + fp(xp)

• For each xj we are given r break points:

0 < aj1 < aj2 < . . . < ajr < ∞

• Let cjt be the slope in the interval aj,t-1 ≤ xj ≤ ajt for t =1,…,r+1, where aj0= 0 and aj,r+1 = ∞

• Let yjt be the portion of xj lying in the tth interval, t = 1,…,r+1

xjaj1 aj2 ajr

fj(xj)

aj,r-10

Page 28: Lecture 3 – Classic LP Examples Topics Employee scheduling problem Energy distribution problem Feed mix problem Cutting stock problem Regression analysis.

Transformation for fj(xj)

• Let xj = yj1 + yj2 + . . . + yj,r+1

• Model:

min cj1yj1 + cj2yj2 + . . . + cj,r+1 yj,r+1 + f1(x1) + . . .

s.t. 0 ≤ yj1 ≤ aj1

0 ≤ yj2 ≤ aj2 – aj1

. . .

0 ≤ yjr ≤ ajr – aj,r-1

0 ≤ yj,r+1

and for every t, if yjt > 0, then each yjk is equal to

its upper bound ajk – aj,k-1, for all k < t.

Page 29: Lecture 3 – Classic LP Examples Topics Employee scheduling problem Energy distribution problem Feed mix problem Cutting stock problem Regression analysis.

Austin Municipal Power and Light (AMPL) would like to determine optimal operating levels for their electric generators and associated distribution patterns that will satisfy customer demand. Consider the following prototype system

Plants

The two plants (generators) have the following (nonlinear) efficiencies:

Plant 1 [ 0, 6 MW] [ 6MW, 10MW]Unit cost ($/MW) $10 $25

Plant 2 [ 0, 5 MW] [5MW, 11MW]Unit cost ($/MW) $8 $28

For plant 1, e.g., if you generate at a rate of 8MW (per sec), then the cost ($) is = ($10/MW)(6MW) + ($25/MW)(2MW) = $110.

2

1

3

2

1

Demandsectors

Demand requirements

4 MW

7 MW

6 MW

Energy Generation Problem (with piecewise linear objective)

Page 30: Lecture 3 – Classic LP Examples Topics Employee scheduling problem Energy distribution problem Feed mix problem Cutting stock problem Regression analysis.

Formulate an LP that, when solved, will yield optimal power generation and distribution levels.

Decision Variables

= power generated at plant 1 at operating level 1

1 2x21 2 1

x22 2 2

= power sent from plant 1 to demand sector 1

1 2

1 3

2 1

2 2

2 3

Problem Statement and Notation

w11

w12

w13

w21

w22

w23

x11

x12

Page 31: Lecture 3 – Classic LP Examples Topics Employee scheduling problem Energy distribution problem Feed mix problem Cutting stock problem Regression analysis.

Formulation

min 10x11 + 25x12 + 8x21 + 28x22

s.t. w11 + w12 + w13

w21 + w 22 + w23

w11 + w 21 = 4w12 + w22 = 7w13 + w23 = 60 x11 6, 0 x12 4

0 x21 5, 0 x22 6

w11, w12, w13, w21, w22, w32 0

Note that we can model the nonlinear operating costs as an LP only because the efficiencies have the right kind of structure. In particular, the plant is less efficient (more costly) at higher operating levels. Thus the LP solution will automatically select level 1 first.

= x11 + x12

= x21 + x22

Flow balance

Demand

Page 32: Lecture 3 – Classic LP Examples Topics Employee scheduling problem Energy distribution problem Feed mix problem Cutting stock problem Regression analysis.

The above formulation can be generalized for any number of plants, demand sectors, and generation levels.

Indices/Setsi I plants

demand sectorsgeneration levels

Data

Cik = unit generation cost ($/MW) for plant i at level kuik = upper bound (MW) for plant i at level k

dj = demand (MW) in sector j

Decision Variables

xik = power (MW) generated at plant i at level k wij = power (MW) sent from plant i to sector j

j J

k K

General Formulation of Power Distribution Problem

Page 33: Lecture 3 – Classic LP Examples Topics Employee scheduling problem Energy distribution problem Feed mix problem Cutting stock problem Regression analysis.

min

s.t. wij

cikxik

xik

xik uik i I, k K

wij i I, j J

wij = dj

kKiI

kKjJ i I

j JiI

General Network Formulation

Page 34: Lecture 3 – Classic LP Examples Topics Employee scheduling problem Energy distribution problem Feed mix problem Cutting stock problem Regression analysis.

Model Transformations• Direction of optimization:

Minimize {c1x1 + c2x2 + … + cnxn}

Maximize {–c1x1 – c2x2 – … – cnxn}

• Unrestricted variables:

xj = y1j – y2j where y1j 0, y2j 0

• Constant term in objective function ignore

• Nonzero lower bounds on variables:

xj > lj replace with xj = yj + lj where yj 0

• Nonpositive variable:

xj ≤ 0 replace with xj = –yj where yj 0

Page 35: Lecture 3 – Classic LP Examples Topics Employee scheduling problem Energy distribution problem Feed mix problem Cutting stock problem Regression analysis.

What You Should Know About LP Problems

• How to formulate various types of problems.

• Difference between continuous and integer variables.

• How to find solutions.• How to transform variables and

functions into the standard form.