25
Scheduling Examples On each example worksheet, read the comments at the bottom of the sheet, then click Tools Solver... to examine the decision variables, constraints, and obje To find the optimal solution, click the Solve button. In this series of models we will see how the Solver can help in staff scheduli preferences, assigning people to offices, and in larger-scale problems such as scheduling and employee hiring, firing and training. In the Crew worksheet, we look at a very simplified application where a small schedule crews to operate various flights. A crew 'rotation' must begin and e In the Offices worksheet, we look at the common problem of assigning employees taking into account employee preferences. In the three Scheduling worksheets, an amusement park needs to assign employee different work schedules to meet the demand for operation of the various rides In Sched2, we take into account employee preferences in scheduling. In Sched3, into account seniority and assign greater weight to senior employees' preferen In the HireFire worksheet, we consider a company that has to change the compos workforce towards more highly trained employees. It can hire, fire and train various costs. Different objectives are possible, such as minimizing costs or In the Troops worksheet, an army needs to move troops from 3 different trainin bases. The army can minimize cost or time by using this transportation model. occur in the Logistics Examples workbook.

Scheduling Examples

Embed Size (px)

DESCRIPTION

Scheduling Examples

Citation preview

SummaryScheduling Examples

On each example worksheet, read the comments at the bottom of the sheet, thenclick Tools Solver... to examine the decision variables, constraints, and objective.To find the optimal solution, click the Solve button.

In this series of models we will see how the Solver can help in staff scheduling with employee preferences, assigning people to offices, and in larger-scale problems such as airline crewscheduling and employee hiring, firing and training.

In the Crew worksheet, we look at a very simplified application where a small airline needs toschedule crews to operate various flights. A crew 'rotation' must begin and end in the same city.

In the Offices worksheet, we look at the common problem of assigning employees to offices,taking into account employee preferences.

In the three Scheduling worksheets, an amusement park needs to assign employees todifferent work schedules to meet the demand for operation of the various rides on busy days.In Sched2, we take into account employee preferences in scheduling. In Sched3, we also takeinto account seniority and assign greater weight to senior employees' preferences.

In the HireFire worksheet, we consider a company that has to change the composition of itsworkforce towards more highly trained employees. It can hire, fire and train employees atvarious costs. Different objectives are possible, such as minimizing costs or employee turnover.

In the Troops worksheet, an army needs to move troops from 3 different training camps to 4bases. The army can minimize cost or time by using this transportation model. Similar modelsoccur in the Logistics Examples workbook.

CrewCrew SchedulingA small airline company maintains 2 daily flights between Salt Lake City, Chicago and Dallas.How should the company schedule the crews to minimize cost?

Flight ScheduleFromToDepartureArrivalDepartureArrivalSalt Lake CityDallas9:00 AM12:00 PM2:00 PM5:00 PMSalt Lake CityChicago10:00 AM2:00 PM3:00 PM7:00 PMDallasSalt Lake City8:00 AM11:00 AM2:00 PM5:00 PMDallasChicago9:00 AM11:00 AM3:00 PM5:00 PMChicagoSalt Lake City8:00 AM12:00 PM2:00 PM6:00 PMChicagoDallas10:00 AM12:00 PM4:00 PM6:00 PM

A crew must leave and arrive in the same city. It is possible to fly the crew back aboard another airline. This would always be on a 8:00 PM flight. There are 6 airplanes in use.When a crew is actually flying a plane, the entire crew is paid $200 per hour. The other time spent (waiting between flights or flying aboard another airplane) costs the company $75 per hour.Possible Crew Rotations (S=Salt Lake City, D=Dallas, C=Chicago, ( )=Back with other company)Flying HoursOther HoursCostDecisionSD+DS62$1,3500SD+(DS)311$1,4250SD+DC+(CS)510$1,7500SC+(CS)410$1,5500SC+CD+(DS)65$1,5750DS+SD63$1,4250DS+(SD)312$1,5000DS+SC+(CD)77$1,9250DC+CS+(SD)65$1,5750DC+CD45$1,1750CS+SD+(DC)77$1,9250CS+SC83$1,8250CD+DC43$1,0250CD+DS+(SC)79$2,0750Total Cost$0

Twelve Flight ConstraintsFlightNumber of crewsSD 10SD 20SC 10SC 20DS 10DS 20DC 10DC 20CS 10CS 20CD 10CD 20

ProblemAn airline company maintains a schedule of two daily flights between Salt Lake City, Dallas and Chicago. A crew that leaves a city in the morning has to return there at night. The crew can be brought back on another airline. There are 6 airplanes in use. When a crew is flying, the cost is $200 per hour. When a crew is waiting or being flown back, the cost is $75. How should the company schedule its crews to minimize cost?

Solution1) The airline has already determined what all the possible crew rotations can be. The variables are the binary integer decisions to accept rotations. In worksheet Crew these are defined as Rotation_decisions.2) The constraints are simple. We want only one crew per flight. This givesCrews_on_flight = 1and the logical constraint givesRotation_decisions = binary3) The objective is to minimize total cost. On worksheet Crew this cell is given the name Total_cost.

RemarksPlease confirm for yourself that the crew rotations chosen meet the required schedule. More sphisticated versions of this model are widely used in the airline industry, but the same approach can be used in scheduling truck drivers, boat crews, etc.

OfficesOffice AssignmentA company wants to assign 14 employees to 10 offices. Each employee has a preference for a certain office. How should the company assign employees to the offices to maximize the preference of all employees?

Preferences (1=first, 10=last choice)Office 1Office 2Office 3Office 4Office 5Office 6Office 7Office 8Office 9Office 10Employee 132146589107Employee 253261798410Employee 310819743625Employee 473295486110Employee 513685291074Employee 649156827103Employee 721109536847Employee 865132478910Employee 989105432167Employee 1091032541786Employee 1173529811046Employee 1265191023478Employee 1368109123457Employee 1463591210487

AssignmentsOffice 1Office 2Office 3Office 4Office 5Office 6Office 7Office 8Office 9Office 10TotalPreferenceEmployee 1000000000000Employee 2000000000000Employee 3000000000000Employee 4000000000000Employee 5000000000000Employee 6000000000000Employee 7000000000000Employee 8000000000000Employee 9000000000000Employee 10000000000000Employee 11000000000000Employee 12000000000000Employee 13000000000000Employee 14000000000000Total00000000000

Required1111212221

ProblemA company wants to assign 14 employees to 10 offices. There are four offices that require 2 people. Each employee has given their preference. A 1 means first choice, 2 means second choice, etc. How should the company assign the people to the offices to optimize the preferences of the employees?

Solution1) The variables are the assignments of the people to different offices. On worksheet Offices these are given the name Assignments. 2) There are the following logical constraintsAssignments = binaryand the other constraintsAssignments_per_employee = 1Total_employees = Required_employees3) The objective is to optimize the preference of the employees. That means we have to minimize the sum of the total preferences given to the assigned offices, defined on the worksheet as Total_preference.

RemarksWhen everybody wants a different office, there will be no problems. If all employees prefer the same office (more likely!), the problem gets more difficult and it might be necessary to give an employee 7th or 8th choice. It might be wise, in that case, to add a constraint to say that no assignment worse than 5th choice is given, for instance. This may cause the problem to be infeasible, i.e., there is no possible solution. If this happens, you will have to relax the constraint on the assignments, e.g. no worse than 6th or even 7th choice.

Sched1Personnel scheduling for an Amusement Park 1For employees working five consecutive days with two days off, find the schedulewhich meets demand from attendance levels while minimizing payroll costs.

Sch. Days offEmployeesSunMonTueWedThuFriSat ASunday, Monday30011111 BMonday, Tuesday51001111 CTuesday, Wed.61100111 DWed., Thursday41110011 EThursday, Friday61111001 FFriday, Saturday11111100 GSaturday, Sunday00111110

Schedule Totals:2522171415151824

Total Demand:22171314151824

Pay/Employee/Day:$40Payroll/Week:$5,000

ProblemAn amusement park needs a certain number of employees each day of the week.Every employee must be on a schedule that gives him/her two consecutive days off. How many employees should the park hire and what schedule should they be on to minimize total payroll cost?

Solution1) The variables are the number of people hired for each of the 7 possible schedules. On worksheet Sched1 these are given the name Employees_per_schedule.2) The logical constraints areEmployees_per_schedule >= 0 via the Assume Non-Negative optionEmployees_per_schedule = integerThere is also the constraint to have enough employees to operate the rides each day:Employees_per_day >= Required_per_day3) The objective is to minimize payroll. This is defined on the worksheet as Payroll.

RemarksThis is an example of a simple, but classic personnel scheduling problem. Hospitals, schools, police forces, etc., can all use a model like this to optimize their personnel scheduling.

Sched2Personnel scheduling for an Amusement Park 2Maximize the preference of the employees' schedules while maintaining the schedule that minimizes payroll costs.

Sch. Days offEmployeesSunMonTueWedThuFriSat ASunday, Monday30011111 BMonday, Tuesday51001111 CTuesday, Wed.71100111 DWed., Thursday31110011 EThursday, Friday71111001 FFriday, Saturday01111100 GSaturday, Sunday00111110

Schedule Totals:2522171315151825

Total Demand:22171314151824

Pay/Employee/Day:$40Payroll/Week:$5,000

Preference of employees (7=first ,1=last choice)Schedule assigned toABCDEFGABCDEFGTotalPreferenceEmployee 14653271000000000Employee 23452176000000000Employee 36527431000000000Employee 44536271000000000Employee 55426731000000000Employee 61234567000000000Employee 77531642000000000Employee 84325617000000000Employee 95432761000000000Employee 101325674000000000Employee 116721345000000000Employee 125467321000000000Employee 131234567000000000Employee 144673251000000000Employee 154576321000000000Employee 164325671000000000Employee 176573214000000000Employee 187654321000000000Employee 196534271000000000Employee 204536721000000000Employee 217653412000000000Employee 227625341000000000Employee 236573421000000000Employee 245643127000000000Employee 256475321000000000

Totals00000000

Demand3573700

ProblemThe amusement park discussed in model Sched1 has hired the necessary employees. It now needs to decide which employee goes on which schedule. Each employee has given a list with his/her preferences. A 7 means the most desired schedule, a 1means the least desired. How should the park divide the schedules among the employees?

Solution1) The variables are the schedules to which each employee is assigned. On worksheet Sched2 these are given the name Schedules.2) The logical constraints areSchedules = binaryThe other constraints areSchedule_per_employee =1Employees_scheduled = Employees_required3) The objective is to optimize employee preference, and in this case that means maximize the sum of the preferences. This sum is defined on the worksheet as Total_preference.

RemarksIn this model we solved the problem after finding the optimal solution of Sched1. It is possible to find both solutions automatically. You can write a VBA macro to do this.

Sched3Personnel scheduling for an Amusement Park 3Maximize the preference of the employees' schedules, taking into account seniority,while maintaining the schedule that minimizes payroll costs.

Sch. Days offEmployeesSunMonTueWedThuFriSat ASunday, Monday30011111 BMonday, Tuesday51001111 CTuesday, Wed.71100111 DWed., Thursday31110011 EThursday, Friday71111001 FFriday, Saturday01111100 GSaturday, Sunday00111110

Schedule Totals:2522171315151825

Total Demand:22171314151824

Pay/Employee/Day:$40Payroll/Week:$5,000

Preference of employeesSchedule assigned toSeniority (Years)ABCDEABCDETotalPreferenceEmployee 15532410000000Employee 26345210000000Employee 34432150000000Employee 47342150000000Employee 53134250000000Employee 62453120000000Employee 77342510000000Employee 85243150000000Employee 93432510000000Employee 102342510000000Employee 115425130000000Employee 127532410000000Employee 135123450000000Employee 144425310000000Employee 159543120000000Employee 165351420000000Employee 176435210000000Employee 187342510000000Employee 196543210000000Employee 204354210000000Employee 213251340000000Employee 224251340000000Employee 236524310000000Employee 246315240000000Employee 257143520000000

Totals000000

Demand35737

ProblemWe now extend the model as seen in Sched2 by adding another factor. When deciding which employee goes on which schedule, the amusement park decides to let the seniority of the employees affect the decision. The seniority is simply measured in years of employment at the park. How should the company assign the schedules to the employees?

SolutionThe solution is almost identical to the one in Sched2. The difference is that instead of just adding the preferences, we now weight them by multiplying each preference by the employee's seniority.

RemarksThere are many ways of adjusting for seniority and other factors. By increasing and decreasing the size of the seniority factors, you can adjust the importance of the seniority to the desired level.

HirefireCompany ReorganizationA company wants to reorganize its labour force. It currently has 3 different kind of employees; untrained,moderately trained and highly trained. Over the next 3 years, the company expects a necessary shift to more trained employees. How should the company reorganize to minimize cost? Or minimize the numberof employees that have to be laid off?

Employee informationCost of lay-offAvailable to be hired per yearCost of hiringRetraining of employeesCostHighly Trained$700500$250Untrained -> Moderately trained$400Moderately Trained$500800$150Moderately trained-> Highly trained$500Untrained$3501200$100

Estimated number of employees that are required.CurrentYear 1Year 2Year 3Highly Trained800120015002000Moderately Trained1500150020002500Untrained2000160010000

Number of employees that are trained, hired or laid off.Number of employees trainedYear 1Year 2Year 3CostUntrained -> Moderately trained000$0Moderately trained-> Highly trained000$0Number of employees hiredYear 1Year 2Year 3CostHighly Trained000$0Moderately Trained000$0Untrained000$0Number of employees laid offYear 1Year 2Year 3CostHighly Trained000$0Moderately Trained000$0Untrained000$0

Total number of employees laid off0

Number of employees workingYear 1Year 2Year 3Highly Trained800800800Moderately Trained150015001500Untrained200020002000Total cost of reorganizing$0

ProblemA company has three different kinds of employees. These are highly trained, moderately trained and untrained workers. The company expects a shift towards more highly trained employees necessary over the next few years. It is possible to train people at a certain cost Laying people off also costs a certain amount. How should the company reorganize to save costs and/or have as few lay-offs as possible?

Solution1) The variables are the number of people that are trained, hired and laid off. On worksheet HireFire these are given the names Trainees, Employees_hired, and Employees_laid_off.2) The constraints can be divided into 2 parts.First, there are the logical constraints, all of which are defined via the Assume Non-Negative option:Trainees >= 0Employees_hired >= 0Employees_laid_off >= 0Second, we have the training, laying off and hiring constraints. These do not use defined names, but are represented on the worksheet by the following cells:C22