Production Scheduling

SMT Assembly Line

 

Production Scheduling

When we need to process different products in the same line we want to work out the best job sequence to minimize lead time and maximize capacity utilization.

We also need to work out the minimum lot size to meet the demand and minimize lead time.

Before we can commit the delivery date of a new job to the customer we need to know the status of the jobs already being processed

For non repetitive processes you can use project management scheduling

The ideal of "Lean Production" is lot size of 1 but this is not always possible when change-over time is significant. 

This change-over involves loading different components and changing jigs or molds. 

When change over or setup time is significantly higher than process time we are forced to work with larger lot sizes.

One way to minimize lot size is to minimize setup time. The SMED (Single Minute Exchange of Dies) methodology has been very successful to reduce setup times from hours to minutes. 

Change Over


Different products use different components so reels of previous components need to be replaced with reels of new components. This could be a time consuming job.  

In test stations you may need to change test jigs and programs.

Scheduling Constraints

In a sequential line products are processed through a number of workstations following a certain sequence but process parameters are typically different for each product type. Each workstation, in order to do the work needs:
  • Equipment available
  • Operator ready
  • WIP (Work In Process) from the previous workstation available
If any of these are missing the workstation stops.

Any of these stops affects all subsequent operations and the overall lead time as seen by the customer. 

We also want to do the job with minimum:
  • Equipment time
  • Operator time
  • WIP waiting time
The problem is that unless everything is perfect someone has to wait.

Examples of Time Optimization


  • In the case of a spaceship, to minimize astronaut time, a huge team of ground support personnel is available.
  • In an airport, to maximize runway utilization (airport bottleneck): planes, pilots, personnel and customers, need to wait to take off.
  • In Formula I races, a 7 second service time is achieved with a team of 10 people doing nothing most of the time during the race, and just working very fast and well organized during those 7 seconds.

Waiting in a Sequential Line

In a line workstation, either the equipment or the operator will be idle or there will be excess WIP.
If we only focus on capacity utilization this will increase operator and WIP waiting.
If WIP waits don't forget it is the customer order that is waiting.

Case 1: Equal Operation Process Times:



In this ideal process, time is the same in all operations, and all orders: 2hours. 
So, nobody waits: while WS A is processing Order 2, WS B is processing Order 1.
The total lead time for each order is 4h.

Case 2: Different Operation Process Times

In this case operation B takes longer than A so order 2 will have to wait for operation B to finish with order 1, and therefore Order 2 will take 4h instead of 3 to complete, and this will affect the total lead time seen by the customer waiting for this order. 

It will also increase the amount of WIP in the line.

The second operation (B) takes longer than the first (A) so it becomes the bottleneck in the line causing an accumulation of WIP in front of it.

Case 3: Bottleneck in Front


In this case the first operation (A) takes longer than B so workstation B will be idle until order 2 arrives, and this will decrease B capacity utilization.

The lead time seen by the customer (3h) is not affected but we are underutilizing our resources (B)

So why do we need scheduling?


Excel Scheduler

Download this Excel file   SCHEDULE5eng.xlsx   from OneDrive on to your PC.



It is used to schedule an electronic circuit assembly line with 4 operations in this sequence:
  • SMT: Surface Mount Technology automatic component placement and reflow soldering
  • INS: Manual pin-thru-hole component insertion and wave soldering
  • ICT: In-Circuit Test
  • FUN: Functional Test


Process Parameters


In sheet Times we must input Equipment times , Operator times and Number of operators for each of the 4 operations and for each product.


Cycle Times are calculated from these:

 Cycle Time = max( Equipment time ; Operator Time/ Number of Operators)

In this example we want to maximize production with the existing equipment by adding as many operators as required to do this. Therefore:

Number of operators = Operator time / Equipment time (rounding up)

For instance number of operators for Prod A   operation  INS = 18:30 / 01:00 = 19 (rounded up)

The scheduler will use these calculated cycle times, and calculate the total operation time for each job:

Job operation time  =  Setup time  +  Cycle time x Quantity

Setup times for each operation are input in the Main sheet and are assumed to be the same for all products.

With the current number of operators you can notice that Cycle times are identical to equipment times: by adding enough operators we have ensured that the line capacity is limited by equipment times and not operator times.

Obviously the number of operators calculated may not be feasible, in which case we enter the available operators and processing will take longer as we will experience later.
 

Main Sheet



  • Order: order in which we want to run the jobs. It should have numbers 1 to 10 in the order we decide.
  • Prod: has the products to be produced selected for the ones we defined in sheet Times .
  • OK:  number of operations already completed (0 to 4)
  • Qty: quantities we need to produce of each product
  • starting time stamp: day and time we will start producing

Gantt Chart

The Gantt chart shows the scheduling result:



By placing the cursor on the chart we can see the starting or ending time stamp for any operation and product.
WIP waiting times are in light colors and these are what we want to minimize to reduce lead times.
We can also notice when workstations are idle.
In this case, if we start on 1/6/2021 at 6:00 and all 10 jobs will be finished before 6/6/2021.

Additional Inputs and Results


  • The number of work cells in each operation is 1 by default but we may have up to 5.
  • Setup times need to be defined for each operation. In this example it is the time it takes to unload all component reels and load the new ones for the next product. In the case of test it is the time it takes to change the test jigs and load the new program. We assume all products have the same setup times.
The next 2 lines are outputs:
  • Total process times of each workstation (no waiting times included)
  • Capacity utilization of each workstation. You can notice that SMT with 100% utilization is, in this case, the bottleneck for the whole line.
Total lead time and average lead time are outputs that will affect the customers which we want to minimize.

Schedule for Each Workstation


A detailed schedule is automatically generated for each workstation with starting and ending timestamps and number of operators required.

The actual times can be added on the right columns to be used on the next reschedule.

Bottleneck Scheduling


Looking at the capacity utilization of the 4 workstations we notice that SMT has 100% utilization but all the rest are well below.

This indicates that the bottleneck of this line with these required quantities is SMT. In this case the bottleneck happens to be the first workstation so the following stations are starved of products so they can't process as much as they could: they will be idle some of the time.

The order in which we have scheduled the 10 jobs has been from lowest use of SMT (bottleneck) time to highest use.

Let's see what would happen if we reverse the order: Highest use of bottleneck first:


We notice that the total lead time has increased from 5 days 17h to 7 days: an increase of 1 day and 7 hours.

Average job lead time has also increased from 1d 10h 24m to 1d 13h 16m

Capacity utilizations continue to be very low. 

It is obvious that it makes no sense to schedule products A and B at the end since they do not use the bottleneck so if we just put them first keeping the rest of the sequence as it is we would get a total lead time of 6 days 11h: still worse than the first option.

The first conclusion is that we should schedule focusing on the bottleneck workstation and process from least to most bottleneck use.
 

Bottleneck in the last operation

Let us now keep the same sequence of products but change the quantities to the inverse order:

In this case we notice that this sequence has a lot of waiting time before the INS and FUN operations. Capacity utilization is very good but average lead time is very high: all jobs except the first have a lot of waiting and these long lead times (average of 3d 16h) will be unacceptable to the customer.
The bottleneck in this case is FUN
We notice that with this sequence we are scheduling from highest bottleneck (FUN) use to lowest, so let's try the reverse order:


Total lead time has increased 1d 4h but average lead time has decreased from 3 days 16h to 1 day 10h (less than half).
This, therefore, reinforces our previous conclusion: schedule from less bottleneck use to more.

Schedule with Operator Constraints

Let us go back to the original setup:  

In the examples so far we have assumed that there are enough operators in each workstation so that the equipment never stops but this assumption may not be feasible.

Looking at the schedule for the INSERT operation we are using 19 operators for product A and the number decreases down to 1 for product J.

Let's assume that we only have 3 operators available to perform this operation for all products:



In the Times sheet we enter 3 in the number of operators for all products and the result is that now cycle times have increased above equipment times. This means that now the operators will be the constraint rather than the equipment in the INS workstation.

The resulting schedule is:

Now INS has become the bottleneck and there is an accumulation of products waiting to be processed in this workstation causing waiting time in all jobs. Average lead time has increased from 1 day 10h to 2 days 21h (it has doubled). Total lead time has only increased 10 hours.
 

Cell duplication

Let us now set back the original number of operators for INS: 


In a line we will always have a bottleneck which limits the capacity of the whole line. In some cases we might be able to duplicate the bottleneck workstation to increase the overall line capacity.

Let's duplicate the SMT workstation which was the bottleneck in our first example to see the effect:


Total lead time has been reduced from 5 days 17h to 3 days 15h (more than 2 day reduction)

Average lead time has increased 4 hours: we have waiting in INS and FUN.

We notice that SMT capacity utilization has decreased from 100% to 86% while utilization in the other 3 workstations has increased.

Let's see if duplicate INS and FUN as well:


We notice that total lead time has not improved but average lead time has decreased 9 hours: practically no waiting time.

Since we have increased all capacities capacity utilizations have decreased.

Reschedule

A production schedule needs to be kept up to date at all times in order to be useful. 

All those involved need an easy access to an up to date schedule.

In order to do this operators need to confirm in the scheduler when each operation is completed.

One way to achieve this is to have the scheduler in the cloud (Intranet, Google Drive, One Drive, etc.) and give write or read access to those required. This can even be done with a standard smartphone

Let us see how to update our schedule daily.  

Going back to our first schedule starting on 01/06/2021 we normally have to update this schedule at least daily or when a major change has taken place. 

We need to remove what has already been done and add any new jobs. Let's see how do we reschedule on the next day 02/06/2021:


We change our starting timestamp to 02/06/21 06:00 and then input in the OK column: Products A and B completed (4 operations finished) C and D only FUN is missing (3 completed) and in product E (2 conpleted).
If there are any new jobs we would add them at the end.
Now we have completed a new schedule, which should be made available to all participants in real time.

New Order Received

When a new order is received it should be scheduled taking into account all existing orders being processed. 
Asume a new order for 400 products G is received on 02/06/21, then we add it to our schedule:


This order will be started on 06/06 at 9:13 when the SMT workstation becomes free. 
We can commit to the customer delivery on 07/06 at 20:16.

Manufacturing Lot Size

A critical decision in manufacturing scheduling is the manufacturing lot size.

One alternative is to make it equal to the customer order lot size.

The customer may decide to place large orders in order to benefit of lower price offers but this may block the line for long periods affecting other customers. 

One alternative is to agree on breaking down a large order into smaller daily or weekly deliveries to avoid WIP accumulation both in our line and in the customer. 

See how to calculate the minimum manufacturing lot size in Lot Size and Constraints
 

Job Splitting

Due to the setup times, every time we change product, we may think that the larger the lot size the better. Let's see this effect with a new example:

We need to produce these 5 products with quantities of 500 each.

What would be the effect of splitting the jobs of 500 into two of 250?

In spite of duplicating setup times we see average lead times have been halved and total lead time is also reduced.
We would, of course, need to agree with the customers to split the deliveries in two

Conclusions

  • To commit a delivery time for a new customer order, we need to schedule production, taking into account existing jobs already in process
  • When a job is given priority we need to know the impact to all other current jobs
  • Job scheduling enables lead time reduction while increasing resource utilization and therefore effective line capacity improvement
  • To optimize scheduling we should focus on the bottleneck
  • Schedule jobs from lowest to highest bottleneck utilization
  • After total lead time is minimized small changes in sequence will allow the reduction of waiting times and therefore the reduction of specific job lead times.
  • By meeting the resulting schedule on each workstation we will insure on-time delivery to the customer.
  • Regular rescheduling is required to adapt to the real current situation
  • The scheduler could be an essential component of a virtual Obeya Room to keep all involved up to date
  • Normally we need to schedule just a few new jobs each day but taking into account all other jobs already in progress
  • There is multiple job scheduling software in the market

Comments

Popular posts from this blog

Design of Experiments (DOE) with Excel

Response Surface Design Of Experiments with Excel

Six Sigma Virtual Catapult with Excel