You are on page 1of 26

Int J Adv Manuf Technol (2011) 53:993–1018

DOI 10.1007/s00170-010-2880-3

ORIGINAL ARTICLE

Simulation and modelling methods in aluminium


rolling industry
Christos Ioannis Papanagnou · George D. Halikias

Received: 18 December 2008 / Accepted: 30 July 2010 / Published online: 29 August 2010
© Springer-Verlag London Limited 2010

Abstract Aluminium coil production plants can be 1 Introduction


described as multi-stage processes which are often
characterised by complexity and are expected to ma- Production management problems in steel industry
nipulate huge amount of data. Effective scheduling is play an essential role in industry, by which managers
a key issue for these processes since it can improve can determine the production loading plan, respond
throughput rates and machine utilisation. This paper promptly to machine failures and improve productivity
studies the production line of companies which produce by creating different scenarios and decision making.
high-quality rolled aluminium lithographic strips. An Production planning and scheduling, in the production
efficient representation for such production processes management framework, become vital for achieving
is provided and subsequently used for an extensive efficient resource allocation, in meeting end customer
analysis and performance evaluation through appro- demands and in determining the production loading
priate metrics. In particular, the work addresses the plan [1, 2]. Thus, production planning in manufacturing
implementation of an overall model in a simulation involves in most cases the synchronisation with the
environment, capable of integrating the various as- downstream demand and thereby has a strong impact
pects of the specific production management processes. in warehouses of both manufacturers and other partici-
The model was successfully validated using actual pro- pants of supply chains [3]. A more detailed task in man-
duction data, and it was found that it is suitable for ufacturing is production scheduling where managers in
the modelling, analysis and performance evaluation of the context of the optimal production planning must
the complex aluminium coils production process. With couple individual products with individual productive
the aid of the model, various scenarios were investi- resources in the shortest times. Wu et al. [4] suggest that
gated via extensive simulation runs, such as installing scheduling can be a cumbersome task especially in cases
additional machine centres and reducing pre-set times when last minute changes are imposed by machine
the products spend in intermediate storage areas. breakdowns, new high-priority orders arrival and the
occurrence of other disruptions.
Keywords Aluminium industry · Simulation and This work is motivated by the problems faced
modelling · Production management · Manufacturing by manufacturing plants which produce high-quality
processes · Throughput · Machine utilisation rolled aluminium lithographic strips (coils) products.
Papanagnou et al. [5] use coloured Petri nets to model
and simulate an aluminium coil production plant.
C. I. Papanagnou (B) · G. D. Halikias They argue that decision making in those plants in-
Control Engineering Research Centre, volves the development of a weekly production loading
School of Engineering and Mathematical Sciences,
City University, EC1V 0HB, London, UK plan according to a list of products assigned to cus-
e-mail: c.papanagnou@ieee.org tomers by considering workforce level, manufacturing
G. D. Halikias capacity, priority orders and other factors (e.g. de-
e-mail: g.halikias@city.ac.uk mand management, forecasting techniques etc.). This
994 Int J Adv Manuf Technol (2011) 53:993–1018

kind of finished products are implemented in make written with the aid of functions which model each
(engineer)-to-order (MTO) industrial environments single process/subprocess and other issues that need to
where customers or suppliers place independent de- be modelled such as annealing times depending on the
mand information further into the plant [6]. In these coil type entering the annealing machine.
cases, the strip product specifications dictated by cus- Due to high complexity in some parts of the produc-
tomers are coordinated with engineering resources and tion plant, we were forced to make certain assumptions
capacity while a due date of delivery is agreed with which are clearly described later. The main body of the
the customer. More specifically, end items are placed tool was written having in mind a generalised model
in the master weekly schedule, and production plan- such that any changes in the parameters of the plant
ning then specifies the necessary production. While the (e.g. number of annealing machines, cooling-times etc.)
main production schedule is based on orders in hand, can be made very easily. We have also put an effort to
it is possible under certain conditions (e.g. a known make the modelling assumptions as realistic as possible.
maintenance plan in machinery that might slow down The main motivation for carrying out modelling
the production in the near future or reduced orders) to work in this area is the need for formulating and solv-
develop a schedule of products with high demand [7]. ing scheduling problems. These are normally used for
The main objectives of this research is to create a the purposes of matching production output to orders,
simulation tool as accurate and flexible as possible for identifying bottlenecks in the process or evaluating
modelling the production process. Various simulation the effects of capital investment and maintenance pro-
tools and techniques have been proposed in litera- grammes. Note that different types of models can be
ture [8–10] and [12] including sophisticated models in used, each appropriate for different purposes, depend-
dynamic changing environments such as manufacturing ing on their level of abstraction. The main challenges of
processes and performance optimisation and overall scheduling optimisation in rolling plants arises due to
evaluation of production management. This work is the high complexity of the problem and the presence of
focused mainly in the most complex part of steel pro- mixed numerical, logical and combinatorial constraints,
duction lines where annealing, cold rolling, levelling– including linguistic-type constraints which are difficult
degreasing–stretching operations and temporary stor- to express analytically. The high complexity of the
age of limited capacity facilities are integrated with the problem often implies that practical scheduling solu-
aid of a moving crane. Sequencing all these operations tions often rely on heuristics and empirical production-
gives rise to numerous problems and complexity, es- management practice, while formal optimisation tech-
pecially when customer requirements dictate a large niques are often restricted only to specific parts of
variety of product characteristics [13]. the process rather than the whole plant (plant-wide
In contradiction to similar works [10, 12] and [11], management).
the proposed simulation tool outputs include statistical Fang and Tsai [15] propose a genetic algorithm ap-
data of each individual work machine station, mea- proach to the solution of the scheduling problem in
surement of throughput in a given simulation time and steel rolling mills. The optimisation is carried out sub-
counting of crane movements and temporary storage ject both to hard and soft constraints. Hard constraints
capacity area. The full production process can be also are associated with dimension order specifications, se-
captured through graphical representation of the work- quencing rules arising due to quality surface require-
load of each machine centre and temporary storage ments, smooth transitions in gauge between successive
area. In effect, the user can assess the performance of slabs etc. Soft constraints are mainly associated with
various scheduling policies and identify bottlenecks and scheduling heuristics, e.g. rules specifying that slabs
likely future capacity overloads. should preferably be selected together and continu-
The model was implemented in Matlab [14], but ously from the top of the stack etc. Rules of this type
the code can be ‘translated’, after minor modifications, arising from operator’s experience can offer significant
to any other high-level programming language, if re- help in reducing the complexity of the scheduling prob-
quired. Matlab is a powerful tool for mathematical lem. Scheduling rules of this type are also used in this
programming, modelling and simulation. Preliminary work, especially in relation to the loading of coils in and
trials indicated that Matlab is perfectly adequate for out of the high-bay storage area.
running the code fast and efficiently for the anticipated Other scheduling optimisation methodologies in-
complexity of the final simulations. The software tool clude constraint logic programming [16, 17] which com-
can also provide a friendly user interface through which bines a constraint-solving and a logic programming
the user interacts with the simulation tool without pro- approach and is capable to address mixed logic/
gramming or recompiling. The software programme is linguistic and numerical objectives and other methods
Int J Adv Manuf Technol (2011) 53:993–1018 995

based on classical optimisation, such as network-flow


methods [18], queuing theory methods [19], dynamic
and linear programming approaches [20], timed au-
tomata [21], combinatorial and global optimisation
methods etc. Note, however, that all these formal meth-
ods rely on mathematical ‘meta-models’ which are nec-
essarily more abstract compared to the more intuitive
linguistic descriptions of the process.
The structure of this paper is as follows: First, a
description of each stage of the production line is
given, with all the assumptions clearly stated. An ex-
tensive analysis based on this description can increase
efficiency by allowing inventory only when it is needed,
identifying bottlenecks, balancing capacity and gen-
erally coordinating the smooth flow of coils. More-
over, analysing the production line as a whole to find
out where most of the time delays occur allows the
production manager to focus attention on those ‘bot-
tlenecks’ in order to shorten throughput times [22].
Next, the developed simulation system is introduced
together with a description of the software tool and
its main characteristics. Within this context, some im-
portant issues of aluminium coils production line are
examined in terms of modelling and simulation. Finally,
various scenarios are presented addressing key factors.
A quantitative analysis of the software tool is finally
performed, involving some important indicators (e.g. Fig. 1 Production line of aluminium rolling industry
throughput, effect of number of annealing machines,
capacity of high bay, effect of cooling time etc.) in
production process modelling. The model was success- simulations. In the next section, a detailed description
fully validated using actual production data, and it was of each stage is presented together with the correspond-
found that the simulation tool is suitable for modelling, ing parameters values taken by actual plant process
analysis and performance evaluation of the complex which are used in the proposed simulation model.
production process. Results show that production man-
agers can strongly benefit by the proposed model in 2.1 Phase 1: hot-line
understanding the dynamics of the process and in im-
proved decision making. In the first production phase, slabs are delivered to the
manufacturing plant by following a scheduled delivery
date which is based on an annual order plan. Batch of
2 Description of production line for strip products slab units according to customer needs and production
scheduling enter manufacturing plant once or twice a
The production line shown in Fig. 1 can be divided into week. A typical annually scheduling scheme in steel
three main individual work stages (phases) according industry is divided in 52 weeks period time while the
to the nature of the manufacturing process, time and weekly planning commencing in the first working day
layout of the plant’s machinery. The first stage includes of the week. Although usually there are more than 31
slabs’ delivery, scalping, hot-rolling and tandem mill different slab types according to their size characteris-
process (hot-line). The second integrates temporary tics, for simulation purposes we consider 18 different
storage in a column high-bay location, annealing and coil products. Since certain types of slabs result in
cold rolling (litho centre), while the third stage includes certain type of coils, a classification is made before
levelling, stretching and degreasing treatment (BWG), entering in the shop floor.
quality control and final storage. All parameters used A weekly process plan according to the amount and
(capacities, delay times, material properties etc.) are set type of customers’ orders is proposed and forwarded
nominal values which can be easily modified between to the scalping process. Next, the slabs enter into a
996 Int J Adv Manuf Technol (2011) 53:993–1018

tunnel furnace where they are heated to the necessary high-bay storage location). This period time is called
hot rolling (recrystallisation) temperature. After that, loading rate. In the high-bay distribution warehouse
every single slab having now lower hardness and in- assumed of 440 racks capacity, coils are stored using
creased ductility with the aid of a special crane is placed special automated handling equipment. Apart from
in a reversible mill, and each slab is rolled down to its those coils delivered from the hot-line shop floor, high
hot rolling thickness in several passes. bay stores coils to be annealed and coils to be passed
The last continuing task in shop floor involves the through the cold rolling mill. Due to spacing restriction
tandem mill process which is used to achieve a desired and several other conditions, special computer software
thickness and surface quality. The output thickness is is used to manage all these progressions. This software
set to 2.6 mm. As a result of tandem mill processing, keeps a list of all stored coils and makes a decision of
plates are wound into roll-form (coils) after a series of the next process using a sophisticated communication
flat rolls. Coils are then stored temporarily in the hot- protocol. Thus, the nature of high-bay design requires
line building before being dispatched to litho centre. the manipulation of large amount of data, and it is often
Maximum capacity of storage area is currently 50 coils, an iterative process that forces the production manager
which is one of the parameters under consideration for to go through the different decision-making phases sev-
modelling. eral times before reaching the final decision. For mod-
For modelling purposes, the coils that exit the hot- elling convenience, coils of the same characteristics are
line process are divided into 18 different types accord- grouped together according to order types. However,
ing to the final gauge, width and whether are intended if differentiation must take place, an external decision
for special annealing furnace times which are deter- maker can adjust any priority list. This happens usually
mined by specific individual customers and they are when a priority to a special order must be given since
distributed to the manufacturer when orders are placed special coil treatment requires more time resources.
on site. Table 1 shows the 18 different coil types. The next step for a coil that has been transferred
into the high bay is annealing. Annealing process is
2.2 Phase 2: litho centre used to change coil’s strength, ductility and hardness
by heating them to their recrystallisation temperature.
In the next stage of production, line coils are dispatched An annealed coil is softer and more homogeneous with
from the hot-line shop floor to a column location (high relieved internal stress allowing production managers
bay) which is located at the litho centre, and it is used to proceed them thereafter to cold rolling process. Coils
as an automated intermediate storage system with hor- are batched annealed in groups of four and in some
izontal and vertical space. It is assumed that only one cases in groups of three following the grouping decision
coil at specified period time can enter the litho centre made by the computer. Grouping is made according to
(which is subject to crane availability and free space in width. There are three different ranges for coils’ width.
These are (a) slabs that have range less than 1,150 mm,
(b) those with width between 1,150 and 1,380 mm and
Table 1 The 18 different coil types
(c) slabs with a range greater than 1,380 mm. Annealing
Coil type Width Gauge Special product time also varies according to coils’ width and is 8.5 h for
1 Wide Thick No narrower coils and 10.5 h for wider. These value para-
2 Medium Thick No
meters are set by production managers, and they com-
3 Narrow Thick No
4 Wide Standard No
ply to annealing machine centre settings/specifications.
5 Medium Standard No In some cases of special customer demand, annealing
6 Narrow Standard No cycle can be up to 12 h long. After strip coils achieve
7 Wide Thin No the required mechanical properties during annealing,
8 Medium Thin No they return to high bay and remain there for about
9 Narrow Thin No 72 h. There are three annealing furnaces installed on
10 Wide Thick Yes the plant operating in parallel.
11 Medium Thick Yes
The next process after the coil has been cooled
12 Narrow Thick Yes
13 Wide Standard Yes inside the high bay following annealing is cold rolling.
14 Medium Standard Yes Cold rolling machine centres in contrast to hot rolling
15 Narrow Standard Yes process heat the coils in temperatures lower than re-
16 Wide Thin Yes crystallisation temperature. Coils intended to be led in
17 Medium Thin Yes cold rolling machines are batch in groups of 20 or 40
18 Narrow Thin Yes coils according to their width and final gauge. The cold
Int J Adv Manuf Technol (2011) 53:993–1018 997

rolling mill allows the production of plates with low Ni et al. [25] argue that asynchronous manufac-
gauges and special tempers. Cold rolling process apart turing systems are characterised often by complexity
for heating process reduces each time the thickness of and limitations in terms of modelling and simulation.
the plate by roughly 50%. That means that after the Therefore, managers prefer to develop an appropriate
first pass, the thickness of the plate becomes 1.3 mm, synchronous model that can be used as an approxima-
after the second 0.65 mm, after the third 0.27–0.28 mm tion of the behaviour of an asynchronous model. The
or 0.38 mm according to coil sizes and characteristics synchronous model forces events (beginning and end
and finally for special customer needs a fourth pass of processing, transfer of parts from one buffer to the
halves the thickness to 0.140 mm. The time needed for next one, breakdowns, maintenance etc.) to occur only
each rolling depends on the speed of rolls and can vary at times that are multiples of the common processing
from 10 to 30 min. After each cold rolling pass, the time step. On the other hand, the transformation of
plate is led back to high bay where it remains for 24 h the asynchronous model into the discrete flow model
to cool down to room temperature. After cold rolling is obtained by approximating the continuous flow of
differentiations end and the plate is finally assigned to products by a discrete flow. Rosen and Harmonsky [26]
a specific customer order. suggest an improved optimisation method by modelling
a simulated annealing process as a discrete parameter
2.3 Phase 3: BWG process and quality control stochastic system.
Another common problem in manufacturing plants
The third stage is known as the BWG and quality is the sequencing problem occurring whenever there is
control stage. On this stage, coils leave the high-bay a choice as to the order in which a number of tasks
storage area and enter the tension levelling process in that can be preformed [27]. Sequencing problems in
order to achieve the highest flatness and strip surface aluminium production plants have great impact to the
quality. The levelling process is divided in three main throughput. Thus, the structure of the simulation tool
stages: side trimming, stretching and degreasing. All must encompass hierarchically all the activities that re-
these stages occur in a single process line. After tension sult to maximum throughput. Sequencing problems are
levelling, each coil passes from surface inspection and also associated with parallel jobs and job priorities [28].
quality control to ensure that its thickness gauge and The concept of priority is inherent in many manufac-
width is accurate. BWG process times vary from 35 to turing plants. A priority is a numerical attribute of
70 min according to the final gauge given to coil in cold an activity or operation on which a unique selection
rolling process. is made so that two competing activities should never
Then coils are placed in the storage area (warehouse have precisely the same value of priority.
depot). Usually in steel industries there is no set point The model developed in this work belongs to the
for inventory level although there are restrictions ac- class of ‘discrete-event’ models. More, specifically, the
cording to the number of racks. In this work, it is model is an interconnection of finite automata, time-
assumed that there are no final storage restrictions synchronised by means of an external clock. The in-
since in MTO production environments, finished prod- terconnection structure is mainly serial but contains
ucts are usually preassigned to customers and they are also parallel elements (annealing machines) and a
dispatched in short time. simple feedback structure (circulation of coils to be
annealed/cold-rolled around high-bay storage area).
All modules of the structure model concrete parts
3 Modelling issues for the production process of the process, including temporary storage areas. At
regular time instances and in response to events that
3.1 Introduction to production process modelling have taken place over the last sampling interval, each
module (a) interrogates its input (typically an array of
According to Tang and Wang [23], in steel production data structures corresponding to a list of coils waiting
environments, processing times on different machines to be processed, each structure encoded with the ap-
are not equal, and furthermore, different end products propriate properties, e.g. past processing history, rela-
being processed in the same machine need different tion to a specific order and final specifications etc.),
processing times. Tang et al. [24] suggest that the (b) modifies its ‘state’ (corresponding to a similar ar-
production layout is similar to asynchronous industrial ray of data structures corresponding to the coils cur-
processes where there is an unlimited amount of semi- rently being processed) and (c) (optionally) produces
finished products at the input of the process and an an output data structure array, to be processed at the
unlimited amount of spaces at the output. next sampling instance by the following module in the
998 Int J Adv Manuf Technol (2011) 53:993–1018

interconnection sequence. The model can easily deal the theoretical model to allow for time as an explicit
with complex qualitative and quantitative transforma- variable. In fact, since we assume that the production
tions, including time-related coils’ properties (e.g. an- system is operating synchronously, the global clock is
nealing/cooling time requirements or the number of updated in each simulation step (defined also as event).
cold rolling ‘passes’ needed to meet the specifications The default simulation step is chosen to be 5 min, which
of a particular order). Both deterministic and stochastic is sufficiently (two times) faster than the fastest time
effects can be easily incorporated and highly complex constant among all processes.
scheduling rules and constraints can be formulated. Semi-finished coil products being processed in the
By examining the evolution of the state variables of litho centre have different characteristics and are as-
the various modules of the overall model, the perfor- sociated with specific customer orders. As it stated
mance of the system to different scheduling rules can before for better modelling convenience, coils have
be analysed and different customer-order scenarios can been categorised in 18 different types according to their
be easily assessed. The advanced capabilities offered width, final gauge (specified in cold rolling machine)
by Matlab’s data structures and general programming and if they are targeted at the special orders. There are
environment make the model highly versatile and capa- three types of width (wide, medium, narrow) and also
ble of addressing simultaneously mixed numerical and three different types of final gauge (thick (0.38 mm),
linguistic-type constraints. Further, in its present form, standard (0.28 mm), thin (0.14 mm)). These data are
the model can be easily combined with numerous opti- stored in Matlab structures as an input file for maxi-
misation methods (e.g. simulated annealing or genetic mum flexibility and to improve the readability of the
algorithms) to derive optimal production schedules. In code. Structures are Matlab arrays with named ‘data
addition, extensive simulations based on the model may containers’ called fields. Like standard arrays, struc-
help to estimate appropriate parameter values of alter- tures are inherently array oriented. Element types are
native model types, more suitable for the application defined using an object oriented design so that new
of classical optimisation techniques (e.g. the estima- elements can be added easily and without necessitating
tion of appropriate service or arrival rates in queuing- changes in the core analysis code. A typical structure
theoretic models). A mixed modelling and optimisation for the slab (coil) of type 1 is shown below:
technique using Petri nets is reported in [5]. Note that
slab_type_1=
a trade-off always exist between modelling versatility
struct(‘type’,‘type_01’,‘width’,‘wide’,
requirements and the application of a highly formal
‘special_flag’,0,‘gauge’,‘thic’,
optimisation method.
‘timer’,-1,‘flags’,
As stated previously in this paper, we concentrate
[0 0 0 0]);
our work on the second phase of production plant sys-
tem. As previous description suggests, aluminium pro- There are six different fields containing all the infor-
duction system is built up of many processes working in mation needed for the simulation purposes. The field
parallel and can be viewed as a finite set of resources, type specifies the type of the coil (type 1, type 2 etc.),
i.e. the machining equipment, shared between a set of width the width of the coil (wide, medium or narrow),
products to be manufactured. special f lag is an integer (0 or 1) which determines if the
coil is intended for special treatment according to cus-
3.2 Software tool description tomer orders (special f lag = 1) or not (special f lag =
0), gauge the final gauge of the coil (thick, standard
In order to resemble all the activities taking place in or thin), timer holds the time of last entry of coil in
the second phase, we need to associate each single task high-bay (timer = −1 if coil is outside high bay) and
with an appropriate function defined in the Matlab finally f lags is an 1 × 4 array whose second element
environment. These functions are very similar to states indicates how many times the coil has been annealed
deemed in finite state machine theory, and they have as and third element how many times the coil has been
input variables the current state while output variables cold rolled. The first and fourth element can be used
represent the updated state. Apart from updating the for future modelling issues (e.g. inspection, BWG or
state variables, functions must also conform with the processes taking place outside high-bay area). Note that
global clock. As it has been stated before, the main the strings in fields may contain exactly four characters
problem arising in simulation methods is how realistic is and this is due to modelling convenience while Matlab
the simulation model in relation to the real life produc- handles the data stored in structures.
tion attempted to be modelled. Accordingly, to achieve The hierarchical structure of the simulation flow
more realistic applications, we must first reformulate system is illustrated in Fig. 2. As it can be inferred by
Int J Adv Manuf Technol (2011) 53:993–1018 999

Create excel input file with the coil types three buffers between high-bay annealing machines
(In.3, Out.2 and Out.3); two buffers between high-bay
and cold rolling machine (In.2 and Out.1) and one
buffer before BWG (Out.4). The buffer allocation in
Start GUI from MATLAB command window
litho centre is depicted in Fig. 3. The names of buffers in
the top-right legend are referred to the high-bay storage
area and are associated with the function that updates
Modify simulation parameters in GUI the state of the high bay. For modelling convenience,
the simulation tool implements also several virtual
buffers which are clearly described in Section 3.3.
Start simulation by calling the control program
3.3 Implementation of software tool

Due to high complexity of the aluminium production


Analysing simulation results
process, more than 7,000 lines of Matlab code have
Fig. 2 Hierarchical structure of the simulation flow been written. Additionally, 41 different functions have
been developed to capture all individual tasks in detail.
In order to avoid any wearisomeness in presenting all
the functions used in the software tool, a selective
Fig. 2, the only interaction between user and tool is the choice has been made to those functions which are
choice of simulation parameters in GUI. considered as more useful and illustrate the main idea
The need of handling data with the simulation going of the simulation tool. All these functions are called in
on causes the volume of stored data to steadily increase, the main program routine run_process.m (to be initi-
which in turn decelerates the simulation process. Thus, ated by the user through a GUI), which executes the
the software tool must be able to handle the data atten- whole process of simulation. In this file, some default
tively by providing at the same time simulation speed. process parameters are defined together with input and
To overcome this problem, we have created several initial conditions, states updating, plotting attributes
functions. These Matlab functions take as inputs the and statistics table updating.
variables defined by the user, compute the required In order to avoid having the input excel spread-
results using user’s input and then pass those result sheet files with all the coils enter the plant in the
back to the user. The commands evaluated by these same directory with the main programme, a separate
functions, as well as any intermediate variables created directory data is created. This directory saves all the
by those commands are hidden. These functions are data history of the input coils created by the user and
stored as M-files and are very similar to script files can be modified easily at the beginning of the file
with the only difference that these functions communi- run_process.m. Apart from those parameters shown
cate with Matlab workspace only through the variables in the GUI, the user can also change other parame-
passed to them and through the output variables they ters which are defined in function default_parameters.
create.
Software tool implements also buffers in order
to manipulate more accurately the pre- and post- Anealling process In. 1 : in_from_buff

In. 2 : in_from_out_cold_roll_buff
conditions of each process in the high bay. Buffer sizing In. 3 : in_from_anneal_buff

and allocation is a major concern faced by aluminium Out 2 Out 3 In. 3 Out 1 : out_to_in_cold_roll_buff

Out 2 : out_to_buff1_n (first buffer)


rolling production lines since the distribution of the Out 3 : out_to_buff1_n (second buffer)
Group of
coils through the various tasks in high bay is carried Out 4 : out_to_in_BWG_buff
: flow of information
4 coils
out by the crane. While the crane can perform a certain : flow of coils

amount of movements in a given time, the software tool In. 2


must be able to capture all the potential movements High-Bay
Hot-line storage Cold Rolling
and update the input and output buffers in each sim- process
In. 1
area process
Group of 20 coils
ulation step according to certain criteria (e.g. size of Out 1

buffers, priorities and engaged machines).


In this simulation tool, it is assumed that there are Out 4 BWG

seven buffers outside the high-bay storage area. One


buffer is between the hot-line and the high-bay (In.1); Fig. 3 Buffer allocation in litho centre
1000 Int J Adv Manuf Technol (2011) 53:993–1018

These parameters include the simulation step (in furnaces via buffer in_from_anneal_buff, which coils
minutes), the simulation time (in hours), high-bay ca- have finished cold rolling and are situated in buffer
pacity, the capacity of all the buffers shown in Fig. 3, in_from_out_cold_roll_buff and finally which coils can
the cooling time after cold rolling and the choice of be entered from hot-line via the buffer in_from_buff.
presenting or not some useful statistics at the end of the Next the computer programme simulates the activity
simulation process. of BWG. First, it updates the state and output of the
In case where the user runs the software tool without buffer update_in_BWG_buff which is located between
initial conditions, all states and buffers are set initially high bay and BWG and then the state and output of
to zero. Otherwise, the state and buffer conditions con- BWG process.
tain the coils of the previous simulation process which After updating the BWG process, the software up-
were saved at the end of the simulation. The main idea dates the state of the buffer which is located between
of the simulation tool as stated before is to manipulate high bay and annealing machines. In case where one or
a list created by those coils entered by the user. This list more annealing furnaces are empty, the software tool
of coils after having entered the high-bay storage area reads the list of coils in high bay which are intended for
represents the high-bay condition, and it is updated annealing treatment and checks if there are four coils of
in each simulation step. This list is similar to a stack the same characteristics and if there are that it creates
array (new coils insert the stack to the bottom while the a group (quartet of coils). This quartet must have four
oldest are on the top). This means that every time the coils that have not been annealed, have the same width
software must choose which coils should leave the high and they are intended (or not) for special products. This
bay either for annealing or cold rolling treatment or to information can be easily obtained from the Matlab
BWG, the list is read commencing from the top. All the structures and more specifically from the field width,
finished coils are collected in an output buffer in a list the field special_f lag and the second number of the
form which constitutes the output of the manufacturing array in the field f lag. Then the state of all the annealing
system. BWG times are shown in Table 2. machines is being updated, and those coils that have
The M-file run_process.m comprises the flow of coils completed the annealing process are first placed into
and all the procedures in litho centre as they have the buffer In.3 and then are led back with the aid of the
been described in previous section. The coils enter the crane to the high-bay storage area for cooling. Table 3
high bay from hot-line with a pre-specified loading shows the annealing times for all the 18 different coil
rate via the buffer in_from_buff. The coils which are types.
intended to enter the high-bay area are subject to crane Finally, the computer programme simulates the
availability and to the high-bay current capacity. Next cold rolling process, by updating first the buffer
the software updates the high-bay state and outputs, by out_to_in_cold_roll_buff. This buffer loads a coil that
checking the number of coils inside the high-bay stor- needs to pass cold rolling process. The software tool
age area at the beginning of the current time interval creates a list of 20 or 40 grouped coils according to their
and on whether a list of coils for cold rolling has been width and final gauge. This information is provided by
identified in an earlier step. The main idea of updating the fields width and gauge in Matlab structures. Every
the high bay is to ‘load out’ first the chosen coils to time the cold rolling process has been completed, the
output buffers and then to ‘load in’ those coils located coil is loaded to buffer in_from_out_cold_roll_buff and
in input buffers and can be entered into the high-bay then is led back to the high-bay storage area for cooling.
area. Hence, the following rule sequence occurs. It is There are overall four different groups with different
determined which of the cold-rolled coils have cooled rolling times in minutes as Table 4 indicates. The first
so they can be moved to out_to_in_BWG_buff, which group consists of 20 coils whose final gauge is thick and
coils need to be loaded to annealing machine through those coils whose final gauge is standard and their width
the buffer out_to_buff1_n and also which of the coils is wide. The second group can have 40 coils of standard
that they have been annealed have cooled so they can final gauge and medium or narrow width. The third
move to out_to_in_cold_roll_buf f. Then, the software group may have 20 coils with final gauge thin and width
defines which coils can be entered from annealing

Table 3 Annealing times in Width Standard Special


hours for the 18 different coil
products products
Table 2 BWG times in Gauge types
minutes for the 18 different Wide 10.75 12.75
coil types Thick Standard Thin Medium 9.75 12.25
35 40 70 Narrow 8.75 11.25
Int J Adv Manuf Technol (2011) 53:993–1018 1001

Table 4 Cold rolling times in Width Final gauge


minutes for the 18 coil types
(four groups) Thick Stan Thin
Pass 1 Pass 2 Pass 3 Pass 1 Pass 2 Pass 3 Pass 1 Pass 2 Pass 3 Pass 4
Wide 10 15 20 10 15 20 10 15 20 25
Medium 10 15 20 NA 15 20 NA 15 20 25
Narrow 10 15 20 NA 15 20 NA 15 20 25

wide. Finally, the fourth group is made of 20 coils of Next a brief description of each of these functions is
thin final gauge and medium or narrow width. Note that given together with their inputs and outputs.
times in cold rolling machine are irrelevant to special
products. 3.3.1 Matlab functions structure
All the above activities can be fulfilled provided that
buffers’ capacity are not exceeded and that there are – Function deliver_process : Defines the coils which
sufficient crane movements in each simulation step. have completed the hot-line process and can be
Note that all the assignment decisions are made in the entered into the high bay by the crane. These
same order that they would be implemented in the coils initially update the input buffer and await
actual process. The part of the run_process.m file which to be allocated to the high-bay storage area. The
calls the most representative functions is depicted in function deliver_process according to the state of
Table 5. buffer (state_buff ), loading rate of coils in the

Table 5 Part of the file run_process.m


input_from_hotline=deliver_process(run_index_local,no_coils_loaded,...
state_buff,param,input_file);
input_from_hotline =check_empty(input_from_hotline);
no_coils_temp=size(input_from_hotline,1);
no_coils_loaded=no_coils_loaded+no_coils_temp;
state_buff=update_buff(state_buff,input_from_hotline,output_to_highbay);
\%--------------------
‘[state_highbay,out_to_buff1_n,out_to_in_cold_roll_buff,out_to_in_BWG_buff,...
in_from_buff,in_from_anneal_buff,in_from_out_cold_roll_buff,state_out_anneal_buff...
state_out_cold_roll_buff,index_list_coils_cr,real_crane_moves]=...
update_highbay_new(state_highbay,run_index,state_buff1_n,state_in_cold_roll_buff,...
state_in_BWG_buff,state_out_anneal_buff,state_out_cold_roll_buff,index_list_coils_cr,param);
tot_real_crane_moves=sum(real_crane_moves);
\%--------------------
‘[state_in_BWG_buff,output_to_BWG]=update_in_BWG_buff(state_in_BWG_buff,...
out_to_in_BWG_buff,BWG_flag_empty);
‘[state_BWG,time_BWG,out_to_out_buff]=update_bwg(state_BWG,time_BWG,output_to_BWG);
state_out_buff=update_output_buff(state_out_buff,out_to_out_buff);
\%--------------------
‘[state_buff1_n,output_to_anneal]=update_buff1_n(state_buff1_n,out_to_buff1_n,anneal_flag_empty);
‘[state_anneal,index_state_anneal,time_anneal,output_from_anneal]=...
update_anneal1_n(state_anneal,index_state_anneal,time_anneal,output_to_anneal,state_out_anneal_
buff,param);
state_out_anneal_buff=update_out_anneal_buff(state_out_anneal_buff,output_from_anneal,output_to_
highbay);
\%--------------------
‘[state_in_cold_roll_buff,output_to_cold_roll]= ...
update_in_cold_roll_buff(state_in_cold_roll_buff,out_to_in_cold_roll_buff,cold_roll_flag_empty);
‘[state_cold_roll,time_cold_roll,output_from_cold_roll]=...
update_cold_roll(state_cold_roll,time_cold_roll,output_to_cold_roll,state_out_cold_roll_
buff,param);
state_out_cold_roll_buff=update_out_cold_roll_buff(state_out_cold_roll_buff,...
output_from_cold_roll,output_to_highbay);
1002 Int J Adv Manuf Technol (2011) 53:993–1018

Table 6 Inputs and outputs of function deliver_process


input_from_hotline=deliver_process(run_index_local,no_coils_loaded,state_buff,param,input_file)
Inputs
run_index_local Specifies current run index
no_coils_loaded The number of coils loaded at the beginning of time step
state_buff The number of coils in buffer before entering the high bay
param The structure of parameters
input_file The name of the spreadsheet input file
Outputs
input_from_hotline The coils loaded to the input buffer before high bay

entry of high bay and the capacity of input buffer— operates as follows: Firstly, it checks the number of
specified in parameters param —checks initially if coils inside the high-bay storage area at the begin-
the buffer capacity has been reached. If this is not ning of each time interval and secondly, whether a
the case, the function reads the excel input file list of coils for cold rolling (initially 20 or 40) has
input_file and takes the first coil on the list that been identified in an earlier step. Next, it is deter-
is to be entered. Due to scheduling restrictions mined which of the cold-rolled coils have cooled (so
of the number of coils dispatched to the high-bay they can be moved to out_to_in_BWG_buff and
entry each day, deliver_process checks with the aid then proceed to BWG) and also which of the coils
of no_coils_loaded whether the number of coils that they have been annealed have been also cooled
loaded in a specific day has reached the predefined (so they can move to out_to_in_cold_roll_buff ) and
number set by the user in the spreadsheet file. which coils need to be loaded to annealing machine
Table 6 gives a brief description of inputs and through out_to_buff1_n.
outputs for deliver_process. Note that till this stage the function specifies the
– Function update_buf f : This function updates the coil which could potentially be moved to the input
state of the buffer which is located between the cold rolling buffer and its index. Also, in case when
hot-line and the high bay in litho centre and can an empty matched list is identified, new list of
be called either with input_from_hotline =[] or out- matched coils for cold rolling is created (possibly
put_to_highbay =[] or even from both []. The func- empty) indexed with respect to input argument
tion update_buff does not define its output, which state_highbay. If there is a non-empty matched list,
is ‘pulled in’ by the high bay. It is the responsibility then the output list either stays the same (if no coil
of the high bay (through function update_highbay is moved to input cold rolling buffer) or its first row
defined later) to check that requested row-size of is deleted.
output_to_highbay does not exceed buffer’s state Finally, the function determines whether there are
dimension. Similarly, it is the responsibility of the coils to be moved to/from input and/or output
hot-line (via function update_buff ) to ensure it buffers of the annealing machine. The function
does not load the buffer when the later is at full checks capacities of input buffer of high bay. If
capacity. Table 7 summarises the properties of the at least one quartet of coils can be moved, they
function update_buf f. are loaded in the buffer (after clearing their time
– Function update_highbay_new updates the high- stamp) and the state of output buffer of annealing
bay state and outputs. This is the most complex machine is updated by constructing a new state and
function of the software tool since it updates the a new list. Else the function performs in/out loading
state of the high bay according to its complex in- operations in sequence according of to priorities
terrelations with the other processes. The function list specified by user in GUI (subject to capacity

Table 7 Inputs and outputs state_buff=update_buff(state_buff,input_from_hotline,output_to_highbay)


of function update_buff
Inputs
state_buff List of coils at the beginning of current time step
input_from_hotline Empty matrix when there is no coils from hot-line or list of coils
output_to_highbay or [] Empty matrix (no input requested from high bay) or list of coils
Outputs
state_buff List of coils at the end of current time step
Int J Adv Manuf Technol (2011) 53:993–1018 1003

Table 8 Inputs and outputs of function update_highbay_new


[state_highbay,out_to_buff1_n,out_to_in_cold_roll_buff,out_to_in_BWG_buff,in_from_buff,...
in_from_anneal_buff,in_from_out_cold_roll_buff,state_out_anneal_buff,state_out_cold_roll_buff,
index_list_coils_cr,...real_crane_moves]=...update_highbay_new(state_highbay,run_index,
state_buff1_n,state_in_cold_roll_buff,state_in_BWG_buff,...state_out_anneal_buff,
state_out_cold_roll_buff,index_list_coils_cr,param)
Inputs
state_highbay List of coils being stored in high bay or empty matrix. These coils are listed vertically
run_index Current iteration index (integer)
state_buff1_n List of coils intended for annealing at the beginning of time step
state_in_cold_roll_buff List of coils intended for cold rolling at the beginning of time step
state_in_BWG_buff List of coils intended for BWG at the beginning of time step
state_out_anneal_buff List of coils that have finished annealing and waiting to return into the high bay
at the beginning of time step. Note that this state is updated internally
state_out_cold_roll_buff List of coils that have finished cold rolling and waiting to return into the high bay
at the beginning of time step. Note that this state is updated internally
index_list_coils_cr Index of coils in identified matched list in state_highbay
param The structure of parameters
Outputs
state_highbay List of coils being stored inside high bay at the end of time-interval (listed vertically)
out_to_buff1_n List of matching coil quartets loaded to buff1_n (input side of anneal_n)
out_to_in_cold_roll_buff List of coils loaded to input cold rolling buffer
out_to_in_BWG_buff List of coils loaded to input BWG buffer
in_from_buff List of coils loaded into high bay from the buffer after hot-line
in_from_anneal_buff List of coils loaded from annealing buffer (outside of annealing machine)
in_from_out_cold_roll_buff List of coils loaded to high bay from cold rolling output buffer
state_out_anneal_buff List of coils that have finished annealing and waiting to return into the high bay
at the end of time step. Note that this state is updated internally
state_out_cold_roll_buff List of coils that have finished cold rolling and waiting to return into the high bay
at the end of time step. Note that this state is updated internally
index_list_coils_cr Index of coils in identified matched list in state_highbay
real_crane_moves Real number of crane movements

constraints), until all permissible crane movements any coil is currently waiting to be loaded to BWG
have been exhausted or all tasks have been per- (coils that have finished cold rolling process and
formed. The syntax of update_highbay_new func- they have waited enough for cooling purposes). In
tion together with its inputs and outputs is given in case that many coils are found in high bay that can
Table 8. be transferred to BWG, the function selects the coil
– Function update_in_BWG_buff updates the state which is on top of the list. Table 9 summarises the
and output of the buffer which is located between properties of the function update_in_BWG_buff.
high bay and BWG. This function checks first if – Function update_bwg updates the state and out-
there is any coil currently processed to BWG. If put of BWG process. If BWG is empty, then
there is no such coil, then function checks whether the function loads a coil from its input buffer

Table 9 Inputs and outputs of function update_in_BWG_buff


[state_in_BWG_buff,output_to_BWG]=update_in_BWG_buff(state_in_BWG_buff,out_to_in_BWG_buff,
BWG_flag_empty)
Inputs
state_in_BWG_buff List of coils in buffer at current time step
out_to_in_BWG_buff Empty matrix if there is no output from high bay or list of coils
BWG_nag_empty Flag indicates whether BWG is busy or not (1: BWG machine empty, 0: BWG machine busy)
Outputs
state_in_BWG_buff list of coils after transition (end of current time step)
output_to_BWG Empty matrix if there is no transfer from BWG, or else a coil to be transferred to BWG.
1004 Int J Adv Manuf Technol (2011) 53:993–1018

Table 10 Inputs and outputs of function update_bwg


[state_BWG,time_BWG,out_to_out_buff]=update_bwg(state_BWG,time_BWG,output_to_BWG)
Inputs
state_BWG Coil being processed in BWG or an empty matrix at the beginning of time step
time_BWG Empty matrix if BWG empty; if BWG is busy, it gives the time step since the beginning of BWG process
output_to_BWG List of coils in the buffer located between high bay and BWG
Outputs
state_BWG Coil inside BWG machine at the end of time interval
time_BWG Updates the BWG cycle time. If BWG is loaded from empty, the time is reset to 1. If BWG is busy,
then the time clock increases by one. In case where BWG process is just finished,
time_BWG becomes an empty matrix
out_to_out_buff Output buffer. It is empty if BWG process still in progress, or BWG not busy,
else it loads a coil that has passed the BWG process

output_to_BWG ; else it updates its state internally state of the annealing machines state_anneal and
for the BWG work cycle (30 min). When the coil loads the coils that have completed the annealing
completes the BWG process, it is loaded to the out- process to the output output_from_anneal accord-
put buffer out_to_out_buff. Table 10 summarises ing to the state of the output annealing buffer
the properties of the function update_bwg. state_out_anneal_buff. Table 13 summarises the in-
– Function update_output_buff updates the output puts and outputs of the function update_anneal1_n.
buffer after the BWG process. Note that this buffer – Function update_out_anneal_buff updates the
collects all coils (arranged in a list) that have state of the buffer which is located between
completed the whole process, and thus, it can be annealing machines and high bay. Function should
deemed as the output buffer of the simulation be called either with output_from_anneal =[]
model. Table 11 shows the inputs and output of the or output_to_highbay =[] (or both []). Note
function update_output_buff. that this buffer does not define its output,
– Function update_buff1_n updates the state of the which is ‘pulled in’ by the high bay. It is the
buffer which is located between high-bay and an- responsibility of the high bay (through the function
nealing machines. This function checks first with update_highbay ) to check that requested row size
the aid of input out_to_buff1_n if there are coils of output_to_highbay does not exceed buffer’s
that can be loaded into one or more annealing state dimension. Similarly, it is the responsibility
machines. The input anneal_flag_empty indicates of the annealing machine (via update_anneal_n )
whether there are one or more empty annealing to ensure that row size of output_from_anneal
machines to load the coils from out_to_buff1_n. pushed into the buffer will not cause overflow (i.e.
The summary of the function update_buff1_n is buffer’s state dimension + output_from_anneal
given in Table 12. <= buffer’s capacity). The inputs and output of
– Function update_anneal1_n updates the state of the function update_out_anneal_buff are given in
annealing machines. The number of annealing ma- Table 14.
chines is specified by the user in GUI, and it is – Function update_in_cold_roll_buff updates the
passed to the function through the input param. state and output in the buffer which is located
The function update_anneal1_n operates as fol- between high-bay and cold rolling machine. This
lows: It checks if there is any annealing ma- function checks first if there is any coil from high
chine free and loads a quartet of coils from in- bay waiting to be loaded into the cold rolling ma-
put output_to_anneal into it. It also updates the chine via input out_to_in_cold_roll_buff. The input

Table 11 Inputs and outputs state_out_buff=update_output_buff(state_out_buff,out_to_out_buff)


of function
update_output_buff Inputs
state_out_buff List of coils in output buffer at the beginning of current time step
out_to_out_buff Coil that has just finished BWG process
Outputs
state_out_buff List of coils in output buffer at the end of current time interval
Int J Adv Manuf Technol (2011) 53:993–1018 1005

Table 12 Inputs and outputs of function update_buff1_n


[state_buff1_n,output_to_anneal]=update_buff1_n(state_buff1_n,out_to_buff1_n,anneal_flag_empty)
Inputs
state_buff1_n List of coils in buffer at current time step
out_to_buff1_n Empty matrix if there is no output from high bay or list of coils
anneal_flag_empty A n-dimension row vector where n is the number of annealing machines. If anneal_flag_empty(i)=1,
it means that the i-th annealing machine is empty and if anneal_flag_empty(i)=0 the i-th annealing
machine is busy
Outputs
state_buff1_n List of coils after transition (end of current time step)
output_to_anneal Empty matrix if there is no transfer to annealing machine, else a list of coils to be transferred

cold_roll_flag_empty indicates whether cold rolling Table 16 summarises the inputs and outputs of the
machine is empty or not. The summary of the func- function update_cold_roll.
tion update_in_cold_roll_buff is given in Table 15. – Function update_out_cold_roll_buff updates the
– Function update_cold_roll updates the state of cold state of the buffer which is located between cold
rolling machine. This function operates as follows: rolling machine and high bay. This function should
It checks if the cold rolling machine is free and be called either with output_from_cold_roll =[] or
loads a coil from input output_to_cold_roll into output_to_highbay =[] or both []. Note that this
it. It also updates the state of the cold rolling buffer does not define its output, which is ‘pulled in’
state_cold_roll and loads the coil that has com- by the high bay. It is the responsibility of the high
pleted the cold rolling process to the output out- bay (through function update_highbay ) to check
put_from_cold_roll according to the state of the that requested row size of output_to_highbay does
output cold rolling buffer state_out_cold_roll_buff. not exceed buffer’s state dimension. Similarly, it is

Table 13 Inputs and outputs of function update_anneal1_n


[state_anneal,index_state_anneal,time_anneal,output_from_anneal]=...
update_anneal1_n(state_anneal,index_state_anneal,time_anneal,output_to_anneal,
state_out_anneal_buff,param)
Inputs
state_anneal List of coils being annealed or empty matrix. Coils are listed vertically and the state dimension
of the i-th annealing machine is specified by the input index_state_anneal(i)
index_state_anneal Number of coils in i-th annealing machine for input state_anneal
time_anneal A n-vector (where n is the number of parallel annealing machines) whose i-th entry specifies the
time step since beginning of annealing in i-th machine in case i-th machine is busy. If i-th machine
is empty, then time_anneal(i)=−1
output_to_anneal List of coils from the buffer located between high bay and annealing machines
state_out_anneal_buff Current state of the output buffer of annealing machines. Used to calculate the output so that
no overflow occurs
param Parameters structure
Outputs
state_anneal List of coils inside annealing machines at the end of time interval; Coils are listed vertically and the
state dimension of the i-th annealing machine is specified by the output index_state_anneal(i)
index_state_anneal Number of coils in i-th annealing machine for output state_anneal
time_anneal A n-dimensional vector. If the i-th machine is busy, then time_anneal(i)=time_anneal(i)+1
If the annealing process has finished and there is no loaded output (for not causing overflow
to state_out_anneal_buff), time_anneal(i)=time_anneal(i) (time is frozen). When
a quartet of coils is loaded to the i-th, then time_anneal(i) reset to 1
If the i-th annealing machine is empty at the end of interval, then time_anneal(i)=−1
output_from_anneal List of coils contribution from the i-th annealing machine is an empty matrix if annealing is still in
progress or annealing in i-th machine has finished but output will cause overflow to
state_out_anneal_buff. Else output is stacked to the
output_from_anneal array in machine order
1006 Int J Adv Manuf Technol (2011) 53:993–1018

Table 14 Inputs and outputs of function update_out_anneal_buff


state_out_anneal_buff=update_out_anneal_buff(state_out_anneal_buff,output_from_anneal,
output_to_highbay)
Inputs
state_out_anneal_buff List of coils at current time step
output_from_anneal Empty matrix if there is no output from annealing machines or list of coils
output_to_highbay Empty matrix if there is no input requested from high bay or list of coils
Outputs
state_out_anneal_buff List of coils in buffer after transition (end of current time step)

the responsibility of the cold rolling machine (via system under study, and it provides a significant insight
update_cold_roll function) to ensure that row size of the system’s characteristics. Since the overall model
of output_from_cold_roll pushed into the buffer has been implemented in Matlab code, the model can
will not cause overflow (i.e. that buffer’s state di- be easily modified as required in order to meet alterna-
mension + output_from_cold_roll <= buffer’s ca- tive design specifications.
pacity). For ease in comparing the effect of different sce-
The inputs and output of the function up- narios and for better performance evaluation of the
date_out_cold_roll_buff are given in Table 17. system, each scenario was assessed using a number of
defined metrics such as:

– Throughput rate, defined as the number of coils


4 Modelling cases and simulation performance Q j(N) that have been completely treated in
a specified simulation time period (days) N,
N
In this section, three main scenarios are conducted to (N = 1, 2, 3, ...) in j scenario: T j(N) = i=1 Q j(i)
test the effectiveness of the developed simulation tool
and at the same time to bring out the most important – Machine usage, defined as the percentage of a
results. Simulation provides the means of testing the machine centre M busy over Nth day in j scenario:
behaviour of the system, using specific metrics and by U Mj(N)%.
implementing a number of different scenarios. Since
this is, essentially, a discrete event simulation, it tracks – High-bay capacity, defined as the percentage of
the sequence of events in the given production system high-bay storage area occupied in Nth day in j
in discrete time steps. Several Matlab functions were scenario: HB j(N)%.
used in order to gather and manipulate specific model
data while final reports and figures generated after – Crane moves, defined as the number of crane move-
each simulation present quantitative information about ments in each machine centre M location and coils’
important aspects of model (machine occupancy, num- entry in j scenario: C Mj.
ber of cranes moves etc.) together with statistical data
based on certain metrics which can be used to evaluate For better reading purposes of this paper, each ma-
the model’s performance. chine centre M is defined as follows: A for annealing
The proposed simulation model allows also the in- machine, CR for cold rolling centre and B for BWG
vestigation of the dynamic behaviour of the production machine centre. The model was validated on actual sys-

Table 15 Inputs and outputs of function update_in_cold_roll_buff


[state_in_cold_roll_buff,output_to_cold_roll]= ...
update_in_cold_roll_buff(state_in_cold_roll_buff,out_to_in_cold_roll_buff,cold_roll_flag_empty)
Inputs
state_in_cold_roll_buff List of coils in buffer at current time step
out_to_in_cold_roll_buff Empty matrix if there is no output from high bay or list of coils
cold_roll_flag_empty An integer indicates if cold rolling machine is busy or not (1: Cold rolling machine empty;
0: Cold rolling machine busy)
Outputs
state_in_cold_roll_buff List of coils after transition (end of current time step)
output_to_cold_roll Empty matrix if there is no transfer to cold rolling machine, else a list of coils to be transferred
Int J Adv Manuf Technol (2011) 53:993–1018 1007

Table 16 Inputs and outputs of function update_cold_roll


[state_cold_roll,time_cold_roll,output_from_cold_roll]= ...
update_cold_roll(state_cold_roll,time_cold_roll,output_to_cold_roll,
state_out_cold_roll_buff,param))
Inputs
state_cold_roll List of coils being cold-rolled or empty matrix
time_cold_roll Specifies time since the last start of cold rolling process
output_to_cold_roll Coil from the buffer located between high bay and cold rolling machine or empty matrix
state_out_cold_roll_buff Current state of the output buffer of the cold rolling machine. It is used to calculate
the output so that no overflow occurs
param Parameters structure
Outputs
state_cold_roll Returns the current coil which is being cold-rolled at the end of time interval or empty matrix.
time_cold_roll Time since last cold rolling begun at the end of current time step. If machine is busy,
then time_cold_roll=time_cold_roll+1. If cold rolling process is completed and there
is no loaded output, time_cold_roll=time_cold_roll (time is frozen). When a coil
is loaded, then time_cold_roll reset to 1
If the machine is empty at the end of interval, then time_cold_roll=−1
output_from_cold_roll Cold-rolled coil loaded to output buffer state_out_cold_roll_buff or empty matrix

tem data, provided by company produces high-quality no machine process is initiated before the start of the
aluminium lithographic coils, with respect to buffer simulation. It is also assumed that the loading rate of
sizes, throughput rates, crane moves and inventories. coils entering the high-bay storage area is one every
The proposed model was deadlock-free, as it was found 20 min, while the maximum crane movements are lim-
after extensive simulations. This can be ensured in the ited to 60/h. The priorities of crane service to different
programme by limiting the total number of coils circu- locations are set as follows: First priority is given to
lating in the high-bay area and its feedback loop. In or- the annealing process, second to cold rolling, third to
der to gain further insight of the production system, the BWG and finally coil entry to the high-bay activity
following three different scenarios were investigated is served last. Crane movements are executed in this
via extensive simulation runs. These scenarios include: order until either no additional move is possible during
each step or maximum number of crane moves per
1. Scenario 1: Simulation based on default (current) step is reached. Simulations of the first three scenarios
production plant settings and layout were performed for 992 coils entering the high-bay area
2. Scenario 2: Installing of an additional similar an- over a period of 4 weeks. These coils are depicted in
nealing machine operating in parallel with other Table 18.
three To ensure an equitable comparison across different
3. Scenario 3: Reducing pre-set times the coils remain scenarios, we calculate throughput rate and high-bay
in the high bay during cooling and after annealing capacity metrics for a given number of 41 days (N = 41)
which is the fastest simulation time among the three
For better evaluation and comparison of all above scenarios presented in next section. The fastest simu-
scenarios, it is assumed throughout the simulations that lation time for this production line implies that there is
initially the high-bay storage area is empty and that no workload (coil treatment) left in all machine centres.

Table 17 Inputs and outputs of function update_out_cold_roll_buff


state_out_cold_roll_buff=update_out_cold_roll_buff(state_out_cold_roll_buff,
output_from_cold_roll,output_to_highbay)
Inputs
state_out_cold_roll_buff List of coils at start of current time step
output_from_cold_roll Empty matrix if there is no output from cold rolling machine or list of coils
output_to_highbay Empty matrix if there is no input requested from high bay or list of coils
Outputs
state_out_cold_roll_buff List of coils in buffer after transition (end of current time step)
1008 Int J Adv Manuf Technol (2011) 53:993–1018

Table 18 The 992 coils used in simulation runs


Day Type No Type No Type No Type No Type No Type No
1 6 8 9 6 5 8 1 4 12 8
2 6 8 2 4 5 4 3 4 16 8
3 9 3 6 4 11 4 4 8 10 8 3 4
4 9 12 1 4 13 8 2 4 5 10
5 6 12 3 4 7 4 10 4 11 4
6 5 8 6 12 8 4 17 4 16 4
7 9 3 12 4 15 8 14 4 2 12
8 6 4 5 8 3 4 9 8 1 8
9 5 8 2 4 6 4 3 4 16 8 7 4
10 8 3 5 4 12 4 4 8 10 8
11 8 12 1 4 6 8 9 4 5 8
12 5 10 3 4 7 4 10 4 11 4 2 6
13 5 8 6 12 15 4 18 4 16 4
14 6 4 5 10 8 4 9 8 1 8
15 1 12 9 4 5 8 13 4 14 10 4 4
16 3 4 5 4 7 4 10 4 11 4
17 9 6 6 4 11 4 4 8 10 8
18 9 7 1 4 13 8 2 8 5 10
19 6 8 9 6 17 8 1 4 12 8 3 4
20 6 12 7 4 2 8 9 8 5 10
21 8 8 3 8 7 4 10 4 11 4
22 1 3 6 4 15 8 4 4 2 8 14 4
23 6 12 9 8 7 4 13 8 1 8 11 4
24 5 8 2 8 3 4 8 4 16 4
25 7 3 5 4 12 4 14 8 10 8
26 4 8 1 4 15 8 9 4 5 10 6 8
27 5 12 3 8 7 9 10 4 11 4
28 5 8 6 12 15 4 18 4 16 4
29 6 4 17 8 8 8 9 8 5 8
30 18 4 2 8 3 9 9 10

4.1 Scenario 1: simulation based on current production A good indicator of a smooth flow of semi-finished
plant settings and layout coils through the production system is the capacity
changes in the high-bay storage area. As stated before,
This scenario incorporates the default production plant the high-bay storage area’s behaviour is similar to an
machinery, settings and layout based on the description
given in Section 2.2. Simulation results showed that 1000
the overall throughput rate T1 (41) was 914 coils in
900
41 days. Figure 4 depicts the changes in throughput
rate during the full simulation. Note that despite the 800
fact that 992 coils entered the high bay in 30 days, only 700
Throughput per day

933 of them converted to finished products while 59


600
coils (13.4% of maximum high-bay capacity) remained
inside the high-bay storage area due to annealing and 500

cold rolling grouping restrictions as Tables 3 and 4 400


indicate. 300
It is clear that the first coil exited the litho cen-
200
tre in the 8th day, while the throughput rate was in-
creased dramatically between the 10th and 42nd day. 100

That happened mostly due to several other activities 0


0 5 10 15 20 25 30 35 40 45
(coils’ grouping, annealing, cold rolling, cooling proce- No of days
dures etc.) that needed to be performed prior to BWG
treatment. Fig. 4 Throughput rate for scenario 1
Int J Adv Manuf Technol (2011) 53:993–1018 1009

110
intermediate buffer where all coils are stored before

Percentage ANNEALING furnace occupancy


they are transferred for annealing, cold rolling or BWG 100

treatment. 90
Figure 5 presents the high-bay storage area occu- 80
pancy per day. It is clear that in the first 9 days, 70
the capacity increases dramatically as coils enter the
60
storage area from the hot-line. Then between the 9th
and 29th day the high-bay capacity increases to 88% 50

of maximum high-bay capacity with the presence of 40


fluctuations while after the 29th day the high-bay stor- 30
age area capacity starts to decrease until the 43rd day 20
as a result of the last coils leaving the high-bay area
10
for BWG treatment and the fact that no coils enter the
0
high bay from hot-line after the 30th day. Note that the 0 5 10 15 20 25 30 35 40
average (mean value) percentage of high-bay capacity No of Days
μHB1 % in 41 days is:
Fig. 6 Annealing furnaces occupancy for scenario 1
41
HB1 (i)%
μHB1 % = i=1
= 58.59% (1)
41

The high-bay capacity after the 43rd day is 13.4% age percentage of annealing machine usage μU A1 % for
and comprises a proof indicator that 59 racks out of 440 36 days is:
in high bay are still occupied due to the fact that after
36
i=1 U A1 (i)%
the 43rd day there is no BWG process.
Figure 6 demonstrates the percentage of annealing μU A1 % = = 95.8% (2)
36
furnaces’ occupancy over time. It is shown that the
annealing process operated for more than 35 days al- According to cold rolling machine centre data, Fig. 7
most without cease apart from a small time interval shows a high usage percentage just before the 10th day.
occurred between first and second day. Figure 6 also The starting day of cold rolling (6th) brings out the
depicts that the percentage values were in most cases grouping procedure followed by annealing. Figure 7
more than 97% highlighting the fact that at least one also attests that the last cold rolling activity took place
annealing furnace each day is fully occupied. The aver- on 41st day which is reasonable since the last annealing
cycle was completed at the beginning of the 36th day.

90 90
Percentage COLD-ROLLING machine occupancy

80 80
Percentage HIGHBAY occupancy

70 70

60
60

50
50

40
40

30
30

20
20

10
10

0
0 5 10 15 20 25 30 35 40 45 0
0 5 10 15 20 25 30 35 40 45
No of Days No of Days

Fig. 5 High-bay storage area occupancy for scenario 1 Fig. 7 Cold rolling machine centre occupancy for scenario 1
1010 Int J Adv Manuf Technol (2011) 53:993–1018

35
The mean value percentage of cold rolling machine
usage μUCR1 % for 36 days is:
30
36
i=1 U CR1 (i)%

Crane movements per hour


μUCR1 % = = 61.16% (3) 25
36
20
Figure 8 illustrates the fact that coils enter the BWG
machine centre in batches. More specifically, the BWG 15
area is busy 35 days during the entire simulation in
which all coils passed through the BWG stage, while 10
the last BWG activity took place on the 42nd day,
as one full day of cooling time is necessary after the 5

last cold rolling process occurred in 41st day. The av-


erage percentage of BWG machine usage μU B1 % for 0
0 120 240 360 480 600 720 840 960 1080
34 days is: No of hours

34 Fig. 9 Crane movements in total for scenario 1


i=1 U B1 (i)%
μU B1 % = = 74.78% (4)
34

Another useful observation concerning the activities 4.2 Scenario 2: installing of an additional annealing
taking place in the litho centre is reflected by crane machine operating in parallel with the other three
movements and the areas served during the coils’ trans-
fer. Figure 9 illustrates the number of crane move- The second scenario examines the case of installing an
ments in total (all services). Simulation runs indicated additional annealing machine in the plant. Simulation
that the maximum number of crane movements was results showed that the total throughput rate T2 (41) is
32, although the maximum number of potential crane now 937 coils over 41 days. Figure 10 illustrates the
movements per hour was set before the simulation start changes in throughput rate for the second scenario.
to 60. The percentage of throughput change T1,2 % between
Table 19 provides information on the total number scenarios 1 and 2 for the simulation period of 41 days
of crane movements in terms of their location through- can be found as:
out the entire simulation. Note that the crane spends T2 − T1
its most time to serve the cold rolling activity while the T1,2 % = 100% = 2.45% (5)
T1
BWG is the centre where the crane has the minimum
number of routes. As expected, the throughput rate has increased in
comparison with scenario 1 by 2.45%. Note again that
despite the fact that 992 coils entered the high bay over
a period of 4 weeks, 937 of them have left the litho cen-
100 tre, while 55 coils remained as semi-finished products
at the end of the simulation due to annealing and cold
Percentage of BWG machine occupancy

90
rolling grouping restrictions as shown in Tables 3 and 4.
80
Although the first coil exited the litho centre be-
70 tween 9th and 10th day, instead of the 8th as in the first
60 scenario, the curve shown in Fig. 10 has steeper ascent
50
while the throughput rate was increased dramatically
between the 10th and 41st day.
40

30
Table 19 Total crane movements of each location for the three
20
scenarios
10
Scenario Coil Annealing Cold rolling Cold rolling BWG
0 entry machines input output machine
0 5 10 15 20 25 30 35 40 45
1 992 1,960 2,580 2,580 933
No of Days
2 992 1,968 2,600 2,600 937
Fig. 8 BWG machine centre occupancy for scenario 1 3 992 1,960 2,560 2,560 913
Int J Adv Manuf Technol (2011) 53:993–1018 1011

900 The percentage of high-bay capacity change


μUHB1 μUHB2 % between scenarios 1 and 2 for the simu-
800
lation period of 41 days can be found as:
700
μUHB2 % − μUHB1 %
Throughput per day

600 μUHB1 μUHB2 % = 100% = −8.82%


μUHB1
500
(7)
400

300
Equation 7 indicates that high-bay storage area can
be reduced by installing a fourth annealing machine in
200
litho centre. The value of μUHB1 μUHB2 % is a useful
100 indicator and can be used by the managers to optimise
0
the manufacturing process performance subject to con-
0 5 10 15 20 25 30 35 40 45 straint capacity of the high-bay storage area.
No days
Figure 12 shows the percentage of annealing fur-
Fig. 10 Throughput rate for scenario 2 naces’ occupancy over time, where more variations in
usage displayed in comparison to the previous scenario.
This is a logical outcome since an additional anneal-
Capacity changes per hour in the high-bay storage ing machine (working in parallel with other three)
area can be viewed in Fig. 11. Similarly to the first can serve the coils in high-bay area. The mean value
scenario in the first 9 days, the capacity increases while percentage of annealing machine usage μU A2 % for
coils enter the storage area from the hot-line. Then 30 days is:
between the 9th and 30th day, the high-bay capac- 30
U A2 (i)%
ity reaches now the 81% of maximum high-bay ca- μU A2 % = i=1 = 86.64% (8)
30
pacity while after the 31st day the high-bay storage
area occupancy starts to decrease as a result of the The percentage of annealing centre usage change
number of coils entering the BWG machine centre μU A1 μU A2 % between scenarios 1 and 2 for the sim-
exceeds the number of coils returning to the high-bay ulation period where annealing machines were busy in
storage area after annealing or cold rolling process. each case:
The average percentage of high-bay capacity μHB2 % in μU A2 % − μU A1 %
μU A1 μU A2 % = 100% = −9.56%
41 days is: μU A1
41
HB2 (i)% (9)
μHB2 % = i=1 = 53.43% (6)
41
The negative percentage of μU A1 μU A2 % highlights
again the presence of variations in annealing sessions

90
110
Percentage ANNEALING furnace occupancy

80 100
Percentage HIGHBAY occupancy

90
70
80
60
70
50 60

40 50

40
30
30
20
20
10 10

0 0
0 5 10 15 20 25 30 35 40 45 0 5 10 15 20 25 30 35
No of Days No of Days

Fig. 11 High-bay storage area occupancy for scenario 2 Fig. 12 Annealing furnaces occupancy for scenario 2
1012 Int J Adv Manuf Technol (2011) 53:993–1018

in second scenario. Note also that the value of μU A2 % Furthermore, it can be shown by Figs. 13 and 7 that
corresponds to the fourth annealing machines usage cold rolling sessions in second scenario lasted 33 days
operating in parallel in total busy time of 30 days in in comparison with the first scenario where the overall
contrast to the three machines occupied over 36 days cold rolling process was 36 days, while the last cold
in first scenario. This value highlights the improvement rolling session in second scenario took place on 38th
in annealing machines utilisation and discloses the fact day instead of 40th day in first scenario. Hence, the
that managers can push the production to the high-bay installation of a fourth annealing machine has also a
area by increasing slightly the rate that coils enter this significant impact on cold rolling machine utilisation.
area. The BWG activity in second scenario is illustrated in
Figure 13 depicts the percentage of cold rolling cen- Fig. 14. It is clear that the BWG area is busy 33 days
tre occupancy. It can be inferred that apart from a small during the entire simulation in which all coils passed
inactive period occurred in 13th day, the machine was through the BWG stage, while the last BWG activity
occupied for more than 41% between the 7th and 37th took place at the end of the 41th day, as one full day
day. Note also, with two exceptions of a few hours of cooling time is necessary after the last cold rolling
(23th and 36th day, respectively), that the cold rolling process occurred in 38th day. The average percentage
machine in this time interval of 30 days was treating of BWG machine usage muU B2 % for 32 days is:
coils continuously for almost more than a half day. 32
Figure 13 also attests that the last cold rolling activity U B2 (i)%
μU B2 % = i=1 = 82.62% (12)
took place on 38th day which is reasonable since the last 32
annealing cycle was completed in 30th day. The average Similarly, in order to compare BWG machine centre
percentage of cold rolling machine usage muUCR2 % for performances for both scenarios, it is very useful to
the overall busy time of 34 days is: derive the percentage of BWG centre usage change
34 μU B1 μU B2 % between scenarios 1 and 2 for the simu-
U CR2 (i)%
μUCR2 % = i=1 = 65.26% (10) lation period of 41 days as follows:
34
μU B2 %−μU B1 %
The percentage of cold rolling centre usage change μU B1 μU B2 % = 100% = 10.48% (13)
μUCR1 μUCR2 % between scenarios 1 and 2 for the simu- μU B1
lation period of 41 days can be found as: The value of μU B1 μU B2 % indicates that BWG ma-
μUCR2 % − μUCR1 % chine centre performed better in second scenario. This
μUCR1 μUCR2 % = 100% = 6.71% outcome is supported also by the fact that the total
μUCR1
time BWG is operative in second scenario for 32 days
(11) instead of 34 in scenario 1.
Figure 15 shows the total number of crane move-
The percentage of μUCR1 μUCR2 % demonstrates a
ments at all four locations. Simulation runs indicate that
comparably competent change in cold rolling activity.

90 110
Percentage COLD-ROLLING machine occupancy

80 100

90
70
Percentage BWG occupancy

80
60
70
50 60

40 50

40
30
30
20
20
10 10

0 0
0 5 10 15 20 25 30 35 40 45 0 5 10 15 20 25 30 35 40 45
No of Days No of Days

Fig. 13 Cold rolling machine centre occupancy for scenario 2 Fig. 14 BWG machine centre occupancy for scenario 2
Int J Adv Manuf Technol (2011) 53:993–1018 1013

30
cooling time in the high-bay storage area is set to 36 h
instead of 72 in scenario 1. Simulation results show that
25 the throughput rate is now 910 coils over 41 days. It
is clear that the throughput rate has been decreased
Crane movements per hour

20 compared to the corresponding throughput of 914 coils


in the first scenario. Figure 16 depicts the changes in
15 throughput rate for the third scenario. The percentage
of throughput change T1,3 (41)% between scenarios
10
1 and 3 for the simulation period of 41 days can be
found as:
T3 (41) − T1 (41)
5 T1,3 (41)% = 100% = −0.44% (14)
T1 (41)
0 The small value of T1,3 (41) denotes the fact that
0 120 240 360 480 600 720 840 960 1080
No of Hours there was no significant change in throughput rate by
following scenario 3. However, by comparing Figs. 4
Fig. 15 Crane movements in total for scenario 2 and 16, it can be seen that between the 10th and 36th
day, the curve representing the throughput changes for
the maximum number of crane movements per hour is scenario 3 is steeper and thus more finished coils at
27 in contrast to the first scenario where the maximum this time interval exit the BWG process. As Fig. 16
number of movements was 32. This observation reveals indicates, after the 36th day, the throughput curve ap-
the fact that when a fourth annealing machine is in- pears to have lower increment rate. To help assess this
stalled, the crane can serve all the annealing furnaces in observation, we need to calculate the percentage of
the interspace of one hour, provided that the maximum throughput changes T1,3 (36)% for the time interval
number of potential crane movements per hour is set of N = 36 days.
to 60. T3 (36) − T1 (36)
Table 19 gives information for the total number of T1,3 (36)% = 100% = 10.46% (15)
T1 (36)
crane movements at each location. Note again that
the crane performed more movements in serving cold Equation 15 shows substantially improvement in
rolling machine centre while the BWG is the location throughput rates for the first 36 days where all
which is served for least amount of time than the other machines centres achieved in average high usage
three. The above observation indicates the fact that percentages.
by installing a fourth annealing machine, the grouping Occupancy changes per hour in the high-bay stor-
procedure of 20 or 40 coils for the cold rolling process age area are depicted in Fig. 17. Similarly to the first
can be performed now faster and that the crane can scenario during the first 8 days, occupancy increases
serve cold rolling location more times in comparison
with the scenario 1. More specifically, the total number 1000
of crane movements in cold rolling machine centre (in
and out movements) in second scenario was CCR2 = 900

5,200 instead of CCR1 = 5,136 in first scenario. Note 800


also that the number of crane movements having served 700
Throughput per day

the annealing machines and BWG machine in second


600
scenario was C A2 = 1,968 and C B2 = 937, respectively,
instead of C A1 = 1,960 and C B1 = 933 for scenario 1. 500

As it was expected, there was no change in crane move- 400


ments for coil entries (992) into the litho centre.
300

200
4.3 Scenario 3: reducing pre-set times the coils remain
in high bay during cooling and after annealing 100

0
In this scenario, the number of annealing machines 0 5 10 15 20 25 30 35 40 45
No days
is reset to three, but now the cooling time after all
annealing procedures is reduced by 50%. Thus, the Fig. 16 Throughput rate for scenario 3
1014 Int J Adv Manuf Technol (2011) 53:993–1018

90 110

Percentage ANNEALING furnace occupancy


100
80
90
Percentage HIGHBAY occupancy

70
80
60
70
50 60

40 50

40
30
30
20
20
10 10

0 0
0 5 10 15 20 25 30 35 40 45 0 5 10 15 20 25 30 35 40
No of Days No of Days

Fig. 17 High-bay storage area occupancy for scenario 3 Fig. 18 Annealing furnaces occupancy for scenario 3

while coils enter the storage area from hot-line. This


fully occupied. Figure 18 shows also that the last anneal-
represents the ‘transient’ response of the system, as
ing cycle occurs at the 36th day. More specifically, the
initially the high bay was assumed to be empty. How-
usage of the annealing machine this day is 3.8% and
ever, the high-bay storage area fulfillment rate in first
only four coils have been annealed. The mean value
7 days now is greater than the corresponding rate in
percentage of annealing machine usage μU A3 % = for
first scenario. Then, in the interim period between the
36 days is:
8th and 14th day, the average high-bay capacity remains
constant (54% of maximum capacity) with the presence 36
i=1 U A3 (i)%
again of small fluctuations due to the fact that the daily μU A3 % = = 95.95% (18)
number of entry and exit coils into the storage area 36
have almost the same value. Next, the high-bay area The percentage of annealing centre usage change
starts to increase until the 30th day where no coils left U A1,3 (41)% between scenarios 1 and 3 for the sim-
to enter the litho centre. ulation period of 41 days can be calculated as:
The average percentage of high-bay capacity μHB3 %
in 41 days is: μU A3 % − μU A1 %
41 μU A1 μU A3 % = 100% = 0.16% (19)
HB3 (i)% μU A1
μHB3 % = i=1 = 51.9% (16)
41 Equation 19 denotes the small difference in anneal-
The percentage of high-bay capacity change ing cycles in two scenarios. This is a presumable re-
μUHB1 μUHB3 % between scenarios 1 and 3 for the sult since the changes in scenario 3 (50% reduction
simulation period of 41 days can be found as: of cooling time after annealing treatment) has been
considered in essence after the annealing process.
μUHB3 % − μUHB1 % The cold rolling machine centre usage for the third
μUHB1 μUHB3 % = 100% = −11.41%
μUHB1 scenario can be viewed in Fig. 19, where the main
(17) occupancy time takes place between the 15th and 23rd
day. The last day of cold rolling activity is the 40th day
Equation 17 provides a good indication of better which is again reasonable since the last annealing cycle
high-bay storage area exploitation. Note that the max- occurred during the 36th day. Note that cooling time
imum percentage of high-bay occupation is 80.5% on after annealing for this scenario is set to 36 h (1.5 day).
the 29th day. The average percentage of cold rolling machine us-
Figure 18 depicts the percentage of the three anneal- age μUCR3 % for 37 days is:
ing furnaces occupancy over time. These values were in 37
excess of 95% for the first 35 days, highlighting again i=1 U CR3 (i)%
μUCR3 % = = 59.15% (20)
the fact that at least one annealing furnace each day is 37
Int J Adv Manuf Technol (2011) 53:993–1018 1015

Percentage COLD-ROLLING machine occupancy 90 110

100
80
90
70

Percentage BWG Occupancy


80
60
70
50 60

40 50

40
30
30
20
20
10 10

0 0
0 5 10 15 20 25 30 35 40 45 0 5 10 15 20 25 30 35 40 45
No of Days
No of Days

Fig. 19 Cold rolling machine centre occupancy for scenario 3 Fig. 20 BWG machine centre occupancy for scenario 3

The percentage of BWG centre usage change


The percentage of cold rolling centre usage change μU B1 μU B2 % between scenarios 1 and 3 for the active
μUCR1 μUCR2 % between scenarios 1 and 3 for the simu- simulation periods can be given by:
lation period of 41 days can be found as:
μU B3 % − μU B1 %
μU B1 μU B2 % = 100% = −0.91%
μUCR3 % − μUCR1 % μU B1
μUCR1 μUCR3 % = 100% = −3.27%
μUCR1 (23)
(21) The small value of μU B1 μU B2 % does not attest any
potential dissimilarity in BWG machines’ performance.
The value of μUCR1 μUCR3 % in Eq. 21 is a small num- This outcome is supported also by the fact that the total
ber and consequently cannot capture any considerable throughput in scenario 1 is only slightly better than the
changes in cold rolling process between two scenarios throughput in scenario 3. Furthermore, by considering
described in this section. However, it can be seen by Eqs. 21 and 23, it is obvious that the corresponding av-
Fig. 19 that the first cold rolling session began in day 4 erage performances of cold rolling and BWG machine
while the last occurred in day 40. By noticing the Fig. 7, centres in scenarios 1 and 3, respectively, displayed
which shows the cold rolling machine centre occupancy similar behaviour. However, it is worthy of remark that
for scenario 1, the corresponding first and last cold the average BWG machine occupancy percentage in
rolling session took place on days 6 and 41, respectively. the last five busy days in scenario 3 is μU B3 (38 − 42)% =
This useful observation highlights the inactive time 51.18% instead of μU B1 (38 − 42)% = 86.46% in sce-
periods for cold rolling machine centre in the overall nario 1. Additionally, the average cold rolling machine
simulation of 41 days. occupancy percentage in the last 5 days in scenario
Figure 20 illustrates that in a similar way with the 3 is μUCR3 (36 − 40)% = 47.14% instead of μUCR1 (37 −
other two scenarios, coils enter the BWG machine 41)% = 58.68% in scenario 1. This observation comes
centre in batches. This time the BWG is busy for only in useful by reckoning also the difference in total
35 days during the whole simulation period for which throughput in both scenarios. More specifically, the
all coils passed the BWG stage, while the last BWG 42
throughput rate in scenario 1 is T1 (42) = i=1 Q1 (i) =
activity takes place on the 42nd day (again at least 1 day 933 while the corresponding throughput rate for sce-
after the last cold rolling process has been completed). 42
nario 3 is T3 (42) = i=1 Q3 (i) = 913.
The average percentage of BWG machine usage It is evident that despite the fact of coils’ cooling time
μU B3 % for 35 days is: reduction after annealing treatment in third scenario,
35 there were imperceptible changes in overall machines’
i=1 U B3 (i)% performance. This outcome can be explained mainly
μU B3 % = = 74.1% (22)
35 by the different grouping decisions in cold rolling and
1016 Int J Adv Manuf Technol (2011) 53:993–1018

30
Moreover, crane movements per unit time are
greater than those derived in scenario 1, which sug-
25 gests an increase in work-in-process inventory. This
Crane moves per hour and average

indicates that the second scenario provided not only


20 faster throughput rates but also a smoother flow of coils
through the production line. Finally, throughout sim-
15 ulation intermediate storage area (high bay) exhibited
lower capacity rates. Thus, simulations of this type may
be used (together with economic considerations such
10
as expected future demand levels, costs, depreciation
factors etc.) to make rational decisions about future
5
investments.
Increased throughput rates for an aggregate period
0 of 36 days were also achieved in the case when the
0 5 10 15 20 25 30 35 40 45
No of Days pre-set times the coils remain in high-bay storage area
during cooling after annealing are reduced. Addition-
Fig. 21 Crane movements in total for scenario 3
ally, significant capacity changes in intermediate stor-
age area have been noticed. Simulation runs indicate
that scenario 3 provided the best capacity utilisation
of high bay intermediate storage area among all other
annealing processes performed in each scenario. As a
scenarios. This outcome may prompt managers to use
matter of this fact, different decision making through-
push policies in hot-line section or to increase slightly
out the production line in first and third scenarios
the entry rate coils enter the high-bay storage area in
produced 933 and 813 coils, respectively, while machine
cases there is no bottleneck machine or any serious
centres exhibited different usage efficiency.
malfunction in any machine centre.
The total number of crane movements at all four
The results appearing in Table 20 confirm that as it
locations is shown in Fig. 21. The maximum number
was expected the overall production times and response
of movements is 30 instead of 32 in the first scenario.
levels—observed when running the system under pre-
Table 19 presents the total number of crane movements
set times reduction after annealing process—were bet-
at each location. Note again that the crane performed
ter than those observed in the case of baseline scenario.
less movements in serving cold rolling machine centre
However, mainly due to different grouping decision,
CCR3 = 2,560 while the BWG is the location which is
the system’s performance with respect to machines’
served for least amount of time C B3 = 913 in com-
utilisation and crane movements did not show any
parison to the other three. It is clear that there are
significance changes. Still, a better scheduling scheme
small changes in total crane movements in regard to
can be followed by managers at the beginning of pro-
scenario 1.
duction line. Towards this achievement, managers can
Table 19 summarises the corresponding data for the
use the proposed model to evaluate the possibility of
third scenario, related to the average usage of the an-
improving also utilisation for every alternative machine
nealing machine centres, cold rolling activity, high-bay
configuration. The report and simulation results are
storage area capacity and BWG work centre.
shown in Table 20.

4.4 Performance and simulation results analysis 4.5 Conclusions

The overall conclusion that can be drawn from the sim- This work has presented a technique for the modelling
ulation results for both scenarios 2 and 3 together with and simulation of an aluminium coils production plant
comparisons with the main findings of baseline scenario by using Matlab software. The effects of physical and
1 is that potential assessment in the production system capacity constraints (e.g. available machinery, storage
performance can be obtained. More specifically, it was constraints of intermediate inventory buffers, pre-set
found that installing an additional annealing machine time changes) were analysed. Different scenarios were
or introduction of new annealing technology results in assessed and analysed by measuring certain impor-
a considerable increase in the overall throughput rate tant metrics such as throughput, crane moves per unit
and also in increased machine utilisation in the cold time and machine utilisation. The proposed model was
rolling and BWG processes. found to encapsulate in detail the behaviour of the
Int J Adv Manuf Technol (2011) 53:993–1018 1017

Table 20 Report and simulation results for all scenarios


Day Scenario 1 Scenario 2 Scenario 3
U A1 % U CR1 % U B1 % HB1 (N)% U A2 % U CR2 % U B2 % HB2 (N)% U A3 % U CR3 % U B3 % HB3 (N)%
1 88.2 0 0 2.5 78.8 0 0 2.6 88.2 0 0 2.5
2 98.7 0 0 9 74.1 0 0 9.8 98.7 0 0 9
3 99.2 0 0 15.4 85.9 0 0 15.9 99.2 0 0 15.4
4 99.2 0 0 23.1 90 0 0 23.4 99.2 3.8 0 23
5 99.2 0 0 30.4 82.2 0 0 31.5 99.2 6.6 0 30.4
6 99.2 7.3 0 37.3 80.9 7.3 0 38.4 99.2 33 0 37.1
7 99.1 29.2 0 44.3 87.3 34 0 44.9 99.1 67.4 0 44.1
8 99.3 41 0 51.4 80 52.4 0 52.5 99.3 65.3 41.7 49.1
9 99.1 68.8 15.6 58.3 84 70.1 0 59.5 99.1 75.3 27.8 53
10 99.2 69.1 26 60.9 79 71.5 37.5 63.3 99.2 52.4 88.2 54.2
11 99.3 72.6 68.8 64.5 86.5 71.9 86.5 64.4 99.3 66 87.5 54.7
12 99.2 45.8 90.3 66.2 89.7 72.6 87.2 63.5 99.2 54.5 87.5 54
13 99.1 69.8 87.2 65.4 83.3 67.7 87.8 62.8 99.1 55.9 88.9 53.9
14 99.3 61.8 88.9 64.9 80.9 50 92 64.1 99.3 59 81.2 53.4
15 99.1 52.8 87.2 65.9 87.8 69.1 87.2 64.8 99.1 55.2 46.9 57.2
16 99.3 61.1 50.7 66.4 81.6 70.5 76.7 63.8 99.2 71.2 49 59.6
17 99.1 67.4 56.9 67.9 74.5 70.8 55.6 64.8 99.2 71.5 50.7 60.3
18 99.2 72.9 72.2 70.7 93.4 69.1 89.2 66.3 99.3 72.6 76.4 63.1
19 99.3 72.2 58.3 74.7 97.1 72.6 84 66.6 99.2 73.3 88.5 64
20 99.2 71.5 80.2 76.8 98.2 73.3 61.1 68.4 99.2 71.9 92.4 66.4
21 99.2 71.5 87.8 77.6 85.3 69.1 88.5 70.1 99.2 56.6 88.2 68.4
22 99.2 74.7 91.7 78 76 69.1 93.1 71.6 99.2 57.3 90.6 67.5
23 99.2 49.7 87.8 79.5 95.3 68.4 88.9 73.3 99.2 55.6 77.8 69.7
24 99.1 59.4 92 81.4 93 70.5 77.8 73.7 99.1 72.2 56.9 72.2
25 99.2 72.9 85.4 80.4 87.5 72.2 87.2 72.7 99.3 71.2 69.1 72.9
26 99.2 69.4 77.4 81.8 92.1 70.1 90.6 71.9 99.1 71.5 88.9 75
27 99.2 73.3 84.7 84.6 92.1 70.1 90.6 71.9 99.2 69.8 88.5 76.2
28 99.2 63.5 86.8 84.9 99.2 70.8 88.2 74.2 99.2 72.2 91 77.5
29 99.3 69.8 92.7 85.7 95.1 67.4 84.7 74.5 99.3 67.4 88.5 78.2
30 99.2 68.1 86.8 86.7 95.9 69.8 78.1 74.6 99.3 72.6 80.6 79
31 99.2 49 89.2 80.4 84.7 71.9 60.8 77.6 99.2 70.5 77.1 74.4
32 99.2 68.4 79.2 73.1 0 67.4 86.8 77 99.1 74 89.9 67.9
33 99.1 67.7 85.4 67.6 0 71.5 74 69.1 99.2 70.8 88.2 60.1
34 99.2 44.1 71.5 61.6 0 71.2 82.6 61.9 99.1 62.2 92.7 54.3
35 87.4 70.1 59 56.4 0 74 87.5 53.6 89.4 54.2 86.5 48.2
36 0.2 73.3 61.5 54.5 0 78.5 86.1 46.5 3.8 71.5 89.2 44.2
37 0 72.6 89.6 48.3 0 72.6 89.2 39.1 0 50.3 87.2 36.2
38 0 62.5 88.9 41 0 78.1 92.4 33.6 0 50.7 59.7 30.1
39 0 72.6 89.6 34.5 0 24.3 91.7 28.1 0 28.5 56.2 27.2
40 0 53.8 83.3 27.8 0 59 92.7 23.2 0 34.7 49.7 23.6
41 0 31.9 89.9 20.5 0 0 92.7 18.8 0 0 71.2 20.9
42 0 0 80.6 15.3 0 0 85.4 14.2 0 0 19.1 18

real production system; this is flexible in the sense lated to cost over benefit investment decisions, and it
that it can accommodate numerous alternative system helps developing further productive incentives.
configurations and different scenarios on an equal foot-
ing all assessed on actual production data.
Hence, the proposed model can help the production
management process of a typical complex manufac- References
turing environment by providing important knowledge
about the system, thus resulting to better choice of 1. Martinich JS (1997) Production and operations management:
an applied modern approach. Wiley, New York
scheduling schemes. It is also clear that the assess-
2. Benjaafar S, Kim JS, Vishwanadham N (2004) On the effect
ment of all alternative scenarios can aid significantly of product variety in production inventory systems. Ann
decision-making management procedures especially re- Oper Res 126(1–4):71–101
1018 Int J Adv Manuf Technol (2011) 53:993–1018

3. Papanagnou CI, Halikias GD (2008) Supply-chain modelling international conference on tools with artificial intelligence,
and control under proportional inventory-replenishment pp 264–271
policies. Int J Syst Sci 39(7):699–711 16. Lim P, Epstein ML, Freeman EH (1998) A constraint logic
4. Wu MC, Jiang JB, Chang WJ (2008) Scheduling a hybrid programming language for combinatorial optimization and
MTO/MTS semiconductor fab with machine-dedication fea- linear programming. In: 7th IEEE conference on artificial
tures. Int J Prod Econ 112:416–426 intelligence applications, pp 264–271
5. Papanagnou CI, Tzionas P, Xanthopoulos C (2007) Mod- 17. Mayoh B, Tyungu E, Uustalu T (1994) Constraint satisfaction
elling and simulation of aluminium coils production process and constraint programming: a brief lead-in. Springer, New
using coloured petri nets. In: Proceedings of the 6th Eu- York
rosim congress on modelling and simulation. Ljubljana, 18. Frisch AM, Miguel I, Walsh T (2001) Modelling a Steel Mill
Slovenia slab design problem. In: Proceedings of the IJCAI-01 work-
6. Vollmann TE, Berry WL, Whybark DC et al (2005) Manu- shop on modelling and solving problems with constraints
facturing planning & control systems for supply chain man- 19. Lafortune S, Cassandras CG (1999) Introduction to discrete
agement. McGraw-Hill, New York event systems. Kluwer, Boston
7. Sterman JD (1989) Modeling managerial behaviour: misper- 20. Bertsekas DP (2007) Constraint satisfaction and constraint
ceptions of feedback in a dynamic decision making experi- programming: a brief lead-in. Dynamic programming and op-
ment. Manage Sci 35(3):321–339 timal control, vols 1–2, 3rd edn. Athena Scientific, Nashua
8. Dallery Y, Gershwin SB (1992) Manufacturing flow line sys- 21. Fehnker A(1999) Scheduling a steel plant with timed au-
tems: a review of models and analytical results. J Queueing tomata. In: Proceedings of the 6th international conference
Syst 12(1–2):3–94 on real-time computing systems and applications, pp 280–285
9. Falster P, Mazumder RB (1984) Modelling production man- 22. Johnson DJ (2003) A framework for reducing manufacturing
agement systems. North-Holland, Amsterdam throughput time. J Manuf Syst 22(4):283–298
10. Sandanayake YG, Oduoza CF (2008) Dynamic simulation 23. Tang L, Wang X (2008) A predictive reactive scheduling
for performance optimization in just-in-time-enabled man- method for color-coating production in steel industry. Int J
ufacturing processes. Int J Adv Manuf Technol 42:372–380. Adv Manuf Technol 35(7–8):633–645
doi:10.1007/s00170-008-1604-4 24. Tang L, Liu J, Rong A, Yang Z, (2001) A review of planning
11. Narchal RM (1988) A simulation model for corporate plan- and scheduling systems and methods for integrated steel pro-
ning in a steel plant. Eur J Oper Res 34:282–296 duction. Eur J Oper Res 133(1):1–20
12. Sarkar BR, Fitzsimmons JA (1989) The performance of push 25. Ni Y, Fan F, Yan J, Ma D, Jin Y (2003) An asynchronous and
and pull systems: a simulation and comparative study. Int J synchronous coupling approach in networked rapid product
Prod Res 27(10):1715–1731 development. Int J Adv Manuf Technol 22:26–32
13. Matsuura H, Tsubone H, Kanezashi M (1993) Sequencing, 26. Rosen SL, Harmonosky CM (2005) An improved simu-
dispatching, and switching in a dynamic manufacturing envi- lated annealing simulation optimization method for dis-
ronment. Int J Prod Res 31(7):1671–1688 crete parameter stochastic systems. Comput Oper Res 32(2):
14. MATLAB (2003) The language of technical computing. 343–358
http://www.mathworks.com/products/matlab. Accessed 20 27. Askin RG, Standridge CR (1993) Modeling and analysis of
May 2005 manufacturing systems. Wiley, New York
15. Fang H-L, Tsai C-H (1998) A genetic algorithm approach 28. Naroska E, Schwiegelshohn U (2002) On an on-line schedul-
to hot strip mill rolling scheduling problems. In: 10th IEEE ing problem for parallel jobs. Inf Process Lett 81(6):297–304

You might also like