This is the 13th blog of this series, before this I have created a blog from module 3 on the topic “Implement the Schedule Assistant”  which you can check here: MB2-877 MICROSOFT DYNAMICS 365 FOR FIELD SERVICE MODULE 3 TOPIC – IMPLEMENT THE SCHEDULE ASSISTANT

In this blog we are starting with the topic – Optimize resource scheduling from module 3 “Scheduling and dispatch work orders”:


  1. Identify licensing requirements for resource scheduling add-on

    Resource Scheduling Optimization(RSO) is an add-on capability for the Dynamics 365 for Field Service application that enables you to automatically schedule work orders for the most appropriate resources, by optimizing bookings for the shortest travel time, available work hours, and many other constraints. Below licenses are required in order to use RSO.

    ⦿ Requires a valid production instance of Field Service
    ⦿ Licensed per resource you want to optimize


  2. Create optimization profiles

    Optimization is based on profiles that define what you want to optimize and how you want to optimize it       Example: Optimize currently scheduled items for the next three hours to minimize travel time.

    I would really suggest you to go through the brief article here : RSO Configuration   as I will not be able to perform these steps to show you how its done. It requires a valid field service license. So we will need to just understand the concept!


  3. Define objectives and constraints 

    When setting up RSO , you will have objectives and constraints that needs defining.  Objectives are nothing but your primary goal i.e what you want to achieve using RSO, while constraints are boundaries you apply to your goal.

    Objectives can be:

    Maximize total working hours: The version of the engine results (iteration) with the total highest aggregate work time will win this objective.
    Minimize total travel time: The version of the engine results (iteration) with the total lowest aggregate travel time will win this objective.
    Locked Booking: The engine will try and schedule the iteration/scenario that successfully creates/assigns the most “Locked” schedules to appropriate resources.
    High priority Requirement: The fitness function will evaluate this objective, and will give priority to the solutions with the highest score for priority.

    Constraints can be:

    Schedule Within Working Hours: Verifies that the task is not scheduled out side of the resource’s working hours.
    Meets Required Characteristics: Verifies the resource meets all the required skills needed to complete the work.
    Locked to Resource: If marked, Resource Scheduling Optimization will not change any locked resources in the booking requirement.
    Scheduling Windows: If marked, Resource Scheduling Optimization will not change any locked scheduling windows in the booking requirement.
    Restricted Resources: If marked, Resource Scheduling Optimization will check resource preference to see if it’s “restricted”. If the requirement has a restricted resource in which there is no expiration, or expiration in the past, Resource Scheduling Optimization will not schedule this resource for this booking requirement.

  4. Configure resource optmization
    You can configure resource optimization, which majorly covers three points, When  RSO will run, What RSO will optimize & How booking will be optimized.


We could not do much  handson on this topic due to the limitation of having a paid field service trial but will try/focus on as much as handson on other topics. see you in the next blog!