Allocation of Scarce Resources, II

advertisement
Production Mix Problem
lrg
Graphical Solution
40
20-inch sets
27-inch sets
30
(10,20)
(Optimal Product Mix!)
Profit = 80*10 + 120*20 = $3200/mo
20
10
Feasible
Region
0
0
10
20
30
40
50
60 med
Product Mix Problem
Primal Problem Formulation
Production Capacity Constraints:
6*med + 15*lrg < = 360 (hours/set)*sets = hours
4*med + 5*lrg < = 140
med > = 0; lrg > = 0
Market Constraints:
med < = 15
lrg < = 40
(sets)
Objective Function:
Maximize: Profit = 80*med + 120*lrg
($/set)*sets = $
Primal Problem
(Interpretation of Dual Prices)
Row
1
2
3
4
5
Dual Price (Marginal value of an
1.000000
additional unit of
2.666667
the resource)
16.00000
0.0000000
0.0000000
Work-Scheduling Problem
Formulate as Linear Programming Problem
Define variables:
Let xi = number of employees beginning work on day i, i = 1,…,7
Write objective function:
Min z = x1 + x2 + x3 + x4 + x5 + x6 + x7
Impose constraints:
x1
+ x4 + x5 + x6 + x7 > 17
(Monday)
x1+ x2
+ x5 + x6 + x7 > 13
(Tuesday)
x1+ x2 + x3
+ x6 + x7 > 15
(Wednesday)
x1+ x2 + x3 + x4
+ x7 > 19
(Thursday)
x1+ x2 + x3 + x4 + x5
> 14
(Friday)
x2 + x3 + x4 + x5 + x6 + x7 > 16
(Saturday)
x3 + x4 + x5 + x6 + x7 > 11
(Sunday)
xi > 0 (i= 1, …, 7)
(Non-negativity)
Work-Scheduling Problem
(LINGO Model: with Integer Constraint)
MIN = @SUM( EMPLOYEES:
NHIRED);
@FOR( NEEDS( I):
@SUM( EMPLOYEES( J):
CONSTRAINTS( I, J) * NHIRED( J)) >=
NREQUIRED( I));
! We want NHIRED to be integer;
@FOR(EMPLOYEES(I): @GIN(NHIRED(I)));
END
Work-Scheduling Problem
(LINGO Solution: with Integer Constraint)
Optimal solution found at step:
Objective value:
Branch count:
Variable
NHIRED( MONDAY)
NHIRED( TUESDAY)
NHIRED( WEDNESDAY)
NHIRED( THURSDAY)
NHIRED( FRIDAY)
NHIRED( SATURDAY)
NHIRED( SUNDAY)
8
23.00000
1
Value
7.000000
3.000000
2.000000
7.000000
1.000000
3.000000
0.0000000
Allocation of Scarce Resources, II
Transportation Problems
Powerco, Electrical Power Company
Power Transmission Costs: ($/million kwh)
To
From
City 1 City 2
(million kwh)
Plant 1
Plant 2
Plant 3
Demand
Supply
City 3 City 4
$8
$9
$14
$6
$12
$9
$10
$13
$16
$9
$7
$5
45
20
30
30
35
50
40
Transportation Problem
Powerco Power Plant: Formulation
Define Variables:
Let Xij = number of (million kwh) produced at plant i and
sent to city j.
Objective Function:
Min z = 8*X11 + 6*X12 + 10*X13 + 9*X14
+ 9*X21 + 12*X22 + 13*X23 + 7*X24
+ 14*X31 + 9*X32 + 16*X33 + 5*X34
Supply Constraints:
X11 + X12 + X13 + X14 < = 35 (Plant 1)
X21 + X22 + X23 + X24 < = 50 (Plant 2)
X31 + X32 + X33 + X34 < = 40 (Plant 3)
Transportation
Problem
Powerco Power Plant: Formulation (Cont’d.)
Demand Constraints:
X11 + X21 +X31 > = 45 (City 1)
X12 + X22 +X32 > = 20 (City 2)
X13 + X23 +X33 > = 30 (City 3)
X14 + X24 +X34 > = 30 (City 4)
Nonnegativity Constraints:
Xij > = 0
(i=1,..,3; j=1,..,4)
Balanced?
Total Demand = 45 + 20 + 30 + 30 = 125
Total Supply = 35 + 50 + 40 = 125
Yes, Balanced Transportation Problem! (If problem is
unbalanced, add dummy supply or demand as required.)
Transportation Problem
Powerco Power Plant: LINGO Formulation
model:
! A 3 Plant, 4 Customer
Transportation Problem;
SETS:
PLANT / P1, P2, P3/
: CAPACITY;
CUSTOMER
/ C1, C2, C3, C4/ : DEMAND;
ROUTES( PLANT, CUSTOMER) : COST, QUANTITY;
ENDSETS
! The objective;
[OBJ] MIN = @SUM( ROUTES: COST * QUANTITY);
Transportation Problem
Powerco Power Plant: LINGO Formulation (Cont’d.)
! The demand constraints;
@FOR( CUSTOMER( J): [DEM]
@SUM( PLANT( I): QUANTITY( I, J))>= DEMAND( J));
! The supply constraints;
@FOR( PLANT( I): [SUP]
@SUM( CUSTOMER(J): QUANTITY(I,J))<=CAPACITY( I));
! Here are the parameters;
DATA:
CAPACITY =
35, 50, 40 ;
DEMAND =
45, 20, 30, 30;
COST =
8, 6, 10, 9,
9, 12, 13, 7,
14, 9, 16, 5;
ENDDATA
end
Transportation Problem
Powerco Power Plant: LINGO Solution
Optimal solution found at step:
Objective value:
QUANTITY(
QUANTITY(
QUANTITY(
QUANTITY(
QUANTITY(
QUANTITY(
QUANTITY(
QUANTITY(
QUANTITY(
QUANTITY(
QUANTITY(
QUANTITY(
P1,
P1,
P1,
P1,
P2,
P2,
P2,
P2,
P3,
P3,
P3,
P3,
C1)
C2)
C3)
C4)
C1)
C2)
C3)
C4)
C1)
C2)
C3)
C4)
7
1020.000
0.0000000
10.00000
25.00000
0.0000000
45.00000
0.0000000
5.000000
0.0000000
0.0000000
10.00000
0.0000000
30.00000
All Quantities
are Integers!
Transportation Problem
Powerco Power Plant: LINGO Solution (Cont’d.)
Row
Slack or Surplus
OBJ
1020.000
DEM( C1)
0.0000000
DEM( C2)
0.0000000
DEM( C3)
0.0000000
DEM( C4)
0.0000000
SUP( P1)
0.0000000
SUP( P2)
0.0000000
SUP( P3)
0.0000000
Dual Price
1.000000
-9.000000
-9.000000
-13.00000
-5.000000
3.000000
0.0000000
0.0000000
All constraints are binding!
(Typical of Balanced Transportation Problems; results in
simple algorithms)
Transportation Problem
Powerco Power Plant: Sensitivity Analysis
Row
Dual Price
OBJ
1.00000
DEM( C1)
-9.00000
DEM( C2)
-9.00000
DEM( C3) -13.00000
DEM( C4)
-5.00000
SUP( P1)
3.00000
SUP( P2)
0.00000
SUP( P3)
0.00000
(-v1)
(-v2)
(-v3)
(-v4)
(-u1)
(-u2)
(-u3)
Changes in total cost due to changes in demand and supply:
z = v1* C1 + v2* C2 + v3* C3 + v4* C4
+ u1* P1 + u2* P2 + u3*  P3
e.g. C2 = 1, P1 = 1  z = 9*1 + (-3)*1 = $6
Transportation Problem
Powerco Power Plant: Sensitivity Analysis
Row
Dual Price
OBJ
1.00000
DEM( C1)
-9.00000
DEM( C2)
-9.00000
DEM( C3) -13.00000
DEM( C4)
-5.00000
SUP( P1)
3.00000
SUP( P2)
0.00000
SUP( P3)
0.00000
(-v1)
(-v2)
(-v3)
(-v4)
(-u1)
(-u2)
(-u3)
Changes in total cost due to changes in demand and supply:
z = v1* C1 + v2* C2 + v3* C3 + v4* C4
+ u1* P1 + u2* P2 + u3*  P3
e.g. C2 = 1, P1 = 1  z = 9*1 + (-3)*1 = $6
Powerco Power Plant: Sensitivity Analysis (Cont’d.)
Variable
Value
Reduced Cost
QUANTITY( P1, C1)
0.00
2.00 (c11) Nonbasic
QUANTITY( P1, C2)
10.00
0.00 (c12) Basic
QUANTITY( P1, C3)
25.00
0.00 (c13) Basic
QUANTITY( P1, C4)
0.00
7.00 (c14) Nonbasic
QUANTITY( P2, C1)
45.00
0.00 (c21) Basic
QUANTITY( P2, C2)
0.00
3.00 (c22) Nonbasic
QUANTITY( P2, C3)
5.00
0.00 (c23) Basic
QUANTITY( P2, C4)
0.00
2.00 (c24) Nonbasic
QUANTITY( P3, C1)
0.00
5.00 (c31) Nonbasic
QUANTITY( P3, C2)
10.00
0.00 (c32) Basic
QUANTITY( P3, C3)
0.00
3.00 (c33) Nonbasic
QUANTITY( P3, C4)
30.00
0.00 (c34) Basic
z = c11*  Q11 + c12*  Q12 + c13*  Q13 + c14*  Q14
+ c21*  Q21 + c22*  Q22 + c23*  Q23 + c24*  Q24
+ c31*  Q31 + c32*  Q32 + c33*  Q33 + c34*  Q34
Inventory Problems as
Transportation Problems
Sailco Corporation: Manufacturer of Sailboats
Demand:
1st Quarter
2nd Quarter
3rd Quarter
4th Quarter
40 (Sailboats)
60
75
25
Supply: (Initial inventory: 10)
Production: (Storage @ $20/sailboat/quarter)
Quarter
Regular
1st
40@$400
2nd
40@$400
3rd
40@$400
4th
40@$400
Overtime
150@$440
150@$440
150@$440
150@$440
Inventory Problems as Transportation Problems
Sailco Corporation: Formulation
Supply Nodes:
Node
Description
1
Initial Inventory
2
1st quarter, regular
3
1st quarter, overtime
4
2nd quarter, regular
5
2nd quarter, overtime
6
3rd quarter, regular
7
3rd quarter, overtime
8
4th quarter, regular
9
4th quarter, overtime
Total
Capacity, Sailboats
10
40
150
40
150
40
150
40
150
770
Inventory Problems as Transportation Problems
Sailco Corporation: Formulation (Cont’d.)
Demand Nodes:
Node
Description
1
1st quarter
2
2nd quarter
3
3rd quarter
4
4th quarter
5
Dummy
Total
Demand, Sailboats
40
60
75
25
570
770
Inventory Problems as Transportation Problems
Sailco Corporation: Formulation (Costs)
Cost Coefficients: ($/Sailboat)
Supply
Demand
1
2
3
I
1
0
20
40
R 2
400
420
440
OT 3
450
470
490
R 4
M
400
420
OT 5
M
450
470
R 6
M
M
400
OT 7
M
M
450
R 8
M
M
M
OT 9
M
M
M
M is a very large, arbitrary, positive number.
4
60
460
510
440
490
420
470
400
450
Dummy
0
0
0
0
0
0
0
0
0
Assignment Problems
Personnel Assignment:
Person 1
Person 2
Person 3
Person 4
Time (hours)
Job 1 Job 2 Job 3 Job 4
14
5
8
7
2
12
6
5
7
8
3
9
2
4
6
10
Assignment Problem Formulation
Define Variables:
Let
Xij = 1 if ith person is assigned to jth job
Xij = 0 if ith person is not assigned to jth job
Objective Function:
Min z = 14*X11 + 5*X12 + … + 10*X44
Personnel Constraints:
X11 + X12 + X13 + X14 = 1
X21 + X22 + X23 + X24 = 1
X31 + X32 + X33 + X34 = 1
X41 + X42 + X43 + X44 = 1
Binary Constraints:
Xij = 0 or Xij = 1
Demand Constraints:
X11 + X21 + X31 + X41 = 1
X12 + X22 + X32 + X42 = 1
X13 + X23 + X33 + X43 = 1
X14 + X24 + X34 + X44 = 1
Assignment Problem Algorithm
Row Minimum
14
5
8
7
5
2
12
6
5
2
7
8
3
9
3
2
4
6
10
2
Subtract Row Minimum from Each Row:
Column Minimum
9
0
4
0
0
10
5
2
3
4
0
4
2
3
6
8
0
0
0
2
Assignment Problem Algorithm
Subtract Column Minimum from Each Column:
9
0
4
0
0
10
5
2
3
4
0
4
0
1
4
6
Subtract Minimum uncrossed value from uncrossed values
and add to twice-crossed values:
Solution:
10
0
5
0
0
9
5
1
3
3
0
3
0
0
4
5
0
0
0
0
Draw lines to cross out zeros and read solution from zeros
Hungarian Method
Step 1: Find the minimum element in each row of the m x m cost
matrix. Construct a new matrix by subtracting from each cost the
minimum cost in its row. For this new matrix, find the minimum cost in
each column. Construct a new matrix (called the reduced cost matrix)
by subtracting from each cost the minimum cost in its column.
Step 2: Draw the minimum number of lines (horizontal and/or vertical)
that are needed to cover all the zeros in the reduced cost matrix. If m
lines are required, an optimal solution is available among the covered
zeros in the matrix. If fewer than m lines are needed, proceed to Step
3.
Step 3: Find the smallest nonzero element (call its value k) in the
reduced cost matrix that is uncovered by the lines drawn in Step 2.
Now subtract k from each uncovered element of the reduced cost
matrix and add k to each element that is covered by two lines. Return
to Step 2.
Download