dongxu wu sining gu hong ouyang. 1. alaska 2. korea strait 3 makassar strait 4 sunda strait 5 malacc...
TRANSCRIPT
Dongxu Wu
Sining Gu
Hong 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 110001500
02000
01600
01900
01300
02400
02400
02000 4500
16500
5000 6000 8000
7000 0 5000 6000 60001200
01700
02200
01200
01800
02400
02800
08000 8000
18000
7000 2000 3000
9000 5000 0 2000 2000 80001200
01800
08000
16000
15000
24000
12000
11000
18000
8000 4000 3000
11000 6000 2000 0 1000 70001100
01700
07000
17000
14000
23000
14000
13000
20000
10000
6000 5000
11000 6000 2000 1000 0 60001000
01600
06000
18000
15000
22000
15000
14000
18000
12000
8000 7000
15000 12000 8000 7000 6000 0 40001000
03000
20000
12000
16000
21000
20000
15000
18000
14000
13000
20000 17000 12000 11000 10000 4000 0 6000 70001600
01600
01200
01800
01550
01200
01800
01700
01600
0
16000 22000 18000 17000 160001000
06000 0
13000
10000
12000
60001400
01150
08000
14000
20000
20000
19000 12000 8000 7000 6000 3000 70001300
00
23000
14000
19000
17000
16000
19000
18000
17000
13000
13000 18000 16000 17000 180002000
01600
01000
02300
00 9000
11000
11000
8500 20001000
01600
01500
0
24000 24000 15000 14000 150001200
01600
01200
01400
09000 0
18000
22000
19500
10000
16000
22000
21000
24000 28000 24000 23000 220001600
01200
06000
19000
11000
18000
02200
01950
09500
21000
27000
32000
*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 project
param 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 Spot
1s2 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 s18
s1 12 5 4 8 7 0 0 0 0 6 0 09 , 10
1 ,2 03 , 11
0 0
S2 6 11 12 7 5 0 0 0 4 0 0 0 0 0 0 3 , 81 ,1
02,9
S3 0 2 5 12 3 7 0 0 6 0 0 0 0 0 0 4, 81 , 10
9,11
S4 0 11 5 9 12 8 0 0 2 0 0 0 0 0 0 4,6 7,10 1 , 3
S5 0 12 5 9 10 3 0 0 11 0 0 0 0 0 0 4, 6 7 , 8 1, 2
S6 0 0 11 12 1 10 3 0 9 0 0 0 0 0 4, 6 0 7 ,8 2 ,5
S7 0 0 0 9 10 5 3 11 2 0 0 0 0 4 ,61, 12
0 0 7 ,8
S8 0 0 0 0 0 10 11 12 0 3 1 5 4 , 8 6 ,7 2,9 0 0 0
S9 0 0 2 3 1 11 5 0 9 0 0 0 8 4,7 0 0 62 , 10
S10 6 0 0 0 0 0 4 9 0 12 2 7 0 1,510, 11
3, 8 0 0
S11 0 0 0 1 0 5 0 3 10 11 9 0 0 4,82, 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 6
1 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 6
2.5 15.4 18.4 9.0 11.0 18.1
8.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=9
2 2,1,4,3 p22=17, p12=7, p42=11, p32=13
3 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 0
H10
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-aircraft-carriers/all/
*http://www.jmp.com/community/
*http://www.columbia.edu/~cs2035/courses/ieor4405.S14/index.html
*Thank you!