Planning and organizing schedules is a vital but complex task in various industries. The process involves considering numerous factors and responding promptly to unexpected disruptions. Manual scheduling is not only time-consuming but also inefficient. Therefore, several techniques, such as mathematical optimization, constraint programming, and machine learning (ML), are employed to tackle this challenge.
This article aims to discuss schedule optimization, outline common technological approaches for automating it, and provide examples of its applications in different industries.
What is schedule optimization?
Schedule optimization, also known as dynamic scheduling, involves creating an efficient schedule by allocating the right resources to the right places at the right times. It is applicable to various industries and management domains such as production planning, workforce planning, transportation planning, and project workflow planning. When optimizing schedules, several key factors need to be considered:
Available Resources: This includes staff, equipment, vehicles, raw materials, and assembly lines. The schedule must allocate these resources effectively.
Workload: The amount of work to be done is determined by factors such as forecasted demand, the number of goods to be manufactured, or the amount of services to be provided.
Monetary Expenses: Operating and capital expenditures impact the financial result. These expenses can include payroll, overtime compensations, mileage costs, shrinkage, depreciation, storage costs, and more.
Hard Operating Constraints: These are limitations that cannot be changed and must be considered. Examples include government and union labor regulations (e.g., working and overtime hour limits), physical constraints (e.g., distances between stops or assembly lines), required raw material quantities, and the number of certified workers per shift/activity.
Capacity and Throughput Limitations: These constraints refer to the maximum capacity of warehouses, the number of patients a nurse can serve, the travel time between appointments, and other similar factors.
Soft Constraints: These constraints are desirable but not mandatory. They can include individual employee preferences (e.g., worker A wanting to work with worker B, nurse X preferring not to work evening shifts, technician Z requesting a vacation in July), or order and customer prioritization.
Business Objectives: The scheduling process aims to achieve specific goals such as maximizing profit, increasing production, minimizing costs or risks, reducing idle time or empty mileage, and so on.
Metrics or KPIs: Key performance indicators (KPIs) are used to measure the effectiveness of the schedule and support decision-making. These metrics can be compared against the objectives set for the schedule.
Optimizing a schedule involves finding a viable solution within a set of constraints that strikes an optimal balance between resources expended and work produced. This falls within the domain of operational research and encompasses various optimization problems like the nurse rostering problem, job shop scheduling problem, and traveling salesman problem. Over the years, numerous technological approaches have been developed to solve these scheduling problems effectively.
Solving engine using optimization models
A common approach to schedule optimization involves the creation of an optimization model. This model consists of three main components:
Decision Variables: These variables represent the decisions under control that can be adjusted to optimize the schedule. For example, in workforce scheduling, decision variables could be the number of workers assigned to different shifts or the allocation of tasks to specific employees.
Constraints: Constraints are conditions or limitations that restrict the values of the decision variables. They define the feasibility of the schedule and ensure that it complies with various requirements. Constraints can include limitations on working hours, equipment availability, or the maximum capacity of resources.
Objective Function: The objective function is a mathematical expression that quantifies the goal of the optimization model. It defines what needs to be minimized or maximized. For instance, the objective function could aim to minimize costs, maximize production output, or optimize the allocation of resources.
The output of the optimization model is a set of values for the decision variables that enable the minimization or maximization of the objective function while still satisfying the defined constraints. For example, when creating an optimal workforce schedule for a manufacturing plant, the decision variables could represent the number of workers assigned to different shifts. Constraints could include the limited duration of shifts for each employee, and the objective function might seek to minimize the number of workers required.
Various methods are used to create optimization models for scheduling improvement. These methods can include linear programming, integer programming, constraint programming, or metaheuristic approaches like genetic algorithms or simulated annealing. The choice of method depends on the complexity of the scheduling problem, the size of the input data, and the specific objectives and constraints involved.
Mathematical optimization, also known as mathematical programming (MP), is a field of applied mathematics that allows you to make the best choice from a set of alternatives. It is a key component of prescriptive analytics in business and can be applied to solve complex problems in various domains. Some examples include planning production volumes in manufacturing, creating impactful advertising campaigns in marketing, optimizing asset allocation in finance, determining efficient delivery routes in transportation, and developing effective treatment plans in medicine.
MP is frequently used to address planning and scheduling problems, employing techniques such as linear programming and mixed integer programming. These methods help find optimal solutions while considering constraints and input values. However, when faced with numerous and diverse constraints, traditional MP approaches may struggle. In such cases, constraint programming can be a valuable alternative.
Constraint programming is a technique that focuses on solving problems with a large number of complex constraints. It provides flexibility in handling constraints by exploring a wide range of possibilities to find feasible solutions. By leveraging constraint propagation and backtracking algorithms, constraint programming can efficiently search for solutions that satisfy all specified constraints.
In summary, mathematical optimization plays a vital role in solving complex business problems through the use of various techniques like linear programming, mixed integer programming, and constraint programming. These approaches enable businesses to find optimal solutions, improve efficiency, and make informed decisions in a wide range of applications.
Constraint programming (CP) is a powerful approach used to solve optimization problems by finding feasible solutions that satisfy multiple requirements. It shares similarities with mathematical programming (MP), but CP has an advantage in handling a wider range of constraints more efficiently.
One common application of CP is the nurse scheduling problem, which involves allocating resources such as staff and rooms optimally. This problem encompasses numerous constraints, including:
Dividing the day into three 8-hour shifts.
Ensuring each nurse has two days off per week.
Preventing nurses from working two consecutive night shifts.
Requiring at least one nurse with higher certification in every shift.
Accommodating preferences, such as Nurse A not wanting to work with Nurse B.
Considering individual constraints, like Nurse C being unable to work morning shifts.
By constructing a CP model for this problem, you can initially find a feasible solution and subsequently improve it by continuously comparing it with other potential solutions.
Simulation and reinforcement learning
While mathematical programming (MP) and constraint programming (CP) excel at finding optimal schedules, they do not account for uncertainties and changes, making them ineffective when input values are unknown. For instance, when evaluating the profitability of a new contract under various scheduling scenarios, these methods fall short.
To address this challenge, one approach is to integrate simulation into the optimization process. This involves running multiple “what-if” scenarios through the optimization model to obtain recommendations for optimal decisions in different situations or conditions. However, simulation-based optimization can be computationally intensive and time-consuming, limiting its effectiveness.
A more advanced technology for handling multiple scenarios is reinforcement learning (RL), a field of machine learning that utilizes a trial-and-error approach to learn and identify the best action model, such as an optimal schedule given specific resources, objectives, and constraints. RL requires creating or simulating an environment (a virtual model of a process) where an agent can self-train. RL holds great potential for solving scheduling problems, but its implementation faces challenges, such as inefficiency in unpredictable environments or undefined testing time.
All the optimization methods mentioned above focus on finding an optimal action or plan based on known input values. However, when only assumptions about future events or outcomes are available, machine learning techniques can be employed to make accurate predictions.
Machine learning in scheduling
One of the most significant challenges in scheduling across various industries is accurately predicting demand, whether it’s production volume, patient attendance, or other factors. Machine learning (ML) is a technology that enables forecasting and can enhance optimization models by improving the accuracy of input values.
ML models are trained to predict outcomes and determine input values, which can then be fed into mathematical programming (MP) or constraint programming (CP) models to find the best solution. By incorporating ML predictions, you can create optimal schedules based on more accurate forecasts.
To implement ML, it’s crucial to gather diverse and relevant data and prepare it appropriately for training the model and producing accurate predictions. For example, if you’re trying to determine the workload for a field service company specializing in property maintenance, you can collect data on factors such as previous service requests (frequency, causes, duration, required skillset, and tooling), weather conditions, equipment buying patterns, energy usage patterns, and more. All these factors influence the output of the ML model, which is the predicted level of demand for the company’s services.
Building and training ML models is a complex process that requires significant investment and expertise from a data science team. It’s important to note that this is just a high-level overview of how ML works, and the actual implementation involves more technical intricacies.
Having discussed the main computational methods used in schedule optimization, let’s explore some examples of how scheduling technologies can be applied in different domains to illustrate the value they bring in solving planning problems.
Scheduling use cases in different industries
Scheduling is vital for businesses in all industries, each facing unique challenges in workload planning, staff distribution, and resource allocation. Here are common scenarios across various sectors.
Scheduling optimization in manufacturing: meeting production goals
Every manufacturing company faces unique challenges when it comes to production planning. Accurate planning is essential to meet production goals and avoid underproduction or overproduction. Fluctuations in production volume need to be predicted, and procurement, resource allocation, and staffing must be planned accordingly. Industry-specific constraints such as procurement schedules, environmental sustainability, and equipment maintenance also come into play.
To address scheduling problems and improve efficiency, implementing a comprehensive ERP or focused manufacturing management system can be beneficial. A real-world example is System76, a computer manufacturer based in Denver, CO. They transitioned from using spreadsheets to a manufacturing ERP, resulting in increased production planning efficiency by nearly 80%, improved inventory control, and overall productivity. This allowed them to scale their business successfully.
Scheduling optimization in field service: developing efficient routing
Field service is another industry where optimized scheduling is crucial. The main challenge lies in creating the most efficient routes between appointments, considering customer timeframes, estimated job durations, traffic, weather conditions, and other factors. Flexibility and adaptability are essential due to last-minute urgent requests, changing timeframes, cancellations, and other unforeseen circumstances.
Various vendors provide comprehensive field service management solutions, such as ServicePower, Commusoft, and ServiceNow. These platforms offer robust scheduling functionality that enhances productivity. They enable task assignment to technicians based on their skills, facilitate route creation and adjustment, calculate estimated time of arrival (ETA), and assist in the entire order management process.
For instance, Premier Heating Solutions in Berkshire, UK, used to manage approximately 100 jobs per month using Microsoft Office and T-Cards for resource planning. To expand their operations, they partnered with a software provider. The software’s intelligent scheduling feature suggests the most efficient routes and technician selection when new appointments arise. It also supports other aspects of field service operations. As a result, Premier Heating Solutions quadrupled their workload (with a doubling in workforce), increased revenue, and enhanced customer satisfaction.
Scheduling optimization in healthcare: forecasting patient attendance
Efficiently managing healthcare resources and meeting patient needs is a significant challenge in the medical industry. Creating optimized schedules helps reduce patient waiting time and ensures optimal utilization of resources such as doctors, nurses, rooms, and equipment. However, there are always uncertainties to contend with, such as patient no-shows, equipment failures, and unexpected delays in treatment procedures. Additionally, industries like healthcare often experience seasonal peaks that require adjustments in workforce levels to meet the increased demand.
A real-world example is the Illinois Medical Center OR Department. They used to manually create staff schedules, which was time-consuming and inefficient. By implementing a workforce management solution, they were able to improve their scheduling processes and achieve a better balance in their shifts. The solution helped them identify demand patterns, prevent understaffing and overstaffing, and optimize their schedules accordingly.
Scheduling optimization in airline management: pairing and assigning crew
In the aviation industry, crew scheduling involves two primary processes: crew pairing and rostering. The challenge is similar to other industries, aiming to cover the monthly flight plan while optimizing staff utilization, complying with labor regulations, and considering various personal, financial, and other constraints. To delve deeper into crew management systems, you can refer to our dedicated article.
Leading crew management solution providers include Jeppesen, Sabre, and AIMS. At AltexSoft, we also contributed to the development of an airline management platform for Merlot Aero, which incorporated a scheduling module.
A real-world example is Air Canada, a major international carrier managing a large fleet and employing over 30,000 individuals. Air Canada faced difficulties in creating efficient crew schedules. However, the implementation of a specialized crew management system enabled the airline to enhance crew member satisfaction by offering flexible rosters and empowering staff to influence their schedules.
As you can observe, this challenge is significant and relevant to many businesses, with company owners and managers actively seeking effective solutions. In our upcoming discussion, let’s explore the implementation options you can consider.
Scheduling software implementation approaches
When searching for a scheduling solution that meets your specific needs, you can approach the problem using the following methods:
Part of a general management tool: Full-fledged ERPs like Oracle NetSuite or SAP, as well as other business management software, often come with basic scheduling functionality. If you’re a small to medium-sized company looking for a comprehensive system to handle all your business processes, these tools can be a good choice.
Focused standalone solution: Specialized tools dedicated to scheduling are available in the market. For example, if you need to improve workforce management, off-the-shelf solutions like Deputy, ZoomShift, or When I Work can help you allocate, dispatch, and rearrange your staff. Alternatively, there are industry-agnostic tools like Visual Planning that support the entire planning process.
Part of an industry-specific platform: Some solutions are specifically designed to cater to the needs of businesses in particular industries such as manufacturing, warehousing, healthcare, etc. These platforms offer a powerful scheduling module tailored to address industry-specific requirements.
Custom software: Since each business has unique requirements, resources, goals, and limitations, an off-the-shelf solution may not provide the necessary level of customization. In such cases, developing a custom software tool tailored to your specific needs can be an option to solve your business objectives.
By considering these approaches, you can find a scheduling solution that aligns with your requirements and helps optimize your business operations.