Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
11/15/2011
1
โข The Traveling Salesman Problem (TSP) seeks a minimum-
total-length route visiting every points in a given set exactly
once. [11.23]
โข A traveling salesman problem is symmetric if the distance or
cost of passing from any point ๐ to any other point ๐ is the
same as the distance from ๐ to ๐. Otherwise, the problem is
asymmetric. [11.24]
11.5 Traveling Salesman
and Routing Models
Example 11.8
NCB Circuit Board TSP
Figure 11.4 shows the tiny example that we will investigate for
fictional board manufacturer NCB. We seek an optimal route through the 10
hole locations indicated. Table 11.7 reports straight-line distances di,j
between hole locations i and j. Lines in Figure 11.4 show a fair quality
solution with total length 92.8 inches. The best route is 11 inches shorter
(see Section 12.6). 1 2 3 4 5 6 7 8 9 10
1 3.6 5.1 10.0 15.3 20.0 16.0 14.2 23.0 26.4
2 3.6 3.6 6.4 12.1 18.1 13.2 10.6 19.7 23.0
3 5.1 3.6 7.1 10.6 15.0 15.8 10.8 18.4 21.9
4 10.0 6.4 7.1 7.0 15.7 10.0 4.2 13.9 17.0
5 15.3 12.1 10.6 7.0 9.9 15.3 5.0 7.8 11.3
6 20.0 18.1 15.0 15.7 9.9 25.0 14.9 12.0 15.0
7 16.0 13.2 15.8 10.0 15.3 25.0 10.3 19.2 21.0
8 14.2 10.6 10.8 4.2 5.0 14.9 10.3 10.2 13.0
9 23.0 19.7 18.4 13.9 7.8 12.0 19.2 10.2 3.6
10 26.4 23.0 21.9 17.0 11.3 15.0 21.0 13.0 3.6
1
2
3
4 5
6
7 8 9
10
11/15/2011
2
โข Most ILP models of the symmetric case employ decision
variables, ๐ < ๐
๐ฅ๐,๐ โก 1 if the route includes a leg between i and j0 otherwise
โข Total length of a route can be calculated by
๐๐,๐
๐>๐
๐ฅ๐,๐
๐
โข Constraints for symmetric TSP
๐ฅ๐,๐ +
๐<๐
๐ฅ๐,๐ = 2 ๐๐๐ ๐๐๐ ๐
๐>๐
Formulating the Symmetric TSP
(11.15)
(11.16)
โข Definition of subtours
S proper subset of points/cities to
be routed
โข Subtour elimination constraints
๐ฅ๐,๐ +
๐โ๐๐โ๐
๐ฅ๐,๐ โฅ 2
๐โ๐๐โ๐
โข Number of legs between points in S
and points not in S must be at least 2.
Subtours
(11.17)
1
2
3
4 5
6
7
8 9
10
11/15/2011
3
min ๐๐,๐
๐>๐
๐ฅ๐,๐
๐
s.t.
๐ฅ๐,๐ +
๐<๐
๐ฅ๐,๐ = 2 ๐๐๐ ๐๐๐ ๐
๐>๐
๐ฅ๐,๐ +
๐โ๐๐โ๐
๐ฅ๐,๐ โฅ 2 ๐๐๐ ๐๐๐ ๐, ๐ โฅ 3
๐โ๐๐โ๐
๐ฅ๐,๐ = 0 ๐๐ 1 ๐๐๐ ๐๐๐ ๐, ๐ > ๐
ILP Model of the Symmetric TSP
[11.25]
min ๐๐,๐
๐โ ๐
๐ฅ๐,๐
๐
s.t.
๐ฅ๐,๐ = 1 ๐๐๐ ๐๐๐ ๐
๐
๐ฅ๐,๐ = 1 ๐๐๐ ๐๐๐ ๐
๐
๐ฅ๐,๐ โฅ 1 ๐๐๐ ๐๐๐ ๐, ๐ โฅ 2
๐โ๐๐โ๐
๐ฅ๐,๐ = 0 ๐๐ 1 ๐๐๐ ๐๐๐ ๐, ๐
ILP Model of the Asymmetric TSP
[11.26]
11/15/2011
4
๐ฆ๐,๐ โก 1 if kth point visited is i0 otherwise
min ๐๐,๐
๐
๐ฆ๐,๐
๐
๐ฅ๐+1,๐
๐
(Total length)
๐ฆ๐,๐ = 1 ๐๐๐ ๐๐๐ ๐ (each position occupied)
๐
๐ฅ๐,๐ = 1 ๐๐๐ ๐๐๐ ๐
๐
(each point visited)
๐ฆ๐,๐ = 0 ๐๐ 1 ๐๐๐ ๐๐๐ ๐, ๐
Quadratic Assignment Formulation
of the TSP
[11.27]
s.t.
Let
Example 11.9
KI Truck Routing
Kraft Incorporated confronts such multiple-route design problems in
planning truck delivery of its food products to over 100,000 commercial,
industrial, and military customers in North America. Known customer
requirements must be grouped into truckloads and then routes planned. Our
tiny fictitious version of the KI case has 20 stops to be serviced from a single
depot.
Stop, i fi Stop, i fi
1 0.25 11 0.21
2 0.33 12 0.68
3 0.39 13 0.16
4 0.40 14 0.19
5 0.27 15 0.22
6 0.70 16 0.38
7 0.28 17 0.26
8 0.43 18 0.29
9 0.50 19 0.17
10 0.22 20 0.31
1
2
3
4
5
6
7 8 9
12 19 18
16 13
11
10
15 14 17
20
11/15/2011
5
Example 11.9
KI Truck Routing
1
2
3
4
5
6
7
8 9
12
19 18
16 13
11
10
15
14 17
20
๐ง๐,๐ โก 1 if stop i is assigned to route j0 otherwise
min ๐๐
7
๐=1
(๐)
๐ง๐,๐ = 1 ๐๐๐ ๐๐๐ ๐ = 1,โฆ , 20 (each i to some j)
7
๐=1
๐๐๐ง๐,๐ โค 1 ๐๐๐ ๐๐๐ ๐ = 1,โฆ , 7 (truck capacities)
20
๐=1
๐ง๐,๐ = 0 ๐๐ 1 ๐๐๐ ๐๐๐ ๐, ๐
KI Truck Routing Example Model
s.t.
Let
(11.18)
11/15/2011
6
๐๐(๐) โก length of the best route through stops assigned to truck j
by decision vector z
โข Routing problems are characteristically difficult to represent
concisely in optimization models. [11.28]
KI Truck Routing Example Model
โข Fixed charges can be modeled with new binary variables
and switching constraints. Facility Location and Network
Design are common cases of fixed charges.
Facility Location Models
โข Facility/plant/warehouse location models choose which of a
proposed list of facilities to open in order to service specified
customer demands at minimum total cost. [11.29]
11.6 Facility Location and
Network Design Models
11/15/2011
7
Example 11.10
Tmark Facilities Location
AT&T has confronted many facility location problems in recommending
sites for the toll-free call-in centers of its telemarketing customers. Such centers handle telephone reservations and orders arising in many geographic zones. Since telephone rates vary dramatically depending on the zone of call origin and the location of the receiving center, site selection is extremely important. A well-designed system should minimize the total of call charges and center setup costs. Our version of this scenario will involve fictional firm Tmark. Figure 11.7 shows the 8 sites under consideration for Tmarkโs catalog order centers embedded in a map of the 14 calling zones. Table 11.9 shows corresponding unit calling charges, ri,j, from each zone j to various centers i, and the zoneโs anticipated call load, dj. Any Tmark center selected can handle between 1500 and 5000 call units per day. However, their fixed costs of operation vary significantly because of differences in labor and real estate prices. Estimated daily fixed cost, fi, for the 8 centers are displayed in Figure 11.7.
Example 11.10
Tmark Facilities Location
1
2 3
4
5
6
7
8
i
Fixed
Cost
1 2400
2 7000
3 3600
4 1600
5 3000
6 4600
7 9000
8 2000
11/15/2011
8
Example 11.10
Tmark Facilities Location
Zone
j
Possible Center Location, i Call
Demand 1 2 3 4 5 6 7 8
1 1.25 1.40 1.10 0.90 1.50 1.90 2.00 2.10 250
2 0.80 0.90 0.90 1.30 1.40 2.20 2.10 1.80 150
3 0.70 0.40 0.80 1.70 1.60 2.50 2.05 1.60 1000
4 0.90 1.20 1.40 0.50 1.55 1.70 1.80 1.40 80
5 0.80 0.70 0.60 0.70 1.45 1.80 1.70 1.30 50
6 1.10 1.70 1.10 0.60 0.90 1.30 1.30 1.40 800
7 1.40 1.40 1.25 0.80 0.80 1.00 1.00 1.10 325
8 1.30 1.50 1.00 1.10 0.70 1.50 1.50 1.00 100
9 1.50 1.90 1.70 1.30 0.40 0.80 0.70 0.80 475
10 1.35 1.60 1.30 1.50 1.00 1.20 1.10 0.70 220
11 2.10 2.90 2.40 1.90 1.10 2.00 0.80 1.20 900
12 1.80 2.60 2.20 1.80 0.95 0.50 2.00 1.00 1500
13 1.60 2.00 1.90 1.90 1.40 1.00 0.90 0.80 430
14 2.00 2.40 2.00 2.20 1.50 1.20 1.10 0.80 200
๐ฆ๐ โก 1 if facility i is open0 otherwise
๐ฅ๐,๐ โก fraction of demand j fulfilled from facility i
min ๐๐,๐๐๐๐ฅ๐,๐
๐
+ ๐๐๐ฆ๐
๐๐
๐ฅ๐,๐ = 1 ๐๐๐ ๐๐๐ ๐ (๐๐ข๐๐๐๐๐ ๐ ๐๐๐๐๐๐)
๐
๐๐๐ฅ๐,๐ โค ๐ข๐๐ฆ๐ ๐๐๐ ๐๐๐ ๐
๐
(๐ ๐๐๐๐๐๐๐ก๐ฆ ๐ ๐ค๐๐ก๐๐๐๐๐)
๐ฅ๐,๐ โฅ 0 ๐๐๐ ๐๐๐ ๐, ๐
๐ฆ๐ = 0 ๐๐ 1 ๐๐๐ ๐๐๐ ๐
ILP Model of Facilities Location
[11.30] s.t.
Let
11/15/2011
9
๐๐๐ (๐๐,๐๐๐)๐ฅ๐,๐
14
๐=1
+ ๐๐๐ฆ๐
8
๐=1
8
๐=1
๐ฅ๐,๐
8
๐=1
= 1 ๐๐๐ ๐๐๐ ๐ (๐๐๐๐๐ฆ ๐ ๐๐๐๐)
1500๐ฆ๐ โค ๐๐๐ฅ๐,๐ โค 5000๐ฆ๐ (๐๐๐๐๐๐๐ก๐ฆ ๐๐ ๐)
14
๐=1
๐ฅ๐,๐ โฅ 0 ๐๐๐ ๐๐๐ ๐, ๐
๐ฆ๐ = 0 ๐๐ 1 ๐๐๐ ๐๐๐ ๐
Tmark Facilities Location
Example Model
(11.20)
s.t.
โข The fixed-charge network flow or network design model
on a digraph on nodes kV with net demand bk, and arcs
(i,j)A with capacity ui,j, unit cost ci,j, and non-negative fixed
cost fi,j is [11.31]
๐๐๐ ๐๐,๐๐ฅ๐,๐
(๐,๐)โ๐ด
+ ๐๐,๐๐ฆ๐,๐
(๐,๐)โ๐ด
๐ฅ๐,๐ โ ๐ฅ๐,๐
๐,๐ โ๐ด
= ๐๐ ๐๐๐ ๐๐๐ ๐ โ ๐
(๐,๐)โ๐ด
0 โค ๐ฅ๐,๐ โค ๐ข๐,๐๐ฆ๐,๐ ๐๐๐ ๐๐๐ (๐, ๐) โ ๐ด
๐ฆ๐,๐ = 0 ๐๐ 1 ๐๐๐ ๐๐๐ (๐, ๐) โ ๐ด
Network Design Models
s.t.
11/15/2011
10
Example 11.11
Wastewater Network Design
Network design applications may involve telecommunications,
electricity, water, gas, coal slurry, or any other substance that flows in a network. We illustrate with an application involving regional wastewater (sewer) networks. As new areas develop around major cities, entire networks of collector sewers and treatment plants must be constructed to service growing population. Figure 11.8 displays our particular (fictional) instance. Nodes 1 to 8 of the network represent population centers where smaller sewers feed into the main regional network, and locations where treatment plants might be built. Wastewater loads are roughly proportional to population, so the inflows indicated at nodes represent population units (in thousands).
Example 11.11
Wastewater Network Design
Arcs joining nodes 1 to 8 show possible routes for main collector
sewers. Most follow the topology in gravity flow, but one pumped line (4. 3) is included. A large part of the construction cost for either type of line is fixed: right-of-way acquisition, trenching, and so on. Still, the cost of a line also grows with the number of population units carried, because greater flows imply larger-diameter pipes. The table in Figure 11.8 shows the fixed and variable cost for each arc in thousand of dollars. Treatment plant costs actually occur at nodesโhere nodes 3, 7, and 8. Figure 11.8 illustrates, however, that such costs can be modeled on arcs by introducing an artificial โsupersink" node 9. Costs shown for arcs (3, 9), (7. 9), and (8, 9) capture the fixed and variable expense of plant construction as flows depart the network.
11/15/2011
11
Example 11.11
Wastewater Network Design Arc Fixed Cost Var. Cost
(1,2) 240 21
(1,3) 350 30
(2,3) 200 22
(2,4) 750 58
(3,4) 610 43
(3,9) 3800 1
(4,3) 1840 49
(4,8) 780 63
(5,6) 620 44
(5,7) 800 51
(6,7) 500 56
(6,8) 630 94
(7,4) 1120 82
(7,9) 3800 1
(8,9) 2500 2
1 2
3 4
5
6 9
7
8
27 3
14
36
13
21
8
gravity
pumped
plant arcs
Wastewater Network Design
Example Model
min 21x1,2+30x1,3 +22x2,3+58x2,4 +43x3,4+ x3,9 +49x4,3+63x4,8 +44x5,6 +51x5,7+56x6,7 +94x6,8 +82x7,4+x7,9 +2x8,9+240y1,2 +350y1,3
+200y2,3+750y2,4 +610y3,4+ 3800y3,9 +1840y4,3 +780y4,8 +620y5,6 +800y5,7+500y6,7 +630y6,8 +1120y7,4 +3800y7,9 +2500y8,9
s.t. โx1,2 โx1,3 = -27
x1,2 โ x2,3 โ 5x2,4 = -3
x1,3 + x2,3 + x4,3 โx3,4 โx3,9 = -14
x2,4 + x3,4 + x7,4 โx4,3 โx4,8 = -36
โx5,6โx5,7 = -21
x5,6โx6,7 โx6,8 = -8
x5,7 + x6,7โx7,4 โx7,9 = -13
x4,8 + x6,8โx8,9 = 0 x3,9 + x7,9 + x8,9 = 122
yi,j = 0 or 1 all arcs (i,j)
0 x1,2 27y1,2
0 x1,3 27y1,3
0 x2,3 30y2,3
0 x2,4 30y2,4
0 x3,4 44y3,4
0 x3,9 122y3,9
0 x4,3 108y4,3
0 x4,8 122y4,8
0 x5,6 21y5,6
0 x5,7 21y5,7
0 x6,7 29y6,7
0 x6,8 29y6,8
0 x7,4 42y7,4
0 x7,9 42y7,9
0 x8,9 122y8,9
11/15/2011
12
Single-Processor Scheduling Problems
โข Single-processor (or single-machine) scheduling problems
seek an optimal sequence in which to complete a given
collection of jobs on a single processor that can
accommodate only one job at a time. [11.32]
11.7 Processor Scheduling and
Sequencing Models
Example 11.12
Nifty Notes Single-Machine Scheduling
We begin with the binder scheduling problem confronting a fictitious Nifty Notes copy shop. Just before the start of each semester, professors at the nearby university supply Nifty Notes with a single original of their class handouts, a projection of the class enrollment, and a due date by which copies should be available. Then the Nifty Notes staff must rush to print and bind the required number of copies before each class begins. During the busy period each semester, Nifty Notes operates its single binding station 24 hours per day. Table 11.10 shows process times, release times, and due dates for the jobs j = 1,..., 6 now pending at the binder.: We wish to choose an optimal sequence in which to accomplish these jobs. No more than one can be in process at a time; and once started. a job must be completed before another can begin.
11/15/2011
13
Example 11.12
Nifty Notes Single-Machine Scheduling
pj estimated process time (in hours) job j will require to bind rj release time (hour) at which job j has/will become available
for processing (relative to time 0 = now) dj = due date (hour) by which job j should be completed (relative
to time 0 = now) Notice that two jobs are already late (dj < 0).
Binder Job, j
1 2 3 4 5 6
Process time, pj 12 8 3 10 4 18
Release time, rj -20 -15 -12 -10 -3 2
Due date, dj 10 2 72 -8 -6 60
โข A set of (continuous) decision variables in processor
scheduling models usually determines either the start or the
completion time(s) of each job on the processor(s) it
requires. [11.33]
โข xj time binding starts for job j (relative to time 0 = now)
โข Constraints on the starting time:
xj max {0, rj}
โข Completion time:
(Start time) + (Process time) = (Completion time)
Time Decision Variables
(11.22)
11/15/2011
14
โข The central issue in processor scheduling is that only one
job should be in progress on any processor at any time.
โข For a pair of jobs j and jโ that might conflict on a processor,
the appropriate conflict constraint is either (11.23)
(start time of j) + (process time of j) (start time of jโ), or
(start time of jโ) + (process time of jโ) (start time of j)
โข Conflict avoidance requirement can be modeled explicitly
with the aid of additional disjunctive variables.
โข A set of (discrete) disjunctive variables in processor
scheduling models usually determines the sequence in
which jobs are started on processors by specifying whether
each job j is scheduled before or after each other jโ with
which it might conflict. [11.34]
Conflict Constraints and
Disjunctive Variables
โข A processor scheduling model with job start time xj and
process time pj can prevent conflicts between jobs j and jโ
with disjunctive constraint pairs
xj + pj xjโ + M(1 โ yj,jโ)
xjโ + pjโ xj + Myj,jโ
Where M is a large positive constant, and binary disjunctive
variable yj,jโ=1when j is schedule before jโ on the processor
and =0 if jโ is first. [11.35]
Conflict Constraints and
Disjunctive Variables
11/15/2011
15
โข Due dates in processor scheduling models are usually
handled as goals to be reflected in the objective function
rather than as explicit constraints. Dates that must be met
are termed deadlines to distinguish. [11.36]
Handling of Due Dates
โข Denoting the start time of job j=1,โฆ, n by xj, the process
time by pj, the release time by rj and the due date by dj,
processor scheduling objective functions often minimize one
of the following: [11.37]
โข Maximum completion time (makespan) maxj{xj + pj}
Mean completion time (makespan) (1/n)j(xj + pj)
โข Maximum flow time maxj{xj + pj - rj}
Mean flow time (1/n)j(xj + pj - rj)
โข Maximum lateness maxj{xj + pj - dj}
Mean lateness (1/n)j(xj + pj - dj)
โข Maximum tardiness maxj{max[0, xj + pj โ dj]}
Mean tardiness (1/n)j(max{0, xj + pj โ dj})
Processor Scheduling
Objective Functions
11/15/2011
16
โข When any of the minmax objective are being optimized, the
problem is an integer non-linear program (INLP).
โข Any of the min max objectives can be linearized by
introducing a new decision variable f to represent the
objective function value, then minimizing f subject to new
constraints of the form f each element in the maximize set.
A similar construction can model tardiness by introducing
new non-negative tardiness variables for each job and
adding constraints keeping each tardiness variable the
corresponding lateness. [11.38]
ILP Formulation of
Minmax Scheduling Objective
โข The mean completion time, mean flow time, and mean
lateness scheduling objective functions are equivalent in the
sense that an optimal schedule for one is also optimal for
the others. [11.39]
โข An optimal schedule for the maximum lateness objective
function is also optimal for maximum tardiness. [11.40]
Equivalences among
Scheduling Objective Functions
11/15/2011
17
โข Job shop scheduling problems seek an optimal schedule for
a given collection of jobs, each of which requires a known
sequence of processors that can accommodate only one job
at a time. [11.41]
Job Shop Scheduling
Example 11.13
Custom Metalworking Job Shop
We illustrate job shop scheduling with a fictitious Custom Metalworking company which fabricates prototype metal parts for a nearby engine manufacturer. Figure 11.9 provides details on the 3 jobs waiting to be scheduled. First is a die requiring work on a sequence of 5 workstations: 1 (forging), then 2 (machining), then 3 (grinding), then 4 (polishing), and finally, 6 (electric discharge cutting). Job 2 is a cam shaft requiring 4 stations, and job 3 a fuel injector requiring 5 steps. Numbers in boxes indicate process times Pj,k process time (in minutes) of job j on processor k For example, job 1 requires 45 minutes at polishing workstation 4. Any of the objective function forms in [11.37] could be appropriate for Custom Metalworkingโs scheduling. We will assume that the company wants to complete all 3 jobs as soon as possible (minimize maximum completion), so that workers can leave for a holiday.
11/15/2011
18
Example 11.13
Custom Metalworking Job Shop
WS1
3
WS2
10
WS3
8
WS4
45
WS6
1 1. Die
WS7
50
WS1
6
WS2
11
WS3
6 2. Camshaft
WS2
5
WS3
9
WS5
2
WS6
1
WS4
25 3. Fuel
Injector
k Workstations
1 Forging
2 Machining
center
3 Grinding
4 Polishing
5 Drilling
6 Electric
discharge
7 Heat
treatment
Custom Metalworking Example
Decision Variables and Objective
โข Decision variables ๐ฅ๐,k โก start time of job j on processor k โข Objective function min max {x1,6+1, x2,3+6, x3,4+25} โข Precedence constraints
The precedence requirement that job j must complete on processor k before activity on kโ begins can be expressed as xj,k + pj,k xj,kโ
where xj,k denotes the start time of job j on processor k, pj,k
is the process time of j on k, and xj,kโ is the start time of job j on processor kโ. [11.42]
11/15/2011
19
Custom Metalworking Example
Decision Variables and Objective
๐ฆ๐,๐โฒ ,๐ โก 1 if j is scheduled before job jโฒ on processor k0 otherwise
โข Job shop models can prevent conflicts between jobs by introducing new disjunctive variables yj,jโ,k and constraint pair xj,k + pj,k xj,kโ + M (1 - yj,jโ,k ) xjโ,k + pjโ,k xj,k + M yj,jโ,k ) For each j, jโ that both require any processor k. Here xj,k
denotes the start time of job j on processor k, pj,k is the process time, M is a large positive constant, and binary yj,jโ,k =1 when j is scheduled before jโ on k, and =0 if jโ is first. [11.43]
Custom Metalworking Example Model
min max {x1,6+1, x2,3+6, x3,4+25} s.t. x1,1 +3 x1,2
x1,2 +10 x1,3
x1,3 +8 x1,4
x1,4 +45 x1,6
x2,7 +50 x2,1
x2,1 +6 x2,2
x2,2 +11 x2,3
x3,2 +5 x3,3
x3,3 +9 x3,5
x3,5 +2 x3,6
x3,6 +1 x3,4
x1,1 +3 x2,1+M(1-y1,2,1) x2,1 +6 x1,1+My1,2,1
x1,2 +10 x2,2 +M(1-y1,2,2)
x2,2 +11 x1,2 +My1,2,2
x1,2 +10 x3,2 +M(1-y1,3,2)
x3,2 +5 x1,2 +My1,3,2
x2,2 +11 x3,2 +M(1-y2,3,2)
x3,2 +5 x1,2 +My2,3,2)
x1,3 +8 x2,3 +M(1-y1,2,3)
x2,3 +6 x1,3 +My1,2,3)
x1,3 +8 x3,3 +M(1-y1,3,3)
x3,3 +9 x1,3 +My1,3,3)
x2,3 +6 x3,3+M(1-y2,3,3) x3,3 +9 x2,3+My2,3,3
x1,4 +45 x3,4 +M(1-y1,3,4)
x3,4 +25 x1,4 +My1,3,4
x1,6 +1 x3,6 +M(1-y1,3,6)
x3,6 +1 x1,6 +My1,3,6
xj,k 0
yj,jโ,k = 0 or 1