Allocating resources based on resource requirements

Microsoft Dynamics AX 2012
®
Allocating resources based on
resource requirements
Concept Paper
In AX 2012 the traditional hard binding between an operation
and a work center has been removed and replaced with the
concept of resource requirements. This document explains the
new concepts introduced and provides an overview of the
design.
Date: 7/19/2011
CCAX2012DI0009
Table of Contents
Overview..................................................................................................... 3
Architecture of the resource model in Microsoft Dynamics AX .................... 3
Resource, resource group and calendar ................................................................................... 3
Capability ............................................................................................................................ 3
Activity requirements ............................................................................................................ 4
Determining applicable resources ............................................................... 5
From the UI ......................................................................................................................... 5
From code............................................................................................................................ 6
Route design recommendations .................................................................. 7
Maintaining resource requirements ............................................................ 7
Glossary of terms ........................................................................................ 8
2
ALLOCATING RESOURCES BASED ON RESOURCE REQUIREMENTS
Overview
In AX 2012 the traditional hard binding between an operation and a work center has been removed and
replaced with the new concept of resource requirements. The new model enables the process designer to
describe production processes without having to make references to specific machines, tools, or workers in
the routes. As a result, the process designer can avoid making scheduling decisions at design time and it
becomes easier to handle changes over time.
Architecture of the resource model in Microsoft Dynamics
AX
Resource, resource group and calendar
The primary entity of the operations resource model is the resource. There are multiple types of
resources: Tool, Machine, Human Resource, Location, or Vendor.
A resource can be a member of a resource group and the resource group membership can change
over time. A resource group should be considered the as a vehicle for organizing the resources and it
is located at a certain Site. A resource can only be a member of a single resource group at any point
in time. It is also allowed that a resource is not a member of any resource group however the resource
will only be considered for scheduling during those period(s) where it is connected to a resource
group.
Membership4
Resource
1
Resource group membership
*
*
Member-of4
1
Resource group
+Valid from
+Valid to
*
Available-according-to4
1
Calendar
A resource has an associated calendar when part of a resource group. This calendar defines the
availability of the resource for the period where the resource is associated with the resource group,
which means that for the periods where the resource is not member of a group it cannot have a
calendar and therefore cannot be available for scheduling.
Capability
A capability is the ability for a resource to perform a given activity e.g. TIG Welding, Pressing or Floor
sweeping. A resource can be assigned one or more capabilities for a given period of time and can have
multiple capabilities at the same time. For each assignment it is possible to set a priority and level at
which the capability can be performed (e.g. stamping with 4 tons pressure). The priority determines
which resource is allocated first by the scheduling engine whereas the level is used for quantifying the
capability.
3
ALLOCATING RESOURCES BASED ON RESOURCE REQUIREMENTS
Has-capability
Resource
1
Described-by4
Resource capability
+ValidFrom
+ValidTo
*
*
Capability
1
Activity requirements
In Microsoft Dynamics AX 2012, an entity named Operations Activity has been introduced to create a
common abstraction of the unit of work to be performed by one or more resources. The Operations
Activity entity will not be directly visible to the end user but is used internally for a common
representation of the following business entities: Hour forecast (project), Production route, Operation
relation, Product model operation relation and Product builder operation relation.
Operations Activity
Hour forecast activity
Operation relation activity
Production route activity
1
1
1
1
Prodution route
Product builder operation relation activity
1
1
1
Hour forecast
Product model operation relation activity
1
1
Operation relation
1
Product model operation relation
Product builder operation relation
Each activity can have a set of activity requirements that specifies how many resources are needed for
the activity and what abilities the resources are required to possess in order for them to take part in
the activity. There can be multiple activity requirements for each activity requirement set and in order
for a resource to be applicable for an activity the resource must meet all the requirements in the set.
For each activity requirement it can be defined if the requirement should be considered when
performing operations scheduling and/or job scheduling.
Operations Activity
Has4
Activity requirement set
1
*
-Quantity
1
*
Activity requirement
Title requirement
Skil requirement
*
1
Skill
Course requirement
*
*
1
Person title
Certificate requirement
RatingLevel
1
Certificate
*
1
Course
Resource type requirement
*
1
Resource type
4
ALLOCATING RESOURCES BASED ON RESOURCE REQUIREMENTS
Capability requirement
*
1
Capability
Resource group requirement
*
1
Resource group
Resource requirement
*
1
Resource
Determining applicable resources
A resource is said to be applicable for a given activity if it fulfills all of the resource requirements for
the activity. A list of applicable resource can be generated when you know:
-
The date as of which to perform the search.
Since much of the resource and membership information can vary over time an as-of date
must be provided.
-
The site context
Site will in most cases be a limiting factor as the resources must be a member of a resource
group on the site where the production takes place.
-
The scheduling method
An activity requirement can be applicable for either operations scheduling, job scheduling or
both so the scheduling method must be chosen to find out which activity requirements to
include.
From a conceptual point of view determining the applicable resources is quite easy; it is simply a
matter of traversing through all the resources and check if the skills, capabilities, resource type etc. of
the individual resource matches the ones stated in the requirements and that the resource is not
associated to a resource group that is marked as being a lean work cell.
From the UI
In many of the forms that represent activity related entities, e.g. the Route form, an Applicable
Resources button can be used to display the list of resources that could potentially be used for
performing the activity. The Applicable resources form does not take into account capacity
reservations or working times but is very useful for a quick validation of the route.
5
ALLOCATING RESOURCES BASED ON RESOURCE REQUIREMENTS
Figur 1 Using the Applicable Resources button on the Route form
From code
To find the resources that are applicable for an activity, the activity requirement set must first be
found. Depending on the need, the activity requirement set then offers two main APIs for finding the
applicable resources:

applicableResourcesList will return the IDs of all applicable resources in a simple list.

applicableResourcesQuery will create a query object with the WrkCtrTable as the primary data
source.
For both APIs, you must decide whether the output should be the resources that satisfy job scheduling
requirements or operation scheduling requirements (do not use both options because that would result
in too restrictive a search).
An example of the method’s usage can be seen below:
query = wrkCtrActivityRequirementSet.applicableResourcesQuery(searchFromDate,
searchToDate,
inventSiteId,
schedMethod == SchedMethod::Detail,
schedMethod == SchedMethod::Rough);
6
ALLOCATING RESOURCES BASED ON RESOURCE REQUIREMENTS
Route design recommendations
When the process engineer of a company is creating a route it has been common practice to directly
associate a specific resource or resource group to the operation. Doing this “hard binding” can have a
lot of drawbacks some of them being:
-
In larger organizations it is very often that the process engineer does not have knowledge of
the specific people or machines on the shop floor so finding the resource to assign can be
difficult.
-
When people move around between resource groups and/or facilities the routes must be
constantly updated to reflect the changes.
-
Many resources are capable of performing different tasks and can step in when there is a
shortage of capacity, however if this fact is not recorded in the system scheduling becomes
more of a manual task and the automatic calculated lead times cannot be trusted.
-
If many resources can perform the same task a separate route must be maintained for each
resource.
-
The decision on which resources that must perform the operations on the route is made when
the route is created not when the production is scheduled.
In order to avoid these issues it is recommended that routes are created as generic as possible and
that capabilities, skills etc. are used to decouple the design process from the resource selection
process. By not stating a resource or resource group directly on the operation a lot more flexibility is
given to the scheduling process allowing it to create a better plan that more accurately reflect the real
world situation and that typically has a higher resource utilization..
Note that for performance reasons it is not possible to use the HR information (Skills, Courses,
Certificates and Person titles) for operations scheduling, only for job scheduling. If a Skill or other HR
requirement is created as the only resource requirement and operations scheduling is also used by the
organization, it is recommended to insert an additional requirement for either a Capability, a Resource
type or a Resource Group as a random resource group in the system otherwise could be allocated by
the scheduling engine (all resources in the organization will match an empty resource requirement
set).
Maintaining resource requirements
A Maintain Resource Requirements wizard has been introduced to ease the process of changing
the requirements on multiple activities at the same time. Scenarios that the wizard supports include:

Adding an additional resource requirement. This will typically be used when adding new types of
resources to an existing resource group; for example, to make sure that existing operations still
can use only resources of type machine even though the group now also contains workers.

Replacing only the resource requirements that match the search criteria. This can be used when
reorganizing capabilities after upgrade.

Replacing all resource requirements. This can be used if all operations of a certain type have a
completely new set of requirements that must be fulfilled, or when switching from using
capabilities or specific resource groups.

The Maintain Resource Requirements wizard also can be used when replacing resource
requirements of type Capability or Resource group with resource requirements of type Skill,
Course, Certificate, or Title. The wizard can update requirements for one or more activities at the
same time (Routes, Production routes, Product builder routes, Product configuration routes, Hour
forecasts). Before the task is executed, it is possible to get a count of how many activities will be
affected.
7
ALLOCATING RESOURCES BASED ON RESOURCE REQUIREMENTS
Glossary of terms
Term
Definition
Capability
The ability for a resource to perform a given activity at a specified level
(where applicable).
Resource
Anything that is used for the creation, production, or delivery of a good
or service beyond the materials consumed in the process. These can be
of type Tool, Machine, Human Resource, Location, or Vendor.
Resource group
A group of resources that may or may not have similar capabilities.
A resource group typically corresponds to a project team or a physical
area on the production floor and must be based on one (and only one)
Site.
8
ALLOCATING RESOURCES BASED ON RESOURCE REQUIREMENTS
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 <list other MS trademarks used alphabetically> are trademarks of the Microsoft group of companies.
<This is where mention of specific, contractually obligated to, third party trademarks should be listed.>
All other trademarks are property of their respective owners.
9
ALLOCATING RESOURCES BASED ON RESOURCE REQUIREMENTS