Truck Project
This page contains a diary indicating progress for the truck routing/planning project.
Monday, March 4 (3 hours)
- Moved code to budhi, and made it compile.
- Minor changes to IO code.
- Modified binary tree code, removing unnecessary thread safety.
- Added 'goals' which handle setup of variables.
Tuesday, March 5 (4 hours)
- Modified code which handles the storage of data.
- Wrote constraints "C1+C2", "D6" and "D9".
Wednesday, March 6 (3 hours)
- Cleanup of some code which handles the storage of data.
- Cleanup of goal-handling code.
Thursday, March 7 (2 hours)
- Wrote constraint "D11", and started on "D1/I9".
Friday, March 8 (1.5 hours)
- Finished "D1".
- Fixed bugs in other constraints.
Sunday, March 10 (1 hours)
- Started work on user constraints.
Monday, March 11 (3 hours)
- Continued work on user constraints.
Tuesday, March 12 (2 hours)
Wednesday, March 13 (2 hours)
- Engine now runs. Trucks, locations and products can be added.
- More work still needs to be done on various constraints.
Thursday, March 14 (1 hours)
Friday, March 15 (3.5 hours)
Saturday, March 16 (5 hours)
- Relabelled variables to more meaningful names.
- Added code to assing values to variables.
Sunday, March 17 (5 hours)
- Fixed buggy constraints.
- Inferred extra constraints to speed solution finding.
Monday, March 18 (2 hours)
- More inferring of constraints.
Tuesday, March 26 (2.5 hours)
- Came back to the project after moving.
- Tried out possible solution to reduce search space further.
It partially works. Will need a more complete solution.
Will work more on that solution tomorrow.
Thursday, March 28 (2 hours)
- More work on reducing search space.
- Introduced 'Supply' constraint, which takes a different
approach to the same real constraint, giving further reductions.
Friday, March 29 (4 hours)
- Found and fixed bugs in various parts of constraint code.
- Can now run with larger problems, and finds a feasible solution
within 15 seconds. Have yet to include an objective function.
Tuesday, April 2 (2.5 hours)
- Added code to handle objectives.
- Restructured search tree so that objectives are minimised naturally.
- Can now run with even large problems. Suprisingly small memory footprint,
which is very promising.
To do
- Improve search heuristics (currently we use blind search).
- Add more IO handling routines.
- Improve constraints to further reduce search space.