A year of vacations for a large company
1st place
Task
Plan a year of vacations for a large company. Every month each qualification needs a given number of working hours; an employee works only in their own qualifications, within a monthly limit and a yearly limit of ten monthly limits.
Vacations follow house rules: at most four a year, a minimum size in hours, a yearly total, at least two months between vacations, caps on the number and the hours of vacations in popular months, and a vacation may cross into the next month only if the smaller part is at least three hours. Employees ask for vacations in particular months, with priorities.
Approach
01Four goals, in strict order
First cover all the work hours for every qualification. Then give out as many vacation hours as possible. Then grant as many requests as possible, counted as a vacation placed in the requested month. Finally, maximize the total rating of the granted requests. Each goal is optimized while keeping the ones before it at their best values.
02A rating for every request
A request’s rating combines its priority for the month with the employee’s personal level, so that a higher rating wins when two requests compete for the same hours.
03Results a business user can read
The submission came with a dashboard: the four target shares, the distribution of vacation hours across employees, and example schedules for individual people.
Result
1st place at Ramaximization, RAMAX Group’s first online optimization hackathon: 152 applications, 32 teams admitted, a jury from RAMAX Group, IBM Russia and R-Labs.
The submitted plan covered all work hours. Employees received 89% of their vacation hours on average; 35% of requests were granted in the requested month, and 32% when weighted by rating.