Site icon The Planning master-For industrial engineer

Production planning and scheduling- Methods for different organizational types

Production planning and control is always a big challenge for large organizations. Control and optimized production can help an organization leap forward for better cycle time and less inventory.

What is scheduling and production planning and control?

At its best, scheduling and controlling, production refers to creating a scheduled (or prioritized) list of tasks for every machine. The list should maximize the output of each tool while keeping cycle time as low as possible for the whole production flow.

I will refer to 3 types of an organization from the easiest to the most complex:

1. Classic and simple organization

  1. Production planning for an organization that has tools (machines) that basically load raw material, process it and create a product. There might be other steps in the production process, but there is no other production process that competes for the same resources. Example: Let’s look at an eco-friendly disposable plastic plant that produces plastic forks and plates. Both products run on the same machine. The production planner will firstly schedule the fork batch to produce a million units and then the plate batch (after finishing the fork batch). Since we start one batch after the other, we can easily schedule it. After creating a list of jobs we can use the standard time to figure out when to expect each production to end. This kind of schedule can easily be done using excel files or simple scheduling software. What are the challenges of this type of planning?
    1. Decide how to prioritize the batches. There can be one or more of the following parameters: earlier promise dates, FIFO, sales priority, customer priority, or any other relevant parameters. Of course, we can use more than one parameter.
    2. Plan your production with the shortest possible setup time. Optimized setup times will increase output.
    3. If there are a few machines that can produce the same product, we can run a simple optimization algorithm that can help us optimize the scheduling to get more output and less downtime.
    4. The scheduling plan in a simple “rubber duck production plan” will look like the following table for each production tool:

A post about production planning is simple organization available: here.

2. More complex production organization

This type of organization uses a few steps to produce a product. At this type of organization, some of the resources are used for more than one production line. The result is the need to directly schedule the use of each shared resource to avoid unnecessary delays. Production planning in this type of organization is challenging but feasible.

The following example shows shared resources in dairy production:

From this figure, we can see that we have 2 production lines that use common resources: weighting and packaging. Now that this is easy, let’s assume that we have 20 production lines that use the same resources. Now we need to schedule those resources so that the main process on each production line will have minimal delay time due to common resources. Let’s add some constraints, such us minimal delay times between phases (for example wait 30 min. for cooling before packaging), products that are not allowed to be produced one after the other without major cleaning (for example, a regular milk product followed by lactose-free milk product). The most complex production organizations have many constraints that need to be taken into account when they plan the production.

Fortunately, we have a lot of production planning software that can help us schedule and optimize production planning. The software takes most of the constraints into consideration and the result usually is a production schedule for every resource usually shown on a Gant chart. The output usually looks like this:

The same batch is running on different tools for different production phases.

The scheduling software can be integrated with the organizational ERP so that it will read, process, and write data back to the ERP. It can also be a standalone software that only reads data from the ERP and creates a standalone production plan for each tool.

In the past, I used good software called Adexa and niche software products. Almost all of them do the same with different ways to add constraints and a little differently optimized algorithms. The most important thing is that you implement it wisely and it should be as fully integrated as possible so that you can run it whenever you want.

For any planner that plans in a complex organization without a scheduling software, I recommend implementing this kind of software fast. It saves a lot of time and gets your money back by reducing downtime.

Hopefully, I will soon add a more detailed post on production planning in complex organizations.

3. Very complex organization

For a full post on production planning in very complex organizations read this post.

In a very complex organization, we cannot schedule the production ahead since the process is too complex, usually due to a lot of phases.

Scheduling in a very complex organization is almost impossible since many batches try to use the same resources and there is a job queue for many tools. We cannot predict what this queue will look like in future and therefore cannot predict which batch will go at what time on each tool. Very complex organizations usually have one or more of the following parameters:

2 Very complex organizations that I worked at:

Semiconductor FAB: there are hundreds of tools on the production floor. Each product runs on a flow that has between 40 and 200 phases. Many tools can be used for more than one phase in the production flow (the material runs on a machine and gets back to a similar machine after a dozen steps). There is always a conflict between running more batches an hour on each tool or running the “right” batches so that we will not have WIP bubbles.

Aluminum extrusion: each order consists of 1 to 80 profiles with different lengths that need to be sent to the customer together. We don’t know when the profiles will be produced, we don’t know if the production will be enough to fill the order since not all production runs smoothly. We have no idea when the products will go through other production phases since there are many constraints. Every tool downtime will change, down the stream, the scheduling by far. We need to supply 10,000 different products at any given time. We get more than 400,000 order lines each year of more than 50,000 different products. Most products run on the same production lines and need to be batched for every phase to increase output and reduce cycle time. Of course, there is no use in running a scheduling software that will have more than 10,000 batches scheduled at the same time.

So how to control the production?

The solution is to create a prioritized job list (or queue) for each tool that will list all jobs waiting to use the tool. The order of the list needs to consider local optimization, which means doing the jobs in the order that maximizes the output and reduces setup time. On the other hand, the list needs to take into consideration the big picture to reduce the cycle time of each product and prioritize what is important.

The solution is called Real-time dispatch (or just “dispatch”)

How does dispatch work?

We have a central planning software that gives every tool a list of all the jobs waiting to be processed with that tool. Each list is prioritized according to the relevant tools, the jobs waiting for it, due dates, and other global parameters (such as avoiding WIP bubbles and processing batches that go into the next phase by a tool that is expected to have long downtime, etc.).

For the dispatch to correctly prioritize all the different jobs on every tool the dispatch algorithm usually takes into consideration:

The dispatch calculates (we can change it to run once every X minutes or hours) the priority of each job waiting in line in front of every tool in real-time. The priority may be changed when the next iteration runs. The jobs queue is presented to the operator that picks and processes the next batch. This is what it looks like:

Dispatch – prioritize jobs waiting to be processed on a resource

Advantages of real-time dispatch:

  1. Allows us to control the production with algorithms that are not too complex.
  2. The system prioritizes from scratch every time there is a change in the production process or tools.
  3. We don’t need to plan ahead since the order of events is not too complex. We make the right choices at every stage and that’s how we move the batches forward.

Disadvantages of dispatch:

  1. You need a different mindset. That is not easy for everyone.
  2. There is no due date for the client, there’re only estimations.

Dispatch summary:

This method works very well in a very complex organization that cannot use other methods. The algorithms are usually very easy and very clear (although in semiconductor some algorithms can be a little tricky).

I like this method since it always works smoothly. We don’t need to create new production plans on every change (such as downtime of a tool or set of tools, a new prioritized customer order entered, the material gets scrapped and new material replaces it, etc.). The algorithm generates new plans without the need for the planner to be there.

Want to know more about the dispatch mode?

You can read the post on how I implemented the dispatch at a semiconductor fab.

I will be happy if you leave a comment or send me a note to theplanningmaster@gmail.com

Exit mobile version