Microsoft Dynamics AX 2012 ® Operations scheduling based on capabilities Concept Paper In Microsoft Dynamics AX 2012 the concept of capabilities has been introduced to allow for more flexible route definitions and resource allocations. When performing operations scheduling based on capabilities the capacity calculations become more complex. This document explains how operation scheduling is done for resource groups based on capabilities. July 2011 CCAX2012DI0010 Table of Contents Overview..................................................................................................... 3 Conceptual data model................................................................................ 3 General about Operations scheduling ......................................................... 3 Determining resource group capacity ......................................................... 4 Resource group capacity per capability ....................................................... 4 Resource group capacity per resource type ................................................ 5 Operation scheduling example .................................................................... 5 2 OPERATIONS SCHEDULING BASED ON CAPABILITIES Overview In AX 2012 the concept of capabilities has been introduced to allow for more flexible route definitions and resource allocations. When performing operations scheduling based on capabilities the capacity calculations become more complicated. This document explains how operation scheduling is done for resource groups based on capabilities. Conceptual data model On the diagram below is shown the part of the conceptual data model that concerns resources, resource groups, capabilities and calendars. For a further explanation of the entities in the model please refer to the document “CCAX2012DI0009 Allocating resources based on resource requirements.” Resource capability +ValidFrom +ValidTo * Described-by4 1 * Has-capability 1 Resource Membership4 Resource group membership 1 +Valid from +Valid to * 1 Member-of4 Resource group 1 Calendar4 * Capacity-according-to4 * 1 1 Capability * Calendar 3 Available-according-to * Resource group calendar +Valid from +Valid to General about Operations scheduling In Microsoft Dynamics AX two distinct types of scheduling exists: Job scheduling and Operations scheduling. Job Scheduling is the most fine grained of the two as this will divide operations into smaller jobs (e.g. Queue before, Setup and Process) and plan these jobs down to the minute and always point out which specific resource should perform each job. Operations scheduling is done on a higher level and determines the start and end dates of the operation as a whole and which resource group the operation should run on. In operations scheduling, an operation can be scheduled on a resource group when at least the following conditions are fulfilled: The resource group contains at least the number of applicable resources that the operation requires, i.e. which is specified in the operation’s Resources/Quantity field. This means that a resource group must contain at least one resource to be used, since operations always require at least one resource. For a resource to count in a resource group the resource should meet all the requirements listed for the operation that are to be considered on operations scheduling (i.e. all those requirements that has the “Operations scheduling” option selected on the operation). When using finite capacity, there must be enough available capacity for the resource group in general, enough capacity on the group for each of the capabilities required (if any) and enough capacity on the group the resource type required (if any). An operation may also be operations scheduled on an individual resource instead of a resource group. This will only happen if a specific resource requirement is stated on the operation. 3 OPERATIONS SCHEDULING BASED ON CAPABILITIES Determining resource group capacity The capacity of a resource group depends on which and how many resources are member of the resource group. A resource group in itself does not have any capacity, only when resources are a member of the group will it have capacity. Since the resource group membership can vary over time capacity must be evaluated per day. In operations scheduling, the resource group’s calendar is used for determining the start and end times and dates for each operation. This means that the resource group’s calendar puts a limit on how much time that can be operations scheduled for one specific operation for one specific day in one specific resource group. In contrast to the calendar for the specific resources, the efficiency data of the resource group calendar is ignored as it simply describes the opening hours and not actual capacity. For example, if the working time for a resource group on one specific date is 08-16, one operation can’t put more load on the resource group than what can be fit into 8 h, no matter how much capacity the resource group has available in total on that day. The available capacity can however limit the load further. The load from job scheduling on all the resources included in the resource group on a given day is considered when the available capacity for the resource group on the same day is calculated. For each date: Available resource group capacity = (capacity for resources in the group based on their calendar) – (job scheduled load on the resources in the group) – (operations scheduled load on the resources in the group) – (operations scheduled load on the resource group) Resource group capacity per capability The resource group’s capacity for a capability is the sum of the capacity for all resources in the resource group that possess that capability. If a resource in the group has a capability, it will be considered no matter what level of the capacity is required (e.g. if a resource can do stamping with 10 tons pressure it will be included in the group capacity even if the requirement was for 20 tons pressure). In operations scheduling, the available capacity for a resource group with respect to a certain capability will be reduced when it is loaded with an operation that requires the capability in question. If the operation requires more than one capability, the capacity will be reduced for all required capabilities. For each date: Available capacity for a capability = (capacity for the capability) – (job scheduled load on the resources in the resource group that have the specific capability) – (operations scheduled load on the resources in the resource group that have the specific capability) – (operations scheduled load on the resource group itself that require the specific capability) This means that if there is load on a specific resource, the load is considered in the calculation of the resource group’s available capacity per capability since the load on a specific resource reduces its contribution to the resource group’s capacity for a capability no matter if the load on the specific resource is for that specific capability. If there is load on the resource group level, it is considered in the calculation of the resource group’s available capacity per capability only if the load is from an operation that requires the specific capability. 4 OPERATIONS SCHEDULING BASED ON CAPABILITIES Resource group capacity per resource type The resource group’s capacity for a resource type is the sum of the capacity for all resources in the resource group of a particular resource type. The calculation of capacity per resource type is similar to the one per capability: Available capacity for a type = (capacity for the type) – (job scheduled load on the resources in the resource group that are of the specific type) – (operations scheduled load on the resources in the resource group that are of the specific type) – (operations scheduled load on the resource group itself that require the specific resource type) When using finite operations scheduling, the available capacity per resource type is used together with the available capacity per capability and the available general capacity for the resource group to determine if the operation can be loaded on the resource group. Operation scheduling example To illustrate all the various calculations consider the following example. The resource group 1 exists and it consists of two workers W1 and W2 and a machine M1. For simplicity it is assumed that each of the resources has 8 hours of capacity available to begin with and that none of the resources or group has been loaded yet. The initial capacity is: Resource group capacity Resource type capacity Capability capacity 24 Worker 16 Machine 8 Assembly 16 Inspection 8 Packing 16 5 OPERATIONS SCHEDULING BASED ON CAPABILITIES First an order with an operation that has a requirement for 8 hours of Assembly capability is scheduled on the group. This changes the capacity to: Resource group capacity Resource type capacity Capability capacity 16 Worker 16 Machine 8 Assembly 8 Inspection 8 Packing 16 Notice how this reservation did not affect any of the resource type capacities, as the operation did not state which type of resource it required. However the total resource group capacity and the Assembly capacity were reduced. Next, an order is scheduled with an operation that has a requirement for 6 hours of the Packing capability and Resource type Machine. The capacity is now: Resource group capacity Resource type capacity Capability capacity 10 Worker 16 Machine 2 Assembly 8 Inspection 8 Packing 10 Now the total resource group capacity, the resource type capacity, and the capability capacity were adjusted. Next, an order is scheduled which has a requirement for 4 hours of the Inspection capability. This gives the following available capacity: Resource group capacity Resource type capacity Capability capacity 6 Worker 16 Machine 2 Assembly 8 Inspection 4 Packing 10 That order reduced the resource group capacity and the Inspection capacity. If an order now comes in for e.g. 7 hours of Assembly the scheduling engine will place the order on another day, since the group has a maximum of 6 hours capacity left even though the numbers for the Assembly capacity indicates that it would be feasible. If an order would instead come in for 5 hours of Assembly all the capacity numbers for both the group, resource type and the Assembly capability indicates that this can be done and the scheduling would allocate the capacity. However, this would actually not be feasible if all the orders had been scheduled using job scheduling and specific resources had been allocated along the way, as there is no combination of capacity reservations that would end up with a resource with 5 hours of assembly left for the new order. This shows that performing operations scheduling based on capabilities can end up with a scheduling result that will not be feasible in practice. This is a consequence of the flexible way the requirements can be set up and of the nature of the rough cut capacity planning. If overbookings cannot be allowed then the stricter job scheduling should be used instead, although this may cause a reduction in the overall resource utilization and consequently give longer lead times. 6 OPERATIONS SCHEDULING BASED ON CAPABILITIES Microsoft Dynamics is a line of integrated, adaptable business management solutions that enables you and your people to make business decisions with greater confidence. Microsoft Dynamics works like and with familiar Microsoft software, automating and streamlining financial, customer relationship and supply chain processes in a way that helps you drive business success. U.S. and Canada Toll Free 1-888-477-7989 Worldwide +1-701-281-6500 www.microsoft.com/dynamics This document is provided “as-is.” Information and views expressed in this document, including URL and other Internet Web site references, may change without notice. You bear the risk of using it. Some examples depicted herein are provided for illustration only and are fictitious. No real association or connection is intended or should be inferred. This document does not provide you with any legal rights to any intellectual property in any Microsoft product. You may copy and use this document for your internal, reference purposes. You may modify this document for your internal, reference purposes. © 2011 Microsoft Corporation. All rights reserved. Microsoft and Microsoft Dynamics are trademarks of the Microsoft group of companies. 7 OPERATIONS SCHEDULING BASED ON CAPABILITIES