If you are reading this blog post, you already know the difficulties of scheduling your production purely with standard Microsoft Dynamics NAV and Dynamics 365 Business Central. Working on a proper schedule is so difficult. Typically, you get lost in all these open tables that are required to get all information needed. Let’s not forget to mention the difficulties to understand the grand scheme of things when you change data. Not to speak of getting this bigger picture by comparing the impact of data changes. The fact that many NAV and Business Central users regard this task as very tedious was, by the way, confirmed by the data that comes from our State of Business Central & Manufacturing Report.
In this blog post, I shed a light on how you can ease this task with production scheduling extensions and add-ins. While doing so, I also elaborate on the differences between purely manual drag & drop production scheduling and automatic scheduling based on scheduling rules
A short intro into production scheduling goals and options
We at NETRONIC are all about operational agility. A proven (if not: the most rewarding) technique to achieve operational agility is visual scheduling. Back in 2012, we realized missing production scheduling capabilities within Microsoft Dynamics NAV and decided to close this gap. We wanted to give manufacturing users of Dynamics NAV the option to visually manage their production schedule. Consequently, we released our first product for NAV in 2013: the Visual Production Scheduler (VPS) for Dynamics NAV.
And by the way: We still maintain the VPS for Dynamics (for all role-tailored client versions, still!). The VPS provides customers with a high-level view of their production orders, routings, and work & machine centers. It achieves an unprecedented way to achieve transparency of the production schedule. This transparency comes from visualization, which allows at the same time to sophisticate (many information) and to simplify (all in one picture). As such, the VPS gives manufacturing customers the ability to see their data side by side, making it easier to make comparisons, assumptions, and decisions.
Executing these decisions based on visual data can be done easily, using our drag and drop functionality – which until today serves as one of our most beloved and important features.
However, we did not stop with the VPS for NAV. Firstly, we have been developing an enhanced version of the Visual Production Scheduler for Dynamics 365 Business Central. Secondly, we decided to develop a "bigger brother" to the pure drag & drop visual scheduler: the Visual Advanced Production Scheduler (VAPS) is the first finite capacity scheduling extension for Dynamics 365 Business Central and adds automatic scheduling to the plate.
With that, the scene is set to compare drag & drop production scheduling with automatic production scheduling, and to advise what you should go for.
Foundation of our drag & drop production scheduling
Our products allow the user to visually make changes to their production schedule. This is done by dragging & dropping operations. On standard Business Central, without a visual scheduler, this takes a lot more effort. Users have to drill into individual tables and change values (dates and times) manually without seeing the bigger picture.
The basic principles of our drag and drop scheduling include the following:
- Horizontal drag & drop - changing the start and end date of the operation.
- Vertical drag & drop - changing the work center or the machine center assignment of that operation.
- Diagonal drag & drop - a combination of both.
When you do any of this within standard Dynamics NAV or standard Dynamics 365 Business Central, the entire production order is rescheduled. That means, all predecessors, as well as all successors of the just changed operation, are updated as well. The Dynamics system does this in a way that there is never a gap between operations from the same production order.
Our standard drag & drop scheduling is different. By default, it treats the operation individually and does not cause any rescheduling of any other operation. With this, users have full control of what is happening.
However, we also allow the VPS to mirror the standard Dynamics NAV / 365 Business Central behavior. But, we do this a bit more focused.
- Users can select if they want to have all successors moved (automatically) after they dragged & dropped an operation. Predecessors will stay where they were. The rescheduling happens as in the Dynamics system: with no gaps between the changed operations.
- Users can select if they want to have all predecessors moved (automatically) after they dragged & dropped an operation. Successors will stay where they were. The rescheduling happens as in the Dynamics system: with no gaps between the changed operations.
- They can combine both.
With these options, users not only have more control of their operations and hence their schedule. They also can create gaps between operations from one production order - which they can't with standard Dynamics 365 Business Central.
Nevertheless, there is one relevant gap - both in the standard Dynamics system and in our drag & drop scheduler (Visual Production Scheduler) which mirrors this system. Dynamics NAV and Dynamics 365 Business Central are good for time scheduling, but they are not good when it comes to capacity scheduling. This system does not come with any reasonable kind of finite capacity scheduling.
Drag & Drop - combined with finite capacity schedule
The introduction of the Visual Advanced Production Scheduler (VAPS) in early 2020 gave us both the need and the platform to rethink drag & drop production scheduling. The VAPS is the first finite capacity scheduling extension that fully integrates into Microsoft Dynamics 365 Business Central. As such it closes the aforementioned gap of Business Central and enables manufacturers to do finite capacity scheduling.
The thing is: finite capacity scheduling means that a scheduling engine takes care of calculating the results of any change to the schedule. It is in the nature of a scheduling engine that it follows certain rules. Of course, these rules have to get applied when doing drag and drop scheduling as well. If not, the scheduling application would generate inconsistent results.
As logic as "applying rules" sounds, as impactful it is for the drag and drop scheduling. Applying rules means more formalism and fewer degrees of freedom. Drag and drop with a finite capacity scheduling engine still come with the two general drag directions (horizontal and vertical), however, the drop fundamentally changes. With the "drop", the user tells the system: "I want this operation to be positioned here". As now finite capacities are applied, this also means: if I position this operation here, the operation that was here before needs to get moved out.
Drag and drop scheduling combined with finite capacity scheduling always is a change of priorities. This is fundamentally different from a "pure" drag and drop scheduler.
Having this in mind, we enriched the finite capacity drag & drop scheduler with two functions:
- "Change started operation" - this allows the user to make drag & drop changes to an operation even though it has already output posted on the production journal. The changes can be twofold:
- Make the operation longer (if e.g. the posted quantity is less than should have posted by now).
- Move the operation (so that e.g. remaining quantity will be produced at a later stage)
- "Force move" - users may pin operations to make sure that they are not moved by any of the automatic scheduling tools (explained below). These pinned operations may be "forced to move" to violate the regular routing sequence. With this, the user gets back full control over the selected operation (and over any automatic scheduling mechanism).
New automatic scheduling options introduced in the VAPS
With having a finite capacity scheduling engine in place, we also could start to implement automatic scheduling complementing the drag & drop scheduling.
When we designed our automatic scheduling system, we decided to optimize for trust (instead of optimizing for algorithmic sophistication). We wanted to build a visual scheduling software that Business Central would understand and hence would trust.
Consequently, we decided against the magic "optimize everything now" button. Instead, we developed multiple scheduling instruments.
Those scheduling instruments are meant to focus on concrete scheduling challenges. They are not meant to be magic. They are meant to be effective, efficient, and easy to understand by the user. The idea of having scheduling instruments is key to the Visual Advanced Production Scheduler. We want you to be in control of your schedule - a schedule that you trust.
These instruments are:
Single production order scheduling (this can be done by right-clicking an operation)
- Apply standard routing – applies to an operation and all following operations belonging to the same production order. It adds the selected production order to the schedule without changing any previously scheduled production orders and assigns operations to their default machine centers as defined in their routing. This function provides a rapid answer to the question: "what is a realistic finish date for this production order based on the current capacity utilization?"
- Apply alternative routing – applies to an operation and all following operations belonging to the same production order. It works like the "apply standard routing" function but additionally takes into account all defined alternative machine centers (incl. their production coefficients), which is a VAPS-specific function. That way, it provides a rapid answer to the question: "what is the fastest finish date for this production order if I make the best use of any free capacity that I have?"
Bulk scheduling (under the schedule tab)
- Add All – All operations that are currently on the standby resource (new production orders) are scheduled to their default machine centers, without changing any previously scheduled production orders. The sequence with which these orders are scheduled follows a prioritization metric that tries to avoid scheduling productions too late.
- Add All including Alternative Machine Centers – All operations that are currently on the standby resource (new production orders) are scheduled to any available machine center that has been defined as an alternative machine center, without changing any previously scheduled production orders. The sequence with which these orders are scheduled follows a prioritization metric that tries to avoid scheduling productions too late.
- Fill Idle Times – Applies to all operations that have already been assigned to a machine center. It aims to improve the utilization of all machine centers without negative impact on delivery dates, but only looking at the default machine center on each specific operation on the routing.
- Fill Idle Times including Alternative Machine Centers – Applies to all operations that have already been assigned to a machine center. It aims to improve the utilization of all machine centers without negative impact on delivery dates, by looking at spaces in any defined alternative machine center.
Difference between drag & drop and automatic scheduling
As you might’ve already seen from the various descriptions provided above, there is a huge difference when working with drag & drop scheduling versus automatic scheduling. Also, there is a difference between "pure" drag & drop scheduling and finite capacity drag & drop scheduling.
|Pure drag & drop scheduling||Finite capacity drag & drop scheduling||Automatic scheduling|
|Makes sure the due date is not violated||No - but a violation is visually indicated||No - but a violation is visually indicated||Currently: no (but a violation is visually indicated) | can get achieved with respective scheduling algorithms|
|Takes into account the routing||Yes or no - depending on how the user sets up the scheduler||Yes - always||Yes - always|
|Takes into account the machines' capacity||No||Yes||Yes|
|A change to one specific production order can cause changes to other production orders||No||Yes||No - if scheduling instrument is applied to just one production order|
|Takes into account alternative machines||No||Yes||Yes|
|Takes into account material availability||No||Yes||Yes|
|Can change already started operations||No||Yes||No|
|Ability to schedule several production orders at once||No||No||Yes|
Closing recommendation: "the winner takes it all"
In our view, and also based on our experience of more than 500 visual production scheduling implementations, the decision should not be either/or. Instead, we recommend going for a both/and approach.
- With such an approach, users should go for automatic (bulk) scheduling first. This helps you to quickly and efficiently schedule all the new production orders - without impacting the current schedule. Automatic scheduling brings speed and efficiency to your scheduling process.
- Then apply different color schemes and look for exceptions. Look for production orders that you need to take care of, and schedule them via drag & drop: If they require your attention, they most likely need to get another prioritization. This is what finite capacity drag & drop scheduling is all about.
- Once done with handling the exceptions, you should "clean up" your schedule again. Remember: every drag & drop scheduling can have effects on other production orders again. The function to "clean up" the schedule is automatic again. We call it "fill idle times", and it makes sure that some machine gaps are filled which were caused by the manual changes you made before.
Want to take a deeper dive into the VAPS?
- Watch a recorded webinar about the Visual Advanced Production Scheduler.
- Book a free demo with a VAPS specialist.
- Get your free copy of our comprehensive eBook: