A basic Python-based task assignment optimizer tool that efficiently distributes tasks among workers based on their workload index, and task priorities. Includes adaptive recalculation of worker capacities and dynamic task assignment.
Simple greedy heuristic is implemented to assign tasks to the workers while trying to balance workload of workers. Coming up with a workload index calculation based on due date, priority and estimated durations of tasks.