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.

Log in or sign up for Devpost to join the conversation.