510 Slides 9
510 Slides 9
Input Data :
SOURCES: m sources with supplies available of a1, . . . , am.
SINKS: n sinks with demands of b1, . . . , bn.
COST MATRIX: (cij ) matrix of unit shipping cost coefficients.
FORBIDDEN CELLS: Each source may be allowed to ship only
to a subset of sinks; i.e., it is forbidden to ship to sinks outside
this subset. Variables associated with forbidden cells are required
to be 0. Make cost coeff. cij of forbidden cells (i, j) to be +∞ or
a very large positive number, to force variable to be 0.
178
Problem:
min z(x) = cij xij
n
subject to xij = ai, i = 1 to m
j=1
m
xij = bj , j = 1 to n
i=1
xij ≥ 0 for all i, j.
Dual Problem:
max w(u, v) = a i ui + b j vj
vn = 0
179
Relative cost coeff. of xij is dual slack c̄ij = cij − ui − vj .
Various complementary pairs are (xij , c̄ij ).
An Application at a Bus Rental Company
The transportation model finds many many applications, and often in contexts that
do not involve shipping of any commodities. We will discuss one such application at a
bus rental company in Seoul, South Korea, which involves allocation of buses to trips
[Kim and Murty, “A chartered Bus Allocation Problem”, you can see on my webpage].
This company rents buses with drivers to customers who request them. Seoul is a
big city and a popular destination for many tourists from all over the world. Requests
for the company’s buses come from visiting student groups, business teams, wedding
groups, etc. If there are tour requests of smaller durations, the same bus may be able
to handle them one after the other. In this way, the company tries to combine requests
of smaller durations into a bus trip for the whole day.
So, each bus trip involves the driver reporting with the bus to the first group for
the day at a specified location (origin of this trip) in the city, at a specified time in the
morning (trip start time), and driving the group along the route laid out for their tour
(the route may involve some stops of varying durations along the way, the driver waits
in the bus during such stops). After finishing this group’s tour, the driver may handle
the next group’s tour on schedule for the day in the same way. And so on. The bus trip
for the day ends with the last group on its shedule, at the specified end location and
specified time in the evening.
The company stations buses at two depots in the city, call them Depot 1, Depot 2
(D1 , D2 ). A driver allotted to a bus trip starts the bus at the depot and picks up the
first group on the trip schedule in the morning. In the evening after the trip is over, the
driver takes the bus from the ending location of the trip back to its depot.
The customers pay for all the driving in their tours; but the company has to pay for
the drive of the bus from the depot to the starting location of the trip in the morning,
180
and from the ending location of the trip back to the depot in the evening. That’s why
these drives are called empty load drives. It has been estimated that the time spent
in empty load driving costs the company at the rate of $40/hour (it includes driver’s
wages, fuel, maintenance, lost opportunity for the bus to make profit during that time,
etc.). This is the only cost we consider in allocating buses to trips, this cost is to be
minimized.
If the company finds that the number of trips on a day is more than the number
of buses that they have, they can borrow additional buses on a daily basis from other
vendors. For these borrowed buses, the company has to pay an agreed upon daily rate
that is much higher than the cost of empty load drives if they use their own bus. That’s
why the company uses their own buses as far as possible.
The number of trips handled daily varies between 30 to 50. But in this illustrative
example, we will consider only 8 trips.
The sources for the buses for these trips are D1 , D2 (Depots 1, 2), and OV (Outside
vendors). Each trip needs a bus, so each of them is a sink with a demand for one bus.
The total demand on this day is for 8 buses. The company has two buses stationed at
D1 , and 4 at D2 . So, they need to borrow 8 − 2 − 4 = 2 buses from OV on this day.
All the data is shown in the following table. In it, j is a trip, and when i is a depot,
cij = cost in $ of empty load drives from i to the starting location and back to the depot
from the ending location of trip j; based on estimated average driving speed. When i is
an OV, cij = cost in $ of borrowing a bus from i to handle trip j.
Let xij denote the number of buses allocated from souce i to trip j. This bus
181
allocation problem is clearly the balanced transportation problem with the data given
in the above table, with the restriction that xij can take only integer values. However, the
integer property of the transportation problem discussed in Chapter 3 guarantees that
this integer restriction can be ignored because the remaining LP has integer optimum
solutions that can be found by LP algorithms.
The optimum solution (xij ) for this problem computed using the algorithm discussed
in later sections is given in the following table (blank entries are zero, i.e.; only if the
value of an xij is nonzero, that value is entered in cell (i, j)).
So, in the optimum solution the two buses at D1 are allocated to trips 2, 5; the four
buses from D2 are allocated to trips 1, 4, 6, and 8; and buses borrowed from OVs are
allocated to trips 3, 7; resulting in a minimum cost of $648 for these trips.
Every day the company solves the same model with the data for the trips to be
handled on that day to determine the bus allocations for these trips.
182
Properties:
C1 C2 C3 C4 C5 C6
R1 7 10 213
R2 25 15 312
R3 33 9 111
R4 11 4 8 110
163 22 100 318 79 64
1. There must exist a line in the array (row or col) with a single
184
cell from subset.
2. The remaining array after a line with a single cell from subset
is crossed out must againg satisfy Property 1.
Find row or col. with largest CD. Select (r, s), the open cell in
it with smallest cost coeff.
186
Examples:
cij ai
j=1 2 3
i=1 11 8 2 800
2 7 5 4 300
bj 400 500 200
cij ai
j=1 2 3
i=1 1 2 3 15
2 4 4 10 19
3 6 5 15 11
bj 7 8 30
187
How to check Optimality of a BES:
Example: Basic vector (x11, x12, x13, x22) for first example
above.
189
(ii) All cells in θ-loop other than the entering cell are basic
cells.
Example: In a 4 × 5 array, can {(1, 2), (1, 3), (2, 2), (2, 3),
(3, 4), (3, 5), (4, 4), (4, 5)} form a θ-loop?
190
Array 6.7
1 2 3 4 5 ui
1 7 −6
1 18 − θ 20 + θ
6 3 4 5 5 11
7 6 11
2 27 − θ 35 + θ
10 15 15 14 16 16
−1 10 −5
3 0+θ 27 − θ
8 5 7 11 9 14
−6 −13 −2
4 θ 25 65 − θ
13 4 16 12 25 25
vj −6 −8 −7 −13 0
192
With the new BFS and basic set, return to next iteration.
Example:
cij ai
j=1 2 3
i=1 9 6 8 6
2 10 5 12 11
3 11 13 20 4
bj 3 4 14
193
C1 C2 C3 C4 C5 C6
R1 7 10 213
R2 25 15 312
R3 33 9 111
R4 11 4 8 110
163 22 100 318 79 64
C1 C2 C3 C4 C5 C6 C7 C8
R1 8 11 9
R2 0 3
R3 20 13 8 22
R4 9 17
R5 7 8 10 4 11 43
1 11 19 12 6 5 34 6
194
If Balance Condition Does Not Hold ...
We either have excess supply or excess demand.
195
Now problem balanced. Solve it. In optimal sol. shipments
from dummy source represent unfulfilled demand at sinks.
196
Marginal analysis, Changes in Demand - Supply data:
Example:
197
1 2 3 4 ai ui
1 10 − δ 15 20 + δ 45
25 36 20 10 10
2 40 + δ 30 − δ 70
47 40 30 20 20
3 50 + δ 50 + δ
20 33 15 14 5
bj 60 40 + δ 15 50
vj 15 20 10 0
198