Optimisation for Artificial Intelligence, a 4-day course
« Previous | Up ↑ | Next »
Consider a bus company scheduling drivers for its buses. The requirement for buses varies from hour to hour because of customer demand. For example, four buses must run from midnight to 4 a.m., while eight buses must run from 4 a.m. until 8 a.m. We assume that the bus requirements are the same every day.
The problem is to determine how many drivers to schedule at each starting time to cover the requirements for buses. Drivers work eight hour shifts, e.g. a driver starting at time 0 can drive a bus from time 0 to 8. A driver scheduled to start at time 20 works for the final four hours of the day and the first four hours of the next day.
Although a driver can be hired for an eight hour period, there is no requirement that he drives a bus for the entire period. However, he cannot be on duty during two consecutive shifts.
The goal is to minimize how many drivers to hire during a week.
Consider an aircraft manufacturing company. With practice and experience, they have optimised their production line and comfortably assemble 48 aircraft per month. Yet, they have recently accepted a significant number of orders and need to increase their production accordingly: stakeholders set an objective of 52 aircraft per month.
The goal is to find an efficient scheduling for tasks, operators and workstations such that 52 aircraft per month are assembled.
Basic arithmetic is provided for free, as well as some human-friendly convenient tools. In particular, Constraint Programming comes with:
alldifferent
, cardinality
, precedence
, etc.)« Previous | Up ↑ | Next »