You are on page 1of 27

Lecture 3 – Classic LP

Examples
Topics
• Employee scheduling problem
• Energy distribution problem
• Feed mix problem
• Cutting stock problem
• Regression analysis
• Model Transformations
Examples of LP Formulations

1. Employee Scheduling
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 FTEs


1 0-4 15
2 4-8 10
3 8-12 40
4 12-16 70
5 16-20 40
6 20-0 35
Constraints for Employee Scheduling
• 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.

• At least two-thirds of the employees working at any


one time must be full-time employees.

• 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.)

Formulate an LP to determine how to staff


the hotline at minimum cost.
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

(8  15.20) (4  12.95)
min 121.6(x1 + ••• + x6) + 51.8(y1 + ••• + y6)
5
s.t. x1 + x6 + 6
y1  15
5
x1 + x2 + 6
y2  10
5
x2 + x3 + 6
y3  40 All shifts must
5

be covered
x3 + x4 + 6
y4 70
5
x4 + x5 + 6
y5  40
5
x5 + x6 + 6
y6  35

PT employee is 5/6 FT employee


More constraints:

x1 + x6  2 (x6 + x1 + y1)
3
2 (x + x + y )
x1 + x2  1 2 2 At least 2/3
.. 3
workers must
. be full time
2
x5 + x6  (x + x6 + y6)
3 5
xt yt t =1,2,…,6 Nonnegativity
2. Energy Generation Problem (with piecewise linear objective)
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

Demand requirements
1 4 MW
1
Demand
Plants 2 sectors 7 MW

2
3
6 MW

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.
Problem Statement and Notation
Formulate an LP that, when solved, will yield optimal power
generation and distribution levels.

Decision Variables

x 11 = power generated at plant 1 at operating level 1


x 12     1    2
x 21     2    1
x 22     2    2

y 11 = power sent from plant 1 to demand sector 1


y 12     1    2
y 13     1    3
y 21     2    1
y 22     2    2
y 23     2    3
Formulation

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


s.t. y 11 + y 12 + y 13 = x11 + x12
y 21 + y 22 + y 23 = x21 + x22
y 11 + y 21= 4
y 12 + y 22= 7
y 13 + y 23= 6
0  x11 6, 0  x12  4
0  x21 5, 0  x22  6
y11, y12, y13, y21, y22, y32  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.
General Formulation of Power
Distribution Problem
The above formulation can be generalized for any
number of plants, demand sectors, and generation
levels.
Indices/Sets
i I plants
j J demand sectors
k K generation levels
Data
Cik = unit generation cost ($/MW) for plant i at level k
uik = 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
yij = power (MW) sent from plant i to sector j
General Network Formulation

min   cikxik
iI kK

s.t.  yij =  xik " i I


jJ kK

 yij = dj " j J


iI

  xik uik " i I, k K

 yij " i I, j J


3. Feed Mix Problem

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

Nutrient, k
Vitamins Protein Calcium Crude Fat
Ingredient, i
Corn 8 10 6 8
Limestone 6 5 10 6
Soybeans 10 12 6 6
Fish Meal 4 18 6 9

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


Constraints
• The mill has (firm) contracts for the following demands.
Demand (kg) Cattle Sheep Chicken
dj 10,000 6,000 8,000

• There are limited availabilities of the raw ingredients.

Supply (kg) Corn Limestone Soybeans Fish Meal


si 6,000 10,000 4,000 5,000

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

Vitamins Protein Calcium Crude fat


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

The above values represent bounds: Ljk & Ujk


Costs and Notation
• 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 }
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 j
Ujk upper bound on number of nutrients of type k
per kg of product j
ci cost 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
LP Formulation

min   cixij
iI jJ

s.t.  xij = dj "jJ


iI
 xij si "iI
jJ

 aikxij Ljk dj " j  J, kK


iI

 aikxij Ujkdj " j  J, kK


iI
xij  " i  I, j  J
Generalization of feed Mix Problem Gives
Blending Problems

Blended
Raw Materials Qualities commodities
corn, limestone, protein, vitamins, feed
soybeans, fish meal calcium, crude fat

butane, catalytic octane, volatility, gasoline


reformate, vapor pressure
heavy naphtha

pig iron, carbon, metals


ferro-silicon, manganese,
carbide, various chrome content
alloys

 2 raw ingredients  1 quality  1 commodity


4. Trim-Loss or Cutting Stock problem

• 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 Length


1 5 10,000
2 7 30,000
3 9 20,000

• Assumption: Lengthwise strips can be taped together

• Goal: Throw away as little as possible


Problem: What is trim-loss?

10  20 

5' 5000'
9' 5

7

Decision variables: xj = length of roll cut using


pattern, j = 1, 2, … ?
Patterns possible
10  roll 20  roll

x1 x2 x3 x4 x5 x6 x7 x8 x9

5 2 0 0 4 2 2 1 0 0
7 0 1 0 0 1 0 2 1 0
9 0 0 1 0 0 1 0 1 2

Trim loss 0 3 1 0 3 1 1 4 2

min z = 10(x 1+x 2+x 3) + 20(x 4 +x 5+x 6+x 7+x 8+x9 )

s.t. 2x 1 + 4x 4 + 2x 5 + 2x 6 + x 7  10,000

x 2 + x 5 + 2x 7 + x 8  30,000

x3 + x6 + x8 + 2x 9  20,000
xj 0, j = 1, 2,…,9
Alternative Formulation

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


+ 5y1 + 7y2 + 9y3

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

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

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

xj 0, j = 1,…,9; yi  0, i = 1, 2, 3

where yi is overproduction of width i


5. Constrained Regression

Data (x,y) = { (1,2) , (3,4) , (4,7) }


y

7 
6
5
4 
3
2 
1

1 2 3 4 5 x

We want to “fit” a linear function y = ax + b to these data


points; i.e., we have to choose optimal values for a and b.
Objective: Find parameters a and b that minimize the
maximum absolute deviation between the data yi and the

fitted line yi = axi + b.

yi and yi

observed Predicted
value value

In addition, we’re going to impose a priori knowledge that the


slope of the line must be positive. (We don’t know about the
intercept.)

Decision variables a = slope of line known to be positive


b = y-intercept positive or negative
- -
b = b+ - b , b+  0, b  0
Objective function:

min max { |yi - yi| : i = 1, 2, 3 }

where yi = axi + b

Let w = max { |yi - yi| : i = 1, 2, 3 }

Optimization model:
min w

s.t. w  |yi - yi|, i = 1, 2, 3
Nonlinear constraints:

w  y1 - y1 =  1a + b – 2 


w  y2- y2 =  3a + b – 4 


w  y3- y3 =  4a + b – 7 

Convert absolute value terms to linear terms:

Note: 2 |x| iff 2  x and 2 -x



Thus w  y i - yi is equivalent to

w  axi + b - yi and w - axi – b + yi


so finally … min w
s.t. a + b+ - b- - w  2
+ -
-a - b + b - w  -2
-
3a + b - b - w
+
 4
-
- 3a - b + b - w
+
 -4
+ -
4a + b - b - w  7
+ -
- 4a - b + b - w  -7
a, b+, b-, w  0
Model Transformations
• Direction of optimization:
Minimize {c1x1 + c2x2 + … + cnxn}
 Maximize {–c1x1 – c2x2 – … – cnxn}

• 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
• Unrestricted variables:
xj = y1j – y2j where y1j  0, y2j  0
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.

You might also like