Innovative Applications of O.R.
Accepted Manuscript
A soft-decision based two-layered scheduling approach for uncertain steelmaking-continuous casting process Jinghua Hao , Min Liu , Shenglong Jiang , Cheng Wu PII: DOI: Reference:
S0377-2217(15)00127-7 10.1016/j.ejor.2015.02.026 EOR 12795
To appear in:
European Journal of Operational Research
Received date: Revised date: Accepted date:
6 January 2014 10 February 2015 11 February 2015
Please cite this article as: Jinghua Hao , Min Liu , Shenglong Jiang , Cheng Wu , A soft-decision based two-layered scheduling approach for uncertain steelmaking-continuous casting process, European Journal of Operational Research (2015), doi: 10.1016/j.ejor.2015.02.026
This is a PDF file of an unedited manuscript that has been accepted for publication. As a service to our customers we are providing this early version of the manuscript. The manuscript will undergo copyediting, typesetting, and review of the resulting proof before it is published in its final form. Please note that during the production process errors may be discovered which could affect the content, and all legal disclaimers that apply to the journal pertain.
ACCEPTED MANUSCRIPT
AC
CE
PT
ED
M
AN US
CR IP T
Highlights 1. We model the SCC scheduling problem as an MIP model with interval variables. 2. We propose the soft decision concept for uncertain SCC environments. 3. We present a two-layered solution framework to solve the model. 4. Experiments show the superiority of the method under uncertain situations.
1
ACCEPTED MANUSCRIPT
A soft-decision based two-layered scheduling approach for uncertain steelmaking-continuous casting process Jinghua Hao, Min Liu*, Shenglong Jiang, Cheng Wu Tsinghua National Library for Information Science and Technology (TNList), Department of Automation, Tsinghua University, Beijing, 100084, China * Corresponding Author. Tel: +861013911534771; Email:
[email protected].
ED
M
AN US
CR IP T
Abstract Strong uncertainties is a key challenge for the application of scheduling algorithms in real-world production environments, since the optimized schedule at a time often turns to be deteriorated or even infeasible during its execution due to a large majority of unexpected events. This paper studies the uncertain scheduling problem arising from the steelmaking-continuous casting (SCC) process and develops a soft-decision based two-layered approach (SDA) to cope with the challenge. In our approach, traditional scheduling decisions, i.e. the beginning time and assigned machine for each job at each stage, are replaced with soft scheduling decisions in order to provide more flexibility towards unexpected events. Furthermore, all unexpected events are classified into two categories in terms of the impact degree on scheduling: critical events and non-critical events. In the two-layered solution framework, the upper layer is the offline optimization layer for handling critical events, in which a particle swarm optimization algorithm is proposed for generating soft scheduling decisions; while the lower layer is the online dispatching layer for handling non-critical events, where a dispatching heuristic is designed to decide in real time which charge and when to process after a machine becomes available, with the guidance of the soft schedule given by the upper layer. Computational experiments on randomly generated SCC scheduling instances and practical production data demonstrate that the proposed soft-decision based approach can obtain significantly better solutions compared to other methods under strongly uncertain SCC production environments. Keywords—steelmaking, continuous casting, uncertainty, scheduling, soft decision
A. Background
PT
1 Introduction
AC
CE
Production scheduling is a complex decision-making process that plays an important role in most of production systems, especially in complex and capital-intensive industries such as iron and steel, wafer fabrication, automobile, etc. Effective scheduling can significantly improve throughput, customer satisfaction, inventory costs, bottleneck utilization, and other key performance indices for enterprises. The iron and steel industry is a typical capital-intensive industry, which is essential to many important industries in the world, such as automobile, construction, aircraft and ship manufacturing [1,2]. This paper investigates a challenging scheduling problem arising from real-life steelmaking-continuous casting process in the iron and steel industry. The steelmaking-continuous casting (SCC) process mainly includes stages of steelmaking, refining and casting [3,4], as shown in Fig. 1. Oxygen Molten iron
Basic oxygen furnace
Graded liquid steel
Molten steel Refining furnace
Blooms Continuous caster
Iron scrap
Fig. 1 The steelmaking-continuous casting process 2
Slabs Steel billets
ACCEPTED MANUSCRIPT
CR IP T
The SCC production process we studied is briefly described as follows. Firstly, undesired substances in the molten iron, such as silicon, phosphorus and carbon, are partially removed through injections of oxygen in a basic oxygen furnace (BOF) of the steel-making stage. The molten steel processed together in a BOF is called a charge, a basic unit of the SCC production. Secondly, molten steel is poured into a transfer ladle and then transported to a refining furnace by a crane where it is de-slagged and de-sulphurised [5]. In this processing stage, high-precision adjustment for the chemical compositions of the steel is carried out so as to produce specific steel grades. There are two types of refining furnaces, including ladle furnaces (LF), Ruhrstahl-Hausen vacuum refining furnaces (RH). Finally, graded liquid steel from the refining furnace is taken to a continuous caster (CC) which can process multiple charges consecutively in the form of a cast or a batch. In this stage, the ladle is raised onto a turret that rotates the ladle on the casting position above the tundish. Liquid steel flows out from the tundish and into the crystallizer. At the bottom of the caster, the steel is completely solidified into blooms, slabs or billets with the required rolling lengths [1,3].
AN US
Each charge is defined by the corresponding steel grade and the gauges of products that the charge will be used to produce [6]. There is a special constraint with SCC process that, charges at the casting stage need to be consecutively cast one by one on the same intermediate ladle and on the same caster without any idle time of the caster. Such a group of charges forms a cast or a batch. This is because charges in the same cast share a common tundish, and when a cast ends production or is interrupted, the current common tundish will be disassembled from the continuous caster, and cannot be used any more. If charges in a cast are not processed consecutively, we call that a cast interruption happens. Therefore, it is an important task to improve the life span of tundishes so as to decrease the unit cost of each charge in the process of planning and scheduling. Besides that, as the temperature of hot metal will cool down quickly in steel ladle, it is necessary to reduce the waiting time of charges before each stage so as to save energy.
CE
PT
ED
M
Generally, the factory planning level releases a production plan every day for the SCC shop and the hot-rolling shop based on customer orders. In the production plan, detailed information of casts are given including the number of charges in each cast, the processing route, steel grade and estimated processing times of each charge and some technique constraints. Generally, two main steps need to be done in the planning level [7]: order batching (to form charges) and charge batching (to form casts). In some SCC plants, even the allocation of casts to continuous casters and sequence of casts are also given in the SCC production plan in order that the plan can be coordinated with hot rolling plan (hot charging to save energy) [5]. There are a large number of researches focused on the field of production planning for the SCC process, details can be found in [7,8].
AC
Given the production plan for the SCC shop, one needs to make out a timetable plan (i.e. the starting times and the assigned machines for each charge at each processing stage) for a given scheduling period (usually a shift or a day), this problem is often termed as the static scheduling problem in literature. During the execution of the timetable plan, some unpredicted real-time events may happen and thus cause the initially good timetable plan to become poor and even infeasible. Tang et al. [9] have summarized some typical unexpected events such as machine breakdown, operator illness, job cancellation, arrival of urgent charges, etc. It is necessary to adjust the timetable plan in this case, and this problem is usually termed as the dynamic scheduling problem in literature. Lastly, due to the presence of uncertainty (e.g. uncertain charge arriving time, processing time and transportation time, short-term machine failure), the timetable plan cannot be executed precisely, therefore in practice, one needs to decide in real time based on the timetable plan which charge and when to process when a machine becomes available, and this problem is often termed as the real-time scheduling problem. A typical schedule of the SCC process in practice, also known as “Gantt diagram”, is shown in Fig. 2. 3
ACCEPTED MANUSCRIPT machine BOF1
Charge 1
BOF2
Charge 3
Charge 2
LF
Charge 4
Charge 1
Charge 2
CC
Charge 3
Charge 1
Charge 2
Charge 4
Charge 3
Charge 4
time
Fig. 2 A simple example of schedule in the SCC process
CR IP T
B. Literature Review
CE
PT
ED
M
AN US
Efficient scheduling of the SCC process can bring considerable improvement for criterions such as Cast Interruption Ratio (CIR) and Average Weighted wait Time of charges (AWT), therefore decreasing the overall production cost and improving productivity. Much research effort has been focused on the static SCC scheduling problem since the late 1990s, most of which in literature formulate a mathematical model for the SCC scheduling problem, usually an MIP model, and then suggest a customized solution procedure. Harjunkoski and Grossmann [10] propose a decomposition scheme that generates smaller programs that can often be solved to global optimality. In their approach the original SCC problem is split into subproblems in a natural way using the special features of steelmaking and avoiding the need for expressing the highly complex rules as explicit constraints. Tan, Huang and Liu [11] investigate a steelmaking process scheduling problem with variable electricity price (SMSPVEP), and present a decomposition approach. Tang et al. [12] present a mathematical model for solving SCC production scheduling problem. The model is developed as a non-linear model based on actual production situations, considering both punctual delivery and production operation continuity. It is then converted into a linear programming model which can be solved using standard software packages. Tang, Guan and Hu [13] develop two different models to describe the practical SCC scheduling problems with converters and transporters, and propose a heuristic algorithm and a taboo search algorithm to solve the models, respectively. Atighehchian et al. [6] propose a hybrid scheduling algorithm for the SCC problem, which is based on combination of ant colony optimization (ACO) and non-linear optimization methods. Xuan and Tang [3] formulate the SCC scheduling problem as a hybrid flow shop (HFS) with batch production at the last stage, and then establish an integer programming model as well as a batch decoupling based Lagrangian relaxation algorithm for this problem. Mao [14] et al. formulate the SCC scheduling problem as an MIP model, and propose a novel Lagrangian relaxation approach for solving SCC static scheduling problem, which outperforms traditional Lagrangian approach in terms of solution quality and running time.
AC
Also, some researchers have proposed dynamic scheduling methods for the SCC process which are used to generate a new schedule when some unexpected events happen. Tang, Zhao and Liu [9] study a dynamic scheduling problem in SCC production where the assignment, sequencing, and timetable of a set of existing and new jobs (charges) among various production stages are re-optimized for the new environment when unforeseen changes occur in the production system. They propose an improved differential evolution (DE) algorithm to solve it. Yu and Pan [15] study the SCC rescheduling problem in response to the case of operation time delay, and propose a novel multi-objective nonlinear programming model and a three-stage rescheduling method including the batches splitting (BS) , forward scheduling method (FSM) and backward scheduling method (BSM). Ouelhadj et al. [16] solve the SCC scheduling problem by a multi-agent based approach, where a negotiation protocol is proposed for inter-agent cooperation. The purpose of this protocol is to allow the agents to cooperate and coordinate their local schedules in order to find globally near-optimal 4
ACCEPTED MANUSCRIPT robust schedules, while minimizing the disruption caused by the occurrence of unexpected real-time events. Dispatching rules are frequently used for real-time scheduling in practice [17]. However, conventional dispatching rules in literature, such as SPT (shortest processing time), EDD (earliest duedate), CR (critical ratio), are difficult to be applied to the SCC real-time scheduling problem due to the strong constraints of continuous casting of charges in a cast. Also, dispatching rules tend to be myopic as most of them only incorporate job-related and machine-related local production information [18]. Therefore, little effort in literature has been focused in developing effective dispatching rules for the SCC process. C. Motivation
CR IP T
As described above, most of the SCC scheduling problems studied in literature are deterministic. However, there exist a lot of various unexpected events including fluctuations of arriving times, processing times and transportation times, machine breakdowns, charge reworks, etc. Generally, these unexpected events can be classified into two categories in terms of the impact degree on the scheduling:
M
AN US
Critical events: which are defined as events that may cause the initial schedule to be extremely worse or infeasible, thus have a greater impact on the scheduling. Such events include arrivals of new casts released by the enterprise planning level, long-term machine breakdown, charge-hold and charge reworks due to quality considerations, charge cancellations or change of processing routes, etc. For instance, if a long-term machine breakdown happens, then all of operations that have been assigned to this machine need to be moved to other machines in the same stage, therefore the initial schedule turns to be infeasible and needs to be re-optimized. Non-critical events: which are defined as events that would not greatly change the feasibility and the performance of the initial schedule, thus have a less impact on the scheduling. Such events include slight fluctuations of processing times, transportation times and arriving times, short-term machine failure and charge-hold (which can also be regarded as fluctuations of processing times of charges), etc.
AC
CE
PT
ED
Generally, the number of non-critical events is much larger than that of critical events. In both static and dynamic scheduling approaches in literature, a timetable plan, which is generated manually or by a scheduling algorithm, is given as the final scheduling decision released to the shop floor. Usually in practice, when critical events happen, the timetable plan is often re-generated and released since the initial plan does not work; however, when non-critical events happen, schedulers tend to give real-time decisions themselves by slightly modifying the initial “rigid” timetable plan. We argue that the timetable plan is rigid in the sense that it fixes detailed starting times and assigned machines for each charge at each stage, without providing additional solutions on what should be done if some of the timetable plan cannot be executed due to the presence of a large amount of real-time events of the shop floor. Although dynamic scheduling methods can be used when non-critical events happen, however, in this case schedulers have to frequently adjust the timetable plan as real-life SCC process is strongly uncertain, which deteriorates the performance of the initial timetable plan and easily leads to serious production instability. Therefore, existing rigid-decision based methods in literature are difficult to guarantee that the schedule is good or feasible for a comparatively long time under strongly uncertain production environment. This motivates us to design some better form of decisions in the scheduling algorithm to accommodate with the strongly uncertain nature of the SCC process. In this paper, instead of using the conventional rigid timetable plan as scheduling decisions, we propose a novel concept of soft decision (or soft schedule) to be used as decision variables of the optimization model. The inherent idea of this concept is to find some feature value for dynamic production control under 5
ACCEPTED MANUSCRIPT
CR IP T
uncertain environment. In our approach, the soft decision consists of two parts: 1) in-process workload of each cast, and 2) the processing sequence of casts. The in-process workload of each cast is a control variable for each cast, balancing between average wait time of charges in the cast and probability of cast interruption during execution, and the sequence of casts represents priorities of casts. Based on the concept of soft decision, we present a two-layered approach to solve the SCC scheduling problem. The upper layer is the offline optimization layer, in which a novel particle swarm optimization algorithm is presented to solve the uncertain SCC scheduling problem and generate soft schedules for the problem, while the lower layer is the online dispatching layer, in which a fast heuristic is designed and used to decide in real time which charge and when to process when a machine becomes available during the execution of the soft schedule. To further improve the efficiency and effectiveness of our approach, a knowledge based population initialization method and an adaptive particle moving mechanism are presented in the particle swarm optimization algorithm.
AN US
In literature of job shop scheduling with the presence of uncertainty, there exist three approaches: complete reactive scheduling, robust proactive scheduling and predictive-reactive scheduling [18]. In complete reactive scheduling, no firm schedules are generated in advance, such as priority dispatching rules, however, they do not perform well under complex production environments as decisions are made locally in real-time. Robust proactive scheduling approach focuses on generating predictive schedules while considering unexpected disturbances. This approach is often criticized as real-time information is not utilized in dispatching jobs. Predictive-reactive scheduling is the most popular approach to cope with uncertainty in literature. In this approach, a firm schedule is generated in advance, and schedules are revised during the execution of the initial schedule.
PT
ED
M
Our approach belongs to predictive-reactive approaches in dynamic scheduling literature. However, different from existing predictive-reactive approaches for production scheduling, we use the soft decision specially designed for the SCC process as decision variables in generating an initial schedule. Rather than fixing assignments of charges to machines and starting times of charges at each stage in the schedule, the soft schedule gives only some characteristics that the consequent online dispatching procedure needs to satisfy, therefore by this method it is possible to provide more flexibility towards unexpected disruptions in real-world production environments.
CE
This paper is organized as follows. Section 2 formulates the SCC scheduling problem, section 3 illustrates the proposed soft-decision based algorithm in detail, including the solution framework, the inherent idea of designing soft decision, the offline optimization algorithm and the online dispatching heuristic, experimental results are provided in section 4. Conclusions and future work are given in section 5.
AC
2 Problem formulation The uncertain SCC scheduling problem studied in this paper arises from the practical SCC production environment. In this problem, one is expected to decide in real time which charge and when to process whenever a machine gets available. In this section, we model this problem as a stochastic optimization problem with the objective of minimizing the total weighted waiting time and the probability of cast interruption, which are the most significant objectives in real-life SCC process. In the model, 𝑛 unfinished charges are formed into 𝐵 casts at the stage of continuous caster. Charges in the same cast have the same processing route and corresponding processing times. A transportation time is occurred when a charge is transported from an upstream machine to a downstream machine. In this paper we assume that charges can 6
ACCEPTED MANUSCRIPT be transferred to a target machine with a transportation time (which can be represented as a random number)
CR IP T
whenever needed. This hypothesis is reasonable since transportation of charges is usually not the bottleneck of the overall SCC production line. Each charge and machine has a release time, if the charge is being processed, then the release time is its expected completion time, which is also the release time of the corresponding machine. All charges visit three stages in the same direction, i.e. firstly visit BOF, and then LF, finally CC. In this model, the processing time and the transportation time of charges between machines in the SCC shop cannot be accurately determined in advance due to the inherent complexity of the SCC production, therefore, they are modelled as stochastic variables. Also, since the production speed of the upstream iron smelting factory is not constant and the transportation vehicles are not available all the time, the arrival time of charges is also modelled as stochastic variables. The detailed notations are described as follows. A. Notations
ℎ: index of cast, ℎ = 1,2, ⋯ , |𝐶𝑆|, where 𝐶𝑆 is the set of unfinished casts. 𝑖: index of charge, 𝑖 = 1,2, ⋯ , |𝐿𝑆|, where LS is the set of unfinished charges. 𝑙: index of machine, 𝑙 = 1,2, ⋯ , |𝑀𝑆|, where MS is the set of all available machines. 𝐶𝑆1: set of casts that have started processing on a continuous caster. 𝐶𝑆2: set of casts that have started processing on a BOF, but have not started processing on a continuous caster.
𝐶𝑆3: set of casts that have not started processing on a BOF. 𝑚ℎ : index of assigned continuous caster for cast ℎ, ℎ ∈ 𝐶𝑆1. 𝑟𝑖 : release time of charge 𝑖, which is a random number over interval [𝑟𝑖 , 𝑟𝑖 ]. ℎ𝑖 : index of cast of charge 𝑖, ℎ𝑖 ∈ 𝐶𝑆; 𝑚𝑟𝑙 : release time of machine 𝑙, which is a random number over interval [𝑚𝑟𝑙 , 𝑚𝑟𝑙 ].
i, k :
ED
M
AN US
index of an operation, which represents the k -th processing stage of charge i , 𝑘 =
PT
1,2, ⋯ , 𝑛𝑖 , where 𝑛𝑖 is the total number of unfinished processing stages of charge 𝑖. 𝑝𝑖,𝑘 : processing time of operation (𝑖, 𝑘), which is a random number over interval [𝑝𝑖,𝑘 , 𝑝𝑖,𝑘 ]. Under
CE
our assumption, the processing time is independent with machines.
i, k
𝑀𝑆𝑖,𝑘 : set of machines on which operation
𝑡𝑟(𝑙1 , 𝑙2 ): transportation time between machine 𝑙1 and 𝑙2 , which is a random number over
AC
can be processed.
interval [𝑡𝑟(𝑙1 , 𝑙2 ), 𝑡𝑟(𝑙1 , 𝑙2 )].
S h : set of charges belonging to cast h .
(ℎ, 𝑗): the 𝑗–th charge in cast h . 𝑙ℎ : index of continuous caster corresponding to cast h , ℎ ∈ 𝐶𝑆1. 𝑤1 , 𝑤2 , 𝑤3: weights of waiting times of BOF, LF and CC stage, which satisfies 𝑤1 < 𝑤2 < 𝑤3 . 𝐴𝑙 : set of operations assigned to machine 𝑙.
B. Decisions 7
ACCEPTED MANUSCRIPT
i, k
𝑥𝑖,𝑘 : the machine to which operation
𝑠𝑡𝑖,𝑘 : the starting time of operation i, k .
is assigned.
C. Constraints
Every operation can only be processed after its precedent operation of the same charge has been completed.
𝑠𝑡𝑖,1 ≥ 𝑟𝑖
𝑖 ∈ 𝐿𝑆, 𝑘 = 1,2, ⋯ , 𝑛𝑖 − 1
𝑖 ∈ 𝐿𝑆
A machine can at most process one charge at a time. 𝑠𝑡𝑖1,𝑘1 ≥ 𝑠𝑡𝑖2,𝑘2 + 𝑝𝑖2,𝑘2 V 𝑠𝑡𝑖2,𝑘2 ≥ 𝑠𝑡𝑖1,𝑘1 + 𝑝𝑖1,𝑘1 (𝑖1, 𝑘1) ∈ 𝐴𝑙 , (𝑖2, 𝑘2) ∈ 𝐴𝑙 ,(𝑖1, 𝑘1) ≠ (𝑖2, 𝑘2),𝑙 ∈ 𝑀𝑆 Machines are available only after its release time. 𝑠𝑡𝑖,𝑘 ≥ 𝑚𝑟𝑙
(𝑖, 𝑘) ∈ 𝐴𝑙 ,𝑙 ∈ 𝑀𝑆
AN US
CR IP T
𝑠𝑡𝑖,𝑘+1 ≥ 𝑠𝑡𝑖,𝑘 + 𝑝𝑖,𝑘 + 𝑡𝑟(𝑥𝑖,𝑘 , 𝑥𝑖,𝑘+1 )
Continuous casting constraint: charges in the same cast need to be processed consecutively on a
M
particular caster without interruption. If the cast is being processed on a continuous caster, then the next charge should be processed on this caster exactly after the current charge ends. In real-life environments, however, this constraint cannot be satisfied all the time due to the uncertainties. Hence, it is a soft constraint and we also include it in the objective function. 𝑗 = 1,2, ⋯ , |𝑆ℎ |, ℎ ∈ 𝐶𝑆2 ∪ 𝐶𝑆3
𝑠𝑡(ℎ,𝑗+1),𝑛(ℎ,𝑗+1) = 𝑠𝑡(ℎ,𝑗),𝑛(ℎ,𝑗) + 𝑝(ℎ,𝑗)
𝑗 = 1,2, ⋯ , |𝑆ℎ |, ℎ ∈ 𝐶𝑆1
PT
ED
𝑠𝑡(ℎ,𝑗+1),𝑛(ℎ,𝑗+1) = 𝑠𝑡(ℎ,𝑗),𝑛(ℎ,𝑗) + 𝑝(ℎ,𝑗)
𝑠𝑡(ℎ,1),𝑛(ℎ,1) = 𝑚𝑟𝑙ℎ
CE
D. Objectives
ℎ ∈ 𝐶𝑆1
AC
In real-world environments, schedulers are required to avoid cast interruptions, as well as to decrease waiting times of high-temperature charges at each stage. Therefore, the above two aspects are considered as two conflicting objectives in this model.
Minimize average weighted sum of waiting times at three stages: AWT =
1 (∑(𝑖,𝑘)∈𝐵𝑂𝐹 𝑤1 (𝑠𝑡𝑖,𝑘 |𝐿𝑆|
− 𝑟𝑖 ) + ∑(𝑖,𝑘)∈𝐿𝐹 𝑤2 (𝑠𝑡𝑖,𝑘 − 𝑠𝑡𝑖,𝑘−1 − 𝑝𝑖,𝑘−1 ) + ∑(𝑖,𝑘)∈𝐶𝐶 𝑤3 (𝑠𝑡𝑖,𝑘 − 𝑠𝑡𝑖,𝑘−1 −
𝑝𝑖,𝑘−1 )) where the symbol “BOF” represents the set of operations to be processed on BOF machines, so are “LF” and “CC”, 𝑤1, 𝑤2 and 𝑤3 represent penalty coefficients of waiting time at different stages, generally 8
ACCEPTED MANUSCRIPT 𝑤1 < 𝑤2 < 𝑤3 .
Minimize probability of cast interruption:
CR IP T
CIR = 𝑝(𝑐𝑖) The objective of the problem is to minimize the weighted sum 𝐹 = 𝛼1 𝐴𝑊𝑇 + 𝛼2 𝐶𝐼𝑅, where 𝛼1 and 𝛼2 are penalty coefficients of two objectives, respectively. The weighted sum 𝐹 can be viewed as a cost measure of the SCC process. Although minimizing a weighted sum of two conflicting objectives has some drawbacks such as it cannot reach solutions that lie in non-convex regions of the Pareto front, it is widely used in multi-objective optimization. Furthermore, by carefully selecting 𝛼1 and 𝛼2 , the production cost caused by waiting time of charges and cast interruption can be well balanced. In real-life SCC production environments, the coefficients 𝛼1 and 𝛼2 can be determined by checking the production cost caused by the corresponding waiting time and number of cast interruptions. Generally, 𝛼2 is much greater than 𝛼1 as cast interruption would probably lead to more loss of production cost than extra waiting time of charges.
AN US
The deterministic SCC scheduling problem is often regarded as a complicated form of hybrid flow shop (HFS) scheduling problems in literature because of its additional constraints, stochastic variables and more complex scheduling objectives [3]. It has been shown that the two stage HFS scheduling problems with the makespan criterion is NP-Complete [19].
3 The algorithm
3.1 Two-layered solution framework
AC
CE
PT
ED
M
A key challenge of scheduling real-world SCC processes is how to deal with unexpected events that occur frequently. The existence of unexpected events may deteriorate the initial schedule, or even make it infeasible during the execution of the initial schedule. In our approach, unexpected events in the SCC process are classified into two categories: critical events and non-critical events. Critical events include arrivals of new casts released by the enterprise planning level, long-term machine failure and charge-hold, and other events that may cause the initial schedule to be extremely worse or infeasible, while non-critical events include fluctuations of processing times, transportation times and arriving times, short-term machine failure and charge-hold (which can also be regarded as fluctuations of processing times of charges). Generally, when critical events happen, schedulers need to generate a new timetable plan which may be a modified version of the initial plan or a fully-new one, while in the case of non-critical events, schedulers often have to continue with the initial timetable plan due to the high occurrence frequency of these events. Traditional timetable plan based approaches do not perform well due to the rigid nature of decision variables. Our approach deals with this uncertain situation by introducing soft decision (or soft schedule) to replace the traditional timetable plan. In a soft schedule, some characteristic variables rather than the rigid variables of the timetable plan are given, which will be described in detail in section 3.2. Under this assumption, a soft schedule is more like a dispatching heuristic which is capable to provide operational decisions incorporating real-time information. Furthermore, we present a two-layered framework based on the popular predictive-reactive idea to handle with uncertainties in job shop scheduling literature. The upper layer is the offline optimization layer, in which a soft schedule is generated and released to the lower layer when some critical events happen, and the lower layer is the online dispatching layer, where a dispatching heuristic is designed to decide in real time which charge and when to process, based on the soft schedule given by the 9
ACCEPTED MANUSCRIPT upper layer and the real-time production information. The two-layered solution framework is shown in Fig. 3 as below. Offline optimization (critical event-driven)
Real time production data
New cast arrival, longterm machine failure or charge-hold
Soft schedule
On line decision: which charge and when to process
When a machine is available for process
CR IP T
Online dispatching (real time)
Fig. 3 Two-layered Framework of the proposed SDA
ED
M
AN US
In our scheme, the soft schedule is re-generated once a critical event happens. Non-critical disruptions, such as uncertain arrivals of charges, fluctuations of processing times and transportation times, short-term machine failure and charge-hold, would not greatly influence the feasibility and the performance of the soft schedule, thus, the soft schedule remains unchanged when non-critical events happen. As above critical events would not happen very frequently in real-world SCC production lines, the soft schedule is able to keep stable for a long period of time with the presence of frequent disruptions. This is the most significant advantage of our approach. The idea of the proposed method is also applicable for other similar SCC scheduling problems, since minimizing the number of cast interruptions and minimizing the total waiting times of charges are the most significant objectives in the SCC scheduling problems.
3.2 Determining the form of soft decisions
AC
CE
PT
As illustrated in section 1, rigid-decision based approaches are difficult to perform well under uncertain production environments with the presence of frequent unpredicted disruptions, this motivates us to design a new formulation of schedule for uncertain SCC scheduling problems. In our approach, we present the concept of soft decisions or soft schedules to cope with this situation. Generally, a decision or a schedule is “soft” means that it provides flexibility in response to unexpected disruptions, while traditional timetable based schedule is not “soft” since it fixes the starting times and assigned machines for each charge at each processing stage. Generally, there are three principles when designing a good form of soft decision for uncertain SCC scheduling environments. 1) Starting times or assigned machines for specific operations should not be fixed in advance, since the best values of these variables are easily influenced by real-time events (e.g. fluctuations of processing times and arriving times of charges) that are unknown at the time of offline optimization. 2) The soft schedule should indicate some key features that are significantly influential to the overall performance criterions. 3) The soft schedule should be relatively stable during the scheduling period, i.e. once we obtain a soft schedule at a time, it should be effective and need not be frequently repaired when 10
ACCEPTED MANUSCRIPT non-critical events happen during the execution of the schedule.
CR IP T
Since the goal of scheduling SCC production process is to decrease the weighted sum of waiting times of charges while minimizing the probability of cast interruptions, assume that we do not consider unexpected disruptions in the model, then charges would be scheduled as later as they can in the optimal timetable plan so as to minimize the cost of total waiting times since 𝑤1 < 𝑤2 < 𝑤3 . On the other hand, if we are required to avoid cast interruption with probability 1 under uncertain environments without considering the objective of minimizing the weighted sum of waiting times of charges, then we need to design a schedule with large waiting times of charges in each cast so as to ensure an enough margin to meet the worst case of fluctuations of processing times, transportation times etc. Therefore, considering two conflicting objectives, the best
AN US
schedule should be a compromise between the above two extreme situations, and there exists some features by which the two conflicting objectives can be well balanced for the SCC production process. In this paper we use the concept of cast workload to achieve this goal. The cast workload is defined as the total amount of in-process workload for a cast, and the in-process workload of a cast means the workload of charges that have already begun processing on a BOF machine and have not finished on a CC machine. The essential idea behind this definition is that, since processing routes of different charges in a cast are identical, the optimal value of the cast workload is not directly related with the refining stage. However, casts with refining or without refining will probably have different cast workload values, as casts with refining have a longer processing route and naturally will have a larger cast workload value in terms of optimization. We denote the cast workload of cast ℎ at time 𝑡 as 𝑐𝑤ℎ (𝑡), which is defined as below.
ED
M
𝑓𝑖,𝑛𝑖 (𝑡) 𝑖𝑓 𝑜𝑝𝑒𝑟𝑎𝑡𝑖𝑜𝑛 (𝑖, 𝑛𝑖 ) 𝑖𝑠 𝑏𝑒𝑖𝑛𝑔 𝑝𝑟𝑜𝑐𝑒𝑠𝑠𝑒𝑑 𝑜𝑛 𝐶𝐶 𝑝𝑖,𝑛𝑖 𝑐𝑤ℎ,𝑖 (𝑡) = 𝑝𝑖,1 − 𝑓𝑖,1 (𝑡) 𝑖𝑓 𝑜𝑝𝑒𝑟𝑎𝑡𝑖𝑜𝑛 (𝑖, 1) 𝑖𝑠 𝑏𝑒𝑖𝑛𝑔 𝑝𝑟𝑜𝑐𝑒𝑠𝑠𝑒𝑑 𝑜𝑛 𝐵𝑂𝐹 𝑝𝑖,1 { 1 𝑒𝑙𝑠𝑒
PT
𝑐𝑤ℎ (t) = ∑𝑖∈𝑆ℎ (𝑡) 𝑐𝑤ℎ,𝑖 (𝑡)
AC
CE
where 𝑐𝑤ℎ,𝑖 (𝑡) is the workload of charge 𝑖 in cast ℎ at time 𝑡, 𝑓𝑖,𝑘 (𝑡) is the remaining processing time of operation (𝑖, 𝑘) at time 𝑡, 𝑆ℎ (𝑡) is the set of work-in-process charges in cast ℎ at time 𝑡, and 𝑛𝑖 is the total number of operations of charge 𝑖. Note that for a charge that is being processed on a BOF machine or a CC machine, the corresponding workload value may not be an integer number under the above definition. Fig. 4 gives an example to illustrate the workload value of a charge over time, where 𝑝𝐵𝑂𝐹 , 𝑝𝐶𝐶 represents the processing times of this charge on the BOF stage and the CC stage, respectively. Workload of a charge 1
t
0 A
pBOF
B
C
11
pCC
D
ACCEPTED MANUSCRIPT Fig. 4 Change of workload value of a charge over time
AN US
CR IP T
As is shown in Fig. 4, at time A, the charge begins to be processed at the BOF stage, and the workload value of this charge, denoted as 𝑐𝑤𝑖 , begins to grow from 0. At time B, the charge finishes its processing at the BOF stage and 𝑐𝑤𝑖 grows to 1. At time C, the charge begins to be processed at the CC stage and 𝑐𝑤𝑖 begins to decrease from 1 and reaches 0 at time D where the charge finishes processing at the CC stage. The cast workload is the total sum of workload of charges that belong to this cast. In the optimal schedule of the deterministic case of the SCC scheduling problem studied in this paper, due to the existence of continuous casting constraints, the cast workload curve takes on a similar pattern with Fig. 4. An example is given in Fig. 5 to demonstrate cast workload curves in an optimal schedule of a small SCC instance, where there exist 3 BOF machines, 2 LF machines and 2 CC machines, and each cast includes 8 identical charges.
Fig. 5 Change of cast workload values over time in an optimal schedule
AC
CE
PT
ED
M
Furthermore, Fig. 6 shows the cast workload curves of different casts over time from a real-life SCC plant. Some charges need not to go through LF machines in their processing routes. We select data from two typical cases, where in the first case charges are scheduled and dispatched well, while in the second case the production scheduling is not good and a cast interruption happens.
(a) Good case of cast workload values
(b) Bad case of cast workload values
Fig. 6 Change of cast workload values over time
It can be seen that in the first case, the cast workload value remains stable or slightly changed in the middle phase of each curve (corresponding to each cast), while in the second case, the cast workload seems to be obviously fluctuating in the middle phase. Extensive analysis on a long period of production data also shows a similar behavior. Hence, we can conclude that the cast workload is a significant feature for real-world steel-making continuous-casting production environment, as it reflects, for a given cast, the probability of cast interruption and the penalty of total weighted waiting time of charges, i.e. the larger the cast workload 12
ACCEPTED MANUSCRIPT value, the smaller the probability of cast interruption, and the larger the total weighted waiting time of charges, and vice versa. Hence, it can be inferred from the above cases that in well-scheduled circumstances, the cast workload of each cast is in a stable status in its middle phase during the production. Therefore, if we know in advance the best value of cast workload for each cast, it would be easy to decide in real time when to process a charge under uncertain production environment.
CR IP T
However, it is hard to determine the best cast workload value for to-be-scheduled casts, since it depends on the processing route, the processing times at each stage, the arriving speed of charges, and characteristics of production environment for each cast. Therefore, we take the cast workload values as soft decision variables in the offline optimization algorithm. Besides, since the processing sequence (or priority) of casts is also very influential to the overall scheduling performance, as it determines the starting sequence of charges at each stage, the sequence of casts is also included into the soft schedule.
3.3 Offline optimization layer
AN US
The studied problem in section 2 belongs to the field of nonlinear, mixed (involving discrete and continuous variables simultaneously), and stochastic optimization. To our knowledge, no analytical methods can be used to solve this problem. Particle swarm optimization (PSO), which was first introduced by Kennedy and Eberhart [20], is an efficient optimization tool for complex optimization problems and has gained much
PT
ED
M
attention in recent years [21,22]. PSO is a population-based algorithm that starts with a randomly generated population and then improves the performance of population through iterations of searching operators. Each member of the population is called a particle, each particles moves around in the search space, taking the advantage of its own experience and the experience of some other particles to guide the search. Fig. 7 illustrates the basic procedure of a standard PSO algorithm used in offline optimization layer. Each iteration consists of three basic steps: particle moving, velocity updating, and swarm evaluation. For a given optimization problem, PSO keeps improving the particles until no improvement can be made or a pre-determined number of iterations is reached. PSO has become a candidate for solving many complex optimization applications due to its high-performance and flexibility to specific problem characteristics [23].
AC
CE
Compared with other evolutionary algorithms like genetic algorithm (GA), the main advantages of PSO are its simplicity, robustness in controlling parameters and its high computational efficiency [24], as it incorporates only moving operators in searching an optimum. It also has a flexible and well-balanced mechanism by local search and global search to improve the performance of optimization [25]. The PSO algorithm and its variants have been successfully applied to different optimization areas such as production planning and scheduling [26, 27], distribution state estimation [28], reactive power dispatching [29], and electromagnetic devices design [30].
13
ACCEPTED MANUSCRIPT Start
Initialize particles
Individual representation
Solution evaluation Update personal-best and global-best of particles
CR IP T
Update positions and velocities of particles
End
Fig. 7 Basic procedure of PSO algorithm
AN US
In uncertain production environments, once some critical events happen such as new casts from the factory planning level are released, long-term machine failure, the soft schedule needs to be re-generated immediately. Hence, to improve the efficiency and effectiveness of the solution procedure, we present a knowledge based population initialization method to improve the initial performance of the population, and a new adaptive particle moving mechanism for PSO to balance between exploitation and exploration. Also,
Individual representation
ED
3.3.1
M
multiple simulations are needed to evaluate the performance of a specific schedule under stochastic environments. The following sections will illustrate details of the PSO algorithm used in the offline optimization layer.
Each solution of PSO is represented with the following form:
PT
{𝑝𝑟1 , 𝑝𝑟2 , ⋯ , 𝑝𝑟|𝐶𝑆| |𝑐𝑤1 , 𝑐𝑤2 , ⋯ , 𝑐𝑤|𝐶𝑆| }
where 𝑝𝑟1 , 𝑝𝑟2 , ⋯ , 𝑝𝑟|𝐶𝑆| are priorities of casts in the set 𝐶𝑆, 𝑐𝑤ℎ is the cast workload of cast ℎ. Under
3.3.2
CE
above solution representation scheme, the problem turns to be a hybrid optimization problem.
Solution evaluation
AC
We use a simulation-based approach to evaluate a given soft schedule. Since the soft schedule presented in this paper does not give assignments of charges to machines and starting times of charges at each stage, we design a knowledge-based dispatching heuristic, which are used to determine the above decisions in the process of decoding a soft schedule and also used in online dispatching in real time. In solution evaluation, the simulation proceeds in a time-driven manner, that is, all of simulation events are executed in an ascending order of corresponding timestamps. The evaluation process is demonstrated in detail as below. Solution Evaluation Procedure Step 1: execute simulation in a time-driven manner, where random variables in the model are sampled during the simulation process. When a machine is available at a time, the dispatching heuristic 14
ACCEPTED MANUSCRIPT
𝑐𝑖 ∑𝑛−𝑛 𝑡𝑤𝑖 AWT = 𝑖=1 𝑛 − 𝑛𝑐𝑖
CR IP T
described in section 3.4 is used to make the decision of which charge to process or not. If no charge is selected, then generate a new event to select an operation at the next timestamp. Step 2: if a cast interruption happens when executing simulation, then the simulation is terminated, else if the simulation ends normally without cast interruption, then calculate the average weighted sum of waiting times of charges as the objective value. Step 3: repeat step 1 and step 2 for a predetermined number of simulation runs, and calculate the probability of cast interruption and the average weighed sum of waiting times by: 𝑛𝑐𝑖 𝑝(𝑐𝑖) = 𝑛
3.3.3
AN US
where 𝑛 is the total number of simulations for the given soft schedule, 𝑛𝑐𝑖 is the number of simulations where at least one cast interruption happens, and 𝑡𝑤𝑖 is the weighed sum of waiting times of the 𝑖-th simulation. According to the law of large numbers, 𝑝(𝑐𝑖) will converge to the actual probability of cast interruption when 𝑛 is large enough. Note that simulations where at least one cast is interrupted are not counted in the calculation of AWT.
Swarm initialization
Each individual consists of two parts: 1) cast workload values, and 2) sequence of casts. In order to generate good and diversified population, we propose a history data based initialization method for generating a particle as follows.
AC
CE
PT
ED
M
Swarm Initialization Procedure Step 1: considering that the best value of cast workload may be different for different casts, we classify historical casts that were well scheduled, into four categories according the following two attributes: 1) Type of processing route. There are two options of this attribute for a given cast: the first is going through LF stage, the second is not. 2) Processing difficulty. There are two options of this attribute for a given cast: easy and hard. “Easy” means there is little uncertainty in processing each charge of the cast, i.e. the processing time is controllable. On the contrary, “hard” means there are many unpredicted factors influencing the production of the cast. Step 2: for casts in each category, calculate the maximum and the minimum of their cast workload values, denoted as 𝑐𝑤𝑖,𝑚𝑎𝑥 and 𝑐𝑤𝑖,𝑚𝑖𝑛 , 𝑖 = 1,2,3,4 where 𝑖 is index of categories. Step 3: generate initial cast workload of cast 𝑗 values by the following formula: 𝑐𝑤𝑗 = 𝑟𝑎𝑛𝑑[𝑐𝑤𝑖(𝑗),𝑚𝑖𝑛 , 𝑐𝑤𝑖(𝑗),𝑚𝑎𝑥 ]
where 𝑖(𝑗) represents the category index of cast 𝑗, 𝑟𝑎𝑛𝑑[𝑎, 𝑏] represents a random value uniformly distributed over interval [𝑎, 𝑏]. Step 4: determine the initial cast sequence by following rules: 1) Casts that are being processed on a CC machine are most prior. 2) Casts that have begun to be processed on a BOF machine are secondly prior. 3) Casts that have not begun to be processed on a BOF machine are thirdly prior. 4) Randomly determine the sequence if two casts are in the same level of priority. Step 5: assume the velocities of a particle is represented as 𝑉𝑐 = {𝑣𝑠𝑒𝑞 , 𝑣1 , 𝑣2 , ⋯ , 𝑣|𝐶𝑆| }, where 𝑣𝑠𝑒𝑞 is 15
ACCEPTED MANUSCRIPT velocity of cast priority sequence, and 𝑣𝑘 is velocity of cast workload of cast 𝑘 (𝑘 = 1,2, ⋯ , |𝐶𝑆|). For velocities of each particle, generate a uniformly distributed random value over interval (0,1) as the initial value of 𝑣𝑠𝑒𝑞 , and a uniformly distributed random value over interval (−1,1) as the initial value of 𝑣𝑘 . The initial swarm is generated by repeating through step 1 to step 5 for 𝑁 times.
3.3.4
Updating positions and velocities of particles
Generally, we need to move particles to their personal-best and global-best with a given probability in each iteration of the PSO algorithm. Since the individual consists of two parts, i.e. cast workload values and sequence of casts, we propose a particle-moving method in which two parts are updated separately. Assume
𝑜 𝑜 {𝑝𝑟1𝑜 , 𝑝𝑟2𝑜 , ⋯ , 𝑝𝑟|𝐶𝑆| |𝑐𝑤1𝑜 , 𝑐𝑤2𝑜 , ⋯ , 𝑐𝑤|𝐶𝑆| }
,
and
the
CR IP T
𝑐 𝑐 the current particle is 𝑃𝑐 = {𝑝𝑟1𝑐 , 𝑝𝑟2𝑐 , ⋯ , 𝑝𝑟|𝐶𝑆| |𝑐𝑤1𝑐 , 𝑐𝑤2𝑐 , ⋯ , 𝑐𝑤|𝐶𝑆| } , the objective particle is 𝑃𝑜 =
velocity
of
the
current
particle
is 𝑉𝑐 = {𝑣𝑠𝑒𝑞 , 𝑣1 , 𝑣2 , ⋯ , 𝑣|𝐶𝑆| }, where 𝑣𝑠𝑒𝑞 is the velocity of casts priority sequence, and 𝑣𝑘 represents the
AN US
velocity of the 𝑘-th cast of cast workload, then the particle’s position is updated by the following procedure. Note that 𝑣𝑘 may be a negative value.
ED
M
Position-Updating Procedure Step 1: randomly select a substring from the cast priority sequence of 𝑃𝑜 with length |𝐶𝑆| ∙ 𝑣𝑠𝑒𝑞 ∙ 𝛾, where 𝛾 is a coefficient and 𝛾 ∈ (0,1). Step 2: take the selected substring as the value of the same position in the new particle 𝑃𝑐𝑛𝑒𝑤 . Step 3: replace other positions in 𝑃𝑐𝑛𝑒𝑤 with the remaining values of priority sequence in 𝑃𝑐 without changing their relative order. Step 4: using the following formula to generate new values of cast workload for each cast: 𝑐𝑤𝑘𝑛𝑒𝑤 = 𝑐𝑤𝑘𝑐 + 𝑣𝑘 , 𝑘 = 1,2, ⋯ , |𝐶𝑆|
CE
PT
For velocity updating, we propose a method incorporating simulation data of the search process. Let 𝑊𝑇𝑘,𝑡 𝑎𝑣𝑔 be the total waiting time of operations of cast 𝑘 corresponding to solution 𝑃𝑐 at iteration 𝑡, and 𝑊𝑇𝑡 be the average total waiting time of operations of all casts corresponding to solution 𝑃𝑐 at iteration 𝑡, velocities 𝑐 of cast priority sequence 𝑣𝑠𝑒𝑞 and each cast 𝑣𝑘𝑐 are updated by the following formula: 𝑛𝑒𝑤 𝑐 𝑣𝑠𝑒𝑞 = 𝜔𝑡 ∙ 𝑣𝑠𝑒𝑞 + 𝑐1 ∙ 𝑟 𝑎𝑣𝑔
𝑣𝑘𝑛𝑒𝑤 = 𝜔𝑡 ∙ 𝑣𝑘𝑐 ∙ 1(𝑊𝑇𝑡
− 𝑊𝑇𝑘,𝑡 > 0) + 𝑐2 ∙ 𝑟,
𝑘 = 1,2, ⋯ , |𝐶𝑆|
AC
𝑛𝑒𝑤 where 𝜔𝑡 is inertia weight, 𝑣𝑠𝑒𝑞 is the velocity of cast priority sequence in the next generation, 𝑣𝑘𝑛𝑒𝑤 is the velocity of cast 𝑘 in the next generation, 1(∙) is an indicator function, 𝑐1 , 𝑐2 are control parameters and 𝑟 is a random real number uniformly distributed over interval (-1,1). The inertia weight is updated by: 𝜔𝑡+1 = 𝜔𝑡 ∙ 𝛽, where 𝛽 is the decrement factor to control the convergence speed of the algorithm.
3.4 Online dispatching layer As is shown in section 3.1, the online dispatching layer decides in real time which charge and when to process after a machine becomes available, based on the soft schedule given by the upper layer and the real-time production information of charges, machines and operations. The inherent idea of the online dispatching heuristic is to dispatch charges such that the difference between the actual cast workload of each cast calculated from real-time production information and the expected cast workload given by the soft 16
ACCEPTED MANUSCRIPT schedule is minimized. The detailed heuristic is described as shown below.
CE
PT
ED
M
AN US
CR IP T
Online Dispatching Heuristic 1) Dispatching heuristic for BOF stage: a) For each charge ℎ ∈ 𝐶𝑆1 ∪ 𝐶𝑆2 in the buffer at time 𝑡, compute the difference, denoted as 𝑑ℎ,𝑡 , between the actual cast workload 𝑐𝑤ℎ,𝑡 of the charge and 𝑐𝑤ℎ given by the soft schedule: 𝑑ℎ,𝑡 = 𝑐𝑤ℎ,𝑡 − 𝑐𝑤ℎ b) For the charge with the minimum 𝑑ℎ,𝑡 : i. If 𝑑ℎ,𝑡 < 0, then select the current charge to be processed on the machine. ii. If 𝑑ℎ,𝑡 ≥ 0, then go to step d). c) For each arrived charge ℎ ∈ 𝐶𝑆3, select the charge of which the cast is with the highest priority in the soft schedule. 2) Dispatching heuristic for LF stage: a) For each charge ℎ ∈ 𝐶𝑆1 in the buffer at time 𝑡, select the charge with the earliest arrive time. 3) Dispatching heuristic for CC stage: i. If the current cast ℎ has not finished at time 𝑡, i.e. there still exist a charge of cast ℎ which has not been processed on a CC machine, then select the charge from 𝑆ℎ with the earliest arrive time to process. ii. If cast ℎ has not finished at time 𝑡 and no charge in the buffer belongs to the cast, then a cast interruption occurs. iii. If the current cast ℎ just finishes processing at time 𝑡, then: If there does not exist a charge in the buffer available for selection, i.e., all of casts corresponding to charges in the buffer are being processed in the CC stage, then do not select a charge and the current CC machine remains idle. If there exist some charges in the buffer available for selection, then for the corresponding casts (denoted as 𝐶𝑆𝑐𝑐 ) of these charges, calculate the difference (denoted as 𝑑ℎ,𝑡 ) between the actual cast workload 𝑐𝑤ℎ,𝑡 of the charge and 𝑐𝑤ℎ in the soft solution: 𝑑ℎ,𝑡 = 𝑐𝑤ℎ,𝑡 − 𝑐𝑤ℎ 𝑚𝑎𝑥 𝑚𝑎𝑥 For the charge with the maximum 𝑑ℎ,𝑡 , denoted as 𝑑ℎ,𝑡 , if 𝑑ℎ,𝑡 > 𝛿 where 𝛿 is the threshold value, then select the charge to be processed on the current CC machine, else do not select a charge to process, and the machine remain idle.
4 Numerical experiments
AC
In this section, we give results of the numerical experiments to compare the proposed algorithm with other related methods in literature for solving uncertain SCC scheduling problems under different production environments.
4.1 Test instances generation and parameter settings We use two classes of typical SCC scheduling instances to test our algorithm as described below, where the generation method for instances of Class I are mostly used in literature, while instances of Class II are directly taken from real-life SCC production environments. Class I: Short-term SCC scheduling instances. Each instance of this class corresponds to a problem of 17
ACCEPTED MANUSCRIPT generating a schedule for a short period of time (often a shift or at most a day). Hence, the number of charges in each instance is comparatively small (tens to a hundred in most cases), and only non-critical events are considered in this case. Also, the offline optimization algorithm will be run only once at the beginning of the period to generate a soft schedule based on the overall information of a specified instance, while the online dispatching heuristic will be used multiple times whenever a dispatching decision needs to be made during the simulation, with the guidance of the soft schedule given by the offline optimization algorithm.
AN US
CR IP T
Class II: Long-term SCC scheduling instances. Each instance of this class corresponds to a long period of time (often several days) in real-world environments. The number of charges of each instance in this class is large (often hundreds to a thousand totally), and both critical and non-critical events are considered during the simulation. When critical events happen during the simulation, the offline optimization algorithm is used to generate a new soft schedule, while in the case of non-critical events, the soft schedule is not updated. At the same time, the online dispatching heuristic is also run in real-time whenever a dispatching decision needs to be made. Note that since information of future charges is not known at the beginning of the period, it is impossible, and unnecessary, to make a thorough schedule that covers all future charges in the period.
CE
PT
ED
M
Traditional SCC scheduling algorithms in literature are often tested on instances similar with Class I, i.e. given an instance or a set of instances, the scheduling algorithm is run only once for each instance (usually with a simulation model), after that, based on the simulation data, some expected performance measures are calculated for evaluation. The above approach is frequently used in evaluating the performance of a candidate algorithm, however, in real-world environments, the above expected performance measures often cannot be achieved in practice due to a large number of unexpected disruptions. This is the motivation for designing test instances of Class II. In Class II, instead of using expected performance measures obtained by a single run of an algorithm, we construct an underlying simulation model to approximate behaviors of a real SCC production line. In this simulation model, the testing algorithm is triggered to run for generating a new schedule once a critical event happens, thus multiple runs of the algorithm are needed during the given period as critical events would probably happen multiple times. After the simulation ends, the final performance measures are obtained based on multiple runs of the algorithm for evaluation. The comparison of the two evaluation methods are shown in Fig. 8.
AC
Expected performance measures
Scheduling Algorithm
Expected performance measures Scheduling Algorithm
Schedule A critical event happen
Schedule A critical event happen
……
Practical performance measures t
……
Fig. 8. Comparison of two evaluation methods In both classes of instances, arriving times, processing times and transportation times of charges are 18
ACCEPTED MANUSCRIPT stochastic. Class I includes 15 sets of randomly generated instances, and Class II includes 5 instances, which are generated by directly taking the practical production data at 5 different periods of a large SCC shop from a large steel plant in China. Each period is about 7-10 days long, consisting of totally 100 casts and around 900 charges, 3 CC machines, 2 LF refining machines and 3 BOF machines.
CR IP T
In generating instances of Class I, the numbers of BOF, LF and CC machines are generated by randomly choosing an integer number from intervals [3,6],[2,4], and [3,5], respectively. The number of casts is a uniformly distributed number over interval [10,20], and the number of charges in a cast is an integer uniformly distributed over interval [5, 15]. The processing time of different stages and transportation time between different stages satisfy: 𝑝𝑖,𝐵𝑂𝐹 ~𝑈[28,35], 𝑝𝑖,𝐿𝐹 ~𝑈[20,40], 𝑝𝑖,𝐶𝐶 ~𝑈[30,40] and 𝑡𝑟𝑖 ~𝑈[3,10]. The
AN US
interval between arriving times of two consecutively arriving charges satisfy: ∆𝑟~𝑈[5,15]. All time units of these variables are minutes. Also, since some casts do not go through the LF stage in real-world environments, the probability of going through LF is set as 0.7 for each charge. Instances of Class I and Class II are available at http://pan.baidu.com/s/1nt1FgfR. Note that the above stochastic variables in both classes of instances are not known until the corresponding simulation events, such as cast arrival or charge processing, happen in the process of simulation, and in the offline optimization algorithm, only mathematical expectations of these stochastic variables are used. In all experiments, Since the cost of cast interruption is much larger than that of charges’ waiting time, the
M
coefficients in the objective function are set as follows: 𝛼1 = 1, 𝛼2 = 200. The value of 𝛼1 and 𝛼2 is determined based on estimation of the cost of a new tundish and the cost of improving the temperature of a charge. Note that these coefficients may be different for different SCC shops and different periods.
PT
ED
The performance of the proposed SDA partially depends on its parameters including swarm size 𝑁, number of simulation runs for evaluating a soft schedule 𝑛, control parameters 𝑐1 , 𝑐2 , initial inertia weight 𝜔0 , and decrement factor 𝛽. Suitable values of these parameters have to be determined to enhance the performance of the algorithm. We have made experiments on comparing different parameter combinations based on parameter selection instructions suggested in literature [31,32], and the above parameters are set as
CE
follows: 𝑁 = 40, 𝑛 = 10, 𝑐1 = 0.1, 𝑐2 = 0.1, 𝜔0 = 1, 𝛽 = 0.98. Besides that, a stopping criterion of 40 iterations is used in SDA for all parameter settings in the experiments on instances of both Class I and Class II.
AC
4.2 Experimental results on test instances Three different methods in literature are chosen for comparison on solving both classes of instances described above. These methods include: (1) HANO [6]. HANO is a representative algorithm proposed for solving deterministic SCC scheduling problems by combining ant-colony optimization and non-linear programming techniques, which has been proven to be very efficient on SCC scheduling problems compared to a Genetic Algorithm and a heuristic algorithm used at a real steel company. (2) PIDE [9]. PIDE is an improved differential evolution algorithm specially designed for dynamic scheduling of SCC process. The algorithm re-optimizes the assignment, sequencing, and timetable of a 19
ACCEPTED MANUSCRIPT set of existing and new charges for the new environment when unforeseen disruptions occur. It adopts a memory scheme and an external archive scheme in the modified mutation strategy, as well as an incremental mechanism in the initialization procedure, to improve the efficiency of the DE algorithm. This algorithm is tested to be effective under rescheduling situations of SCC process. (3) CPLEX [33]. CPLEX is the most famous commercial solver for solving mathematical programming problems, and has been used broadly in different industrial optimization fields. In our experiments, the SCC scheduling model is developed by OPL (Optimization Programming Language) and solved by CPLEX 12.6 (Academic version) downloaded from http://www.ibm.com.
CR IP T
Among three algorithms, HANO and CPLEX are designed for solving static scheduling problems, and PIDE
ED
M
AN US
is for solving SCC rescheduling problems with consideration of the current schedule. However, all of the above three algorithms are designed to generate only a timetable plan for each run, i.e. without a dispatching method under uncertain environments, therefore, in experiments on Class I and Class II, each of these algorithms is used as an offline optimization algorithm in the solution framework to generate a timetable plan. And due to unexpected disruptions in the simulation, we design an online dispatching strategy in this case to determine when and which charge to process once a machine gets idle based on the timetable plan generated above. The dispatching strategy is described as follows: the allocated machine for each charge and the sequence of charges at each stage are strictly the same with that of the generated timetable plan, but the start time of a charge is not later than the maximum of its arriving time from the upstream stage and its planned start time in the corresponding timetable plan. In other words, a charge is taken to be processed if and only if it has arrived and the current timestamp in the simulation is larger than or equal to its starting time given by the timetable plan. In addition, since in HANO the cast sequence is regarded as an input parameter, when solving each instance by HANO, the cast sequence is obtained from the best solution of SDA.
PT
Based on the above assumptions, we have implemented the above three comparison algorithms and SDA using C# language, where CPLEX 12.6 is used as a dynamic library. All of experiments are done on a
AC
CE
computer with 4G RAM and two 2.8GHz CPU cores. In these experiments, 20 independent trials are carried out for each instance and each algorithm. Table 1 shows the average values (AVGAWT and AVGCIR) and the standard deviations (STDAWT and STDCIR) of the above 20 independent runs for each instance in Class I, where the best result for each instance among four algorithms is marked in boldface. The average running time (ART) of each algorithm are also listed in the table, where the time unit is second. In these experiments, the stopping criterion of HANO is that the solution cannot be improved within 100 sequential iterations, and the stopping criterion of CPLEX and PIDE is a fixed time interval (150s) and a fixed iterations (100), respectively. Table 1 Experimental results (average and standard deviation of AWT and CIR) of the algorithms on Class I Prob.
HANO
SDA
AWTAVG
AWTSTD
CIRAVG
CIRSTD
ART(s)
AWTAVG
AWTSTD
CIRAVG
1#
16.5
1.36
6.0%
0.007
151.4
16.7
1.43
1.4%
0.004
132.0
2#
16.1
0.73
9.6%
0.023
143.4
14.4
0.68
1.5%
0.009
124.1
3#
21.7
0.65
5.7%
0.015
146.9
20.3
0.62
0.7%
0.008
130.8
20
CIRSTD
ART(s)
ACCEPTED MANUSCRIPT 17.8
1.11
8.3%
0.023
138.2
16.9
0.97
1.9%
0.016
121.7
5#
15.5
0.79
9.3%
0.03
147.3
13.8
0.49
2.4%
0.005
139.8
6#
21.4
1.04
6.9%
0.013
144.7
22.1
0.89
1.8%
0.017
121.5
7#
16.2
0.99
10.1%
0.025
139.2
15.2
0.63
1.2%
0.005
135.3
8#
18.6
0.88
6.4%
0.010
150.5
17.8
1.05
1.0%
0.008
126.7
9#
22.2
1.24
8.4%
0.024
132.8
20.4
1.30
0.9%
0.012
125.8
10#
17.5
1.14
8.8%
0.027
142.4
16.4
0.88
1.4%
0.011
120.1
11#
18.0
0.47
5.9%
0.006
144.5
17.9
0.56
0.8%
0.009
127.2
12#
22.3
0.84
10.3%
0.027
136.0
21.9
0.67
1.9%
0.015
126.0
13#
16.9
0.82
7.0%
0.014
154.7
15.8
0.80
2.1%
0.011
135.4
14#
18.4
1.24
8.0%
0.021
143.6
17.8
1.16
1.1%
0.008
137.9
15#
21.2
1.08
9.2%
0.029
146.4
21.5
0.78
0.6%
0.006
121.6
AVG
18.7
0.97
8.0%
0.019
144.1
17.9
0.86
1.4%
0.009
128.4
CR IP T
4#
Table 1(cont.) Experimental results (average and standard deviation of AWT and CIR) of the algorithms on Class I CPLEX
PIDE
AWTSTD
CIRAVG
CIRSTD
1#
16.2
1.09
8.8%
0.010
2#
15.3
0.44
6.2%
0.017
3#
19.6
0.48
4.5%
0.015
4#
16.7
1.04
8.5%
0.021
5#
14.9
0.48
8.1%
0.028
6#
21.5
0.86
8.6%
0.021
7#
15.0
0.84
7.3%
0.028
8#
17.4
0.70
6.1%
9#
20.0
1.26
6.7%
10#
16.3
0.83
5.1%
11#
17.7
0.70
12#
21.3
0.73
13#
15.8
0.74
14#
17.4
15# AVG
ART(s)
AWTAVG
AWTSTD
CIRAVG
CIRSTD
ART(s)
16.3
1.38
3.3%
0.017
113.6
150
15.7
0.52
3.9%
0.019
113.4
150
18.7
0.45
4.1%
0.019
121.2
150
16.4
1.05
5.4%
0.024
122.5
150
13.7
0.60
6.5%
0.016
116.4
150
21.5
0.80
4.8%
0.031
111.7
150
15.1
0.52
4.1%
0.015
123.9
0.009
150
17.8
0.86
5.1%
0.019
114.0
0.021
150
20.3
1.15
4.2%
0.027
122.9
0.030
150
17.1
0.97
4.2%
0.030
113.3
4.5%
0.008
150
17.6
0.82
4.2%
0.018
114.3
7.7%
0.025
150
21.2
0.56
4.7%
0.013
112.6
5.8%
0.019
150
15.7
0.76
5.6%
0.022
110.4
1.11
7.2%
0.021
150
17.7
1.07
3.8%
0.025
123.5
21.2
0.76
8.6%
0.033
150
20.9
0.82
4.8%
0.021
119.7
17.7
6.9%
0.020
150
17.7
0.82
4.6%
0.021
116.9
ED
PT
0.80
M
150
CE
AWTAVG
AN US
Prob.
AC
Clearly in Table 1, on randomly generated SCC scheduling instances in Class I, SDA outperforms HANO, CPLEX and PIDE on almost all of instances with respect to the average and standard deviation value of CIR, and gives similar results with the best algorithms (CPLEX and PIDE) among three comparison algorithms in all of instances with respect to the average and standard deviation value of AWT. It can be concluded that the two criterions are well balanced in SDA toward uncertain situations, while comparison algorithms are intended to optimize AWT without providing enough allowance of waiting time to prevent cast interruptions under uncertain situations. Also, the running time of four algorithms is close and can be accepted in practice. This demonstrates the superior performance of SDA under uncertain production environments. Table 2 shows experimental results of SDA and the other three approaches on instances in Class II. Also, the 21
ACCEPTED MANUSCRIPT real production performance indicators (AWT and the number of cast interruptions), which is calculated based on real-life production data, are also listed in Table 2 for comparison. In each experiment for a given instance in this case, each offline optimization algorithm (PIDE, CPLEX and SDA) will be run multiple times and generate a schedule for execution at each time. The run of offline optimization algorithms will be triggered by critical events defined in section 3.1. When one of the above events occur, a soft schedule is generated at each time by SDA, while a timetable plan is generated at each time by PIDE or CPLEX. Also, for each instance in Class II, if a cast interruption occurs, the remaining charges of the interrupted cast will be grouped into a new cast in the simulation, and a new schedule will be generated by one of the offline optimization algorithms. PIDE
SDA
CPLEX
PSH
AWTAVG
𝑛𝑐𝑖
AWTAVG
𝑛𝑐𝑖
AWTAVG
𝑛𝑐𝑖
AWTAVG
𝑛𝑟𝑐𝑖
26.0 27.6 27.9 27.7 27.8 27.4
2 3 2 3 4 2.8
26.4 27.3 28.0 27.6 28.7 27.6
1 0 1 0 0 0.4
27.1 28.7 28.2 27.4 28.3 27.9
3 2 4 2 4 3.0
29.2 30.1 30.7 28.9 30.4 29.9
1 1 2 0 1 1.0
1# 2# 3# 4# 5# AVG
AN US
Prob.
CR IP T
Table 2 Experimental results of the two algorithms on problems in Class II
PT
ED
M
In Table 2, 𝑛𝑐𝑖 denotes the number of cast interruptions during 10 days’ simulation of PIDE, SDA and CPLEX, PSH denotes practical scheduling heuristic in the SCC shop, and 𝑛𝑟𝑐𝑖 represents the number of cast interruptions obtained from real-life production data of the SCC shop. From Table 2 we can see that considerable improvements of two performance indicators are obtained by SDA on real uncertain scheduling environments compared to other two algorithms and the scheduling heuristic in practice in terms of 𝑛𝑐𝑖 , and SDA also performs similarly with the best algorithm (PIDE) of the other three methods. Also, PSH performs better than PIDE and CPLEX with respect to the number of cast interruptions, and worse than them with respect to AWTAVG, in average. This illustrates that schedulers are more inclined to decrease the number of cast interruptions in practice, as the cast interruptions is more influential to the production cost and stability.
1#
2#
δ
AWT
AC
Prob.
CE
Table 3 Experimental results of the HANO and SDA on problems with different uncertainty level HANO
SDA
STDAWT
CIR
STDCIR
AWT
STDAWT
CIR
STDCIR
1
16.5
1.36
6.0%
0.007
16.7
1.43
1.4%
0.004
0.8
15.7
1.21
5.8%
0.010
14.9
1.41
1.2%
0.005
0.6
13.8
1.25
3.6%
0.006
13.6
1.36
0.3%
0.002
0.4
12.1
1.03
1.9%
0.004
12.8
1.26
0.0
0
0.2
10.5
0.98
0.0
0
12.3
1.08
0.0
0
0
9.2
1.01
0.0
0
11.5
0.97
0.0
0
1
15.5
0.73
9.6%
0.023
14.4
0.68
1.5%
0.009
0.8
13.1
0.82
8.7%
0.017
12.6
0.72
1.3%
0.008
0.6
11.9
0.71
5.1%
0.010
9.8
0.60
0.5%
0.002
0.4
9.3
0.67
3.4%
0.012
8.2
0.57
0.1%
0.001
22
ACCEPTED MANUSCRIPT
3#
0.2
6.4
0.62
0.9%
0.009
7.5
0.63
0
0
0
5.0
0.64
0
0.012
6.9
0.82
0
0
1
21.7
0.65
5.7%
0.015
20.3
0.62
0.7%
0.008
0.8
19.2
0.92
5.6%
0.009
18.1
1.15
0.9%
0.004
0.6
16.5
0.83
3.4%
0.012
15.2
1.21
0.3%
0.010
0.4
13.1
0.79
1.6%
0.011
12.9
1.00
0.2%
0.006
0.2
9.4
0.64
0
0
9.3
0.89
0
0
0
5.7
0.70
0
0
7.1
0.74
0
0
AN US
CR IP T
Furthermore, we have made experiments on problems with different level of uncertainty in order to test the proposed algorithm comprehensively, where HANO is taken for comparison. In these experiments, we define a concept named “uncertainty level δ” to represent whether the problem is strongly uncertain or not. As many stochastic variables are introduced in the problem formulation in section 2, without loss of generosity we assume that the interval of a stochastic variable is [𝑉𝑚𝑖𝑛 , 𝑉𝑚𝑎𝑥 ] where the stochastic variable 𝑉 may represent processing time, transportation time or arriving time. Then, we generate the SCC scheduling problems with different uncertainty level by sampling stochastic variables from the corresponding interval [𝑉𝑚𝑖𝑛 ∙ 𝛿, 𝑉𝑚𝑎𝑥 ∙ 𝛿]. Table 3 shows the experimental results of the two algorithms on problems 1# to 3# of Class I with different uncertainty level. Other parameter settings are the same as that in Section 4.1.
ED
M
It can be seen in Table 3 that, when δ ≥ 0.4, SDA performs significantly better in most problems (10 out of 12 with respect to AWT, 12 out of 12 with respect to CIR) with different uncertainty level. While for problems with δ ≤ 0.2, HANO is capable to give superior solution in most cases (5 out of 6 with respect to the weighted sum of AWT and CIR) as it incorporates deterministic nonlinear programming techniques to optimize the starting times of operations in the timetable plan. Therefore, it can be concluded that SDA is more suitable for SCC scheduling problems with a stronger uncertainty level.
PT
4.3 Performance analysis for SDA
AC
CE
As mentioned in Section 3, the SDA algorithm has two main improvement strategies: 1) knowledge-based swarm initialization, and 2) adaptive updating of positions and velocities. In this section, we analyze two improvement strategies by making experiments with different configurations of SDA on some typical SCC scheduling problems. A. Knowledge based swarm initialization method SDA uses the knowledge based swarm initialization method where historical production data is incorporated to calculate the maximum and minimum value of cast workload, and human knowledge is also used to initialize the priority sequence of casts. Generally in PSO, individuals are often generated randomly from its value space. In this section we test the proposed SDA and SDA with random swarm initialization method (denoted as SDA-RSI) to analyze the performance of knowledge based swarm initialization method in SDA.
23
ACCEPTED MANUSCRIPT
AN US
CR IP T
(a) (b)
(d)
(f)
PT
(e)
ED
M
(c)
Fig. 9 Convergence curves on instances 1#-6#
AC
CE
Fig. 9 lists the convergence curve of fitness values (y-axis) versus iterations (x-axis) during the solution process of SDA and SDA-RSI on instances 1#-6#. Experiments on other instances present similar behavior with diagrams shown above. To be concise, we only list the convergence curve of total production cost 𝐹 (which is the weighted sum of AWT and CIR) for each instance. The diagrams show that the performance of initial swarm of SDA is much better than that of SDA-RSI, and also SDA performs better in most cases than SDA-RSI with respect to the final objective value obtained by two algorithms. Therefore, it can be concluded that compared to SDA-RSI, SDA is more suitable to solve the studied problem, especially in case that CPU time is limited. B. Adaptive position and velocity updating method In SDA, an adaptive updating method is used to guide the search process of the offline optimization algorithm, which is designed to improve effectiveness and efficiency of PSO algorithm according to features of the studied SCC scheduling problem. In this section, we test our APSO algorithm with the standard PSO presented in [21] under the framework proposed in this paper for solving the SCC scheduling problem, and the corresponding parameter settings of the standard PSO are the same with that in section 4.1. Table 4 lists 24
ACCEPTED MANUSCRIPT the experimental results of two algorithms (denoted as SDA-APSO and SDA-SPSO) on instances of Class I. Table 4 Experimental results of the two algorithms on instances of Class I
2# 3# 4# 5# 6# 7# 8# 9# 10# 11# 12# 13# 14# 15# AVG
SDA-APSO
AWT
STDAWT
CIR
STDCIR
ART(s)
AWT
STDAWT
CIR
18.4 17.5 23.5 19.1 15.8 23.3 16.4 19.0 23.3 16.7 18.6 22.9 18.1 19.3 21.4 19.6
0.72 0.76 1.09 1.15 1.18 0.75 1.24 0.84 0.93 0.52 1.10 0.98 0.65 1.19 0.94 0.94
1.8% 1.9% 1.0% 2.5% 2.3% 1.6% 1.4% 1.3% 1.7% 1.5% 1.4% 2.0% 1.9% 1.2% 0.8% 1.62%
0.012 0.011 0.009 0.010 0.008 0.012 0.014 0.009 0.007 0.010 0.013 0.005 0.012 0.011 0.009 0.010
127.8 122.5 129.2 118.3 134.9 118.1 130.5 125.6 121.6 115.4 124.3 121.7 134.7 137.0 117.2 125.3
16.7
1.43
1.4%
0.004
132.0
14.4
0.68
1.5%
0.009
124.1
20.3
0.62
0.7%
0.008
130.8
16.9
0.97
1.9%
0.016
121.7
13.8
0.49
2.4%
0.005
139.8
22.1
0.89
1.8%
0.017
121.5
15.0
0.63
1.2%
0.005
135.3
1.05
1.0%
0.008
126.7
1.30
0.9%
0.012
125.8
0.88
1.4%
0.011
120.1
0.56
0.8%
0.009
127.2
0.67
1.9%
0.015
126.0
0.80
2.1%
0.011
135.4
17.8 20.4 16.4 17.9 21.9 15.8
STDCIR
CR IP T
1#
SDA-SPSO
AN US
Prob.
ART(s)
17.8
1.16
1.1%
0.008
137.9
21.5
0.78
0.6%
0.006
121.6
17.9
0.86
1.38%
0.009
128.4
ED
M
It can be seen that in Table 4, SDA-APSO is more powerful in searching for better solutions of the studied problem with given parameter settings. In detail, values of CIR of SDA-SPSO are better than that of HANO for the same problem instance, and are close with that of SDA-APSO, while for AWT, SDA-APSO performs better than SDA-SPSO in most cases (14 out of 15). This may be explained by that both algorithms have adopted the soft decision based approach, while SDA-APSO is better in exploring the solution space, as it incorporates feedback information from solutions obtained at earlier iterations.
PT
5 Conclusions and future work
AC
CE
The real-life scheduling of SCC production is a complex industrial optimization problem, especially under strongly uncertain production environments. Unlike traditional approaches that use rigid-decision based methods to find an optimized timetable plan, this paper adopts a new concept of soft decision in order to discover and represent the underlying production scheduling strategies under strongly uncertain environments. Based on the analysis of production data, we take the cast workload and the priority sequence of casts as the formulation of the soft decision. Furthermore, we develop a two-layered optimization framework to optimize the soft decision and the online dispatching heuristic. The upper layer is the offline optimization layer, in which a particle swarm optimization algorithm is proposed to optimize the soft schedule. The lower layer is the online dispatching layer, where a dispatching heuristic is designed to decide in real time which charge and when to process after a machine gets available, based on the soft schedule given by the upper layer and the real-time production data. Computational experiments on randomly generated stochastic instances and the practical production data demonstrate the performance of the proposed soft-decision based algorithm. The idea of our approach is also instructive for solving other similar scheduling problems under uncertain environments, as dealing with a large number of unexpected disruptions is always a key issue in designing 25
ACCEPTED MANUSCRIPT the corresponding scheduling algorithms. In these situations, we argue that, by converting the rigid decision variables into soft decision variables, the original problem can be reformulated into a new problem and the corresponding solution of the new problem is capable to provide more flexibility in uncertain environments. In other words, by reformulating the original problem into a soft-decision based problem, we try to obtain some scheduling strategies that remains changeless under uncertain environments.
CR IP T
Future work includes the following two aspects. First, deploy the proposed algorithm at a large SCC production line to verify its effectiveness in solving real-life problems and extend the proposed method to solve other type of scheduling problems under uncertain environments, in which determining the form of soft decision based on problem features is the key step. Second, since the time to run the offline optimization algorithm is very important to the overall performance of our approach, it is interesting to further study the best opportunity to trigger the offline optimization algorithm.
6 Acknowledgement
AN US
This work is partially supported by the National Natural Science Foundation of China (Nos. 61104172, 61025018, 51375038, 60834004), the National Key Basic Research and Development Program of China (2009CB320602) and the National Science and Technology Major Projects (No.2011ZX02504). The authors would like to thank the Computer&Information Center in ShaSteel Group for cooperation in numerical experiments and applications of this research. Also, the authors would like to thank anonymous referees for their constructive comments and suggestions to improve this paper.
M
Reference
AC
CE
PT
ED
[1] L.X. Tang, P.B. Luh, J.Y. Liu, L. Fang, Steel-making process scheduling using Lagrangian relaxation, International Journal of Production Research 40 (1) (2002) 55-70. [2] L.X. Tang, J.Y. Liu, A.Y. Rong, Z.H. Yang, A review of planning and scheduling systems and methods for integrated steel production, European Journal of Operational Research 133(1) (2001) 1-20. [3] H. Xuan, L.X. Tang, Scheduling a hybrid flowshop with batch production at the last stage, Computers & Operations Research 34 (2007) 2718-2733. [4] L.X. Tang, G.L. Liu. A mathematical programming model and solution for scheduling production orders in Shanghai Baoshan Iron and Steel Complex, European Journal of Operational Research 182(3) (2007) 1453-1468. [5] H. Missbauer, W. Hauber, W. Stadler, A scheduling system for the steelmaking-continuous casting process: A case study from the steel-making industry, International Journal of Production Research 47(15) (2009) 4147–4172. [6] Atighehchian, M. Bijari, H. Tarkesh. A novel hybrid algorithm for scheduling steel-making continuous casting production, Computers &Operations Research 36 (2009) 2450-2461. [7] L.X. Tang, G.S. Wang, Z.L. Chen. Integrated charge batching and casting width selection at Baosteel. Operations Research 62(4) 2014 772-787. [8] L.X. Tang, G.S. Wang. Decision support system for the batching problems of steelmaking and continuous-casting production. Omega 36(6) 2008 976–991. [9] L.X. Tang, Y. Zhao, J.Y. Liu. An improved differential evolution algorithm for practical dynamic Scheduling in steelmaking-continuous casting production, IEEE Transactions on Evolutionary Computation 18(2) 2014 209-225. [10] Harjunkoski, I.E. Grossmann, A decomposition approach for the scheduling of a steel plant production, Computers and Chemical Engineering 25 (2001) 1647–1660. [11] Y.Y. Tan, Y.L. Huang, S.X. Liu, Two-stage mathematical programming approach for steelmaking process scheduling under variable electricity price, International Journal of Iron and Steel Research 20(7) (2013) 1-8. 26
ACCEPTED MANUSCRIPT
AC
CE
PT
ED
M
AN US
CR IP T
[12] L.X. Tang, J.Y. Liu, A.Y. Rong, Z.H. Yang, A mathematical programming model for scheduling steelmaking-continuous casting production, European Journal of Operational Research 120 (2000) 423-435. [13] L.X. Tang, J. Guan, G.F. Hu, Steelmaking and refining coordinated scheduling problem with waiting time and transportation consideration, Computers & Industrial Engineering 58(2010) 239–248. [14] Kun Mao, Quan-ke Pan, Xinfu Pang, Tianyou Chai, A novel Lagrangian relaxation approach for a hybrid flowshop scheduling problem in the steelmaking-continuous casting process. European Journal of Operational Research 236(1) (2014)51–60. [15] S.P. Yu, Q.K. Pan, A rescheduling method for operation time delay disturbance in steelmaking and continuous casting production process, International Journal of Iron and Steel Research 19(12) (2012) 33-41. [16] D. Ouelhadja, S. Petrovica, P.I. Cowling, A. Meiselsc, Inter-agent cooperation and communication for agent-based robust dynamic scheduling in steel production, Advanced Engineering Informatics 18 (2004) 161–172. [17] G. Metan, I. Sabuncuogl, H. Pierreval, Real time selection of scheduling rules and knowledge extraction via dynamically controlled data mining, International Journal of Production Research 48(23) (2010) 6909-6938. [18] D. Ouelhadj, S. Petrovic, A survey of dynamic scheduling in manufacturing systems, Journal of Scheduling 12(4) (2009) 417-431. [19] J.N.D. Gupta. Two-stage hybrid flow shop scheduling problem. Operational Research 1988, 39:359-364. [20] J. Kennedy, R. Eberhart, Particle swarm optimization, Proceeding of the 1995 IEEE International Conference on Neural Network, Perth, 1995, 1942-1948. [21] M.R. AlRashidi, M.E. El-Hawary, A survey of particle swarm optimization applications in electric power systems, IEEE Transactions on Evolutionary Computation 13(4) (2009) 913-918. [22] R.V. Kulkarni, R.K. Venayagamoorthy, Particle swarm optimization in wireless-sensor networks: a brief survey, IEEE Transactions on Systems, Man, and Cybernetics Part C: Applications and Reviews 41(2) (2011) 262-267. [23] J. Kennedy, R. Eberhart, Swarm intelligence, Morgan Kaufmann, San Francisco, 2001. [24] R. Eberhart, Y.Y. Shi, Comparison between genetic algorithms and particle swarm optimization, Lecture Notes in Computer Science 1447 (1998) 611–616. [25] M. A. Abido, Optimal design of power-system stabilizers using particle swarm optimization. IEEE Transactions on Energy Conversion, 17(3)(2002) 406-413. [26] B. Liu, L. Wang, Y.H. Jin, An effective pso-based memetic algorithm for flow shop scheduling. IEEE Transactions on System, Man and Cybernetics Part B 37(1) (2007) 18-27. [27] L.X. Tang, X.P. Wang, An improved particle swarm optimization algorithm for the hybrid flowshop scheduling to minimize total weighted completion time in process industry, IEEE Transactions on Control Systems Technology 18(6) (2010) 1303-1314. [28] S. Naka, T. Genji, T. Yura, Y. Fukuyama, A hybrid particle swarm optimization for distribution state estimation, IEEE Transactions on Power System 18 (2003) 60-68. [29] B. Zhao, C.X. Guo, Y. J. Cao, A multiagent-based particle swarm optimization approach for optimal reactive power dispatch, IEEE Transactions on Power Systems 20 (2005) 1070-1078. [30] S.L. Ho, S. Yang, G. Ni, H.C. Wong, A particle swarm optimization method with enhanced global search ability for design optimizations of electromagnetic devices, IEEE Transactions on Magnetics 42 (2006) 1107-1110. [31] K.E. Parsopoulos, M.N. Vrahatis, Parameter selection and adaptation in unified particle swarm optimization, Mathematical and Computer Modelling 46 (2007) 198-213. [32] Y.H. Shi, R. Eberhart. Parameter selection in particle swarm optimization. Lecture Notes in Computer Science 1447 (1998) 591-600. [33] https://www-304.ibm.com/ibm/university/academic/pub/page/ban_ilog_programming. 2014.7.2
27