Scheduling optimisation
Budget: £20 – £250 GBP
I am looking for a python script to assist with the following problem, developed in python ideally using cplex.
Overview
I want to schedule X tasks to be done by Y workers over a number of days and times, spreading the work evenly and not over working any of the workers.
Tasks
X tasks to be done Y
each task has a unique duration Y
each task has a time by which it needs to be started, if the task starts on or before that time it is considered to be on time, if it starts after then its late.
each task needs to be done even it it cant be done on time. Y
a task once started needs to be finished, if it cant be finished on a day (because there are no workers with enough time) then it needs to goto the next day Y
each task should only be done once Y
Workers
there are Y Workers Y
a Worker can only work on one task at a time Y
a Worker can do any of the tasks Y
a Worker can only work a certain hours number of hours per day Y
the work should be spread as evenly as possible accross the workers Y
Output
The tasks that each worker will do and Y
what day and time each task will be done Y
the service level achieved for all tasks (the service level is the the number of all tasks late / the total number of tasks)
the elapsed number of days to get all the tasks done
the hours worker by each worker each day. Y
Code to be provided, clearly documented in English
Overview
I want to schedule X tasks to be done by Y workers over a number of days and times, spreading the work evenly and not over working any of the workers.
Tasks
X tasks to be done Y
each task has a unique duration Y
each task has a time by which it needs to be started, if the task starts on or before that time it is considered to be on time, if it starts after then its late.
each task needs to be done even it it cant be done on time. Y
a task once started needs to be finished, if it cant be finished on a day (because there are no workers with enough time) then it needs to goto the next day Y
each task should only be done once Y
Workers
there are Y Workers Y
a Worker can only work on one task at a time Y
a Worker can do any of the tasks Y
a Worker can only work a certain hours number of hours per day Y
the work should be spread as evenly as possible accross the workers Y
Output
The tasks that each worker will do and Y
what day and time each task will be done Y
the service level achieved for all tasks (the service level is the the number of all tasks late / the total number of tasks)
the elapsed number of days to get all the tasks done
the hours worker by each worker each day. Y
Code to be provided, clearly documented in English