These release notes describe functionality that may not have been released yet. To see when this functionality is planned to release, please review Summary of what’s new. Delivery timelines and projected functionality may change or may not ship (see Microsoft policy).
Here are additional enhancements we've added to Resource Scheduling Optimization (RSO) for the Spring '18 release.
Support for location-agnostic resources
RSO now offers the ability to schedule resources with a start and end location as "location agnostic." This capability also extends to location-agnostic equipment-type resources. A few important notes about this new feature:
- Location-agnostic requirements can be scheduled to either onsite resources or location-agnostic resources.
- Onsite requirements can only be scheduled to onsite resources.
- Onsite resources can work on either onsite bookings or location-agnostic bookings.
- Location-agnostic resources can only work on location-agnostic bookings.
What-if statistic reports to compare optimization results with different optimization requests
Simulation runs give RSO admins the ability to finely tune optimization settings and parameters. Statistic reports provide the added benefit of allowing RSO admins to more closely evaluate optimization results using data.
To find these statistic reports, navigate to Resource Scheduling > Optimization Requests and expand the charts panel. The system shows the following three statistic charts:
- Working and Travel Time in Minutes by Optimization
- Count of Priority Bookings by Optimization
- Count of Locked Bookings by Optimization
You can keep filtering optimization requests by various conditions with Dynamics 365 entity view filter; simply refresh the chart panel to update results.
Scheduling Optimization Request Details - work and travel time
Scheduling Optimization Request Details - priority
Reset RSO for selected optimization schedules
If your schedule has been running for a long time and seems stuck or blocked, you can use the Reset Resource Scheduling Optimization button to clear the blocked job and reset schedules into a fresh state. Before this update, you could only reset for all optimization schedules. Now, you can:
Reset RSO for selected optimization schedules.
Resetting RSO for selected optimization schedules
Reset RSO in the context of the optimization schedule form.
Resetting RSO in the optimization schedule form
Improved validation logic when modifying optimization scope/goal/schedule
Previously, while making changes against scope/goal/schedule for a published optimization schedule, the schedule status would be changed to Out of Sync. With this update, changing the optimization scope or goal doesn't require a republish of the schedule; instead, you have options to keep the schedule published, or to choose Save and Unpublish to unpublish the schedule.
New Confirm Change interaction
If there are any optimization requests still running while you're trying to modify scope/goal/schedule, the system displays a message reminding you that unpublishing the schedule will cancel the ongoing optimization request.
Warning message about canceling ongoing optimization requests
There's also a new dialogue to remind you that changes made on an optimization goal will impact related published optimization schedules.
Dialogue message about optimization goals
New field to indicate the type of optimization request
We've added a Type field to indicate if an optimization request was triggered by a recurring schedule, or by clicking the Run Now button.
The new Type field for optimization requests
New optimization request statuses
We've revised and added new optimization request statuses to better indicate which step optimization is currently running through. Take a look at the following table for additional details.
|Optimization Request Status Code||Existing or New||Description|
|Submitted||New||RSO is preparing and validating data (resources, requirements, bookings) based on optimization scope/goal settings. Invalid data will be filtered out during this operation.|
|Optimizing||New||Valid data sent to Azure for optimization.|
|Completed||Existing||Optimization request successfully completed.|
|Simulation Completed||New||Optimization status will be set to "Simulation Completed" if it’s a simulation run.|
|Blocked||Existing||If an optimization request is running for the same optimization schedule, and you try to trigger the same schedule, RSO will block the second optimization request. The status will be blocked. If there are overlapping resources, requirements, or bookings across multiple optimization schedules, and there are optimization scopes and schedules running at the same time, one schedule will block the other one, and the status will be blocked.|
|Failed||Existing||Optimization request didn’t finish successfully due to various reasons.|
|Canceled||Existing||Ongoing optimization request will be canceled in the following scenarios: Resetting optimization schedule; modifying related optimization scope/goal/schedule, and chose "Save and Unpublish"; and discarding a simulation optimization request.|
|Pending||Deprecated||This status code will no longer be used by RSO.|
Enhancements for booking/resource details of optimization requests
We've also revised and added a new operation status to better indicate data eligibility and optimization decisions. See the following table for additional details.
|Operation Status||Apply for Booking Details section and/or Resource Details section||Description|
|Invalid||Booking Details and Resource Details sections||Invalid indicated resource, requirement, or booking is being included in optimization scope, but has invalid data and can't be optimized until the data is corrected.|
|Optimizing||Booking Details and Resource Details section||Valid data; RSO is optimizing.|
|Optimized||Resource Details section||RSO completed optimization, and created/updated/deleted bookings for these resources.|
|Created||Booking Details section||RSO created new booking based on its optimization decision.|
|Updated||Booking Details section||RSO updated existing booking based on its optimization decision.|
|Deleted||Booking Details section||RSO deleted existing booking based on its optimization decision.|
|Unchanged||Booking Details section||For unchanged requirements, RSO didn’t schedule anything for that requirement based on its optimization decision. For unchanged bookings, RSO didn’t update anything for that booking based on its optimization decision.|
New field to indicate when resource/bookings are invalid
The new Operation reason field shows:
When an invalid resource is included in optimization scope, but the scheduling method is set to No.
An invalid resource with a message explaining why
When an invalid resource requirement is included in optimization scope, but with bad data (in this case, duration is set to 0).
An invalid resource requirement and a message explaining why
Resource Scheduling Optimization app module
We've introduced the RSO app module, which works with the Unified Interface framework. To find the module, navigate to Settings > My Apps and select the Resource Scheduling Optimization app.
The RSO app module
The RSO app module showing resource scheduling