Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Final Project Report: Extrusion Press Optimisation

Download as pdf or txt
Download as pdf or txt
You are on page 1of 56

Final Project Report

Extrusion Press Optimisation


By
Janelle Botha
13003161

Submitted in partial fulfillment of the requirements for


the degree of
Bachelors of Industrial Engineer

In the faculty of Engineering, Built Environment and


Information Technology

University of Pretoria

September 2016

© University of Pretoria
Industrial Engineering

Industrial Engineering

Industrial Engineering

Janelle
13003161
Industrial Engineering
Aluminium Extrusion Press Optimisation
Janelle
13003161
Aluminium
Final ProjectExtrusion
report Press Optimisation

Final Project report

i
© University of Pretoria
Executive Summary
Wispeco is a leading aluminium extrusion company situated in Alberton. The direct aluminium
extrusion process is a hot deformation process that produces aluminium profiles. A press is the
machine used to transform a solid aluminium log into an aluminium product. This projects aims
to increase the output of the company. The results of the production on the presses will be
determined by a scheduling model.

An Operational Research model is created to develop a production schedule for the presses.
This model has multiple objective functions to maximize the output and to minimize costs. This
problem is classified as an NP-Hard problem and will have to use a metaheuristics model to
solve it. A simulated annealing algorithm was developed to ensure the model will obtain able to
obtain a high quality solution within a reasonable amount of time. This model will improve the
production plan of the extrusion presses. This model can also be used to indicate if moving the
problem dies to the smaller press will increase the output. This algorithm will develop the best
schedule with regards to the cost of the production. Different scenarios can easily be compared
with each other with the use of this algorithm, for example, the purchase of new presses. This
schedule indicates the change in the production time and the impact on the cost of the
production.

i
© University of Pretoria
Table of Contents
Chapter 1: Introduction .................................................................................................................. 1
1.1. Background....................................................................................................................... 1
1.2. Problem statement .......................................................................................................... 3
1.3. Project aim ....................................................................................................................... 5
1.5. Scope ................................................................................................................................ 5
1.6. Research design and Deliverables .................................................................................... 5
1.7. Project Approach .............................................................................................................. 6
1.8. Document Structure ......................................................................................................... 7
Chapter 2: Literature Review .......................................................................................................... 8
2.1. Production process analyses ............................................................................................ 8
2.2. Scheduling problems ........................................................................................................ 9
2.2.1. Scheduling problems in other Industries .................................................................. 9
2.2.2. Scheduling problems for foundries........................................................................... 9
2.3. Metaheuristics................................................................................................................ 10
2.3.1. Simulated Anneailing .............................................................................................. 11
Chapter 3: Project Investigation ................................................................................................... 14
3.1. Press performance ......................................................................................................... 14
3.2. Dies performance ........................................................................................................... 15
3.3. Problem dies................................................................................................................... 17
Chapter 4: Data Analysis ............................................................................................................... 19
4.1. Cost ................................................................................................................................. 19
4.2. Die Input data ............................................................................................................. 20
Chapter 5: Conceptual design ....................................................................................................... 23
5.1. Mixed Integer model ...................................................................................................... 23
Chapter 6: Development of Supplementary Mechanism ............................................................. 26
6.1. Simulated Annealing ...................................................................................................... 26
6.2. My scheduling problem.................................................................................................. 32
Initial solution ........................................................................................................................ 32
Generating new solution ....................................................................................................... 33

ii
© University of Pretoria
Feasibility test ........................................................................................................................ 34
Cost Calculation ..................................................................................................................... 34
Chapter 7: Solution ....................................................................................................................... 36
7.1. Different Objective Functions ........................................................................................ 36
7.1.1. Minimise Cost ......................................................................................................... 36
7.1.2. Increase Output ...................................................................................................... 37
7.1.3. Minimise Make span ............................................................................................... 40
7.2. Improve Scheduling ........................................................................................................ 40
7.3. Validation ...................................................................................................................... 43
Chapter 8: Sensitivity Analysis ...................................................................................................... 44
8.1. Production cost .............................................................................................................. 44
8.2. Demand .......................................................................................................................... 45
Chapter 9: Conclusion ................................................................................................................... 46
References .................................................................................................................................... 47
A Sponsorship Form ................................................................................................................ 49

iii
© University of Pretoria
List of Figures
Figure 1: Billets ................................................................................................................................ 2
Figure 2: Press ................................................................................................................................. 2
Figure 3: Container ......................................................................................................................... 2
Figure 4: Late Orders....................................................................................................................... 4
Figure 5: Work Breakdown Structure ............................................................................................. 7
Figure 6: Simulated Annealing graph ............................................................................................ 12
Figure 7: Press Performance ......................................................................................................... 14
Figure 8: Die Cavities Speed .......................................................................................................... 16
Figure 9: Speed Distribution ......................................................................................................... 17
Figure 10: Simulated Annealing Cost 1 ......................................................................................... 28
Figure 11: Simulated Annealing Temperature1 ............................................................................ 28
igure 12: SA Temperature 2 .......................................................................................................... 28
Figure 13: SA Cost 2 ...................................................................................................................... 29
Figure 14: SA Temperature 2 ........................................................................................................ 29
Figure 15: SA Temperature 3 ........................................................................................................ 30
Figure 16: SA Cost 3 ...................................................................................................................... 30
Figure 17: Simulated Annealing Cooling rate 4 ............................................................................ 31
Figure 18: Simulated Annealing Cost 4 ......................................................................................... 31
Figure 19: Decrease in Production Cost ........................................................................................ 36
Figure 20: Production Output schedule ........................................................................................ 37
Figure 21: Waste ........................................................................................................................... 38
Figure 22: New Machine Output .................................................................................................. 39
Figure 23: New Machine Production time .................................................................................... 39
Figure 24: Schedule Diagram ........................................................................................................ 42
Figure 25: Cost Sensitivity Analyses .............................................................................................. 44
Figure 26: Production Time Analyses ........................................................................................... 45

List of Tables
Table 1: Press Production daily data............................................................................................. 14
Table 2 : Die failures...................................................................................................................... 15
Table 3 : Mean and variance values for the 7” dies ..................................................................... 17
Table 4: Problem dies ................................................................................................................... 18
Table 5: Constant value of Production cost .................................................................................. 19

iv
© University of Pretoria
Table 6: Unique production cost per press................................................................................... 20
Table 7: Recovery Rate ................................................................................................................. 20
Table 8: Input and waste data ...................................................................................................... 21
Table 9: Die Speed ........................................................................................................................ 21
Table 10: Production Time ............................................................................................................ 21
Table 11: Conditions table ............................................................................................................ 22
Table 12: Conditions ..................................................................................................................... 22
Table 13: Sets ................................................................................................................................ 24
Table 14: Cooling system’s parameters 1 ..................................................................................... 28
Table 15: Cooling System's parameters 2 ..................................................................................... 28
Table 16: Cooling System Parameters 3 ....................................................................................... 29
Table 17: Scenario 1 results .......................................................................................................... 41

v
© University of Pretoria
Chapter 1: Introduction
The extrusion process can be described as squeezing toothpaste out of a tube. Pressure is
applied at one point which causes the paste to flow through the opening at the other end. The
paste takes the form of the opening. Different shapes can be produced by different openings.
An everyday example for this is the shape nozzles used to decorate cakes. These openings are
the dies and the toothpaste tube is the press machine that presses the melted aluminium
through the dies.

Aluminium is the general material used for extrusion because it is cheap, light, corrosion
resistant and formable. Aluminium extrusion profiles are used in various industries such as
building, transport and agriculture.

1.1.Background
The direct aluminium extrusion process is a hot deformation process that produces aluminium
profiles. These profiles are produced by performing multiple operations on multiple machines.
Extrusion is performed under high pressure and temperature. The different steps in the process
is shown in the figure 1 to 3. The extrusion process begins with melting the metal in the oven.
The next step is transforming the molten aluminium into aluminium logs. This step is called
continuous casting. The aluminium logs are cut into smaller sizes which are then referred to as
billets. The billets are transported to the press machines. The billet is preheated to 450°C and
the specific die is heated to 420°C. The hot aluminium is pressed through the container and
then through the die’s opening. The container is a hollow steel structure with one opening
through which the billet is pressed and the other end is where the die is connected. Dies are
classified in 2 groups, hollow or solid, and these two groups are sub-divided according to the
number of cavities in the die. When referring to a die the abbreviation S6 is used, for example,
where s=solid and 6 = number of cavities. The aluminium takes the form of the opening and an
aluminium profile is produced. The profile is supported by a runout conveyor and stretched to
ensure it is straight. The profile is cut into the specified commercial lengths. The profiles are
then either powder coated or sent to the anodizing plant to get treated. These ageing
processes ensure that the aluminium is not damaged.

1
© University of Pretoria
Figure 1: Billets

Figure 2: Press

Figure 3: Container

This paper focusses on the presses and allocation of the dies to these presses. The optimization
of the performance of the presses is considered. The plant has nine extrusion presses which
vary in sizes. There are two 8-inch presses, five 7-inch presses, and two 5-inch presses. The 5-
inch presses have less power or strength and produce less output than the 7-inch presses. The
7-inch presses are referred to as Ep1, EP2, EP3, EP4 and EP5. These presses are located at the
plant in Alberton. The 5-inch presses are referred to as EP6 and EP8 and they are located at the

2
© University of Pretoria
Vereeniging plant and Cape Town plant respectively. The 8-inch press is also located at the
Cape Town plant.

The performance of these presses is highly influenced by the performance of a die. The die
performance can be defined as the rate at which the profiles are extruded and the occurrences
of die failures. The number of failures is expressed as a rate. Dies that have extremely high
failure rates are referred to as problem dies. These dies have a big impact on the output of the
press, because a lot of waste is generated by these dies. The speed at which the press can
produce the profiles depends mostly on the characteristics/design of the die and the power of
the press. A problem die is normally a slow runner. A low performing die will increase the
production time for the job which normally causes late orders.

1.2.Problem statement
In 2015, a team from Wispeco, visited one of the largest aluminium extrusion plants in China.
This manufacturing plant does not use dies with more than four cavities. When a die is
identified as a problem die, they reduce the cavities and cut a smaller die and run this die on
the smaller presses. The possibility of an increase in production, if dies with fewer cavities are
used, should be investigated.

The Cape Town plant has two presses, a 5-inch and an 8-inch press, in operation. The plant has
not been generating profits. The performance of the two presses were analyzed and it was
decided that EP8 press is performing at such a loss that this press should be closed down. After
structuring the work shifts in such a manner that there is no overtime, the plant experience an
increase in profits even though they only use the one press. EP 8 is seen as a problem press
because it does not produce high outputs and it generates a lot of scraps. This introduced the
possibility of utilizing EP8 by only scheduling problem dies to this press. A problem die is a very
low performing die which has a high failure rate. These dies have the most impact on the total
output generated by the presses per period. The amount of waste created by these dies and
the increase in production time causes these presses to produce less output than their
capacity. The Cape Town plant will not be able to use the machine for the problem dies as they
have already restructured their workforce, thus the press will have to be moved from Cape
Town to Alberton. The company will incur high cost to move this press. The dies will also have
to be cut smaller which is also very costly.

Currently, there is no fixed decision-making model for the allocation of dies to the different
presses. The production plan of the presses, which refer to the allocation of dies to presses, is
only based on the demand, press availability and two basic constraints, thus the opportunity

3
© University of Pretoria
for a scheduling model was identified. Currently the dies are scheduled to the same presses as
they believe the operators became accustomed to the die and the way to run the die. The
scheduling does not incorporate the difference in production cost of the presses and their
capabilities. It was also identified that they have a large number of late orders and thus there is
a big need for the optimization of the presses. Table 1 indicates the total late orders,
documented by Wispeco, per month. This graph represent the late orders over a period of two
years.

Monthly Late Orders [Kg]


47000
46000
45000
44000
Orders [Kg]

43000
42000
41000
40000
39000
38000
37000
January February March April May

Months

Figure 4: Late Orders

4
© University of Pretoria
1.3. Project aim
This project aims to reduce the total production time which will reduce the number of late
orders. This will be achieved by developing a scheduling model for the dies. This project should
maximize the output of the company by implementing the scheduling model. The second
objective is to improve the scheduling methods of the company and to indicate the key
parameters to focus on when they do their production plan.
The final objective of the project is to determine whether it would be beneficial for the
company to utilize EP8 located in Cape Town. The project will determine whether this will
increase the output of the overall production output of the company. This paper will determine
the benefit of removing problem dies from the bigger presses and running them on the
problem presses (EP8) and the other 5 inch press (EP6).The 5-inch presses are currently at the
other plants, one in Cape Town and the other one in Vereeniging. If this project indicates an
increase in the production, the presses will be moved to the Alberton plant in order to provide
the plant with the flexibility to run the bigger presses at full capacity.

1.5. Scope
This paper will only include EP1, EP2, EP4, Ep5, EP6 and EP8. The benefit should be determined
if the problem dies are moved from the 7-inch presses and are run on EP6 and EP8.
The effects of the problem dies should be identified and analyzed. The change in capacity and
production time should be calculated if these dies were to be moved to EP8. Preliminary cost
implications should be determined to indicate if such a change is viable. This analysis has to
incorporate the cost of moving EP8 from Cape Town to Alberton. If these calculations show this
will increase the capacity and the profits, 4 of the problem dies will be cut into 5-inch dies and
will run on the 5 inch-presses. The impact must be observed through time studies and data
capturing.
Another aspect of this project is the current decision-making logic for the production plan of
the presses. The reasoning behind the current production plan development is analyzed. A
scheduling model is created with which the optimal allocation of dies to the presses will be
determined. This schedule will ensure the shortest production time and lowest cost is met.

1.6. Research design and Deliverables


A full cost-benefit analysis will be calculated with economic calculations. During this project, it
will also be determined which dies are the problem dies. The company can use the criteria
matrix, shown in appendix B, to classify any new dies. The minimum speed, at which extrusion
should occur in order to maintain profits, will be determined.
After the completion of the project, an operational research model will be delivered to the
company. This model will help to maximize the output of the extrusion process and increase
the profits. The aim of a production scheduling problem is to ensure that the resources used in

5
© University of Pretoria
the manufacturing process are allocated in the most efficient way and that all the production
constraints are followed. After researching similar scheduling problems, the conclusion was
drawn that a mixed integer linear programming model will be used. This model will have a
multi-objective that the total cost of the manufacturing is minimized and the output of the EP1,
EP2, EP4 and EP5 are maximised.
The model should be used for different scenarios. The first one is to schedule the As-Is
production plan, the second one is scheduling the problem dies to EP8, and the third a model
that decides independently where the problem dies should be run.

1.7. Project Approach


The first step is to identify similar problems in the same industry and to identify which methods
that were used in the literature could be used to solve our problem. Firstly, the problem
specific literature is used to determine whether other extrusion companies have used
scheduling models. Then we will look at what tools where used for scheduling models.
The impact of the problem dies will be calculated with three steps. The company requires the
first two steps. A general production plan will be created with factor values that represent the
utilization factor of the die. These values will ensure that the calculations consider the demand
for the different product and that the dies that have higher demands, will contribute more to
the outcome. The next step will be to manually identify 100 problem dies and calculating the
impact on the system.
An operational research model will be developed and here the constraint will be identified.
Because this is a complex problem it will be solved using metaheuristics. A simulated Annealing
model will be developed in Python. Figure 5 is the activity break down structure for this project.

6
© University of Pretoria
Literature Potential gain Sensitivity
Data Analyses Model
Study calculations Analyses

Extrusion Develop calculations Assumptio Determine the


Die failures to calculate the
process ns assumption that
output will be changed

Scheduling problems: Problem dies


categorised Create different production Objective function
Tools used to solve
schedules Run model
with
changes
Foundry Speed for die Develop a factor which Use knowledge of
scheduling cavities for 5" can be used to change the problem to
problems press and 7" schedule create rules
press
Make
Compare the results Constraints assumptions
Aluminium extrusion
about possible
plants problems from the production
Runout schedules outcomes
occurences inputs: measurable
Extrusion die and full table inputs
optimisation Payback
period
Operational research Distribution of
Multiple
model scheduling data: Normal
Cost calculation for scenarios
examples distribution,
Box plot moving EP8

Multi-objective Analyse the


results
Summarize raw
data: Pivot
Exact vs tables
Heuristic

Sensitivity
analyses

Figure 5: Work Breakdown Structure

1.8. Document Structure


Solution to similar problems in literature are reviewed in Chapter 2. The problem investigation
is reviewed in Chapter 3. The analyses of the past production data is given in Chapter 4. The
preliminary conceptual model developed to solve the scheduling problem is given in Chapter 5.
The design of the simulated annealing pseudo code is given in Chapter 6. The results for the
simulated annealing algorithm are shown in Chapter 7. The sensitivity of the model is tested in
Chapter 8. The projected is concluded in Chapter 9.

7
© University of Pretoria
Chapter 2: Literature Review

Scheduling can be implemented in numerous processes. The different scheduling problems will
be discussed within foundries and other industries. The tools for these scheduling problems will
also be discussed and it will show the similarities and the differences between our problem and
previous literature.

2.1. Production process analyses


The type of production process has an impact on how the scheduling will be solved and with
what resources.

A single machine scheduling problem involves a single machine that is used for production. This
scheduling problem has to schedule different orders to that one machine and the machines
perform a single task continuously. Noivo et al. (n.d.) presented a paper about solutions for one
machine scheduling with sequence-dependent set-up times. In their paper, they described this
problem as an NP-Complete. An NP-Complete problem is defined as a problem that does not
have a fast solution. If any known algorithm were used the time it takes to solve the problem
would increase if the scheduling items were to increase. The setup time for a die, is not
sequence dependent. When a die change occurs the actions/operations/task to perform for the
changeover is the same for all the dies. This paper production process has an average change
over time during which the operators strive to perform these task.

Forrai and Kulcsar (2009) develop a model for flow shop or continuous production. The plant
has multiple machines with different operations. These machines are placed in a sequence and
these types of processes are used for mass production. The paper present a solution to the
scheduling problems for this plant. They use a mixed integer linear model with heuristics to
solve this problem. Bellabdaoui and Teghem (2006) also develop a model that schedules flow
shop production lines. Hajeeh (2013) developed an optimisation model for an extrusion
factory. This model selects the best cutting pattern of aluminium logs and billets with the
objective to minimise the amount of scrap generated by the process. This model includes
multiple machines that perform different task. The items that are produced has to follow the
same sequence, for example the scrap metal has to be melted in the furnace before it can be
cast. Our problem consists of different machines with different tasks that operate in parallel.

A job-shop production process consists of multiple machines that run a number of jobs, which
are completed with a number of operations. Nonås and Olsen (2005) present paper on a
scheduling problem that follows this principle. This foundry has limited resources, thus making
it more complex than the simple job shop problem. In this paper, they use priority rules to
schedule jobs to machines. The machines work in parallel with each other performing one

8
© University of Pretoria
operation at a time thus, the operations are scheduled to the machines. Baki and Vickson
(2004) describes a scheduling problem for N dies to a press as a one-operator (the press), N
machine (the dies) open shop problem. An open shop production differs from a job shop in the
sense that the order in which the different operations are scheduled are not determined by the
previous operation completed. This scheduling is done more freely. Our scheduling does not
take into account any other step in the extrusion plant, it only focuses on the profile extruding.

2.2. Scheduling problems


Scheduling problems in literature will be summarised and the tools used to solve these
problems were identified.

2.2.1. Scheduling problems in other Industries


Bierwirth and Mattfeld (1999) develop a model for job shop scheduling. They develop a Generic
Algorithm, which works for a dynamic production environment. This means that the number of
jobs have different release dates. The mean flow-time of jobs is used and by minimising this the
schedule will be generated, which will complete jobs as soon as possible. The different
operations has to be completed in a certain sequence and this drives the scheduling.

Leung et al. (2007) proposes solutions for scheduling orders for multiple products produced
with multiple dedicated machines, that works in parallel to each other. They developed a
linear programming model and use heuristics because the model will not be able to calculate
the exact optimal solution.

2.2.2. Scheduling problems for foundries


Hajeeh (2013) developed an optimization model for an extrusion factory. This model selects
the best cutting pattern of aluminium logs and billets with the objective to minimise the
amount of scrap generated by the processes. This job-shop production type is used for this
foundry. A mixed integer problem is used to solve the scheduling problem. This model has a
number of jobs to schedule to multiple machines. The items produced has to follow a certain
sequence.

Dutta et al. (2009) develop model for an Aluminium extrusion company in India. The model is
used to improve strategic planning within the company. The linear programming model
optimizes five elements of this company, which is materials, facilities, activities, storage areas
and time periods. The objective is to maximise the revenues from sales. The constraints
considered for this model is the capacities of the facility and storage areas, the material
balances and the bounds on the materials. This model is suitable to use for facilities that is in
series, parallel or in more complex configuration.

De Araujo et al. (2008) proposes a solution for the scheduling of alloy production and the
moulding of the aluminium logs. A mixed integer programming model to schedule these

9
© University of Pretoria
processes is investigated but it is impractical to solve in a reasonable time frame. As a result, a
faster relax-and-fix (RF) approach is developed. This approach reduces the number of integer
values that needs to be scheduled by coding a series mixed integer programs that are relax to
an extent. This was used on a rolling horizon basis, which schedules the items in detail for the
first day and then relaxes the schedule for the rest of the workdays. The first day is divided into
a number of sub-periods to be scheduled and the rest of the workdays only has one subsection.

Tang et al. (2000) developed a production schedule in a steelmaking-continuous casting


foundry. A non-linear model with the objective function to minimise the lateness of orders is
used. The objective function is achieved by minimising a cost function. This model is then
converted into a linear programming model. This scheduling process consists of four steps. The
machines used in the first three steps are fixed and thus, the model needs to decide what the
starting and ending times are for a charge (a unit of production that consists of a sequence of
operations) on a certain machine. A solution to our die scheduling can be derived from the
scheduling method for the charges.

Nonås and Olsen (2005) discusses solutions for a scheduling problem for an engineer-to-order
foundry that produces propeller blades. This is the same as the furnace and moulding
processes but this company doesn’t produce large numbers of items. They used a mixed
integer linear model together with heuristic strategies to solve the scheduling problem. Simple
heuristics were used to shuffle the jobs scheduled according to the due-date approach in order
to get a new improved plan. A recursive algorithm, swopping a job finished ahead of time with
a late job, gave the best results.

Dos Santos-Meza et al. (2002) focusses on developing a model to solve a lot-sizing problem in
an automated foundry. This paper focuses on the furnace, which produces the melted
aluminium which is then transported to several moulding machines. The decisions variables are
the type of alloy produced in the furnace and the quantity of items to be produced in each
moulding machine. They use an integer linear program to solve this problem. The objective
function for this problem was to minimise the cost of production. The formulation for their
objective function with their constraints can be used to formulate our second objective
function.

2.3. Metaheuristics
The complexity of the problem determines whether the problem can be solved by an exact
method or an approximate method. According to El-Ghazli Talbi, a complex problem cannot be
solved using exact method. The exact model will not be able to solve the problem within a
feasible period, thus approximation methods should be used. The scheduling problem for the
aluminium foundry fits this criteria. If the MILP model were to be solved with an LP-solver the
answer provided would be a local optimum.

10
© University of Pretoria
Metaheuristics is an approximation method and it can be used to solve complex problems
which are classified as NP-Hard and NP-Complete. Metaheuristics provide solution methods
which are high quality in a reasonable time. Metaheuristics consist of different types of
algorithms designed to solve these complex problems. Examples of these are Tabu search,
Diminishing Neighborhood search and Simulated Annealing.

De Araujo et al. (2008) presented a paper on the scheduling of the alloy production and the
moulding of the aluminium logs. A mixed integer programming model to schedule these
processes is investigated but it is impractical to solve in a reasonable time frame. This paper
discussed the use of relax-and-fix method, descent heuristics, diminishing search and simulated
annealing to solve the complex scheduling problem. They find that the 3 neighborhood search
method solutions improved as the sample size for the schedule increase. The simulated
annealing achieved the best solution as this method escapes a local optimum by choosing a
worse option and then generating a new schedule and converging to the minimum.

2.3.1. Simulated Anneailing


Talbi (2009) states that Simulated Annealing is based on the principles of statistical mechanics.
The annealing process is described as the heating process of a substance and then slowly
cooling a substance. This process results in a strong crystalline structure. The cooling rate is
extremely important as the structure is largely impacted by this. The initial temperature should
also be high enough to ensure the structure does not have imperfections. If the cooling rate is
too high or the initial temperature is not high enough, the cooling solid will not reach thermal
equilibrium at each temperature. The simulated annealing method compares the change in
energy in the system until these results converge to an equilibrium state.

Simulated annealing is used to solve optimization problems. It has been found that this method
can be used to solve real life problems because of the flexible nature of this algorithm and the
ability to solve an NP-Hard problem in reasonable time. The objective of a simulated annealing
algorithm is to escape a local optimum, as seen in Figure 6. The fundamental idea behind this
algorithm is to accept a new solution with a worse answer than a previous store solution, with
a certain probability.

11
© University of Pretoria
Figure 6: Simulated Annealing graph

The algorithm starts with the initial solution. The initial solution can be generated randomly,
calculated using an operational research model or calculated using historical data of the real
life process. A new solution is generated with the use of a certain strategies. An example is
swapping two jobs on two machines. The initial solution is compared to the new solution. If the
new solution is better than the initial solution, this solution is then stored as the initial solution
and the process continue. But if the initial solution is better than ‘new solution’, the new
solution will be accepted with a certain probability. This probability will decrease as the
number of iterations increases and thus the algorithm will accept fewer worse solutions.

The Simulated Annealing algorithm used to solve our problem, is displayed below provided by
Talbi (2009):

𝑰𝒏𝒑𝒖𝒕: 𝐶𝑜𝑜𝑙𝑖𝑛𝑔 𝑆𝑐ℎ𝑒𝑑𝑢𝑙𝑒

𝐹𝑖𝑛𝑑 𝑎 𝑖𝑛𝑖𝑡𝑖𝑎𝑙 𝑠𝑜𝑙𝑢𝑡𝑖𝑜𝑛 (𝑠)

𝑆𝑒𝑙𝑒𝑐𝑡 𝑎𝑛 𝑖𝑛𝑖𝑡𝑎𝑙 𝑡𝑒𝑚𝑝𝑒𝑟𝑡𝑢𝑟𝑒

𝐷𝑒𝑡𝑒𝑟𝑚𝑖𝑛𝑒 𝑎 𝑡𝑒𝑚𝑝𝑒𝑟𝑎𝑡𝑢𝑟𝑒 𝑟𝑒𝑑𝑢𝑐𝑡𝑖𝑜𝑛 𝑠𝑡𝑟𝑎𝑡𝑒𝑔𝑦 𝑜𝑟 𝑓𝑢𝑛𝑐𝑡𝑖𝑜𝑛

𝒓𝒆𝒑𝒆𝒂𝒕

𝒓𝒆𝒑𝒆𝒂𝒕

𝐺𝑒𝑛𝑒𝑟𝑎𝑡𝑒 𝑎 𝑁𝑒𝑖𝑔ℎ𝑏𝑜𝑢𝑟 (s’)

∆𝐸 = 𝐹(𝑠 ′ ) − 𝐹(𝑠)

𝒊𝒇 ∆𝐸 ≤ 0 𝑻𝒉𝒆𝒏 𝑠 = 𝑠 ′ #𝐴𝑐𝑐𝑒𝑝𝑡 𝑡ℎ𝑒 𝑛𝑒𝑖𝑔𝑏ℎ𝑏𝑜𝑟 𝑠𝑜𝑙𝑢𝑡𝑖𝑜𝑛

12
© University of Pretoria
−∆𝐸
𝑬𝒍𝒔𝒆 𝐴𝑐𝑐𝑒𝑝𝑡 𝑠 ′ 𝑤𝑖𝑡ℎ 𝑎 𝑝𝑟𝑜𝑏𝑎𝑏𝑖𝑙𝑖𝑡𝑦 𝑒 𝑇

𝑼𝒏𝒕𝒊𝒍 𝐸𝑞𝑢𝑖𝑙𝑖𝑏𝑟𝑖𝑢𝑚 𝑐𝑜𝑛𝑑𝑖𝑡𝑖𝑜𝑛 𝑖𝑠 𝑟𝑒𝑎𝑐ℎ𝑒𝑑

𝑼𝒏𝒕𝒊𝒍 𝑆𝑡𝑜𝑝𝑝𝑖𝑛𝑔 𝑐𝑟𝑖𝑡𝑒𝑟𝑖𝑎 𝑖𝑠 𝑟𝑒𝑎𝑐ℎ𝑒𝑑

𝑶𝒖𝒕𝒑𝒖𝒕: 𝐵𝑒𝑠𝑡 𝑠𝑜𝑙𝑢𝑡𝑖𝑜𝑛 𝑓𝑜𝑢𝑛𝑑

Aycan and Ayav (2012) described a class scheduling problem as NP-complete. In this paper they
used simulated annealing to solve the problem. In their model they developed hard and soft
constraints. Examples of the hard constraints were that each instructor (teacher) can only be
scheduled to one class and an example of a soft constraint is that the student conflicts with
lectures should be minimized. The schedule satisfies all the hard constraints. Their paper used
penalty scores when a constraint could not be satisfied. These penalty score functions were
used to determine the cost calculation which were used to compare the different schedules.
For the initial solution they developed a random initial schedule. The paper also described
methods to develop a neighbor for the simulated annealing. The first was a simple searching
neighborhood. This method randomly chooses one activity and one time slot and then assigns
the activity with the starting time of the time slot. The second method, Swopping
Neighborhoods, randomly selects two activities and swops their starting times. The third
method, Simple Searching and Swopping, randomly selects two activities and two time slots
and assign the activities to the respective time slots.

Yarkan and Dongara (2002) develop a scheduling model on a Computational Grid. When they
analyse the results from the Simulated Annealing scheduler and the Ad-Hoc greedy scheduler,
the simulated annealing algorithm generates a schedule that has a better estimated execution
time than those returned by the Ad-Hoc greedy scheduler. FIdanova (2011) also developed an
optimization model to schedule grid task. The author use a simulated annealing algorithm to
solve the complex problem. For the initial solution the paper used greedy heuristics to schedule
the task. This algorithm schedules the first task in the set to the first free machine, thus the
machine with the shortest production time. The initial schedule needed to be approved by a
feasibility study. The generation of the neighbor were also achieved by swopping two randomly
selected task’s starting times.

13
© University of Pretoria
Chapter 3: Project Investigation

3.1. Press performance


The targets for each for the 7-inch presses were derived from past performance data. These
values varied greatly for each press even though they have the same theoretical capacity and
power. The targets for the EP1, EP2, EP3, EP4 and EP5 are shown in the figure 13. The presses
are not even able to make the targets calculated for each of them. The actual capacity of the
plant is not as high as it should be.

20
Extrusion output [ton]

15 18 18 18 18 18
16 16
13.5
10 Capability
Targets
5

0
EP1 EP2 EP4 EP5

Figure 7: Press Performance

From the daily production information shown in Table 1, we can see that none of the presses
reaches their target outputs for a day. The table also shows that each press generates high
quantities of scrap material. The company profits are decreased largely by these presses. The
performance of EP8 is extremely low in comparison to the other 5-inch press, EP5.

Press no. Input [Kg] Output [Kg] Daily Output Waste Waste percentage
Target [Kg] [Kg] of input
EP1 16 202 12 937 18 000 3 265 20%
EP2 17 027 13 438 13 500 3 589 21%
EP4 15 846 11 867 16 000 3 979 25%
EP5 25 049 22 260 23 000 2 789 11%
EP9 14 514 11 582 20 000 2 932 20%
Alrode 88 638 72 084 110 500 16 554 19%
EP6 14 609 12 175 13 500 2 434 17%
EP7 18 173 15 400 18 000 2 773 15%
EP8 2 751 2 087 4 500 664 24%
Total 122 181 100 157 146 500 22 024 18%
Company
Table 1: Press Production daily data

14
© University of Pretoria
The reason why the presses are underperforming is because of the amount of waste caused by
die failures. The die failure causes a lot of down time. The past production information of EP5,
indicated that this press runs the fast runners and thus produced more output than the other
presses. This difference in the output produced by each press is displayed in the Table 1. The
input for the presses is lower than the target values because the presses are not running at full
speed. For problem dies and complex dies the presses needs to run at a slower speed.

3.2. Dies performance


The die performance is measured by the number of die failures, the speed at which the die
extrudes the aluminium, the occurrences of run-out problems per die and the amount of down
time caused by a full table. Each of these aspects has an impact on the output of the press.

The die failures for the different cavities are summarised in Table 2. The past schedules for
each press were analysed and the percentages shown in this table indicates the number of
times the dies are used on each press. The percentages values of the dies with a failure rate of
3 were added for each press. If we compare these values with the output for that press it
indicates that if a press has a high percentage the output of that press is lower than the rest.
The presses with the lower target values have a higher die failure occurrence.

Category No of No of Failure/d EP1 EP2 EP3 EP4 EP5


dies failures ies
S3 339 1275 3.76 4% 7% 2% 5% 2%
H4 290 1019 3.51 1% 3% 1% 8% 3%
H3 238 781 3.28 1% 2% 1% 6% 4%
S2 998 3260 3.27 33% 15% 4% 8% 6%
H6 118 365 3.09 0% 1% 1% 3% 2%
S8 88 271 3.08 0% 4% 1% 1% 0%
S4 643 1960 3.05 2% 22% 7% 11% 2%
S6 636 1924 3.03 1% 20% 6% 12% 2%
S5 4 12 3.00 0% 0% 0% 0% 0%
S1 1157 3407 2.94 31% 11% 30% 7% 6%
H2 784 2128 2.71 7% 6% 4% 18% 21%
H1 2500 6278 2.51 20% 9% 43% 21% 54%
S10 7 15 2.14 0% 0% 0% 0% 0%
H8 3 3 1.00 0% 0% 0% 0% 0%
Total 42% 74% 23% 55% 19%
Table 2 : Die failures

The performance of the die can also be analyzed by comparing the speed of production for that
die. As seen in figure 14 the dies with higher number of cavities has a lower speed. Thus

15
© University of Pretoria
running dies with more cavities compromises the speed. The amount of aluminium which can
be produced per time unit is also higher for cavities one to four.

Speed of the die cavities


800
700
600
Speed [kg/hr]

500
400
300
200
100
0
0 1 2 3 4 5 6 7 8 9 10 11 12
Die cavities

Figure 8: Die Cavities Speed

The dies with higher number of cavities have higher occurrences of runouts and a full table. A
runout is when one or more of the profiles being produced is extruded at a higher speed as the
other profiles. This causes a lot of scrap material. The die is then sent to the Die Room where
the cavity(s) that caused the run out is analysed and improved. When a runout occurs the
speed of extrusion is reduced in order to ensure the minimum damage is caused by the
irregular extrusion speed. A full table normally occurs with higher cavities because there are
more profiles produced per time unit. When the profiles are extruded it is stretched out on a
conveyor table. When this table is full the production needs to stop in order for the operators
to clear the table. Both these problems have a negative impact on the production time and
speed.

We further looked at the distribution of the speed values for each die within a cavity group.
This ensures the values that are used for the calculations are a good indication for the group.
The distribution for the speed of the 7-inch dies is shown in the following graphs. The
distributions of these values were plotted using the EasyFit program. The S2 dies speeds follow
a normal distribution, but the variance for the dies within the S2 group is very big.

16
© University of Pretoria
Probability Density Function

0.32

0.28

Occurrences

Occurrences
0.24

0.2
f(x)

0.16

0.12

0.08

0.04

0
0 500 1000 1500 2000 2500
x
Speed [Kg/Hr]
His togram Norm al

Figure 9: Speed Distribution

As seen in Table 4, the variance for the


Speed other cavities is also very big. This indicates that the
[Kg/Hr]
average values for the dies cannot be used to determine the impact on the output of the
presses.

Die Cavities Mean Variance


1 727.61 354.46
2 683.82 304.65
3 716.82 271.92
4 686.45 402.26
5 599.18 145.35
6 673.41 379.13
8 558.91 228.79
Table 3 : Mean and variance values for the 7” dies

3.3. Problem dies


The categories used to analyse the performance of the dies are the total number of failures,
the output generated for the die, whether the dies have more than 5 failures in a short period
and the amount of down time caused by the full table. A full table occurs when the aluminium
profiles cannot be removed fast enough from the conveyor where the profiles are stretched
and straighten after they exit the press. A full table normally occurs with dies with higher
number of cavities, as there are more profiles produced per time unit.

Within this company a 100 problem dies were identified. Table 3 indicates the 30 dies with the
highest number of failures. A problem die will mostly be identified among the group of dies
which are used frequently. The sum of the failures are calculated over a period of 6 months.

17
© University of Pretoria
When we analysed the performance of the dies it was the dies with high failure rates that had a
huge impact on the production of the presses. Because the failure numbers are so high the
total time wasted on die failures and the amount of scrap generated is extremely high. This loss
in production time and production output is experienced across all the presses.

Die Sum of Failures


14109 369
27921 128
28905 64
28974 64
29740 81
30607 196
30914 257
31106 121
31244 64
31271 208
34007 121
34398 64
34482 64
35175 169
35471 260
44088 247
53099 64
54318 209
55209 81
55253 98
55433 128
55434 228
56969 64
57305 64
57604 196
Grand Total 3609
Table 4: Problem dies

18
© University of Pretoria
Chapter 4: Data Analysis

The following section indicates the type of data used as input to the algorithm. The production
cost per press, speed, recovery rate and conditions per press is displayed in the tables below.

4.1.Cost
The production cost is which is also known as the conversion cost. This is the cost of converting
a kilogram aluminum billet into a kilogram aluminium profile. Currently, the production cost of
each press is equal. Table 7 shows the different components which is used to calculate
production cost.

Per unit Direct


costs
Labour 1.00
Indirect material 0.50
Die costs 0.60
R&M 0.40
Energy 0.56
Other Factory Direct 0.10
Costs
Own Distribution & 0.47
Railage
Total 4.1
Table 5: Constant value of Production cost

After a close investigation of the production cost recorded in the past and the electricity
consumption of each press it was determined that these values is different. It was also noted
that the EP3 and EP4 uses gas billet heaters which is more expensive than the electric heaters
used on the other presses. Table 8 displays the unique values determined for each press. The
algorithm will use these values to determine the cost of producing the dies scheduled to
applicable press.

Press Constant Gas Electricity Total Waste


Cost component [R/Kg]
[R/Kg]
EP1 3.54 - 0.56 4.1 0.8
EP2 3.54 - 0.56 4.1 0.8
EP3 3.54 2.28 0.3 6.12 0.9
EP4 3.54 1.72 0.3 5.56 0.9
EP5 3.54 - 0.6 4.14 0.8
EP6 3.54 - 0.56 4.1 0.8

19
© University of Pretoria
EP7 3.54 - 0.4 3.94 0.9
EP8 3.54 - 0.56 4.1 0.9
EP9 3.54 - 0.7 4.24 0.9
Table 6: Unique production cost per press

4.2. Die Input data


The input data is captured in excel and stored as a CSV (Comma-separated Values) file. Within
the excel file, the production time and the amount of aluminium required as input, are
calculated for each order. The following part will discuss this process.

The output required by the customer is the first parameter. This value is available in the order
form and is inserted manually. Next the specific die that is used to produce the order will be
inserted. The next step is to lookup the speed and recovery rate for the specific die. These
values were determined by using past production information over a period of three years. The
recovery rate for each die ensures the amount of material used in the planning is more than
the ordered amount. This recovery rate refers to the amount of aluminium which forms at the
end of the ram (steel cylinder that forces the aluminium through the die) and material that is
scrapped when failures occur. Table 7 shows an extract from the excel file for the recovery rate
of seven dies for each press.
Recovery rate
Die Die Output EP1 EP2 EP3 EP4 EP5 EP6 EP7 EP8 EP
no. Name 9
0 99587 1200 0.96 0.96 0.94 0.96 0.96 0.92 0.96 0.98 0.8
1 65414 1000 0.96 0.96 0.94 0.96 0.96 0.92 0.96 0.98 0.8
2 95321 2000 0.96 0.96 0.94 0.96 0.96 0.92 0.96 0.98 0.8
3 54122 3000 0.96 0.96 0.94 0.96 0.96 0.92 0.96 0.98 0.8
4 87541 1800 0.84 0.86 0.94 0.85 0.96 0.92 0.96 0.98 0.8
5 65324 3500 0.82 0.8 0.82 0.81 0.84 0.82 0.8 0.85 0.6
6 22513 1000 0.96 0.96 0.94 0.96 0.96 0.92 0.96 0.98 0.8
7 84512 3200 0.96 0.96 0.94 0.96 0.96 0.92 0.96 0.98 0.8
Table 7: Recovery Rate

The recovery rate for the die is used to determine the amount of input required to ensure that
the order quantity is satisfied. The amount of input required per order and the output required
per order are used to calculate the expected waste. The input and waste data for five of the
presses is shown in Table 8. These values are determined for each press and read into the
algorithm to determine the production cost.

20
© University of Pretoria
Input [Kg] Waste [Kg]
Die Output EP1 EP2 EP3 EP4 EP5 EP1 EP2 EP3 EP4 EP5
no.
0 1200 1250 1250 1277 1250 1250 50 50 76.59 50 50
1 1000 1042 1042 1064 1042 1042 41.66 41.66 63.89 41.66 41.66
2 2000 2083 2083 2128 2083 2083 83.33 83.33 127.65 83.33 83.33
3 3000 3125 3125 3191 3125 3125 125 125 191.48 125 125
4 1800 2143 2093 1915 2118 1875 342.85 293.02 114.89 317.64 75
5 3500 4268 4375 4268 4321 4167 768.29 875 768.29 820.98 666.66
6 1000 1042 1042 1064 1042 1042 41.66 41.66 63.89 41.66 41.66
7 3200 3333 3333 3404 3333 3333 133.33 133.33 204.23 133.33 133.33
Table 8: Input and waste data

The speed for the dies, which was determined from the past production data, is shown in Table
9. These values varies depending on the press the die is scheduled to. The reason for the
difference is because of the power or strength difference of each press.

Die Speed [Kg/Hr]


number EP1 EP2 EP3 EP4 EP5 EP6 EP7 EP9 EP8
0 1500 1550 1550 1530 1500 1200 1500 1700 950
1 1500 1600 1600 1530 1500 1100 1500 1700 1000
2 1500 1530 1530 1600 1500 1100 1500 1700 950
3 1500 1600 1600 1530 1500 1100 1500 1700 950
4 1500 1600 1600 1530 1500 1100 1500 1700 950
5 1500 1550 1550 1530 1500 1100 1500 1700 950
6 1500 1600 1600 1600 1500 1100 1500 1700 800
7 1500 1600 1600 1530 1500 1200 1500 1800 950
Table 9: Die Speed

The speed and the input values are used to calculate the total production time for each die. The
algorithm uses this value and the duration of a die change (a constant value in the algorithm) to
calculate the duration of the production schedule.
Production time
Die no. EP2 EP3 EP4 EP5 EP6 EP7 EP8 EP9

0 48.38 49.41 49.01 50 NA 50 43.23 94.73


1 39.06 39.89 40.84 41.66 NA 41.667 NA 75
2 81.69 83.43 78.12 83.33 NA 83.33 72.08 157.89
3 117.18 119.68 122.54 125 177.86 125 NA 236.84
4 78.48 71.80 83.04 75 106.71 75 64.82 142.13
5 169.35 165.22 169.45 166.66 232.81 175 145.33 294.73
6 39.06 39.89 39.06 41.66 NA 41.67 36.01 93.75
7 NA NA 130.79 NA NA NA 108.84 252.63
Table 10: Production Time

21
© University of Pretoria
The production time is shown in Table 10. As indicate in Table 10 some of the dies have NA as
the production value. This stands for Not Applicable which indicates that that die can’t be
scheduled to that press. This table uses excels’ built-in If-function too ensure the Production
time table which is read into Python, incorporates the constraints of the dies and presses. The
constraint of the dies are shown in Table 11. Within the conditions table, if the value of the die
on the applicable press is zero, this means that the die cannot be scheduled to that press.

Die Conditions Problem


number dies
EP1 EP2 EP3 EP4 EP5 EP6 EP7 EP9 EP8
0 1 1 1 1 1 0 1 1 1 0
1 1 1 1 1 1 0 1 1 1 0
2 1 1 1 1 1 0 1 1 1 0
3 1 1 1 1 1 1 1 1 1 0
4 1 1 1 1 1 1 1 1 1 0
5 1 1 1 1 1 1 1 1 1 1
6 1 1 1 1 1 0 1 1 1 0
7 0 0 0 1 0 0 0 1 1 0
Table 11: Conditions table

Factors to be taken into account when scheduling dies to a press include the die size, run-out
length of a profile, and the cooling treatment that the profile requires. For example, the EP8
and EP6 presses are 5-inch presses, which means that dies with a circumference of 300mm or
higher cannot be scheduled to them. Also, the run-out length of a die is determined by dividing
the output per meter value of the die (kg/m) by the weight (kg) of the billet used. If the
calculated run-out length is longer than the table length of a press, the die cannot be scheduled
to run on this press. Finally, certain products are produced with hard alloys and the aluminium
should be cooled quickly to ensure integrity of the metal. In these cases, the dies can only be
scheduled to the EP3 and EP9 presses since they are the only presses that allow quick cooling.

Press Table Length [m] Conditions


EP1 41 -
EP2 44 -
EP3 42 Water Cooling/ Hard Alloys
EP4 41 -
EP5 45 Run out length
EP6 25 Die Sizes/Runout length
EP7 41 -
EP8 30 Die size/ runout length
EP9 42 Water Cooling/ Hard Alloys
Table 12: Conditions

22
© University of Pretoria
Chapter 5: Conceptual design

This paper focus on the extrusion part of the plant. The aluminium billets are heated and the
molted aluminium is then pushed through a steel die which forms the aluminium profile. The
model takes into consideration the raw material available, the capacity of the presses, the
delivery dates of these products and most importantly the dies. Each die has a different speed
at which it produces aluminium profiles and this has a big impact on the output of the
machines. The purpose of this project is to find the optimal schedule for the products.

The mixed integer linear program is developed to generate a production schedule for the
presses. The mathematical model and algorithm are developed based on the algorithm of
Maticevic, Majdandzic and Lovric (2008). The products produced will be scheduled in a manner
to ensure the maximum output. The one will schedule the production for five presses and the
press which is currently based at Cape Town. This version will have a multi-objective function
where the output should be maximised and the cost should be minimised. This is a formal
calculation to verify if the transportation of this press in viable.

5.1. Mixed Integer model

The model will use the following inputs:


 List of dies with the failure rate for each die.
 The orders for the certain period.
 The speed at which the die can extrude aluminium.
 The recovery rate for each press.
 The items and billets in inventory.

Tasks set to the production of aluminium casting products scheduling system are:
 The capacity of the presses for 24 hours are calculated. This is also one of the constraints
that drive the objective function.
 A production plan is scheduled based on the work shifts
 A schedule for the daily production presses and available capacities needs to be generated.

This model has multi-objective functions. The model maximizes the output of the 7-inch
presses and it wants to minimize the cost of the production.

Sets
Description Sets
Press 𝑃 = {1,2,3,4,5,6,7,8,9}

23
© University of Pretoria
Dies 𝐷 = {1,2,3, … . 𝑛 }
Production Orders 𝑂 = {1,2,3, … . 𝑛}
Items 𝐼 = {1,2,3, … . 𝑛 }
Shift 𝑆 = {1,2}
Table 13: Sets

Parameter
ddi,o ≜ delivery date for item i ϵ I and order o ϵ O
K p,t ≜ the capacity of press p ϵ P for a day t [hours]
𝐶𝑎𝑝
𝐾𝑝,𝑡 ≜ the capacity of press p ϵ P per hour [kg/hours]
𝑈𝑝 ≜ the utilisation factor of press p ϵ P
ℎ𝑠 ≜ number of hours per shift s ϵ S
𝑉 ≜ number of overtime hours
𝑄𝑖,𝑜 ≜ the quantity of items i ϵ I in production order o ϵ O [pieces]
𝐵𝑖,𝑡 ≜ quantity of produced items i ϵ I in period t [kilograms]
𝑛
𝑄𝑖,𝑡 ≜ ordered quantity of item i ϵ I in period t [kilograms]
𝐼𝑖,𝑡 ≜ inventory of item i ϵ I in period t
𝑟𝑎𝑤
𝐼𝑡 ≜ the number of billets in inventory in period t
𝑟𝑎𝑤
𝐵𝑖 ≜ the number of billets used for item i ϵ I
𝑃𝑑 ≜ processing time for die d ϵ D [kg/minutes]
𝑢
𝑠𝑑 ≜ setup time for die d ϵ D [minutes]
𝑏𝑝,𝑑,𝑖 ≜ start time for processing item i ϵ I die d ϵ D in press p ϵ P
𝑓𝑖,𝑜 ≜ finish time of item i ϵ I on production order o ϵ O
𝑅𝑑,𝑝 ≜ failure rate of die d ϵ D on press p ϵ P
𝑃r(i) ≜ priority of item i ϵ I
𝑅𝑑 ≜ the recovery rate per die d ϵ I
𝐶𝑖 ≜ the production cost for item 𝑖 ϵ I
𝑌 ≜ the cost for moving EP8
Decision variables

1 𝑖𝑓 𝑖𝑡𝑒𝑚 𝑖ϵ I 𝑖𝑠 𝑝𝑟𝑜𝑑𝑢𝑐𝑒𝑑 𝑏𝑦 𝑑𝑖𝑒 𝑑ϵ D


𝑥𝑖,𝑑 ≜ { }
0 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒

1 𝑖𝑓 𝑑𝑖𝑒 𝑑 ϵ D 𝑖𝑠 𝑢𝑠𝑒𝑑 𝑜𝑛 𝑝𝑟𝑒𝑠𝑠 𝑝ϵ P


𝑧𝑑,𝑝 ≜ { }
𝑜 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒

𝐎𝐛𝐣𝐞𝐜𝐭𝐢𝐯𝐞 𝐟𝐮𝐧𝐜𝐭𝐢𝐨𝐧

24
© University of Pretoria
𝐌𝐚𝐱𝐢𝐦𝐢𝐬𝐞
𝐻 = ∑𝑝ϵ P ∑𝑖ϵ I 𝐵𝑖,𝑝 (1)

Minimise
𝐶 = ∑𝑝ϵP ∑𝑖ϵ I 𝐵𝑖,𝑝 ⋅ 𝐶𝑖 + ∑𝑝ϵ P ∑𝑑ϵD 𝑃𝑑 ⋅ Kp,d (1 − 𝑅𝑑 ) + 𝑌 (2)

𝐂𝐨𝐧𝐬𝐭𝐫𝐚𝐢𝐧𝐭𝐬
𝑛
∑𝑜∈𝑂 𝑄𝑖,𝑜 ≥ 𝑚𝑎𝑥(0, 𝑄𝑖,𝑡 − 𝐼𝑖,𝑡 ) ∀𝑖ϵ I (3)

𝑛
∑𝑡∈𝑇 𝑄𝑖,𝑡 ≥ ∑𝑡,𝑛 𝑄𝑖,𝑡 ∀𝑖ϵ I (4)

𝐶𝑎𝑝
∑𝑡 ∈𝑇 ∑𝑑∈𝐷 𝑡 ⋅ 𝑄𝑖 ⋅ 𝑧𝑑,𝑝 ≤ ∑𝑡∈𝑇 K p,t ⋅ 𝐾𝑝,𝑡 ∀𝑝ϵ P (5)

∑𝑡∈𝑇 K p,t = ∑𝑠∈𝑆 ∑𝑡∈𝑇(𝛿𝑠,𝑡 ⋅ ℎ𝑠 + 𝑉) ⋅ 𝑈𝑝 ∀𝑝ϵ P (6)

∑𝑖∈𝐼 𝐵𝑖 ≤ ∑𝑡∈𝑇 𝐼𝑡𝑟𝑎𝑤 ∀𝑖ϵ I (7)

∑𝑖∈𝐼 𝐵𝑖,𝑝 = ∑𝑑∈𝐷 𝑃𝑑 ⋅ 𝑅𝑑 ⋅ K p,d ∀𝑝ϵ P (8)

𝑔 ≠ 𝑖, Pr(𝑔) ≥ Pr(𝑖) ∀𝑝ϵ P (9)

∑𝑑∈𝐷 𝑏𝑝,𝑑,𝑖 ≤ ddi,o − ∑𝑑∈𝐷 𝑏𝑝,𝑑,𝑖 ∀𝑝ϵ P, 𝑖ϵ I (10)

∑𝑑∈𝐷 𝑥𝑖,𝑑 = 1 ∀𝑖ϵ I (11)

∑𝑝∈𝑃 𝑧𝑑,𝑝 = 1 ∀𝑝ϵ P (12)

Constraint (3) determines the order quantity of production order o. Constraint (4) ensures
quantity of produced items in the planning horizon is at the least the ordered quantity.
Constraint (5) ensures that the production is less than or equal to the available press capacity.
Constraint (6) calculates the available capacity of presses p for the day t. Constraint (7) ensures
that the number of billets used in production does not exceed the number of billets available.
Constraint (8) calculates the production for a press. Constraint (9) ensures that the priority
items are scheduled first. Constraint (10) ensures that the processing time for the presses is
less than or equal to the difference between the due date and the starting time of item (i) on

25
© University of Pretoria
the press p. Constraint (11) ensures that the item can only be produced from one die.
Constraint (12) ensures that a die is not scheduled to multiple presses.

Chapter 6: Development of Supplementary Mechanism

The scheduling problem is too complex to solve with exact methods. When looking into
solutions for similar scheduling problems with same complexity level it was determined that
the use of metaheuristics were popular.

6.1.Simulated Annealing
Simulated annealing is used to solve optimization problems. It has been found that this method
can be used to solve real life problems because of the flexible nature of this algorithm and the
ability to solve an NP-Hard problem in reasonable time. The objective function of this algorithm
is to escape a local minimum. The fundamental idea behind this method is to provide the
opportunity for the algorithm to accept a solution with a worse answer than the initial solution
or the previous solution stored. This enables algorithm to escape a local optimum solution.

The algorithms starts with the initial solution. The initial solution can be generated randomly,
calculated using an operational research model or calculated using historical data of the real
life process. The initial solution is compared to a new solution generated using a certain
strategy. If the new solution is better than the initial solution, this solution is then stored. This
solution will be used to compare the next neighbor with. But if the initial solution is better than
‘new solution’ there is a probability that the new solution will be accepted. This helps the
algorithm escape a local optimum solution. This probability of acceptance decreases as the
number of iterations increases. The Simulated Annealing algorithm structure, is displayed
below:

𝑆𝑒𝑙𝑒𝑐𝑡 𝑎𝑛 𝑖𝑛𝑖𝑡𝑖𝑎𝑙 𝑡𝑒𝑚𝑝𝑒𝑟𝑎𝑡𝑢𝑟𝑒

𝐶ℎ𝑜𝑜𝑠𝑒 𝑡𝑒𝑚𝑝𝑒𝑟𝑎𝑡𝑢𝑟𝑒 𝑟𝑒𝑑𝑢𝑐𝑡𝑖𝑜𝑛 𝑓𝑢𝑛𝑐𝑡𝑖𝑜𝑛

𝑆𝑡𝑜𝑝𝑝𝑖𝑛𝑔 𝐶𝑟𝑖𝑡𝑒𝑟𝑖𝑎 𝑇𝑚𝑖𝑛

𝐹𝑖𝑛𝑑 𝑎𝑛 𝑖𝑛𝑖𝑡𝑖𝑎𝑙 𝑠𝑜𝑙𝑢𝑡𝑖𝑜𝑛 (𝑠)

𝐹𝑒𝑎𝑠𝑖𝑏𝑖𝑙𝑖𝑡𝑦 𝑇𝑒𝑠𝑡

𝐶𝑎𝑙𝑐𝑢𝑙𝑎𝑡𝑒 𝑡ℎ𝑒 𝑐𝑜𝑠𝑡 𝑜𝑓 𝑝𝑟𝑜𝑑𝑢𝑐𝑡𝑖𝑜𝑛 𝐹(𝑠)

𝒓𝒆𝒑𝒆𝒂𝒕

26
© University of Pretoria
𝒓𝒆𝒑𝒆𝒂𝒕

𝐺𝑒𝑛𝑒𝑟𝑎𝑡𝑒 𝑎𝑛 𝑁𝑒𝑖𝑔ℎ𝑏𝑜𝑢𝑟 (𝑠 ′ ) 𝑏𝑦 𝑐ℎ𝑎𝑛𝑔𝑖𝑛𝑔 𝑡ℎ𝑒 𝑠𝑐ℎ𝑒𝑑𝑢𝑙𝑒 𝑏𝑦 𝑠𝑤𝑎𝑝𝑝𝑖𝑛𝑔 𝑡𝑤𝑜 𝑑𝑖𝑒𝑠

𝑆𝑐ℎ𝑒𝑑𝑢𝑙𝑒′𝑠 𝐹𝑒𝑎𝑠𝑖𝑏𝑖𝑙𝑖𝑡𝑦 𝑡𝑒𝑠𝑡

Repeat

𝑰𝒇 𝑆𝑐ℎ𝑒𝑑𝑢𝑙𝑒 𝐹𝑒𝑎𝑠𝑖𝑏𝑖𝑙𝑒 𝑠𝑡𝑜𝑟𝑒 𝑠𝑜𝑙𝑢𝑡𝑖𝑜𝑛

𝑬𝒍𝒔𝒆 𝐺𝑒𝑛𝑒𝑟𝑎𝑡𝑒 𝑛𝑒𝑤 𝑠𝑜𝑙𝑢𝑡𝑖𝑜𝑛 (𝑠 ′ )

𝑼𝒏𝒕𝒊𝒍 Schedule Feasible

𝐶𝑎𝑙𝑐𝑢𝑙𝑎𝑡𝑒 𝑡ℎ𝑒 𝑐𝑜𝑠𝑡 𝑜𝑓 𝑝𝑟𝑜𝑑𝑢𝑐𝑡𝑖𝑜𝑛 F(s’)

∆𝐸 = 𝐹(𝑠 ′ ) − 𝐹(𝑠)

𝑰𝒇 ∆𝐸 ≤ 0 𝑻𝒉𝒆𝒏 𝑠 = 𝑠 ′ #𝐴𝑐𝑐𝑒𝑝𝑡 𝑡ℎ𝑒 𝑛𝑒𝑖𝑔ℎ𝑏𝑜𝑢𝑟 𝑠𝑜𝑙𝑢𝑡𝑖𝑜𝑛


−∆𝐸
𝑬𝒍𝒔𝒆 𝐴𝑐𝑐𝑒𝑝𝑡 𝑠 ′ 𝑤𝑖𝑡ℎ 𝑎 𝑝𝑟𝑜𝑏𝑎𝑏𝑖𝑙𝑖𝑡𝑦 𝑒 𝑇

𝑖𝑓 𝑟𝑎𝑛𝑑𝑜𝑚 𝑔𝑒𝑛𝑒𝑟𝑎𝑡𝑒𝑑 𝑣𝑎𝑙𝑢𝑒 < 𝑡ℎ𝑎𝑛 𝑡ℎ𝑒 𝑝𝑟𝑜𝑏𝑎𝑏𝑎𝑙𝑖𝑡𝑦

𝐴𝑐𝑐𝑒𝑝𝑡 𝑡ℎ𝑒 𝑤𝑜𝑟𝑠𝑒 𝑠𝑜𝑙𝑢𝑡𝑖𝑜𝑛

𝑼𝒏𝒕𝒊𝒍 𝐸𝑞𝑢𝑖𝑙𝑖𝑏𝑟𝑖𝑢𝑚 𝑐𝑜𝑛𝑑𝑖𝑡𝑖𝑜𝑛 𝑖𝑠 𝑟𝑒𝑎𝑐ℎ𝑒𝑑

𝑈𝑝𝑑𝑎𝑡𝑒 𝑇𝑒𝑚𝑝𝑒𝑟𝑎𝑡𝑢𝑟𝑒

𝑼𝒏𝒕𝒊𝒍 𝑆𝑡𝑜𝑝𝑝𝑖𝑛𝑔 𝑐𝑟𝑖𝑡𝑒𝑟𝑖𝑎 𝑖𝑠 𝑟𝑒𝑎𝑐ℎ𝑒𝑑 𝑇 < 𝑇𝑚𝑖𝑛

𝑶𝒖𝒕𝒑𝒖𝒕: 𝐵𝑒𝑠𝑡 𝑠𝑜𝑙𝑢𝑡𝑖𝑜𝑛 𝑓𝑜𝑢𝑛𝑑

𝑃𝑙𝑜𝑡 𝑡ℎ𝑒 𝑠𝑐ℎ𝑒𝑑𝑢𝑙𝑒

𝐶𝑎𝑙𝑐𝑢𝑙𝑎𝑡𝑒 𝑡ℎ𝑒 𝑟𝑒𝑑𝑢𝑐𝑡𝑖𝑜𝑛 𝑜𝑓 𝑝𝑟𝑜𝑑𝑢𝑐𝑡𝑖𝑜𝑛 𝑡𝑖𝑚𝑒.

The parameters of the simulated annealing algorithm, which is the initial temperature,
cooling rate and search area parameters are problem specific. These values are different
for each algorithm and are determined through trial and error. The performance of the
algorithm can determined by the convergence of the costs accepted by the algorithm.

When a low initial temperature and a large cooling factor are used, the cost graph does
not convergence. An example for this is shown in Figure 8 and Figure 9 and the
parameter to calculate this is shown in Table 14.

27
© University of Pretoria
Parameter Value
Initial Temperature 600
Cooling Factor 0.7
Minimum Temperature 0.1
Equilibrium Condition 3
Table 14: Cooling system’s parameters 1

igure 12: SA Temperature 2

Figure 11: Simulated Annealing Temperature1 Figure 10: Simulated Annealing Cost 1

As Table 15 depicts, for the following next values. The initial temperature were increased.
Different values for the cooling factor were tested. The cost graph, Figure 14, improved but the
temperature graph, Figure 13, weren’t visible.

Parameter Value

Initial Temperature 700 000 000

Cooling Factor 0.99

Minimum Temperature 0.0001

Equilibrium Condition 200

Table 15: Cooling System's parameters 2

28
© University of Pretoria
Figure 14: SA Temperature 2 Figure 13: SA Cost 2

The next strategy was to increase the equilibrium values. This increased the number of
iterations which the algorithm performs before the temperature were updated and the cooling
rate is shown in Figure 15. The Figure 16 depicts that the cost graph performed a wider search
within the search area but at 2000 iterations the cost graph decreased too quickly. With
performing more test it was apparent that this drop occurs at the same temperature value.

Parameter Value

Initial Temperature 7 000 000

Cooling Factor 0.99

Minimum Temperature 0.0001

Equilibrium Condition 1000

Table 16: Cooling System Parameters 3

29
© University of Pretoria
Figure 15: SA Temperature 3 Figure 16: SA Cost 3

The method used to cool the temperature is responsible for the quick drop in the cost. An
alternative way of reducing the temperature were investigated. The temperature update
formula were changed to reduce this value with a constant value. Figure 17 depicts the
cooling rate for the number of iterations performed by the algorithm.

30
© University of Pretoria
Figure 17: Simulated Annealing Cooling rate 4

Figure 18 depicts the cost convergence graph achieve through the linear reduction rate of the
temperature. The simulated annealing algorithm were able to achieve significantly lower cost.

Figure 18: Simulated Annealing Cost 4

31
© University of Pretoria
6.2. My scheduling problem
The initial solution and the way that the neighbor is generated should be programmed in such a
way that the constraints of the company is adhered to.

Initial solution

The current scheduling is done by assigning a certain die category of a press. For example the
fast runners, dies with one or two cavities with simple shapes, are scheduled to EP5. This
indicates that the scheduling of these dies will not have a wide variety of dies for the presses.
The historical data of the production plans for the presses can be used to schedule the initial
solution and this can be used as a benchmark to compare the schedule generated by the
algorithm. The only problem is that this might take more iterations to achieve the global
optimum. The initial schedule is an important part of the simulated annealing and can have a
big impact on the execution time of the algorithm. It was decided to use greedy heuristics to
assign the dies to the presses. This means that the die will be scheduled to the press with the
shortest total production time at that point in the loop. It was identified that the execution
time of the algorithm is reduced when this scheduling method was used. The execution time
for the past production scheduled is longer because each press contains dies with similar
characteristics. Figure # is the structure which shows the generation of the initial schedule. The
following part shows the section of the algorithm that determines the initial solution.

𝐶𝑟𝑒𝑎𝑡𝑒 𝑒𝑚𝑝𝑡𝑦 𝑙𝑖𝑠𝑡 𝑓𝑜𝑟 𝑒𝑎𝑐ℎ 𝑝𝑟𝑒𝑠𝑠

𝐴𝑠𝑠𝑖𝑔𝑛 𝑎 𝑑𝑖𝑒 𝑡𝑜 𝑒𝑎𝑐ℎ 𝑝𝑟𝑒𝑠𝑠

𝑹𝒆𝒑𝒆𝒂𝒕

𝑹𝒆𝒑𝒆𝒂𝒕

𝑰𝒇 𝑝𝑟𝑜𝑏𝑙𝑒𝑚 𝑑𝑖𝑒 𝒕𝒉𝒆𝒏

𝐴𝑠𝑠𝑖𝑔𝑛 𝑑𝑖𝑒 𝑡𝑜 𝑃𝑟𝑒𝑠𝑠[8]

𝐶𝑎𝑙𝑐𝑢𝑙𝑎𝑡𝑒 𝑡ℎ𝑒 𝑝𝑟𝑜𝑑𝑢𝑐𝑡𝑖𝑜𝑛 𝑡𝑖𝑚𝑒 𝑓𝑜𝑟 𝑡ℎ𝑒 𝑝𝑟𝑒𝑠𝑠

𝑬𝒍𝒊𝒇𝒇 𝑃𝑟𝑒𝑠𝑠[𝑖] ℎ𝑎𝑠 𝑠ℎ𝑜𝑟𝑡𝑒𝑠𝑡 𝑝𝑟𝑜𝑑𝑢𝑐𝑡𝑖𝑜𝑛 𝑡𝑖𝑚𝑒 𝒕𝒉𝒆𝒏

𝐴𝑠𝑠𝑖𝑔𝑛 𝑑𝑖𝑒 𝑡𝑜 𝑃𝑟𝑒𝑠𝑠[𝑖]

𝐶𝑎𝑙𝑐𝑢𝑙𝑎𝑡𝑒 𝑡ℎ𝑒 𝑡𝑜𝑡𝑎𝑙 𝑝𝑟𝑜𝑑𝑢𝑐𝑡𝑖𝑜𝑛 𝑡𝑖𝑚𝑒 𝑓𝑜𝑟 𝑃𝑟𝑒𝑠𝑠[𝑖]

𝑼𝒏𝒕𝒊𝒍 𝑡ℎ𝑒 𝑝𝑟𝑒𝑠𝑠 𝑤𝑖𝑡ℎ 𝑡ℎ𝑒 𝑠ℎ𝑜𝑟𝑡𝑒𝑠𝑡 𝑝𝑟𝑜𝑑𝑢𝑐𝑡𝑖𝑜𝑛 𝑡𝑖𝑚𝑒 𝑖𝑠 𝑒𝑠𝑡𝑎𝑏𝑙𝑖𝑠ℎ𝑒𝑑

𝐹𝑒𝑎𝑠𝑖𝑏𝑖𝑙𝑖𝑡𝑦 𝑡𝑒𝑠𝑡

32
© University of Pretoria
𝑰𝒇 𝑓𝑒𝑎𝑠𝑖𝑏𝑖𝑙𝑖𝑡𝑦 𝑡𝑒𝑠𝑡 = 𝑇𝑟𝑢𝑒

𝑆𝑡𝑜𝑟𝑒 𝑠𝑐ℎ𝑒𝑑𝑢𝑙𝑖𝑛𝑔 𝑚𝑜𝑣𝑒

𝑬𝒍𝒔𝒆

𝑅𝑒𝑗𝑒𝑐𝑡 𝑠𝑐ℎ𝑒𝑑𝑢𝑙𝑖𝑛𝑔 𝑚𝑜𝑣𝑒

𝑼𝒏𝒕𝒊𝒍 𝑒𝑎𝑐ℎ 𝑑𝑖𝑒 𝑖𝑠 𝑠𝑐ℎ𝑒𝑑𝑢𝑙𝑒𝑑

The production time of each die is used to determine the makespan of the scheduled dies. The
production time is calculated by using the speed of the die, the failure time and the time it
takes for a changeover (if applicable). The production time is calculated by using equation 2.

𝑷𝒕𝒊𝒎𝒆 = 𝑰𝒏𝒑𝒖𝒕 ∙ 𝑫𝒊𝒆 𝑺𝒑𝒆𝒆𝒅 + 𝑭𝒂𝒊𝒍𝑷𝒓𝒐𝒃 ∙ 𝑭𝒂𝒊𝒍𝑻𝒊𝒎𝒆 + 𝑫𝒊𝒆 𝑪𝒉𝒂𝒏𝒈𝒆 𝒐𝒗𝒆𝒓𝒔 (2)

Speed: The speed of the die depends on which press it runs on. The speed is measured in
Kg/min and this is multiplied by the Output needed per die.

Die failure: The failure probability of each die was derived from historical data over a period of
a year. Each die has a unique value. This value is multiplied by a constant time which represents
the average time wasted with die failures. This value was derived from historical data.

Die change overs: A die has a production constraint of 2000 kg per run. If an order requires an
input of more than that, time associated with a die changeover needs to be incorporated in the
production time. The changeover times on all the presses and the dies should be constant. An
average value was determined through time studies

Generating new solution

The Simulated Annealing algorithm requires the generation of a new solution. This is called
neighborhood searching. In order to perform this, a neighborhood structure needs to be
defined. This structure is the boundaries for the searching area for the new solution. The
method used to generate the new solution is called the Swapping Neighborhoods. This involves
randomly selecting two presses and randomly select a press scheduled to each of the selected
presses. The dies selected are then swapped. This means die1 will have die2’s starting time on
press2 and die2 will have die1’s starting time on press1. The new production time for this
schedule is determined.

𝑆𝑒𝑙𝑒𝑐𝑡𝑝𝑟𝑒𝑠𝑠1 = 𝑟𝑎𝑛𝑑𝑜𝑚(1,9)

𝑹𝒆𝒑𝒆𝒂𝒕

33
© University of Pretoria
𝑆𝑒𝑙𝑒𝑐𝑡𝑝𝑟𝑒𝑠𝑠2 = 𝑟𝑎𝑛𝑑𝑜𝑚(1,9)

𝑬𝒏𝒅 Selectpress2 does not equal Selectpress1

𝑆𝑒𝑙𝑒𝑐𝑡 𝑎 𝑟𝑎𝑛𝑑𝑜𝑚 𝑑𝑖𝑒 𝑜𝑛 𝑝𝑟𝑒𝑠𝑠 1

𝑆𝑒𝑙𝑒𝑐𝑡 𝑎 𝑟𝑎𝑛𝑑𝑜𝑚 𝑑𝑖𝑒 𝑜𝑛 𝑝𝑟𝑒𝑠𝑠 2

𝐹𝑒𝑎𝑠𝑖𝑏𝑖𝑙𝑖𝑡𝑦 𝑡𝑒𝑠𝑡

𝐹𝑜𝑟 𝑆𝑒𝑙𝑒𝑐𝑡𝑝𝑟𝑒𝑠𝑠1 and Selectpress2

𝑈𝑝𝑑𝑎𝑡𝑒 𝑡ℎ𝑒 𝑙𝑖𝑠𝑡 𝑜𝑓 𝑡ℎ𝑒 𝑑𝑖𝑒𝑠 𝑓𝑜𝑟 𝑡ℎ𝑎𝑡 𝑝𝑟𝑒𝑠𝑠

𝐶𝑎𝑙𝑐𝑢𝑙𝑎𝑡𝑒 𝑡ℎ𝑒 𝑛𝑒𝑤 𝑝𝑟𝑜𝑑𝑢𝑐𝑡𝑖𝑜𝑛 𝑡𝑖𝑚𝑒 𝑓𝑜𝑟 𝑡ℎ𝑖𝑠 𝑝𝑟𝑒𝑠𝑠

𝐶𝑎𝑙𝑐𝑢𝑙𝑎𝑡𝑒 𝑡ℎ𝑒 𝑐𝑜𝑠𝑡 𝑓𝑜𝑟 𝑡ℎ𝑒 𝑠𝑐ℎ𝑒𝑑𝑢𝑙𝑒 𝑜𝑛 𝑡ℎ𝑒 𝑠𝑝𝑒𝑐𝑖𝑓𝑖𝑐 𝑝𝑟𝑒𝑠𝑠

𝐴𝑑𝑑 𝑡ℎ𝑒 𝑐𝑜𝑠𝑡 𝑜𝑓 𝑡ℎ𝑒 𝑜𝑡ℎ𝑒𝑟 𝑑𝑖𝑒𝑠

𝑈𝑝𝑑𝑎𝑡𝑒 𝑡ℎ𝑒 𝑙𝑖𝑠𝑡 𝑜𝑓 𝑡ℎ𝑒 𝑡𝑤𝑜 𝑝𝑟𝑒𝑠𝑠𝑒𝑠 𝑤ℎ𝑖𝑐ℎ 𝑤𝑒𝑟𝑒 𝑟𝑒𝑠𝑐ℎ𝑒𝑑𝑢𝑙𝑒𝑑

Feasibility test

When scheduling dies to presses there are constraints that the model needs to adhere to. The
feasibility test ensures that the new solution does not result in an unfeasible solution. There
are few dies (products) which use hard alloys when manufactured. These alloys can only be
used on EP9 because this press has more strength than the others. When such a die shows up
in the list of dies that needs to be scheduled, this die will not follow the scheduling rules and
will be scheduled to EP9. The new solution that was generated also need to be approved by the
feasibility test. A new solution will be generated if the solution was not approved. The input
data will have the information of the alloy used for the specific die and with a simple ‘if loop’
this constraint will be incorporated into the model. The following constraint ensures that the
products that need to be water treated are only scheduled to EP3. This method will use the
same method to ensure the constraint is followed when scheduling the dies. The last constraint
ensures that the problem dies are scheduled to EP8 and that these dies are not used to
generate a new solution.

Cost Calculation

The cost calculation of the schedule is determined per press as the presses have different
production costs. Equation 3 depicts the cost calculations.

34
© University of Pretoria
𝐶𝑜𝑠𝑡 = 𝐼𝑛𝑝𝑢𝑡 ∙ 𝑃𝑟𝑜𝑑𝑢𝑐𝑡𝑖𝑜𝑛 𝐶𝑜𝑠𝑡 + 𝑊𝑎𝑠𝑡𝑒 ∙ 𝑊𝑎𝑠𝑡𝑒 𝑐𝑜𝑠𝑡 (3)

This calculation will be performed for each press and this will be a summation of all the dies
scheduled to the press. The input and waste values are determined prior to importing it into
Python. These values are then stored in list with a unique value that is used to indicate which
die it is link to. These calculations are calculated by using a ‘for loop’ for each press.

35
© University of Pretoria
Chapter 7: Solution

7.1. Different Objective Functions


The algorithm can be used to compare different scenarios in order to determine the best way
forward. For each scenario the production cost, production time per press and production
output can be recorded.

7.1.1. Minimise Cost


The first objective of this project is to show what improvements could be achieved by utilising a
scheduling algorithm. For this purpose, a single objective of minimising total production cost
was used in the algorithm. Total production cost consist of the production cost of each press’
schedule. This calculation uses a production cost per kilogram and cost of waste to determine
the cost of each schedule.

Actual orders for a period of 1 month totaled R2 076 519 and were used to determine the
potential reduction in production costs when using the algorithm. Figure 20 depicts the
comparison between the actual production costs during this period and reduced the
production cost delivered by the algorithm. A total reduction of R 114 435 in production cost
could be realised, which could result in annual savings in the region of R 1 373 220.

Production Cost [R]


2 100 000
2 076 519
2 080 000
2 060 000
2 040 000
2 020 000
2 000 000
1 980 000 1 962 084
1 960 000
1 940 000
1 920 000
1 900 000
Actual Orders Improved Schedule

Production Cost [R]

Figure 19: Decrease in Production Cost

36
© University of Pretoria
7.1.2. Increase Output
The second objective of this project is to increase the production output of the company.

Scheduling Results: Problem dies Restriction


An alternative method to increase the output of the dies were to restrict the scheduling of the
problem dies to EP8. This is the first scenario that will be modelled with regards to the output.
The scheduling model should determine what impact this will have on the production of the
presses.

The algorithm was adjusted to restrict the scheduling of problem dies to EP8, which is the
lowest performer. In theory this should allow the production of the other presses to be
reduced as the dies that will be scheduled to these presses have higher recovery rates and
higher speeds. Table 18 depicts the comparison between the normal schedule method and the
Problem Die restriction method.

Production Output
Problem Dies Restriction
Normal Schedule

0 10000 20000 30000 40000 50000 60000 70000 80000 90000


Output [Kg]
EP9 EP8 EP7 EP6 EP5 EP4 EP3 EP2 EP1

Figure 20: Production Output schedule

The restriction of the problem dies to EP8 resulted in open capacity of 36809.26 kg on the
other presses. The waste produced by EP8, increased significantly. This resulted in an overall

37
© University of Pretoria
increase between the different schedules with 20496 kg. Figure 21 depicts the increase in
waste. The problem die scheduling increased the production cost with R21 563. This analysis
concludes that restricting the problem dies to EP8, will not be beneficial to the production
output of the company.

The Difference between the two production schedules


60000
51016
50000

40000
30520
30000

20000

10000

0
Waste Normal Waste Problem die
Figure 21: Waste

New Machine
For the second scenario, Ep8 is scrapped and a new machine is purchased which has the same
capabilities as Ep7. The dies’ speed on this press will be faster than EP8 and have higher
recovery rates. The new machine reduced the overall waste generated by the schedule and
total production time.

38
© University of Pretoria
Output
225000

220000

215000

210000

205000

200000

195000
Normal Schedule New Machine

Figure 22: New Machine Output

Figure 22 and Figure 23 depicts the results of a week’s schedule. The output of the production
schedule was increased by 15 000 kg for the week. This means that the company will be able to
improve their production output with 60 000kg per month and 720 000 kg per year.

Production Time
9600

9400

9200

9000

8800

8600

8400
Normal Schedule New Machine

Figure 23: New Machine Production time

39
© University of Pretoria
The the price to buy a new 7” press is R10 million. The company will earn a profit of R5 per
kilogram for the extra output produced by this press which result in an increase of R3 600 00
per year. This means that the payback period for this machine will be 3 years. From this point
the company’s profits will increase.

7.1.3. Minimise Make span


The second objective of this project is to reduce number of late orders the company
documents. To achieve this, the model has to be adjusted a bit in order to incorporate the due
date of the orders. The due date of the orders are read into the algorithm and constantly
compared to the finishing time of the die on the schedule. A simple strategy to include the due
date in algorithm is to assign a Penalty factor to any late orders. This strategy is also proposed
by Aycan and Ayav (2008) as a solution to a Course scheduling problem. This when a new
neighbor is generated and the swapping strategy of this step causes the order to be late, a
penalty factor will be added to the production cost calculation.

The past production schedule of 200 dies were used as a benchmark the results of the
algorithms. The 200 dies total production time extended over 5 days. The algorithm reduced
the production time with 400 minutes. This will result a decrease of 1200 minutes per month,
which is 9 days (1200minutes /1340 minutes production per day). The company will be able to
reduce the number of late orders and reduce the number of lead days.

7.2. Improve Scheduling


The current production schedulers does not incorporate the different production cost and the
difference in the ability of the presses, when they plan the production schedules. The final
deliverable of this project to show what important factors influences the scheduling
distribution of dies between the presses. A production list of 200 dies were scheduled with the
algorithm. The scheduled were analysed in detail and rough scheduling guidelines were drawn
from these results. Table 17 depict the production output and production time determined for
each press. Figure 24 depict further detail of the schedules of the presses which can be used to
analyse the specific die characteristics of dies scheduled to a press. The schedule graph uses
the production time calculated for the die to display the duration of the order assigned to the
press.

Presses Production cost Production time Output [Kg] Problem dies


[min]
EP1 4.92 1117 25500. 3
EP2 4.92 965 21246. 4
EP3 7.1 677 15260 0
EP4 6.84 886 14521 0
EP5 5.22 688 14511 0

40
© University of Pretoria
EP6 4.82 1054 16517 1

EP7 4.92 1443 33905 0


EP8 4.92 938 13255 0
EP9 5.02 1640 33033 4
Table 17: Scenario 1 results

From the results of the algorithm, the impact of the production cost and the capabilities of the
presses with regards to the scheduling is evident/visible. The following rules can be concluded
from this:

 Ep1, EP2 and EP9 should have the highest utilization factor.
 EP6 and EP8 should handle short jobs, in terms of kilograms required. Dies with high
recovery rates and high speeds were scheduled to these presses.
 Dies with high recovery rates should be scheduled to Ep3, EP4 and EP5 because they
have the highest production cost. No problem dies should run on these presses.

41
© University of Pretoria
 Ep3, EP4 and EP5 should have the lowest production time when possible.

EP1

EP6

EP4

EP7

EP2

EP9

EP5

EP8

EP3

Time [minutes]

Figure 24: Schedule Diagram

42
© University of Pretoria
7.3. Validation
The model can be validated by the use of a benchmarking scheduling problem. Within the
document they provide input data which can be used as input to our scheduling model.
The results calculated by our model can be compared to the articles results, in order to
determine the accuracy. The following code is built into my model:

𝐼𝑛𝑖𝑡𝑖𝑎𝑙 𝑠𝑜𝑙𝑢𝑡𝑖𝑜𝑛 𝑎𝑛𝑑 𝑐𝑜𝑛𝑠𝑡𝑟𝑎𝑖𝑛𝑡: 𝑋0 = 50


𝑀𝑜𝑑𝑖𝑓𝑦 𝑡ℎ𝑒 𝑠𝑒𝑒𝑑: 𝑘 = 𝑋𝑖 /b
𝑋
𝑋𝑖+1 = 𝑎 ( 𝑏𝑖 ) − 𝑘𝑐
𝑁𝑒𝑤 𝑠𝑜𝑙𝑢𝑡𝑖𝑜𝑛: 𝑋𝑖+1

𝐺𝑛𝑒𝑟𝑎𝑡𝑒 𝑃𝑟𝑜𝑐𝑒𝑠𝑠𝑖𝑛𝑔 𝑡𝑖𝑚𝑒: 𝑃𝑖𝑗 = 𝑈[1,99]

𝑭𝒐𝒓 𝑖 𝑖𝑛 𝑟𝑎𝑛𝑔𝑒(1, 𝑛)
𝑭𝒐𝒓 𝑗 𝑟𝑎𝑛𝑔𝑒(1, 𝑚)
𝐺𝑒𝑛𝑒𝑟𝑎𝑡𝑒 𝑛𝑒𝑤 𝑠𝑜𝑙𝑢𝑡𝑖𝑜𝑛

𝐶𝑎𝑙𝑐𝑢𝑙𝑎𝑡𝑒 𝑙𝑜𝑤𝑒𝑟 𝑏𝑜𝑢𝑛𝑑 = 𝑚𝑎𝑥{𝑚𝑎𝑥, (∑𝑖 𝑑𝑖𝑗 ), 𝑚𝑎𝑥(∑𝑗,𝑘 𝑑𝑘𝑗 )}

The scheduling used the input values and was able to calculate to their results.

43
© University of Pretoria
Chapter 8: Sensitivity Analysis
Sensitivity analysis in which key quantitative assumptions and computations (underlying a
decision, estimate, or project) are changed systematically to assess their effect on the final
outcome. Local sensitivity analysis is a one-at-a-time (OAT) technique. OAT technique analyze
the effect of one parameter on the cost function at a time, keeping the other parameters fixed.
Thus, you test how robust the cost function is to small changes in the values of optimized
parameter. Sensitivity analysis can help the reviewer to determine which parameters are the
key drivers of a model’s results

8.1.Production cost
The production cost of the different presses to see what the effect on the production output,
production time and the production cost would be. The cost value of a single die were changed.
The motivation behind this analysis of this parameter is to determine if there is a specific press
that drives the model.

The production cost for each of the dies were change were changed in increments of 10%.
Figure ## depicts the change this had on the production output for EP3, EP7 and EP9. The
change in the production cost did not really influence EP7 because this press has the lowest
production cost. With the decrease in in production cost the output stayed the same, since this
press already has a high utilization factor. The increase in production cost the press did not
experience a big drop in production because this press is still cheaper than the other presses.
The Ep3, EP4 and EP5 which has the highest production rates had a big effect on the production
output when the cost was increased. EP4 and EP3 followed the same trend EP3 in Figure ##.

Production output depedentt on cost


70000

60000

50000

40000

30000

20000

10000

0
-30% -20% -10% Base 10% 20% 30%

EP9 Output EP3 Output EP7 Output

Figure 25: Cost Sensitivity Analyses

44
© University of Pretoria
8.2.Demand
The final variable which will be analysed is the decrease or increase of the demand. This
variable is chosen to determine whether the die scheduling is rigid. The impact on the overall
distribution of the dies, which can be depicted from the production times of the schedules, is
documented. The demand of the dies were increased and decreased with 10% increments.

As seen in the graph the distribution of the dies/work did not change by a large margin. The
production time for the press increased or decreased as the demand was increased or
decreased.

Production Time
EP9

EP8

EP7
Production Time
30%
EP6
Production Time
20%
EP5
Production Time
10%
EP4 Production Time
Base
EP3

EP2

EP1

0 500 1000 1500 2000 2500 3000 3500 4000 4500

Figure 26: Production Time Analyses

45
© University of Pretoria
Chapter 9: Conclusion

The simulated annealing algorithm developed, used the constraints of the OR Model to ensure
the schedules generated by this algorithm are feasible. The algorithm was able to determine an
optimal solution in a short period. The algorithm was able to reduce the cost of production by R
114 435, which could result in annual savings in the region of R 1 373 220. This schedule is
driven by the production cost of the different presses.

The scheduling models was used to analyse two scenarios that might increase the production
of the press. The impact of restricting the problem to EP8 was computed. This resulted in high
production cost and an increase in the total waste generated by the presses. The second
scenario proved to be a potential investment for the company. The new machine were able to
improve the production output for the company by 720 000 kg per year

The scheduling model can use penalty factor incorporate the due date of the dies. The schedule
provided by the algorithm will have the lowest production cost as well as lower lead times.

46
© University of Pretoria
References
Aycan, E. and Ayav, T. (2008). Solving the Course Scheduling Problem Using Simulated
Annealing. Metaheuristics, 2.

Bierwirth, C. and Mattfeld, D. (1999). Production Scheduling and Rescheduling with Genetic
Algorithm. Evolutionary Computation, 1(7), pp.1-17.

Bellabdaoui, A. and Teghem, J. (2006). A mixed-integer linear programming model for the
continuous casting planning. International Journal of Production Economics, 104(2), pp.260-
270.

Baki, M. and Vickson†, R. (2004). One-operator, two-machine open shop and flow shop
problems with setup times for machines and weighted number of tardy jobs objective.
Optimization Methods and Software, 19(2), pp.165-178.

Duba, J. and Osyczka, A. (2005). Multiple criteria lot-sizing in a foundry using evolutionary
algorithms. Evolutionary Multi-Criterion Optimization, 7, pp.651-663.

Dutta, G., Gupta, N. and Fourer, R. (2009). An Optimization-Based Decision Support System for
Strategic Planning in a Process Industry. Working Paper Series. Ahmedabad: Indian Institute of
Management.

de Araujo, S., Arenales, M. and Clark, A. (2008). Lot sizing and furnace scheduling in small
foundries. Computers & Operations Research, 35(3), pp.916-932.

dos Santos-Meza, E., Oliveira dos Santos, M. and Nereu Arenales, M. (2002). A lot-sizing
problem in an automated foundry. European Journal of Operational Research, 139(3), pp.490-
500

Forrai, M. and Kulcsar, G. (2009). SOLVING MULTI-OBJECTIVE PRODUCTION SCHEDULING


PROBLEMS USING A NEW APPROACH. Production Systems and Information Engineering, 5,
pp.81-94

Fidanova, S. (2004). Simulated Annealing for Grid Scheduling Problem. Approximation Methods.

Hajeeh, (2013). OPTIMIZING AN ALUMINUM EXTRUSION PROCESS. Journal of Mathematics and


Statistics, 9(2), pp.77-83

Leung, J., Li, H. and Pinedo, M. (2007). Scheduling orders for multiple product types to minimize
total weighted completion time. Discrete Applied Mathematics, 155(8), pp.945-970.

Nonås, S. and Olsen, K. (2005). Optimal and heuristic solutions for a scheduling problem arising
in a foundry. Computers & Operations Research, 32(9), pp.2351-2382.

47
© University of Pretoria
Noivo, J. and Ramalhinho Dias Lourenço, H. (n.d.). Solving Two Production Scheduling Problems
with Sequence-Dependent Set-Up Times. SSRN Electronic Journal.

Maticevic, G., Majdandzic, N. and lovric, T. (2007). Production Scheduling Model in Aluminium
Foundry. Journal of Mechanical Engineering, 54, pp.37-48.

Mathworks.com. (2016). Multiobjective Optimization - MATLAB. [online] Available at:


http://www.mathworks.com/discovery/multiobjective-
optimization.html?requestedDomain=www.mathworks.com [Accessed 13 May 2016].

Tang, L., Liu, J., Rong, A. and Yang, Z. (2000). A mathematical programming model for
scheduling steelmaking-continuous casting production. European Journal of Operational
Research, 120(2), pp.423-435

Tang, L. and Wang, G. (2008). Decision support system for the batching problems of
steelmaking and continuous-casting production. Omega, 36(6), pp.976-991.

48
© University of Pretoria
A Sponsorship Form

49
© University of Pretoria

You might also like