Edit

Optimization goals in Resource Scheduling Optimization

An optimization goal defines conditions and expectations that Resource Scheduling Optimization should consider when performing an optimization.

The Resource Scheduling Optimization engine processes a list of resources and a list of resource requirements and existing bookings. It creates the optimal route or list of bookings for the resources. Bookings are considered optimally scheduled if they meet all constraints and respect the importance of the listed objectives in the defined order.

Create a scheduling optimization goal

Using the elements of a goal, you define how bookings should be optimized.

Screenshot of a Scheduling Optimization Goal record.

  1. Go to Resource Scheduling Optimization > Optimization Goals.

  2. Enter the following information:

    • Name for the optimization goal.

    • Engine Effort Level: The amount of effort that the system puts in to find the best combination of resources, route, and day or time. Higher effort levels mean that the optimization engine considers more possible combinations. The more combinations the system considers, the longer it takes to complete the calculations.

    • Travel Time Calculation: The method of calculating travel distance between resources and requirements.

      When you use maps, you can include historical traffic information to get more accurate travel time estimates based on past traffic patterns. This option doesn't account for real-time disruptions like road maintenance or accidents. It results in longer processing times and supports up to 500 requirements in the optimization scope. If you have more requirements, split them into smaller chunks and create separate optimization goals with historical traffic for each scope. Due to the longer processing time, it's best to use this option for schedules that run automated off business hours.

    • Constraints: Restrictions that the system imposes on the bookings it creates.

  3. Select Save to create the record.

  4. In the Objectives section, select an objective to change its properties. Select New Scheduling Optimization Objective to add more.

  5. Select Save & Close.

Default optimization goal

When you deploy Resource Scheduling Optimization, the system automatically creates a default goal with constraints and objectives. You can modify this goal or create a new one and set it as the default.

Use the default goal when you select single resource optimization from the schedule board.

Go to Resource Scheduling Optimization > Administration > Scheduling Parameter. Select the Resource Scheduling Optimization tab to set the default goal.

Understand constraints

Resource Scheduling Optimization works with a set of constraints that you can use to define an optimization goal.

Schedule within working hours

Creates the booking if the travel time to the work location and the work itself fit in a resource's working hours. This constraint also includes travel time from the last booking to the resource's end location. However, the schedule board doesn't show the travel time at the end of the day.

If you remove this constraint from the goal, the system still schedules work within working hours, but travel to and from bookings can happen outside of the resource's working hours. The schedule might not leave time at the end of the day to travel to the resource's end location. All bookings end within a resource's working hours. For more information, see Allow travel time outside of working hours.

Meets required characteristics

Ensures that a resource has all the required characteristics and proficiencies to complete a resource requirement.

Meets required roles

Ensures that a bookable resource has the required roles to complete a resource requirement. If the resource requirement lists more than one role, the system ensures one of the roles matches.

Scheduling lock options (deprecated)

Deprecated and will be removed as a constraint option. Selecting this option doesn't affect subsequent Resource Scheduling Optimization runs. For more information about using and troubleshooting the updated booking lock options, see Understand the booking lock option in Resource Scheduling Optimization.

Scheduling windows

Ensures that Resource Scheduling Optimization creates a booking within the time window of the resource requirement or booking record.

  • Set From/To Date or Date Window Start/End to the same date: Resource Scheduling Optimization schedules the booking on that day but the time of day doesn't matter.

  • Define a time frame with Time Window Start and Time Window End: Resource Scheduling Optimization schedules the booking in that time frame but the date doesn't matter.

  • Set Time From Promised and Time To Promised to a date and a time frame: Resource Scheduling Optimization schedules a booking on the selected date in the selected time range.

  • Set Date Window Start/End and Time Window Start/End to a time frame on the same day: Resource Scheduling Optimization schedules a booking on the selected date in the selected time range.

  • Empty time values (v3.0+): Resource Scheduling Optimization respects scenarios where either the start or end time isn't defined.

    For example, if a requirement has only a time window start value, the system schedules the requirement after that time, regardless of date.

    This logic applies to the following fields on the Resource Requirement and Resource Booking entity:

    • Time Window Start and Time Window End
    • Time From Promised and Time To Promised
    • From Date and To Date

Note

If time and date fields contain conflicting information, Resource Scheduling Optimization uses Time From/To Promised first.

Meets resource preferences

Adds preferred resources to the requirement entity. For more information, see Resource preferences. Resource Scheduling Optimization respects three different types of resource preferences:

  • Preferred: Scheduling preference for the defined resource, if available, but not guaranteed if a different resource better fits the optimal schedule.
  • Restricted: The system doesn't schedule to the resources added to requirements with this resource preference.
  • Must choose from: The defined resource gets scheduled if available during the time range. For multiple resources, the system schedules the first that is available. If none of them are available, the requirement doesn't get scheduled.

Matches territories

Respects the values in the Territory field on the requirement and resource records, and schedules bookings only when the territory values on both records match. A requirement can belong to only one territory, but resources can belong to multiple territories.

Matches resource type

Defines how the resource relates to the organization. The system considers the values in the Resource Type field on the requirement and resource records. It schedules bookings only when the resource type values on both records match.

The system considers the following resource types for optimization:

  • Users
  • Contacts
  • Accounts
  • Equipment
  • Facility

Understand objectives

Add and rank the objectives of the Resource Scheduling Optimization goal. You can select multiple objectives, but the order matters. The system gives more preference to the objective when it's higher on the list.

Maximize total working hours

The aggregate work time best meets this objective. Aggregate work is calculated by taking all bookings that were created or updated during the optimization process.

Minimize total travel time

Choose the iteration with the lowest total travel time. This iteration considers the travel time for the resource to return to their end location after their last booking, although this travel time doesn't appear on the schedule board.

Note

This objective can't be the first objective in the list. To truly minimize travel time, Resource Scheduling Optimization might not schedule any requirement that requires travel time to meet the first objective.

Locked bookings (deprecated)

The Locked bookings objective is deprecated and will be removed as a goal option. Selecting this option doesn't have any effect on subsequent Resource Scheduling Optimization runs. For more information about using and troubleshooting the updated booking lock options, see Understand the booking lock option in Resource Scheduling Optimization.

High priority requirements

Prioritize bookings for requirements with the highest score for priority. Set the priority on the Resource Requirement record as an option set with weighted values. Resource Scheduling Optimization checks Level of Importance on priority to determine how important that priority is. For example, the Level of Importance is 10 for urgent priority and 1 for low priority. Mathematically speaking, Resource Scheduling Optimization looks at the importance of one urgent requirement (Level of Importance: 10 x Number of requirements: 1) as the same as that of 10 low-priority requirements (Level of Importance: 1 x Number of requirements: 10).

Note

This objective doesn't optimize to book all high priority requirements ahead of the others within the day. It only optimizes to ensure that the high priority requirements are booked to the earliest possible day, not the earliest possible time slot within the day.

Maximize preferred resources

Consider the list of preferred resources noted on related requirements. The system tries to assign bookings to preferred resources first while meeting other constraints and objectives.

Best matching characteristic level

Resource Scheduling Optimization considers the proficiency rating level when matching characteristics required by requirements and the resources who possess those characteristics. If all required characteristics match, the system prioritizes resources with fewer characteristics first to keep resources available with more or unique characteristics for emergency work.

This objective depends on the Meets Required Characteristics constraint within the optimization goal.

Meets Required Characteristics constraint selected:

  • Resources without the characteristic (skill) or lower-than-required proficiency levels aren't considered.
  • Resources with the exact characteristic level are the best match and get the highest score.
  • The more overqualified a resource is, the lower their score is.

Meets Required Characteristics constraint not selected:

  • Less qualified resources and resources without the characteristic can still be booked.
  • Overqualified resources get a higher score than less qualified resources.
  • The more overqualified a resource is, the lower their score is.
  • The less qualified a resource is, the lower their score is.
  • Resources without the characteristic get the lowest score.

The following graphic shows the score distribution, depending on the skill level for a characteristic proficiency model that ranges from 1 to 10. The desired characteristic level is 4, which gets the highest score.

Screenshot of a graphic with characteristic and score distribution.

Schedule as soon as possible

Occasionally, there might be more resource capacity than demand for resources. To effectively front-load optimized bookings, add the Schedule As Soon As Possible objective into your optimization goal.