Create optimization recipes

Use recipes to intelligently schedule work to optimize pre-defined business KPIs.

Overview

When schedulers optimize they consider the unique goals of their organization and the specific scheduling scenario they are trying to optimize. By giving schedulers granular control over the optimization settings, they are able to tailor the schedule to their organization’s needs, improving the efficiency of the schedule.

Optimization recipes are pre-defined combinations of constraints and objectives enabling plug-and-play for specific scenarios. These recipes enable users to easily shape the factors that drive the way that optimization behaves by configuring the weights of relevant optimization factors.

You can use a recipe each time you run optimization.

Objectives

  • Minimize disruption. Keeping a resource that is already assigned to work is more important than assigning a “close-by” resource.
  • Balance workload. Attempt to distribute work between resources so that every resource has an even amount of allocated time across the entire scheduling window.
  • Travel time. Attempt to distribute work so that travel time is minimized for scheduled resources.
  • Minimize resources. Attempt to distribute work between as few resources as possible.
  • Work priority. Give the highest priority to scheduling critical work immediately.
  • Soft skills. Attempt to distribute work to resources, so that as many soft skill requirements are met as possible. Favor the most qualified candidates.

Weight

Recipes are defined by giving weight to the set of six objectives listed above. Use weight to set the priority of each scheduling objective for your optimization recipe. The higher the weight number allocated, the greater the importance of that objective.

The total weight of all six objectives cannot exceed 100.

See Score calculation for more information about how weights affect optimization results.

Standard optimization recipes

There are four standard optimization recipes provided: 

Least resources

Select this recipe to utilize the fewest resources. The highest weighting is given to the Minimize resources objective.

Objective
Default weight
Minimize disruption 20
Balance workload 0
Travel time 5
Minimize resources 60
Work priority 5
Soft skills 10

Balance work

Select this recipe to distribute work equally between resources. The highest weighting is given to the Balanced workload objective.

Objective
Default weight
Minimize disruption 10
Balance workload 60
Travel time 10
Minimize resources 0
Work priority 10
Soft skills 10

Least travel

Select this recipe to minimize the travel time for resources. The highest weighting is given to the Travel time objective.

Objective
Default weight
Minimize disruption 10
Balance workload 0
Travel time 75
Minimize resources 0
Work priority 10
Soft skills 5

Emergency work

Select this recipe to prioritize urgent jobs. The highest rating is given to the Work priority objective.

Objective
Default weight
Minimize disruption 0
Balance workload 0
Travel time 30
Minimize resources 0
Work priority 65
Soft skills 5

View the available optimization recipes

To view the recipes available to your organization, navigate to Settings > Scheduling > Optimization recipes

Select a recipe from the list to view more details, including the weighting given to each objective.

The Optimization recipes page in the Skedulo web app showing the four standard recipes - Least Resources, Balance work, Least travel, and Emergency work.

Customize optimization recipes

Schedulers can tweak one of the standard recipes to meet the specific needs of their organization or address a particular scenario, or they can create an entirely custom recipe.

Use the following procedure to make changes to one of the standard optimization recipes by making adjustments to the weight values of each of the scheduling objectives.

  1. Navigate to Settings > Scheduling > Optimization recipes
  2. Choose the standard recipe that you would like to adjust.
  3. Click the Actions menu at the end of the recipe table row.
  4. Select Create duplicate.
  5. Provide a name and description for the recipe in the modal, then click Duplicate.
  6. Click the name of the duplicated recipe in the recipe table to open the recipe editor.
  7. Make the adjustments to the objective weights, ensuring that the Total weight is equal to 100%.
  8. Adjust any other rules and constraints that you want to apply to the recipe regarding job times, travel time, or snap and padding.
  9. Click Save when you have finished.

Create an optimization recipe

Rather than duplicate and tweak an existing optimization recipe, schedulers can create an entirely custom optimization recipe from scratch.

Use the following procedure to create a custom optimization recipe:

  1. Navigate to Settings > Scheduling > Optimization recipes.
  2. Click Create optimization recipe to open the Create a new recipe page.
  3. Provide a name and description for the recipe.
  4. Select the weights you want to give to the relevant scheduling objectives, ensuring that the Total weight is equal to 100%.
  5. Set any other rules and constraints that you want to apply to the recipe regarding job times, travel time, or snap and padding.
  6. Click Save when you have finished.

Using recipes

You can use a recipe for your optimization runs when creating both one-off optimization runs and recurring optimization runs, or you can select a recipe to use as the default for all optimization runs.

One-off optimization

To use a recipe when creating one-off optimization: 

  1. Select a job card from the work list.
  2. Click Optimize to display the Optimize modal.
  3. If the optimization settings aren’t visible, deselect Use default scheduling settings.
  4. Select a recipe from the Scheduling recipe dropdown menu. The Optimize modal open on the swimlane
  5. Fill the rest of the modal as per your requirements.
  6. Click Save.

Scheduled optimization

Optimization recipes can be applied to scheduled or recurring optimization runs.

To use a recipe when creating a scheduled optimization run:

  1. Navigate to Settings > Scheduling > Scheduled optimization.
  2. Click Create scheduled optimization to create a new scheduled optimization, or click an existing scheduled optimization to edit.
  3. Complete the required name, region, and run date information.
  4. To change the optimization recipe for the schedule run, deselect the Use the default recipe checkbox, then select the optimization recipe you want to use from the drop-down list.
  5. Configure the rest of the optimization settings as required.
  6. Click Save when you are finished to schedule the optimization run.

One-off optimization (Swimlane view)

Scheduled optimization