Optimization results
Overview
The Results page provides a summary of an optimization run, which helps schedulers to understand the details of the optimization run, such as average work time, travel time, and distance traveled in relation to the overall schedule.
Results pages are available from both the Background tasks button and the Optimization history page.
Note
Contact your Skedulo Customer Success representative to request access to this feature.Using the optimization results page
Optimization results are shown for each optimization run, including both one-off optimization runs and scheduled optimization runs.
For one-off optimization, you can click View results in the Background tasks menu to view the results page of any optimization run from the past seven days.
Schedule preview (Beta)
The Schedule preview tab is available as a beta feature for schedulers to preview an optimization run before committing to it. When enabled, this tab allows schedulers to view a preview of optimization results for a given optimization run, including previous optimization runs in the Background tasks menu or the Optimization history page.
Beta feature
Beta features should be considered “in development” and may not be fully supported or complete. Beta features are available as a preview for testing purposes and may be unstable. They should be used with caution in production environments.To enable the Schedule preview tab, do the following:
- Navigate to Settings > System administration > Beta features.
- Select the
Displays the Schedule Preview in the optimization results page. Requires Optimization feature. (browser refresh required)
checkbox. - Click Save.
- Refresh your browser to apply the change.
When enabled, the Schedule preview tab will be the default tab of the Optimization results page, and appears as follows:
Schedulers can apply or reject the results from the Schedule preview tab.
- If the results are rejected, they cannot be applied to the schedule later, but they can still be viewed from the Optimization history page.
- If the results are accepted, they are applied to the schedule and can be viewed on the swimlanes.
Note
Job cards cannot be moved on the Schedule preview swimlane. To make minor changes to the schedule, schedulers can apply the schedule and make adjustments from the swimlanes under Schedule on the global navigation bar.Summary and map view
The results page provides a summary of how successful the optimization run was in achieving the scheduling objectives. This includes averages for the following metrics at both a schedule level and an individual resource level:
- The average amount of work time allocated.
- The average amount of time spent traveling to assigned work.
- The average distance traveled during the schedule.
Details tab
The Details tab provides schedulers with basic information about the jobs that were scheduled, left unscheduled, or excluded from the optimization run.
Scheduled jobs
Jobs that were scheduled in the optimization run are listed with their job number and type, start times, and allocated resources.
Unscheduled jobs
Jobs that were unscheduled during the run are listed with the reason that the job was unscheduled.
There are a number of reasons why a job may have been unscheduled. See Unscheduled reasons, below, for the full list of reasons a job may have been unscheduled.
In the example below, the job was excluded from the optimization scope. We can view the Excluded tab for more information about why the job was excluded.
Excluded jobs
Excluded jobs are those that cannot be considered in the optimization problem.
This can be for a number of reasons, the most common being that they have an attribute that could constrain them in a way that optimization does not support.
For example, this can include jobs with multiple resource requirements or job dependencies.
In the following example, the job had resource requirements with job time set.
Unscheduled reasons
Jobs that remain unscheduled after the optimization run are listed in the Unscheduled tab of the Details page.
Unscheduled reasons fall into two categories – job reasons and resource reasons.
Job reasons are non-resource specific, such as job time constraints.
Resource reasons are resource specific, such as having a missing skills or resource tag. All resource reasons will have a resourceId associated with them.
Job reasons
Reason | Reason template |
---|---|
Job is excluded | Job was excluded from the optimization scope. |
Job Time Constraints are too strict and force the job to be scheduled before the scheduling window | Job must start before the schedule window. |
Job Time Constraints are too strict and force the job to be scheduled after the scheduling window | Job must start after the schedule window. |
Schedule window does not overlap sufficiently with any Job Time Constraints (multiple time constraints both in front and behind the scheduling window) | Schedule window does not sufficiently overlap with any Job Time Constraints. |
Resource reasons
Reason | Reason template |
---|---|
Resource has exhausted availability (no time constraint or job time constraint is within their availability window) | Resource <Resource.Name> does not have enough availability to be allocated to the job. |
Resource has for no availability in job time constraint window | Resource <Resource.Name> does not have availability for the window(s) of time the job can be scheduled in. |
Resource is missing critical skills to do the job | Resource <Resource.Name> is missing the following required skill tags: <Tag.Name> |
Resource is blacklisted or not whitelisted from the account (and a whitelist exists) | Resource Resource |
Resource is blacklisted or not whitelisted from the location (and a whitelist exists) | Resource Resource |
Excluded reasons
Some jobs are excluded from optimization for various reasons, usually due to job attributes or contraints that mean the solver is unable to schedule them.
There are two levels of exclusions: product level and solver level.
Product level exclusions are where there are constraints outside of the optimization that could be broken if the job is included in the optimization problem. For example, if a job has resource requirements without a job time locked in place.
Solver level exclusions indicate that the optimization problem is highly constrained and that the scope may be difficult to solve, where the inevitable result is that some jobs are unable to be scheduled. For example, there are too many jobs and/or not enough resources to schedule all of the work within the scheduling window.
Product level exclusions
Exclusion type |
Description |
Behavior |
---|---|---|
Job dependencies | The job has job dependencies and therefore has constraints that aren’t supported by optimization. | If already scheduled, allocations will be locked in place otherwise they will be removed from the pool of schedulable allocations. |
Unscheduled with Resource Requirements | The job has resource requirements without a job time that’s locked in place (respectAllocationTimes setting is on) |
Allocations will be removed from the pool of schedulable allocations. |
Job has Resource Requirements | The job has resource requirements without a job time that’s locked in place (respectAllocationTimes setting is off). |
If already scheduled, allocations will be locked in place otherwise they will be removed from the pool of schedulable allocations. |
Out of region | The job was included in the optimization scope via a resource who exists in multiple regions. | If already scheduled, allocations will be locked in place otherwise they will be removed from the pool of schedulable allocations. |
Job requires synchronized allocations | The job has multiple allocation requirements and does not have a start time (respectAllocationTimesOverTime Constraints setting is on). |
Jobs that in any way require more than one allocation and do not have a start time with the respectAllocationTimesOverTime Constraints setting will be excluded. |
Solver level exclusions
Exclusion type | Description | Behavior |
---|---|---|
No valid date windows | The allocation has a time constraint that does not leave enough time within the scheduling window for the allocation to be scheduled. | The allocation is ignored, if already scheduled the logic evaluating differences will leave it scheduled. |
Feedback
Was this page helpful?