Planet: Task Manager

My and five other students' senior project. We created algorithms to solve a scheduling problem involving tasks with temporal and spatial components.

The algorithms we came up with were:

  • A brute force algorithm: Try every possible ordering of tasks.
  • A greedy algorithm: Order the tasks by start time, and take the next one that will fit.
  • Variable Neighborhood Search (VNS): Pretty complicated. Finds an initial solution, then rapidly tries a bunch of different ways to improve it. Read more about this type of method here
  • The pulse framework: Like brute force, except it "prunes" branches of computation that couldn't possibly lead to the best answer.
  • A commercial solver: We tested our algorithms against software sold to corporations for this sort of computation.

In the end, our VNS, when given an initial greedy solution, consistently performed on a similar level as the commercial solver.

Built With

Share this project:

Updates