r - Genetic Algorithm or Simulated Annealing for Work Project Scheduling & Optimization -


i have been tasked improving company's rudimentary scheduling process , making more data driven, efficient, , streamlined. stands, sum per month, total hours needed projects & compare value possible work hours * number of employees. compare these results , determine if need bring on more or not.

i lot more precise in process , began looking optimization resources such stable marriage problem. eventually, stumbled onto genetic algorithms , simulated annealing job-shop problem, because believe problem ends being little more complex multi-match marriage problem, wrong.

my basic problem set optimization task many limiting criteria.

workers: john, jane, dale, etc.
can have multiple roles (john can manager or laborer)

projects: project a, project b, project c, etc.
projects have start , end dates.
ideally, have sub-start , end dates different phases of projects limit with, overall start/end date do. these sub-dates include hours required each role type (manager 8 hours, laborer 20 hours, etc.)

hours: no more 45 hours per employee.

my question need utilize ga or simulated annealing or there simpler process. also, haven't been able find pseudocode either of these processes in r.

thanks , , i'm happy clarify if more details necessary!

you can try model mixed integer program, using example lpsolve package. you'd have variables john_manager_project_a_week_1 (number of hours john works on project manager in week 1), solver determine, , linear constraints like

john_manager_project_a_week_1 + john_manager_project_b_week_1 + ... <= 45 john_manager_project_a_week_1 + jane_manager_project_a_week_1 + ... >= 8 

this framework seems limited, modeling tricks can express conditions "john cannot work both manager , worker on project in week 1".

solving these problems np-hard, solvers tend pretty good, , if have few tens of people, projects , time slots should solvable. can have linear goal function optimized (for example, replace "45" above max_work_hours, , minimize that).


Comments

Popular posts from this blog

php - Invalid Cofiguration - yii\base\InvalidConfigException - Yii2 -

How to show in django cms breadcrumbs full path? -

ruby on rails - npm error: tunneling socket could not be established, cause=connect ETIMEDOUT -