Upload
melanie-stone
View
216
Download
3
Embed Size (px)
Citation preview
Delivery SchedulingEvaluation of Different solution methods
Joonkyu Kang
Based on typical Fedex delivery situation◦ Machines: delivery trucks◦ Jobs: packages to be delivered
Processing time: traveling time to the destination Deadline: different for each type of package
Constrained to Manhattan, New York area only
Objective: two possible objectives◦ Minimizing tardiness of delivery◦ Maximizing the number of delivery
Quite similar, but can be different Will concentrate on minimizing tardiness
Building a Scheduling Problem
Simplifying Manhattan area into a graph◦ Within the same zip code area, the traveling time is less
than five minutes◦ Define vertices as different zip codes, and edges as
distance between center of each area◦ Create edges only between adjacent areas
Since complete graph would take much more computational time
Packages of the same type and delivery trucks have identical characteristics
No further resource constraints Ignore distance required to come back to the
center
Simplifying Assumptions
Map◦ Start at Fedex Ship Center at 25 W, 45th st, New York, NY,
10036◦ Use Google Map to calculate cost of edges
Packages◦ Based on the revenues obtained, calculate the approximate
percentage of each package◦ Cost of each package delivery is 1◦ Set deadlines based on package types◦ In this simulation, we will use 200 packages.
Trucks◦ Normally, the number of trucks are very small compared to
the number of packages◦ Therefore here we use 10 trucks here.
Creating Data
If we have sufficient number of delivery trucks, we can assign one for each package◦ Total delivery time: 415.88(Since every zipcode is in delivery locations)◦ Total lateness: 16.20
Also, the largest lateness of all packages is 4.310, but it is not as good as above(with delivery time 14.31)
Poor Lower Bounds
First notice this is a NP Problem To minimize lateness, the simplest approach
would be using EDD rule The algorithm is:
◦ First align jobs according to the due date◦ Assign each job to each empty truck
A greedy algorithm in terms of lateness
Algorithm #1: EDD Rule
…for i=1:Count [TotalTime Assignment] = min(TruckTime); CurrentLoc = TruckLocation(Assignment); MatLoc = find(Distance==CurrentLoc); Destination = Packages(i,4); DestLoc = find (Distance==Destination); CurrentTime = Distance(MatLoc(1), DestLoc(1)); TruckTime(Assignment)=TruckTime(Assignment)+CurrentTime; TruckLocation(Assignment)=Destination; JobAssign(Assignment,i)=i; Tmp = TruckTime(Assignment)-Packages(i,3); disp(Tmp); Lateness = Lateness + max(TruckTime(Assignment)-
Packages(i,3),0); End…
Simulation Code
Processing time of 1,638.2, Lateness of 12,322
Problems◦ Extremely high lateness compared to the lower
bound we obtained Need to find a better lower bound Need to compare to other methods
◦ No consideration of processing time◦ Many factors affect the performance of the
algorithm in this problem; not simply deadline.
Result and Problems
Here we process each package in order However, at each turn the truck closest to
the next package is assigned for delivery Repeat until all packages are assigned
Algorithm #2: Greedy Algorithm
Destination = Packages(i,4); DestLoc = find (Distance==Destination); MinTruck = 0; MinTruckNo = 0; MinDistance = 99999; for j=1:MNo TempTruck = TruckLocation(j); TempTruckLoc = find (Distance==TempTruck); TempDist = Distance(DestLoc(1), TempTruckLoc(1)); if TempDist < MinDistance MinTruckNo = j; MinTruck = TempTruckLoc(1); MinDistance = TempDist; end end CurrentTime = Distance(MinTruck, DestLoc(1)); TruckTime(MinTruckNo)=TruckTime(MinTruckNo)+CurrentTime; TruckLocation(MinTruckNo)=Destination; JobAssign(MinTruckNo,i)=i; Lateness = Lateness + max(TruckTime(MinTruckNo)-Packages(i,3),0);
Simulation Code
Processing time of 480.68 total, with lateness of 2770.6
Problems◦ Much better result, but with some lateness◦ The closest truck to the next delivery location is
not always the best choice for tardiness◦ Need to incorporate choice of packages◦ Also, the completion time of trucks vary; therefore
extra lateness occurs
Result and Problems
By using a greedy algorithm, we could obtain somewhat satisfying schedule in terms of processing time
However, we are not completely sure if the large lateness is because of the number of trucks or the problem of algorithms
We can expect to obtain the tardiness closer to the lower bound by making the completion time of each truck even
Conclusion
Critical Path Method: Applying Graph Theory◦ Define an appropriate sink node and apply the
following algorithm: For each truck, find a critical path to the sink Delete the path previously used
◦ Problems: is independent of the characteristics of packages. Data size gets enormous.
Check sensitivity of algorithms by changing factors
In order to have completion time even, mix different algorithms
Further Development
Fedex Website(www.fedex.com/us ) Google Map(maps.google.com) Class Notes on NP-Completeness
References