Explore Optimization
Learning Objectives
After completing this unit, you’ll be able to:
- Define optimization.
- Describe the optimization journey.
- Explain how the optimizer scores appointments.
Optimization Journey
Ursa Major Solar is a solar energy company at the beginning of its field service journey. It’s based in the southwestern United States with field offices in multiple cities that install and repair solar energy products. Its field service team uses the Field Service managed package and its automated scheduling to manage those installation and repair jobs.
The team has two key members who are ready to improve the field service journey.
- Salesforce admin Maria Jimenez. She’s a Field Service whiz who’s eager to set up optimization for her team.
- Dispatcher Jacinta Silva. She’s an experienced and talented dispatcher who’s excited to improve her daily schedules.
Ursa Major wants to take the next step on its field service journey. Your position on the journey depends on your organization’s size and maturity.
- Visualize. Implement and capture data about your field service organization.
- Automate. Use the data to reduce manual processes and errors.
- Optimize. Refine and improve your automated tasks.
- Innovate. Lead and disrupt the field service industry.
Ursa Major has done the work to visualize and automate their processes. Now, they’re ready to optimize and innovate.
What Is Optimization?
Optimization is the process of finding the best schedule for your customers and your business. The global optimization process assesses millions of time slots and mobile worker options to produce schedules. It then assigns each schedule a grade and uses the schedule with the highest grade, putting upcoming appointments into the best order.
Millions of options? Maria does the math. Let’s say she has 1 mobile worker and 11 appointments to schedule. That gives her 11 factorial possibilities.
1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 x 11 = 39,916,800
If her computer can evaluate 10,000 options a second, she works out the following equation.
39,916,800/10,000 = 3,991 seconds or 66 minutes or 1.1 hours
So, reviewing the options for 1 mobile worker and 11 appointments takes over an hour. What if she had 16 service appointments? It would take about 66 years.
As this math shows, optimizing a schedule is a complex process that takes time and computing power. But it’s worth it, because a good schedule helps your business become more efficient while delivering on your business priorities. Priorities like scheduling more appointments, reducing travel time, containing overtime costs, and increasing customer satisfaction. Luckily, Field Service is here to make the process easy.
Maria watches this optimization video where a company first uses automated scheduling to schedule its appointments. It finds that automated scheduling is faster and more efficient than manual scheduling. But the company doesn’t stop there. It then optimizes the automated schedule for an even larger gain in efficiency.
Calculate an Appointment’s Score
Maria understands that optimization involves optimizing each appointment within the larger framework of the schedule. She’d like to start at the beginning and see exactly how the optimizer calculates an individual appointment’s score. Then she wants to see how appointments combine to create the best schedule.
How does the optimizer do it? It uses your scheduling policy to find the most qualified candidate and time slot based on your service objectives. To learn more about scheduling policies, work rules, and service objectives, check out the Field Service Scheduling module.
Let’s step through the optimizer’s process.
- It views all data sent to optimization, also known as the data domain. This data includes all relevant service appointments (based on the optimized horizon compared to the appointment's time constraints), service territories, and mobile workers.
- It orders appointments based on the priority. The priority is defined using the Work Order Priority Field, Work Order Line Item Priority Field, and Service Appointment Priority Field options in Field Service Settings. Then it starts to evaluate the highest priority appointment first.
- It views the selected appointment's details, such as territory, required skills, and due date.
- It views the scheduling policy’s work rules. Work rules remove candidates who can’t complete the appointment because they're unqualified or unavailable. Now it has a pool of candidates who are ready and able to do the job.
- It pulls up each available time slot between a service appointment’s earliest start permitted and due date (or arrival window start and end dates if they’re available) within the time horizon.
- It views the scheduling policy’s service objectives. Then, it evaluates each available time slot and qualified candidate for the objectives. It multiplies the grade for each objective by the relative weight of that objective. It adds those weights together with the priority of the service appointment's work order or work order line item to create a score. The default priority range is a 1–10 scale, where 1 is the highest priority and 10 is the lowest priority. You can also choose to use a scale of 1–100. Here's how an appointment is prioritized using the 1–10 scale in orgs created after summer 2020.
Priority Value of Priority 1 25500 2 20500 3 15500 4 5500 5 4250 6 3000 7 2500 8 2000 9 1500 10 or null 1000 - For example, Ursa Major Solar uses their Customer First policy. The weights for the service objectives are ASAP 4, Preferred Resource 4, and Minimize Travel 2. Here’s how the optimizer scores an appointment with a priority of 3.
(ASAP grade x 4) +
(Preferred Resource grade x 4) +
(Minimize Travel grade x 2) +
(15500 priority) =
Score
- For example, Ursa Major Solar uses their Customer First policy. The weights for the service objectives are ASAP 4, Preferred Resource 4, and Minimize Travel 2. Here’s how the optimizer scores an appointment with a priority of 3.
- It repeats this process for remaining slots and candidates.
- It adds the scores.
- It assigns the appointment to the candidate and time slot with the highest score.
Next, the optimization randomly unschedules some appointments and tries to schedule others instead. An overall grade is given to that new schedule and it’s saved only if the overall Gantt grade is higher than the previous schedule. These iterations continue until the optimization time is over, at which point the schedule with the highest grade is used.
In this unit, Maria discovered the value of optimization for her schedule. She stepped through the optimization process and is ready to use the optimizer to produce the best schedule for Ursa Major Solar.