-
Notifications
You must be signed in to change notification settings - Fork 0
/
Analysis.txt
7 lines (4 loc) · 1.78 KB
/
Analysis.txt
1
2
3
4
5
6
7
To solve this problem I used a python script. I'm most comfortable doing standalone scripting in python and wanted to get some more experience with this. I wanted to create a distributable package that was easy to use, which required more effort than was probably required for this task, however I enjoy a challenge and now will be much more ready to face future challenges like this.
The outlined algorithm for solving the dispatching problem is interesting: use the drone that will deliver the package the fastest. This means that packages at the front of the list will usually have the best pick of drones. While nice, the failure to deliver packages on time is a real issue. I would prioritize getting every package to its destination before its deadline, even if a few packages were delivered more slowly.
The script executes pretty quickly, but if there were thousands of drivers and packages it could use different heuristics to improve script performance and real world outcomes. Routing, which isn't used in the example, can be very hard to plan, but very rewarding in real world outcomes. With algorithmic optimizations, possibly looking for routes of a few packages that are nearby, and performance optimizations, possibly with vectors, a huge bump in delivery performance could be achieved. There are many confounding variables to take into account, how fast each car can go, how long a delivery takes, how bad a late package really is, etc that could all be used as criterion on how feasible a route is.
I ran out of time and couldn't implement the unit tests that I wanted to. I added checksums into the main program to ensure there weren't errors, and doing so caught a few bugs, but going forward it would be ideal to flesh them out. I included them anyway, because even one test is better than none.