Scheduling is a crucial, yet highly complicated process in any industry. There’s a huge number of varied factors that have to be taken into consideration when creating a schedule and then there are unexpected disruptions that require timely reaction. Doing it manually is time-consuming and way too ineffective. So, numerous techniques, including mathematical optimization, constraint programming, and machine learning (ML), are used to address this issue.
In this article, we’ll talk about schedule optimization, describe the most typical technology approaches to its automation, and look at some use cases across industries.
What is schedule optimization?
Schedule optimization is about constructing a schedule that will be as efficient as possible, allocating the right number of resources to the right places at the right times. It’s also referred to as dynamic scheduling since often the schedule has to be adjusted dynamically in reaction to changes or disruptions (such as workers calling in sick, equipment failure, traffic conditions, etc.).
Depending on the industry and management domain, scheduling may refer to
- production planning,
- workforce planning (rostering and distributing staff),
- transportation planning and routing,
- project workflow planning, etc.
Before we talk about how to optimize the scheduling process, let’s look at how it’s done in general. So, there are several main factors that have to be considered.
Main factors in a scheduling process
Available resources might include staff, equipment, vehicles, raw materials, assembly lines, and so on.
Amount of work to be done can relate to the forecasted level of demand to be fulfilled, number of goods manufactured, amount of services provided, etc.
Monetary expenses are any operating or capital expenditures that impact the financial result such as payroll, overtime compensations, mileage costs, shrinkage, depreciation, storage costs, and so on.
Hard operating constraints are limitations that can’t be changed and must be considered. They include government and union labor regulations (like the number of working and overtime hours per week), physical constraints (like the distance between stops or assembly lines), exact amount of raw materials for production of your items, number of certified workers per shift/activity, etc.
The capacity and throughput limitations can also be included into this category, such as the number of items a warehouse can hold, number of patients one nurse can serve, amount of time needed to travel between appointments, and so on.
Soft constraints are the ones that are desirable, but not mandatory, such as individual employee preferences (worker A wants to work with worker B, nurse X doesn’t want to work evening shifts, technician Z wants a vacation in July, etc.), order or customer prioritization, etc.
Business objectives are goals that you want to achieve. You might want to maximize your profit or number of items produced or minimize costs (or particular group of expenses), risks, idle time, empty mileage, etc.
Metrics or KPIs are the measurements that show the effectiveness of your schedule and can be compared to support decision-making.
So, an optimized schedule is the one that not only meets the maximum number of constraints, but also helps achieve certain business objectives.
Scheduling lies within the operational research domain and includes such famous optimization problems as nurse rostering problem, job shop scheduling problem, and traveling salesman problem. They aim at finding a viable solution/route/schedule within a set of limitations that would be an optimal balance of resources spent and amount of work produced. All of them have been studied for decades and today a number of technological approaches exist that help solve the scheduling problem. Let’s discuss some of them.
Solving engine using optimization models
A traditional approach to schedule optimization is creating an optimization model. The three main components of the optimization model are
- a set of possible decision variables (decisions under control such as the number of trucks in route or number of boxes loaded into a truck);
- a set of constraints that place limits on variables, excluding certain values (though sometimes the model has no constraints); and
- the objective function, which is the mathematical expression that describes the model's objective, e.g., to maximize the profit or to minimize the cost of production.
Optimization model inputs and outputs
So, the output of the optimization model would be the values of variables that allow you to minimize or maximize objective function while still meeting the constraints. For example, if you want to build an optimal workforce schedule for a manufacturing plant, variables can be the possible number of workers for different shifts, a constraint can be the limited duration of shifts of each employee, and the objective can be the minimum number of workers needed.
Now, let’s look at the methods used to create optimization models to help you improve scheduling.
Mathematical optimization
Mathematical optimization, or mathematical programming (MP), is a discipline within applied mathematics that, in essence, allows you to make the optimal choice from a set of alternatives. Note, that programming here refers not to the process of writing a code in computer language, but to an arrangement of a plan.
In business, MP is a technology that lies at the core of prescriptive analytics. It can help you address complex business problems in different areas, such as
- planning production volumes in manufacturing,
- creating advertising campaigns that will have maximum impact in marketing,
- choosing the optimal mix of assets in finance,
- building the most efficient delivery route in transportation,
- developing the most effective treatment in medicine, etc.
One of the most common applications of MP is solving various planning and scheduling problems. For that, it uses a number of different techniques, including linear programming, mixed integer programming, and so on. All of them can help you find an optimal solution under a set of constraints, using the input values.
However, if you have too many various constraints to meet, MP can fail. In this case, consider applying constraint programming.
Constraint programming
Constraint programming (CP) is the method of finding a feasible solution (or solutions) out of a large set of candidates that satisfy multiple requirements. Similar to MP, it’s also used to solve optimization problems and deals with the same three main parameters — decision variables, constraints, and objective functions. However, CP supports a bigger range of constraints while MP is limited in the number constraints it can handle quickly (if at all).
For example, a nurse scheduling problem is a classic case of finding an optimal solution of resource allocation (staff, rooms, etc.). Its umerous constraints can include the following.
- There are 3 8-hour shifts a day.
- Each nurse must have 2 days off a week.
- Nurses must not work 2 night shifts in a row.
- There must be a nurse of higher certification in every shift.
- Nurse A doesn’t want to work with nurse B.
- Nurse C can’t work morning shifts, etc
In this case, building a CP model can help you find a base feasible solution and then improve it by continuously comparing to others.
Simulation and reinforcement learning
While MP and CP can produce the optimal schedule, they don't take into account uncertainties and changes and are not effective when the input values are unknown. For example, if you are considering a new contract and need to calculate profitability under various scheduling scenarios.
One of the ways you can tackle this problem is to integrate simulation into the optimization process. This way, multiple what-if scenarios can be run through the optimization model to obtain recommendations about optimal decisions in various situations or under different conditions. However, this approach requires heavy computation and can be too lengthy to be effective.
The more advanced technology to run multiple scenarios is reinforcement learning (RL), a newer field of machine learning that uses a trial-and-error approach to learning and aims at finding the best action model, e.g., the optimal schedule for a given set of input resources, objectives, and constraints.
To train the model and get value from RL, you need to create, or simulate, an environment (a virtual model of a process) where the agent can self-train. RL holds big potential for solving scheduling problems, but there’s still a number of serious challenges in its implementation such as ineffectiveness in the unpredictable environment or undefined testing time.
All the optimization methods we described above are used to find an optimal action or plan for certain input values. However, what if you don’t have those values and can only assume what’s going to happen in the future? To make accurate predictions about outcomes or future events, machine learning techniques can be used.
Machine learning in scheduling
The biggest scheduling challenge in most industries is predicting demand (production volume, patient attendance, etc.) to be able to plan resource amount and allocation accordingly. Machine learning is a technology that allows for making such forecasts. So, if you want to enhance your optimization model, you can consider implementing ML to increase the accuracy of your inputs.
ML models are trained to predict outcomes and determine input values which are then fed into MP or CP models to find the best solution. This way, you can create optimal schedules based on accurate predictions.
We have a comprehensive article about machine learning that you can consult for full understanding of the concept. In a nutshell, the ML model is built and trained on historical data. Then, using new data, it can make predictions on future outcomes. Here’s a simple visualization of ML workflow.
ML workflow
It’s important to collect as much various data as possible and prepare it properly so that it can be used to train a model and produce accurate predictions. For example, if you want to define the workload for a field service company that specializes in property maintenance, you can collect the following data for ML model:
- previous requests (their frequency, causes, duration, required skillset and tooling, etc.),
- weather,
- equipment buying patterns,
- energy usage patterns, etc.
All of these factors impact the output of your model, i.e., the predicted level of demand for the company's services.
Definitely, we can only briefly describe how ML works. Building and training ML models is way more complicated than it sounds, requiring significant investment and the deep technical expertise of a data science team.
Now that we’ve discussed the main computational methods used in schedule optimization, let’s look at some examples of how scheduling technologies can be applied in different areas to illustrate the value it can bring you in solving a planning problem.
Scheduling use cases in different industries
As we said, scheduling is an important part of any business. Different industries have different challenges related to planning workloads, staff distribution, resource allocation, etc. Here are some common cases.
Scheduling optimization in manufacturing: meeting production goals
Industry challenges. Every manufacturing company has its production goals that have to be met with the help of accurate planning. Well, obviously, if not done right, it may result in either underproduction (and lead to nonfulfillment and possible penalties) or overproduction (and lead to losses, extra storage costs, or discarding of surplus items). Production volume fluctuations have to be accurately predicted. Then, depending on the production goals, procurement, resource allocation, and staffing have to be planned accordingly.
Some of the industry-specific constraints here might include the procurement schedule, environmental sustainability, equipment maintenance schedule, etc.
Implementing a comprehensive ERP or a focused manufacturing management system can help address scheduling problems, maximize resource utilization, and improve efficiency.
Real-world example. System76, a Denver, CO, computer manufacturer was managing their production operations with the help of spreadsheets which prevented them from further development. After deploying a manufacturing ERP, they managed to scale their business, increase production planning efficiency by close to 80 percent, as well as improve inventory control and overall productivity.
Scheduling optimization in field service: developing efficient routing
Industry challenges. Another industry for which optimized scheduling is vital is field service. Here, the biggest challenge is creating the most optimal route between appointments, taking into account the timeframes preset by customers, estimated job duration, traffic, weather conditions, and so on.
Besides, customers often call in last-minute for urgent help, preset timeframes change, appointments get canceled, etc., so scheduling has to be as flexible and dynamic as possible.
A lot of vendors offer solutions for all-encompassing management of field service operations including ServicePower, Commusoft, and ServiceNow. All of them have robust scheduling functionality that helps increase productivity. They easily assign tasks to technicians with the right skills, create and adjust routes, calculate ETAs, and assist with the entire order management process.
Real-world example. Premier Heating Solutions of Berkshire, UK, was managing about 100 jobs a month with the help of Microsoft Office and T-Cards (a management approach similar to Kanban that involves sticking cards of different colors on a board to plan and track resources).
They wanted to expand, so they chose to partner with a software provider to streamline their operations. The software's intelligent scheduling feature makes suggestions for the most efficient routing and technician choice when new appointments come in. It also supports other aspects of a field service business, so the company quadrupled their workload (while doubling their workforce), increased revenue, and improved customer satisfaction.
Scheduling optimization in healthcare: forecasting patient attendance
Industry challenges. Balancing healthcare resources (doctors, nurses, rooms, equipment) and patient needs is an important aspect of managing any medical institution. Creating efficient schedules reduces patient waiting time and ensures optimal resources utilization.
However, there’s always a lot of uncertainty. Patients don’t show up for appointments, equipment breaks, treatment procedures take longer than planned, etc.
Besides, many industries including healthcare, experience seasonal peaks that require more staff. In that case, such seasonal fluctuations have to be predicted together with the related changes in the workforce levels.
Real-world example. The Illinois Medical Center OR Department was creating staff schedules manually, which was time-consuming and inefficient. After implementing a workforce management solution, they improved their scheduling procedures, accurately balancing their shifts. They were also able to identify demand patterns and avoid understaffing and overstaffing in their schedules.
Scheduling optimization in airline management: pairing and assigning crew
Industry challenges. In aviation, crew scheduling involves two main processes: crew pairing and rostering (or assignment). The task and challenge is the same as in other industries: to cover a monthly flight plan with the fewest staff members possible, compliance with labor legislation, and consideration of a myriad of personal, financial, and other constraints. Read about crew management systems in our dedicated article to get more information.
Some crew management solution providers are Jeppesen, Sabre, and AIMS. We at AltexSoft also took part in developing an airline management platform for Merlot Aero that contained a scheduling module.
Real-world example. Air Canada, a huge international carrier managing hundreds of aircraft and 30+ thousand employees, was struggling with building efficient crew schedules. Implementing a specialized crew management system allowed Air Canada to increase crewmember satisfaction by creating flexible rosters and letting staff influence their schedules.
As you can see, the problem is valid and acute for many businesses with company owners/managers looking for the most effective ways to solve it. So, let’s discuss the implementation options that you can consider.
Scheduling software implementation approaches
Among the broad variety of available solutions on the market, how can you find the ones that would be able to meet your scheduling needs? Here is how you can approach this problem.
Part of a general management tool. Most modern, full-fledged ERPs (like Oracle NetSuite or SAP) or other types of business management software have basic scheduling functionality. So, if you are a small to medium-sized company and want to get a comprehensive system to handle all the business processes, this would be a good choice.
Focused standalone solution. There are specialized tools that were created with the primary goal of building schedules. For example, if you need to improve your workforce management, you can choose an off-the-shelf solution (such as Deputy, ZoomShift, or When I Work) that will help you allocate, dispatch, and rearrange your staff. Or there are more general, industry-agnostic tools such as Visual Planning that can support the entire planning process.
So, if you already have business management software in use but want to enhance it with a scheduling tool, you can go with a separate, ready-made software.
A sample schedule, source: When I Work
Part of an industry-specific platform. There are solutions that are designed to meet the needs of businesses within a certain industry (manufacturing, warehousing, healthcare, etc.) -- with a powerful scheduling module tailored to addressing those needs.
Custom software. Since every business is different and has its unique requirements, resources, goals, and limitations, an off-the-shelf solution might not provide the necessary level of customization. So, another option is to develop a tool tailored to your specific needs and designed to solve your business objectives.