Post on 23-Feb-2016
description
Dongxu Wu Sining GuHong Ouyang
* U.S Aircrafts Carriers Arrangement Scheduling
*The Map
*Distance between Dif. Spots
1. Alaska
2. Korea Strait
3 Makassar Strait
4 Sunda Strait
5 Malacca
6 Red Sea, the southern tip
7 Suez Canal
8 Gibraltar
9 Strait of Hormuz
10The Straits of Florida
11 South Atlantic Ocean
12 Iceland - British Waterway
13 WA
14 San Diego
15 Virginia State
16 Hawaii
17 Japan Yokosuka
18 Guam Island
0 7000 9000 11000 11000 15000
20000
16000
19000
13000
24000
24000 2000 4500 1650
0 5000 6000 8000
7000 0 5000 6000 6000 12000
17000
22000
12000
18000
24000
28000 8000 8000 1800
0 7000 2000 3000
9000 5000 0 2000 2000 8000 12000
18000 8000 1600
01500
02400
01200
01100
01800
0 8000 4000 3000
11000 6000 2000 0 1000 7000 11000
17000 7000 1700
01400
02300
01400
01300
02000
01000
0 6000 5000
11000 6000 2000 1000 0 6000 10000
16000 6000 1800
01500
02200
01500
01400
01800
01200
0 8000 7000
15000 12000 8000 7000 6000 0 4000 10000 3000 2000
01200
01600
02100
02000
01500
01800
01400
01300
020000 17000 12000 11000 10000 4000 0 6000 7000 1600
01600
01200
01800
01550
01200
01800
01700
01600
016000 22000 18000 17000 16000 1000
0 6000 0 13000
10000
12000 6000 1400
01150
0 8000 14000
20000
20000
19000 12000 8000 7000 6000 3000 7000 13000 0 2300
01400
01900
01700
01600
01900
01800
01700
01300
013000 18000 16000 17000 18000 2000
01600
01000
02300
0 0 9000 11000
11000 8500 2000 1000
01600
01500
024000 24000 15000 14000 15000 1200
01600
01200
01400
0 9000 0 18000
22000
19500
10000
16000
22000
21000
24000 28000 24000 23000 22000 16000
12000 6000 1900
01100
01800
0 0 22000
19500 9500 2100
02700
03200
0
*S1. Goal: Minimize
Response Time
*Basic Stand-by Strategy*Each base can accommodate at most 2
carriers*Each carrier can only stay on one hot-
spot\*12 hotspots. Gen. 12 different strategies
that minimize the total response time of aircraft carriers for each hot post.*Compare and analyze, then get the best
solution.
*St1. Formulation
* For each strategy: ||* Let Tij be the time needed for aircraft carrier i to travel from
spot j to destination.* Let Cij be the placement of aircraft carrier i at spot j (binary).* Min
S.T. ,
All variables
*S1. ampl mod. Code
# File Project.mod# model for final projectparam T{i in 1..12, j in 1..18};var c{i in 1..12, j in 1..18} integer >=0;
minimize Response:sum{i in 1..12, j in 1..18} T[i,j]*c[i,j];
subject to Sixbase:sum{i in 1..12, j in 1..12} c[i,j] = 6;
subject to Sixhotspot:sum{i in 1..12, j in 13..18} c[i,j] = 6;
subject to maxbase {j in 13..18}:sum{i in 1..12} c[i,j] <= 2;
subject to maxhotspot {j in 1..12}:sum{i in 1..12} c[i,j] <= 1;
subject to oneship {i in 1..12}:sum{j in 1..18} c[i,j]=1;
*St1. Data file
V Spot1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18
56
Carrier1
0.0 5.2 6.7 8.2 8.2 11.
2 14.
9 11.9
14.1 9.7 17.
9 17.9 1.5 3.3 12.
3 3.7 4.5 6.0
56 C2 0.0 5.
2 6.7 8.2 8.2 11.2
14.9
11.9
14.1 9.7 17.
9 17.9 1.5 3.3 12.
3 3.7 4.5 6.0 56 C3 0.0 5.
2 6.7 8.2 8.2 11.2
14.9
11.9
14.1 9.7 17.
9 17.9 1.5 3.3 12.
3 3.7 4.5 6.0 65 C4 0.0 4.
5 5.8 7.1 7.1 9.6 12.8
10.3
12.2 8.3 15.
4 15.4 1.3 2.9 10.
6 3.2 3.8 5.1 56 C5 0.0 5.
2 6.7 8.2 8.2 11.2
14.9
11.9
14.1 9.7 17.
9 17.9 1.5 3.3 12.
3 3.7 4.5 6.0 65 C6 0.0 4.
5 5.8 7.1 7.1 9.6 12.8
10.3
12.2 8.3 15.
4 15.4 1.3 2.9 10.
6 3.2 3.8 5.1 60 C7 0.0 4.
9 6.3 7.6 7.6 10.4
13.9
11.1
13.2 9.0 16.
7 16.7 1.4 3.1 11.
5 3.5 4.2 5.6 65 C8 0.0 4.
5 5.8 7.1 7.1 9.6 12.8
10.3
12.2 8.3 15.
4 15.4 1.3 2.9 10.
6 3.2 3.8 5.1 56 C9 0.0 5.
2 6.7 8.2 8.2 11.2
14.9
11.9
14.1 9.7 17.
9 17.9 1.5 3.3 12.
3 3.7 4.5 6.0 56 C10 0.0 5.
2 6.7 8.2 8.2 11.2
14.9
11.9
14.1 9.7 17.
9 17.9 1.5 3.3 12.
3 3.7 4.5 6.0 56 C11 0.0 5.
2 6.7 8.2 8.2 11.2
14.9
11.9
14.1 9.7 17.
9 17.9 1.5 3.3 12.
3 3.7 4.5 6.0 56 C12 0.0 5.
2 6.7 8.2 8.2 11.2
14.9
11.9
14.1 9.7 17.
9 17.9 1.5 3.3 12.
3 3.7 4.5 6.0
*St1. Results
s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18s1 12 5 4 8 7 0 0 0 0 6 0 0 9 ,
10 1 ,2 0 3 , 11 0 0
S2 6 11 12 7 5 0 0 0 4 0 0 0 0 0 0 3 , 8 1 ,10 2,9
S3 0 2 5 12 3 7 0 0 6 0 0 0 0 0 0 4, 8 1 , 10 9,11
S4 0 11 5 9 12 8 0 0 2 0 0 0 0 0 0 4,6 7,10 1 , 3S5 0 12 5 9 10 3 0 0 11 0 0 0 0 0 0 4, 6 7 , 8 1, 2S6 0 0 11 12 1 10 3 0 9 0 0 0 0 0 4, 6 0 7 ,8 2 ,5S7 0 0 0 9 10 5 3 11 2 0 0 0 0 4 ,6 1,
12 0 0 7 ,8S8 0 0 0 0 0 10 11 12 0 3 1 5 4 , 8 6 ,7 2,9 0 0 0S9 0 0 2 3 1 11 5 0 9 0 0 0 8 4,7 0 0 6 2 ,
10S10 6 0 0 0 0 0 4 9 0 12 2 7 0 1,5 10,
11 3, 8 0 0
S11 0 0 0 1 0 5 0 3 10 11 9 0 0 4,8 2, 12 6 ,7 0 0
s12 0 0 0 0 0 12 11 9 0 10 1 3 0 6,7 2, 5 4 , 8 0 0
*St1.Conclusion
*We get the U.S navy 12 carriers response ability is as right side*(based on 6 existed
bases and 12 hot spots)
Total Days Avg_days
51 4.3
41.7 3.5
38 3.2
45.3 3.8
52.2 4.4
78.2 6.5
87.3 7.3
78.1 6.5
85.7 7.1
69.7 5.8
106.5 8.9
114.1 9.5
*Strategy 2. Assumptions
*No 1-12 carriers are located at the 12 hotspots respectively. Each hotspot has one carrier.
*All the carriers are now performing on some tasks. Once they receive the order to return to bases, they should first accomplish the task and then return.
Goal:*Find the shortest time needed for all the 12 carriers to return to a base.
* St2. Formulation
*Qm|rj|Cmax.*Qm = 12 carriers with different speed*rj = the time each carrier spend on continue finishing
the task*Cmax = minimize the length of time needed for all the
12 carriers to return to the bases
*St2. Data
Carrier speed rj 1 2 3 4 5 61 56 1 1.5 3.3 12.3 3.7 4.5 6.0 2 56 2 6.0 6.0 13.4 5.2 1.5 2.2 3 56 3 8.9 8.2 13.4 6.0 3.0 2.2 4 65 4 9.0 8.3 12.8 6.4 3.8 3.2 5 56 5 11.2 10.4 13.4 8.9 6.0 5.2 6 65 6 13.5 12.8 9.6 11.5 9.0 8.3 7 60 7 12.5 10.8 8.3 12.5 11.8 11.1 8 65 8 9.0 7.4 5.1 9.0 12.8 12.8 9 56 9 12.6 11.9 14.1 13.4 12.6 9.7
10 56 10 8.2 6.3 1.5 7.4 11.9 11.2 11 56 11 16.4 14.5 7.4 11.9 16.4 15.6 12 56 12 16.4 14.5 7.1 15.6 20.1 23.8
*St2. cplexamp Code
param numcarriers = 12;param numbases = 6;param T {1..numcarriers, 1..numbases} >=0;var X {1..numcarriers, 1..numbases} binary;
minimize Makespan {i in 1..numcarriers}: max { sum {j in 1..numbases} T[i,j]*X[i,j]};
subject to Carrier_Constraints {i in 1..numcarriers} : sum {j in 1..numbases} X[i,j] = 1;
subject to Base_Constraints {j in 1..numbases} : sum {i in 1..numcarriers} X[i,j] = 2;
*St2. Result
*Cmax = 19.1
1 2 3 4 5 62.5 15.4 18.4 9.0 11.0 18.18.0 16.3 19.1 10.4 15.0 18.7(1,2) (8,10) (11,12) (3,4) (5,6) (7,9)
*Strategy 3, Job Shop
*Job Shop Scheduling Problems* 3 jobs (carriers), 4 machines(hotspots)*Each carrier follows a predetermined route *(a sequence of hotspots)Strategy 3:*Operation (i,j) : Processing of carrier j on hotspot i *Processing time pij
*Assume that carriers do not recirculate*Minimize Cmax
*St3. data
Carriers
Hotspot Sequence Processing Times
1 1,2,3 p11=21, p21=17, p31=92 2,1,4,3 p22=17, p12=7, p42=11,
p32=133 1,2,4 p13=9, p23=15, p43=7
*St3. Code
* param numhotspots = 3;* param carrier = 3;* param M = 10000;* param C >= 0;* param T [i in 1..numhotspots, j in 1..
carrier];* param P [i in 1..numhotspots, j in 1..
carrier];* var X[ i in 1..numhotspots, j in 1..carrier, k
in 1.. carrier] binary;* * minimize Makespan: C;* * subject to makespan1: C>=T[3,1] + P[3,1];* subject to makespan2: C>=T[3,2] + P[3,2];* subject to makespan3: C>=T[4,3] + P[4,3];* * subject to job1:t21 ≥ t11 + p11; * subject to job2:t31 ≥ t21 + p21;* subject to job3:t12 ≥ t22 + p22;* subject to job4:t42 ≥ t12 + p12;* subject to job5:t32 ≥ t42 + p42;
* subject to job6:t23 ≥ t13 + p13;* subject to job7:t43 ≥ t23 + p23* * subject to constraint {i in
1..numhotspots,}:* {j in 1.. carrier, j<k} * {* T[i,1]+P[i,1] <= T[i,2]+M*(1-X[i,1,2]);* T[i,2]+P[i,2] <= T[i,1]+M*X[i,1,2];* T[i,1]+P[i,1] <= T[i,3]+M*(1-X[i,1,3]);* T[i,3]+P[i,3] <= T[i,1]+M*X[i,1,3];* T[i,2]+P[i,2] <= T[i,3]+M*(1-X[i,2,3]);* T[i,3]+P[i,3] <= T[i,2]+M*X[i,2,3];* }
*St 3. Result
*Optimal solution with makespan 60
Hotspots Carrier Sequence
1 1,2,3 (21,7,9)2 2,1,3(17,17,1
5)3 1,2(9,13)4 2,3(11,7)
*Strategy 4. A Bigger Job Shop
*Assume there are 10 carriers (C0–C9) available and there are also 10 hotspots(H1–H10) need to be watched. Each time only one carrier watching one hotspot.
* Every hotspot must be processed on each of the 10 carriers in a predefined sequence.
* The objective is to minimize the completion time of the last Hotspot(job) to be processed (Makespan).
* The hotspots are described in the data set “arr” by using the following statements.
H1 C2 C3 C5 C4 C0 C7 C8 C9 C1 C6
H2 4 7 1 8 0 3 2 5 9 6
H3 9 6 4 3 1 0 8 2 7 5
H4 1 2 7 5 8 4 3 6 9 0
H5 6 1 3 0 2 8 4 7 9 5
H6 7 5 8 2 4 6 3 1 9 0
H7 6 1 4 5 2 3 7 8 9 0
H8 0 5 8 9 3 6 4 7 2 1
H9 5 2 3 6 4 7 8 9 1 0H10 9 4 6 7 0 2 8 5 3 1
*Carriers Arrange Schedule for 10 Hotspots
*SAS/OR Code
* /* Hotspots specification */ data arr (drop=i mid); do i=1 to 10; input mid _DURATION_ @;_RESOURCE_=compress(‘C'||put(mid,best.));
output; end; datalines;
2 44 3 5 5 58 4 97 0 9 7 84 8 77 9 96 1 58 6 89
4 15 7 31 1 87 8 57 0 77 3 85 2 81 5 39 9 73 6 21
9 82 6 22 4 10 3 70 1 49 0 40 8 34 2 48 7 80 5 71
1 91 2 17 7 62 5 75 8 47 4 11 3 7 6 72 9 35 0 55
6 71 1 90 3 75 0 64 2 94 8 15 4 12 7 67 9 20 5 50
7 70 5 93 8 77 2 29 4 58 6 93 3 68 1 57 9 7 0 52
6 87 1 63 4 26 5 6 2 82 3 27 7 56 8 48 9 36 0 95
0 36 5 15 8 41 9 78 3 76 6 84 4 30 7 76 2 36 1 8
5 88 2 81 3 13 6 82 4 54 7 13 8 29 9 40 1 78 0 75
9 88 4 54 6 64 7 32 0 52 2 6 8 54 5 82 3 6 1 26
*St4. Infeasible Schedule(Uncontrained)
/* create the Activity data set */ data act (drop= i j); format _ACTIVITY_ $8. _SUCCESSOR_ $8.;set arr;_QTY_ = 1;
i=mod(_n_-1,10)+1; j=int((_n_-1)/10)+1;_ACTIVITY_ =
compress('J'||put(j,best.)||'P'||put(i,best.));
JOB=j; TASK=i;
if i LT 10 then _SUCCESSOR_ = compress('J'||put(j,best.)||'P'||put((i+1),best.)); else _SUCCESSOR_ = ' '; output; run;
The minimum makespan would be 617—the time it takes to go to Hotspot 1.(finish hotspot 1 job)
*St 4. Add an Edge-finder algorithm
(Get a Contrained Schedule)
*proc const domain=[0,842] actdata=actdata schedout=sched_jobshop dpr=50 restarts=150 showprogress; schedule finish=842 edgefinder nf=1 nl=1; run;
Result: 842 days
*Sources
*http://www.fas.org/sgp/crs/weapons/RS20643.pdf*http://
www.fas.org/programs/ssp/man/uswpns/navy/aircraftcarriers/cvn68nimitz.html*http://www.wired.com/dangerroom/2013/03/replacing-air
craft-carriers/all/*http://www.jmp.com/community/ *http://www.columbia.edu/~
cs2035/courses/ieor4405.S14/index.html
*Thank you!