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
Post a Comment