A delivery planner

The problem

Build a program that plans a day's deliveries: which parcels to load on a van with a weight limit, and the cheapest route to each customer.

Requirements

Technologies

Step by step

  1. Read the towns and roads into a weight matrix or adjacency lists.
  2. Write Dijkstra's algorithm, recording for each town the town it was reached from.
  3. Print a route by following those records back from the destination.
  4. Read the parcels, leaving out any whose destination cannot be reached.
  5. Fill the knapsack table, then walk back through it to find which parcels were taken.
  6. Print the load list and the route to each customer.
  7. Test with a town that cannot be reached, a van too small for any parcel, and a single parcel.

Expected result

A working planner that gives the best load and the shortest route to every customer.

How it is evaluated

Ways to improve it