Presentation

advertisement
Evaluation 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

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

Map

Packages

Trucks
◦ Start at Fedex Ship Center at 25 W, 45th st, New York,
NY, 10036
◦ Use Google Map to calculate cost of edges
◦ 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.
◦ Normally, the number of trucks are very small compared
to the number of packages
◦ Therefore here we use 10 trucks here.

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)



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














…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…


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.



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




















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);


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



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

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



Fedex Website(www.fedex.com/us )
Google Map(maps.google.com)
Class Notes on NP-Completeness
Download