Microsoft Dynamics AX 2012 ® Extending automatic planning of kanban jobs Concept Paper This paper gives an overview of the automatic kanban job planning process. It discusses possibilities for, and limitations of, extending automatic planning based on customer requirements. July 2011 CCAX2012IC0059 Table of Contents Overview..................................................................................................... 3 Automatic planning of kanban jobs ............................................................. 3 Production flow models .......................................................................................................... 3 Model types ...................................................................................................................... 3 EPE cycle in days ............................................................................................................... 3 Capacity shortage reaction .................................................................................................. 3 Planning period type .......................................................................................................... 3 Planning time fence............................................................................................................ 4 Example ........................................................................................................................... 4 Resource groups ................................................................................................................... 4 Production flow model ........................................................................................................ 4 Capacity period ................................................................................................................. 4 Average throughput quantity ............................................................................................... 4 Unit ................................................................................................................................. 4 Example ........................................................................................................................... 5 Kanban rules ........................................................................................................................ 5 Automatic planning quantity ................................................................................................ 5 Maximum planned jobs ....................................................................................................... 5 Lead time ......................................................................................................................... 5 Example ........................................................................................................................... 6 Architecture of automatic kanban job planning in Microsoft Dynamics AX 2012 ........................................................................................................... 6 KanbanJobScheduler .......................................................................................................... LeanWorkCellScheduleCapacity ........................................................................................... KanbanJobAutoPlan............................................................................................................ KanbanJobUpdPlan............................................................................................................. KanbanJobSchedule table ................................................................................................... KanbanJobScheduleCapacitySum table ................................................................................. KanbanJobCapacitySum table .............................................................................................. 6 7 7 7 7 7 7 Extensions and dependencies of automatic planning .................................. 8 Impact on performance ......................................................................................................... 9 Dependency on master scheduling .......................................................................................... 9 Dependency on delivery date control capable to promise ........................................................... 9 Glossary of terms ...................................................................................... 10 2 EXTENDING AUTOMATIC PLANNING OF KANBAN JOBS Overview Planning a kanban job means that the job has been scheduled on a work cell. The planning step can be executed automatically or manually on the kanban schedule board. All process kanban jobs are executed on work cells and must be planned. Transfer kanban jobs are not planned. This paper gives an overview of the main settings for the automatic kanban job planning process. Automatic planning of kanban jobs The main settings affecting the automatic planning of kanban jobs are maintained in: Production flow models. Resource groups. Kanban rules. Production flow models Production flow models define how kanban jobs are planned on work cells. Model types There are two model types: Throughput – Capacity is measured in quantity units—for example, 100 pieces/day. Hours – Capacity is measured in time units—for example, 8 hours/day. EPE cycle in days EPE or EPEI stands for “Every part, every interval.” The value is used to determine the initial value for the requested planning date. For example, if a kanban job is due in 5 days from today, and the EPE cycle is 2 days, then the initial requested date would be today + 5 days – 2 days = today + 3 days. Capacity shortage reaction The capacity shortage reaction setting defines how the automatic planning process handles the scheduling of kanban jobs if sufficient capacity on the requested period is not available. Generally, if multiple kanban jobs are being planned at the same time, they are treated as one unit. Postpone – The kanban jobs are scheduled in the next available period. The initial search direction is backward from the requested date until the current period is reached. If no available period is found, the search continues forward from the requested date. Cancel – The kanban jobs are not planned. Add to requested period – The kanban jobs are planned in the requested period. The work cell is now overloaded. Distribute – Kanban jobs are scheduled as described under “Postpone.” However, if multiple kanban jobs are planned at the same time, that unit will be broken up so that jobs are distributed across two or more periods. Planning period type Day – Kanban jobs are scheduled on a specific day. Week – Kanban jobs are not scheduled on a specific day, just in a specific week. 3 EXTENDING AUTOMATIC PLANNING OF KANBAN JOBS Planning time fence The planning time fence is specified in days. The automatic planning process will not schedule kanban jobs outside the time fence. The time fence includes today, so that, for example, a time fence value of 2 means kanban jobs can be scheduled today or tomorrow. A time fence value of 1 has a special meaning: it represents the “unlimited” value. Example Figure 1 Example of a production flow model Resource groups Process kanban jobs are executed on work cells. In Microsoft Dynamics AX 2012, work cells are represented as resource groups. The work cell capacity settings connect production flow models to work cells and may define additional capacity settings. Production flow model The value references a production flow model. Capacity period This field is only available if the selected production flow model is of type Throughput. Standard workday – The average throughput quantity is defined per standard workday. The length of a standard workday is defined in the calendar that is associated with the resource group. Week – The average throughput quantity is defined per week. Month – The average throughput quantity is defined per month. Average throughput quantity The average throughput quantity defines the capacity in the given unit and period. Unit This field defines the unit of measure of the average throughput quantity. 4 EXTENDING AUTOMATIC PLANNING OF KANBAN JOBS Example Figure 2 Example of a resource group with work cell capacity Kanban rules The kanban rule has a few settings that affect the automatic planning process. Automatic planning quantity The automatic planning quantity defines the number of unplanned kanban jobs per activity that cause an automatic planning run to occur. If the value is 1, all unplanned kanban jobs for the rule will be planned; otherwise, the number of kanbans to plan is calculated so that the number of kanbans that remain unplanned is less than the automatic planning quantity. For example, if a new rule for a single process activity specifies an automatic planning quantity of 2, and five new kanbans are created, the system will automatically plan four kanban jobs. One kanban job will remain unplanned until another kanban job is created or emptied. Maximum planned jobs This field enables users to limit the number of planned kanban jobs for the rule. The number calculated as described in the previous section may be capped by this number. The field is not applicable to fixed kanban rules. Lead time The lead time is used to determine the due date and time of fixed kanbans. It is not used in the automatic planning process. 5 EXTENDING AUTOMATIC PLANNING OF KANBAN JOBS Example Figure 3 Example of a kanban rule Architecture of automatic kanban job planning in Microsoft Dynamics AX 2012 KanbanJobScheduler The KanbanJobScheduler class is the central class responsible for planning individual kanban jobs in Microsoft Dynamics AX 2012. The abstract base class is extended by the following four concrete classes. KanbanJobSchedulerPlan The KanbanJobSchedulerPlan class inserts a process kanban job on a work cell schedule. KanbanJobSchedulerMove The KanbanJobSchedulerMove class updates the expected date and time of a planned process kanban job within the same planned period. KanbanJobSchedulerPlanUpdate The KanbanJobSchedulerPlanUpdate class updates the capacity consumption of a planned kanban job when the job quantity changes. KanbanJobSchedulerDelete The KanbanJobSchedulerDelete class removes a planned kanban job from the schedule. 6 EXTENDING AUTOMATIC PLANNING OF KANBAN JOBS LeanWorkCellScheduleCapacity The LeanWorkCellScheduleCapacity class provides methods to calculate estimated capacity consumption of kanban jobs as well as methods to retrieve free and booked capacity on the given work cell. KanbanJobAutoPlan The KanbanJobAutoPlan class is responsible for planning one or more kanban jobs according to their respective rule setup, considering, for example, the automatic planning quantity and maximum number of planned jobs, as well as the production flow model type and capacity shortage reaction setting. Inserting individual jobs into the schedule is delegated to the KanbanJobSchedulerPlan class. KanbanJobUpdPlan The KanbanJobUpdPlan class is invoked by the KanbanJobType class when a kanban job status is changed to Planned. It performs all actions related to the status change and calls the KanbanJobSchedulerPlan class to insert the job into a work cell schedule. KanbanJobSchedule table The KanbanJobSchedule table contains the schedule of a work cell in a planned period. The schedule is managed as a simple sequence of kanban jobs. Each job has an expected date and time. KanbanJobScheduleCapacitySum table The KanbanJobScheduleCapacitySum table keeps track of already-allocated time and throughput capacity for a given work cell and planned period. KanbanJobCapacitySum table The KanbanJobCapacitySum table keeps track of the estimated capacity usage of individual kanban jobs. 7 EXTENDING AUTOMATIC PLANNING OF KANBAN JOBS Figure 4 Class diagram for kanban job scheduling Extensions and dependencies of automatic planning Automatic planning is an important feature of lean manufacturing, because it avoids manual processes wherever the created jobs are within the automatic planning policy of a kanban rule. However, the default policies provided by Microsoft Dynamics AX 2012 might not be detailed enough to cover specific requirements and individual constraints—for example: Consideration of different planning priorities: Kanban rule priorities Product priorities Customer priorities 8 EXTENDING AUTOMATIC PLANNING OF KANBAN JOBS Complex business constraints that involve: Multiple kanban rules Dependencies on products—for example, possible product sequences Dependencies on kanban scheduling groups To implement extended scheduling constraints in automatic planning, it is recommended that you maintain the basic class hierarchy and structures described here. The main classes that influence the automatic planning process are KanbanJobAutoPlan and LeanWorkCellScheduleCapacity. Impact on performance Automatic planning is called whenever kanban jobs are created. When designing extensions to the automatic planning of kanban jobs, consider that event kanbans and multiprocess activity kanbans allow you to implement pull trees that can cause the creation and automatic planning of tens or even hundreds of kanban jobs with a single business event—for example, the creation of a sales order line or the emptying of a kanban handling unit. Keep these facts in mind when implementing more complex versions of automatic job planning. Performance might be severely degraded by inappropriate changes to the automatic planning classes. For more complex scheduling algorithms, it might be appropriate not to use automatic scheduling, but instead to implement a batch or asynchronous scheduling solution outside of the described framework. Dependency on master scheduling Unless a kanban job is planned in a kanban schedule period, the related receipt transactions are created with a receipt date and time equal to the due date and time. In other words, it is assumed that the job is arriving on time unless it is scheduled. If master scheduling needs to be aware of capacity constraints of the work cell schedules, automatic planning or another scheduling process should be implemented. Dependency on delivery date control capable to promise A special use case that showcases the dependency of kanban scheduling on the master scheduling process is the delivery date control option, capable to promise (CTP). CTP in combination with scheduled or event kanbans requires automatic planning to be active in order to load the kanban jobs on the kanban schedule when sales order lines are created. 9 EXTENDING AUTOMATIC PLANNING OF KANBAN JOBS Glossary of terms Term Definition Kanban In lean manufacturing, a pull signal that represents demand, and that triggers process and transfer activities for a unit of a specific item or item family. Kanban job A kanban relates to one or many jobs of the following types: Process (value-added manufacturing process) Transport The kanban jobs are the planning and executing entities of a kanban. In lean manufacturing, a process or transfer activity that is triggered by a kanban. Kanban rule The rule that specifies that a specific item or items linked to an item allocation group are manufactured or transfer replenished based on a pull signal. In lean manufacturing, a material planning and replenishment policy that governs process and transfer activities that are based on kanbans. Work cell Dissimilar machines grouped together into a production unit to produce a family of parts having similar routings. In lean manufacturing, a resource group that is assigned to execute a process activity. 10 EXTENDING AUTOMATIC PLANNING OF KANBAN JOBS 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, Microsoft Dynamics, and the Microsoft Dynamics logo are trademarks of the Microsoft group of companies. All other trademarks are property of their respective owners. 11 EXTENDING AUTOMATIC PLANNING OF KANBAN JOBS