Optimization Recipes
Introduction
Efficient resource scheduling is critical for any organization, enabling teams to maximize productivity, streamline workflows, and meet customer demands. A one-size-fits-all approach often falls short of addressing unique business needs.
Skedulo addresses this challenge with Optimization Recipes, which allow organizations to tune objectives and tailor scheduling outcomes to their specific priorities. By weighing and prioritizing different objectives, teams can generate optimized schedules that enhance operational efficiency and align with strategic goals.
Objectives
Objectives are soft constraints, scheduling preferences, priorities, or guidelines that can be adjusted during scheduling without making a solution infeasible. Unlike hard constraints, which must always be satisfied:
- Soft constraints allow trade-offs.
- The importance of each objective is determined by its weight or priority.
- Higher-weighted objectives are less likely to be violated during optimization.
Available Objectives
| Objective | Description |
|---|---|
| Minimize disruption | Maintain assigned resources for jobs to minimize disruption. Scheduling dates and times may adjust for efficiency, but reassignments should be rare and only for significant benefits. |
| 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. |
| Resource rating | Distribute work in favor of more suitable or higher-performing resources based on rating. |
Job Removal Settings
Optimization recipes now allow you to define how jobs should be handled if they are removed from the schedule during an optimization run. This Job Removal setting does not affect how the solver finds a solution, it only controls what happens to jobs that are removed.
You can choose from three options:
| Option | Description |
|---|---|
| Keep job times, deallocate resources | The job retains its scheduled time, but all resource allocations are removed. |
| Keep resource allocation, clear job times | The job keeps its resource allocations, but scheduled times are cleared. |
| Clear both job times and resource allocation | Both scheduled times and resource allocations are removed. |
Example:
A job may be removed if keeping it would increase travel time or disrupt a logical route. This setting gives teams control over the state of jobs after optimization, helping maintain operational clarity and flexibility.
Constraints and Rules
Recipes also allow you to configure scheduling constraints to control how jobs are handled:
Scheduled Jobs
| Option | Description |
|---|---|
| Respect scheduled jobs | Protect already scheduled jobs from being optimized. |
| Prevent pending dispatch from moving | Prevent allocated jobs in Pending Dispatch status from being moved. |
| Respect job times | Allocate jobs in Queued or Pending Allocation status to the time set on the job unless time constraints are set. |
| Respect job times over time constraint | Allocate jobs in Queued or Pending Allocation status to the time set on the job even if job time constraints are set. |
Travel Time Controls
Recipes let you configure how travel time is considered during optimization:
| Option | Description |
|---|---|
| Ignore travel times | Ignore travel between jobs, activities, and travel to/from home. Routes breakdown will not appear on the results page. |
| Ignore travel time at start of day | Ignores travel from the resource’s home address to the first job of the day. |
| Ignore travel time at end of day | Ignores travel from the resource’s last job of the day to their home address. |
| Set maximum travel time between locations (minutes) | Prevent resources from being allocated to jobs where travel from the previous location exceeds this value. |
Snap and Padding
You can also configure timing rules between jobs:
| Option | Description |
|---|---|
| Set snap unit for job start times (minutes) | Snap job times to the nearest time interval. |
| Set standard time interval between jobs (minutes) | Define a fixed interval of time between jobs on the schedule. |
Related Links
Feedback
Was this page helpful?