# Unit-Specific Event-Based and Slot-Based Hybrid Model Framework with Hierarchical Structure for Short-Term Scheduling

Authors: Yue Wang; Hongye Su; Hanshan Shao; Lei Xie
Journal: Mathematical Problems in Engineering
 (2015)

---

## Abstract

Unit-specific event-based continuous-time model has inaccurate calculation problems in involving resource constraints, due to the heterogeneous locations of the event points for different units. In order to address this limitation, a continuous-time unit-specific event-based and slot-based hybrid model framework with hierarchical structure is proposed in this work. A unit-specific event-based model without utility constraints is formulated in upper layer, and a slot-based model is introduced in lower layer. In the hierarchical structure, the two layers jointly address the short-term production scheduling problem of batch plants under utility consideration. The key features of this work include the following: (a) eliminating overstrict constraints on utility resources, (b) solving multiple counting problems, and (c) considering duration time of event points in calculating utility utilization level. The effectiveness and advantages of proposed model are illustrated through two benchmark examples from the literatures.


---

## Body

## 1. Introduction

Short-term production scheduling for batch process is extensively studied in the last two decades. Most literatures made considerable efforts to decrease the number of integer variables and model size to pursue better computational performance [1–3]. However, the resource consideration in production scheduling has not gained enough attention. Resources are closely related to production. In multipurpose batch plants, resource restrictions can affect product pathways and have a significant impact on plant profitability [4]. Moreover, not considering resources will lead to the infeasibility of production scheduling. Therefore, considering resource constraints in production scheduling is vital, especially for the shared resources. The resources consumed in production are usually classified into two types. One type is discrete resource (e.g., processing units, manpower, and tools) and the other type is continuous resource (e.g., utilities and materials).Regarding discrete resource, some typical algorithms, such as rescheduling algorithm, relaxation method, and particle swarm optimization algorithm, have been utilized successively in production scheduling with discrete resource constraints. Méndez and Cerdá [5, 6] firstly proposed a MILP formulation where all discrete resources including processing units are treated uniformly and then developed a new MILP reactive scheduling algorithm to revise the short-term schedule of the resource constrained multistage batch facilities due to unexpected events like equipment breakdowns and worker absenteeism. Pinto and Grossmann [7] introduced a novel relaxation method into continuous-time MILP scheduling models and efficiently modeled discrete resource constraints (e.g., number of operators and fixed amount of electricity). Zhang et al. [8] proposed a hybrid discrete particle swarm optimization algorithm to solve the dual-resource constrained job shop scheduling problem with resource flexibility. As results of these contributions, problems including processing unit and tool allocation and manpower changes were able to be solved effectively.Utilities as one of the continuous resources are studied frequently in the literatures. Discrete-time representation method is based on a uniform discretization of time, which makes it easier to handle utility constraints in a uniform model. Lindholm and Giselsson proposed a discrete-time MIQP model to address the utility disturbance in production process with the aim of minimizing the total economic loss of site [9]. In order to involve utility consideration in general and large-scale industrial sites, Lindholm and Nytzén [10] introduced a general framework for production scheduling (PS) and detailed production scheduling (DPS) using a two-level hierarchical approach. The PS and DPS are both represented by discrete-time models. Wang et al. [11] proposed a planning and scheduling model framework with hierarchical structure. In the scheduling layer, a variperiod discrete-time presentation model is formulated to address utility disturbance.Although the discrete-time representation method can deal with utility constraints in production scheduling easily, it still has some distinct limitations compared with the continuous-time model, including the following: (i) it corresponds to an approximation of the time horizon and (ii) it may result in an unnecessary growth in the number of binary variables. Consequently, in the overall size of the model, it usually requires an exceptionally large number of integer variables for industrial applications [12]. To solve the inherent limitations of the discrete-time models, methods based on continuous-time representation have been developed. During the last two decades, numerous formulations have been proposed based on continuous-time representation, including slot-based, global-event-based, unit-specific event-based, and precedence-based continuous-time formulations. Continuous-time representation model has been used frequently to address utility constraints in production scheduling and has been studied by Behdani et al. [13], Susarla et al. [14], Shaik and Vooradi [15], Méndez and Cerdá [16], and so forth.It is noteworthy that unit-specific event-based model is considered as the most general and rigorous representation of time used in short-term scheduling and also has received some attention in utility constraint problems. Janak et al. [12] (referred to as JLF model in this work) proposed an enhanced unit-specific event-based formulation for short-term scheduling of multipurpose batch processes. This model incorporated and elaborated several features including resource constraints. Shaik and Floudas [17] (referred to as S&F model in this work) introduced a novel unit-specific event-based short-term scheduling model with three-index binary and continuous variables, which efficiently merges the problems with and without resources into a unified, generic common framework. Vooradi and Shaik [18] (referred to as S&V model in this work) enhanced the three-index model of Shaik and Floudas [17] by effectively incorporating the concept of active task throughout the model, due to which the proposed formulation has fewer constraints and big-M terms.Recently, inaccurate calculation problems of unit-specific event-based model in involving resource constraints are presented in some literatures [12, 17, 19]. Because of the heterogeneous locations of the event points for different units, the utility utilization levels for tasks performed in different units at the same event points are difficult to be calculated. Moreover, the multiple counting of utility consumption frequently occurs, which leads to an unreal shortage of utility. These limitations result in the inaccuracy of utility record keeping.In order to solve the above inherent limitations, in this work, we proposed a unit-specific event-based and fixed slot-based continuous-time hybrid model framework with hierarchical structure to address the inaccurate utility calculation problems. A unit-specific event-based continuous-time model is used to optimize the production schedule without utility consideration in upper layer, and the obtained solutions of the upper layer are regarded as the input of the lower layer model which is based on fixed slot-based time representation with utility constraints. A better scheduling solution is found compared with historical literatures through iterations between upper and lower layers.


## 2. Problem Statement

Continuous-time models are generally classified into slot-based, global-event-based, unit-specific event-based, and precedence-based formulations. In the slot-based models, the time horizon is divided into several unequal time intervals, and the tasks have to start and terminate at an event [20]. Global-event-based models use a set of events that are common across all units, and the event points are defined at either the beginning or end (or both) of each task in each unit [19]. Regarding the unit-specific event-based models, the unit refers to equipment (e.g., reactor) occupied by processing tasks in production. Event points are a sequence of time instances located along the time axis of a unit, and each event point represents the beginning of a task or the utilization of the unit. The location of the event points is different for each unit, allowing different tasks to start at different time in each unit for the same event point [12]. For sequential processes, other alternative approaches based on precedence relationships have also been developed which do not require the postulation of any events or time slots [17]. In this work, what we focus on is the formulations based on unit-specific event-based continuous-time representation.Event-based continuous-time representation allows event points to be located in any timing in scheduling horizon. The start and finish times are allotted to each event point. In addition, unit-specific event-based continuous-time representation also allows the start and finish times of tasks in different units corresponding to the same event point to take place at different timing. As shown in Figure1, at event point N, the start time Ts and finish time Tf of tasks i1, i2, and i3 are all different. The unit-specific event-based model considers the time horizon in a “true” continuous-time form without requiring tiny time slots and requires relatively lower number of event points. Thus, unit-specific event-based continuous-time model is considered to be more realistic and precise compared with the global event-based continuous-time model.Figure 1
Unit-specific event-based continuous-time representation.However, for production scheduling involving shared resources, the unit-specific event-based continuous-time model is defective. Some shared resources, for instance, utilities, are frequently consumed by different units at the same time. At each event point, total utility utilization levels should be calculated to meet the supply of utilities. But in the unit-specific event-based continuous-time representation, the start and finish times of different units at the same event point are inconsistent, which hinders the utilization of unit-specific event-based model in production scheduling involving shared resource constraints.In involving shared resource constraints, primary limitations of unit-specific event-based continuous-time model are described as follows.


### 2.1. Overstrict Constraint Problem about Utility Resource

JLF [12], S&F [17], and V&S [18] models enforce the start time of tasks consuming the same utility to be equal to Tuts(u,n) if the tasks are active at event n, where Tuts(u,n) is start time at which there is a change in the consumption of utility u at event n. Constraints related to start and finish times of tasks consuming the same utility and start time of utility given in V&S [18] model are as follows:(1)Tutsu,n≥Tsi,n-M1-∑n′∈Nn-Δn≤n′≤n∑n′′∈Nn≤n′′≤n′+Δnwi,n′,n′′,∀u∈U,i∈Iu,n∈N,Tutsu,n≤Tsi,n+M1-∑n′∈Nn-Δn≤n′≤n∑n′′∈Nn≤n′′≤n′+Δnwi,n′,n′′,∀u∈U,i∈Iu,n∈N.In (1), M is a large positive number in big-M constraints. As shown in Figure 2, we assume that tasks ic1, ic2, and ic3 are performed in unit 1, unit 2, and unit 3, respectively, and tasks ic1, ic2, and ic3 all consume the same utility at event point N. Equation (1) can be rewritten as follows:(2)Tutsu,n≥Tsic1,n,(3)Tutsu,n≤Tsic1,n.Figure 2
Gantt chart for motivating example  1.Combining (2) and (3) yields(4)Tutsu,n=Tsic1,n.Similarly,(5)Tutsu,n=Tsic1,n=Tsic2,n=Tsic3,n.The start times ofic1, ic2, and ic3 are enforced to be equal to Tuts(u,n), which results in the fact that the constraints are too restrictive and the scheduling solution will not be optimal.


### 2.2. Multiple Counting Problem

The consumptions of utilities consumed by tasks which continue over several event points are multiple counted in JLF, S&F, and V&S models:(6)∑i∈Iuγiu∑n′∈N∑n′′∈Nwi,n′,n′′+∑i∈Iuδiu∑n′∈N∑n′′∈Nbi,n′,n′′≤Uumax,∀u∈U,n∈N,n-Δn≤n′≤n,n≤n′′≤n′+Δn.As shown in Figure3, we assume that task ic1 is performed in unit 1; tasks ic2 and ic3 are both performed in unit 2; task ic1 continues from events N to N+1; tasks ic2 and ic3 are active at N and N+1, respectively. Three tasks all consume the same utility. At events N and N+1, (6) from V&S model can be rewritten by (7)γic2u·wic2,n,n+δic2u·bic2,n,n+γic1u·wic1,n,n+1+δic1u·bic1,n,n+1≤Uumax,γic3u·wic3,n+1,n+1+δic3u·bic3,n+1,n+1+γic1u·wic1,n,n+1+δic1u·bic1,n,n+1≤Uumax.Figure 3
Gantt chart for motivating example  2.As given in (7), the consumption of utility consumed by task ic1 from event point N to event point N+1 is calculated twice. This repetitive counting leads to an inaccurate calculation about the consumption of utility and results in an unreal shortage of utility.


### 2.3. Problem of Missing Duration Time of Event Points

In JLF, S&F, and V&S models, the consumption constraint about utility is considered but not involving the duration time of event points. As given by (6), the supply of utility is constant no matter how long the duration time of event points is. As shown in Figure 4, task i is active from event points N-1 to N+1 and consumes certain utility. Assume that the duration times of event points N-1, N, and N+1 are 2k hours, k hours, and 3k hours, respectively. The supply of utility at event points N-1, N, and N+1 is obviously different. Consequently, the supply of utility should be considered according to the duration time of event points.Figure 4
Gantt chart for motivating example  3.Due to the heterogeneous locations of the event points for different units, utility constraints are difficult to be involved in unit-specific event-based continuous-time model in a uniform framework. In this work, a hierarchical model framework combining unit-specific event-based continuous-time presentation and fixed slot-based continuous-time presentation is proposed. As shown in Figure5, the scheduling solution without utility consideration presented by unit-specific event-based method is mapped into a uniform time presentation, and the scheduling horizon is divided into several fixed time slots. By this time presentation method, utility constraints can be calculated easily and accurately.Figure 5
Uniform time presentation combining unit-specific event-based and slot-based method.


## 2.1. Overstrict Constraint Problem about Utility Resource

JLF [12], S&F [17], and V&S [18] models enforce the start time of tasks consuming the same utility to be equal to Tuts(u,n) if the tasks are active at event n, where Tuts(u,n) is start time at which there is a change in the consumption of utility u at event n. Constraints related to start and finish times of tasks consuming the same utility and start time of utility given in V&S [18] model are as follows:(1)Tutsu,n≥Tsi,n-M1-∑n′∈Nn-Δn≤n′≤n∑n′′∈Nn≤n′′≤n′+Δnwi,n′,n′′,∀u∈U,i∈Iu,n∈N,Tutsu,n≤Tsi,n+M1-∑n′∈Nn-Δn≤n′≤n∑n′′∈Nn≤n′′≤n′+Δnwi,n′,n′′,∀u∈U,i∈Iu,n∈N.In (1), M is a large positive number in big-M constraints. As shown in Figure 2, we assume that tasks ic1, ic2, and ic3 are performed in unit 1, unit 2, and unit 3, respectively, and tasks ic1, ic2, and ic3 all consume the same utility at event point N. Equation (1) can be rewritten as follows:(2)Tutsu,n≥Tsic1,n,(3)Tutsu,n≤Tsic1,n.Figure 2
Gantt chart for motivating example  1.Combining (2) and (3) yields(4)Tutsu,n=Tsic1,n.Similarly,(5)Tutsu,n=Tsic1,n=Tsic2,n=Tsic3,n.The start times ofic1, ic2, and ic3 are enforced to be equal to Tuts(u,n), which results in the fact that the constraints are too restrictive and the scheduling solution will not be optimal.


## 2.2. Multiple Counting Problem

The consumptions of utilities consumed by tasks which continue over several event points are multiple counted in JLF, S&F, and V&S models:(6)∑i∈Iuγiu∑n′∈N∑n′′∈Nwi,n′,n′′+∑i∈Iuδiu∑n′∈N∑n′′∈Nbi,n′,n′′≤Uumax,∀u∈U,n∈N,n-Δn≤n′≤n,n≤n′′≤n′+Δn.As shown in Figure3, we assume that task ic1 is performed in unit 1; tasks ic2 and ic3 are both performed in unit 2; task ic1 continues from events N to N+1; tasks ic2 and ic3 are active at N and N+1, respectively. Three tasks all consume the same utility. At events N and N+1, (6) from V&S model can be rewritten by (7)γic2u·wic2,n,n+δic2u·bic2,n,n+γic1u·wic1,n,n+1+δic1u·bic1,n,n+1≤Uumax,γic3u·wic3,n+1,n+1+δic3u·bic3,n+1,n+1+γic1u·wic1,n,n+1+δic1u·bic1,n,n+1≤Uumax.Figure 3
Gantt chart for motivating example  2.As given in (7), the consumption of utility consumed by task ic1 from event point N to event point N+1 is calculated twice. This repetitive counting leads to an inaccurate calculation about the consumption of utility and results in an unreal shortage of utility.


## 2.3. Problem of Missing Duration Time of Event Points

In JLF, S&F, and V&S models, the consumption constraint about utility is considered but not involving the duration time of event points. As given by (6), the supply of utility is constant no matter how long the duration time of event points is. As shown in Figure 4, task i is active from event points N-1 to N+1 and consumes certain utility. Assume that the duration times of event points N-1, N, and N+1 are 2k hours, k hours, and 3k hours, respectively. The supply of utility at event points N-1, N, and N+1 is obviously different. Consequently, the supply of utility should be considered according to the duration time of event points.Figure 4
Gantt chart for motivating example  3.Due to the heterogeneous locations of the event points for different units, utility constraints are difficult to be involved in unit-specific event-based continuous-time model in a uniform framework. In this work, a hierarchical model framework combining unit-specific event-based continuous-time presentation and fixed slot-based continuous-time presentation is proposed. As shown in Figure5, the scheduling solution without utility consideration presented by unit-specific event-based method is mapped into a uniform time presentation, and the scheduling horizon is divided into several fixed time slots. By this time presentation method, utility constraints can be calculated easily and accurately.Figure 5
Uniform time presentation combining unit-specific event-based and slot-based method.


## 3. Mathematical Formulation

Framework structure of upper and lower scheduling models proposed in this work is presented in Figure6. In the upper layer, utility constraints are not involved. The objective of this layer is the maximization of profit. The calculated solutions of upper layer are allocated down to lower layer as assignments, including processing amount of materials, start time and finish time of tasks. The objective of lower layer is to complete the scheduled processing amount of materials (including raw materials, intermediate products, and final products), within the scheduled time under utility constraints.Figure 6
Framework structure of upper and lower scheduling models.


### 3.1. Upper Layer Model

Mathematical formulations in upper layer are based on the model proposed by Vooradi and Shaik [18], which allow tasks to continue over several event points, and incorporate the concept of active task. Parameter Δn is introduced to define the maximum number of event points over which a task is allowed to continue.


#### 3.1.1. Allocation Constraint

Consider(8)∑i∈Ij∑n′∈Nn-Δn≤n′≤n∑n′′∈Nn≤n′′≤n′+Δnwi,n′,n′′≤1,∀j∈J,n∈N.In each unit, at most one task can be active at each event point as given by (8). If task i is active from event point n′ to event point n′′, w(i,n′,n′′)=1; otherwise w(i,n′,n′′)=0.


#### 3.1.2. Capacity Constraints

Consider(9)Biminwi,n,n′≤Bmi,n,n′≤Bimax-Diffi,n,n′m·wi,n,n′,∀i∈I,m∈M,n,n′∈N,n≤n′≤n+Δn.The capacity constraints express the fact that if taski starts at event point n and ends at event point n′, the amount of material processed by task i will be limited by the upper and lower bounds on the production capacity. If the task is not active, then these constraints enforce zero batch size. The parameter Diffi,n,n′(m) is a feedback from lower layer in the mth iteration, and the formulations about Diffi,n,n′(m) are given by (10) to (12), where m is iteration number.Ifm=1,(10)Diffi,n,n′m=0,i∈I,n,n′∈N,m∈M.Ifm=2, namely it is the first time that variable diffsm(i,n,n′) is fed back,(11)Diffi,n,n′m=Bimax-Bm-1i,n,n′+diffsm-1i,n,n′,i∈I,n,n′∈N,m∈M,m=2.Ifm>2,(12)Diffi,n,n′m=Diffi,n,n′m-1+diffsm-1i,n,n′,i∈I,n,n′∈N,m∈M,m>2.


#### 3.1.3. Material Balances

Ifn=1, the amount of states (raw material or intermediate) at event point n is equal to the initial value and decreased by any amount consumed at event point n, as given by (13). The amount of final product at event point n=1 is calculated as initial value, as given by (14): (13)STs,n=STs0+∑i∈Iscρisc∑n′∈Nn≤n′≤n+ΔnBmi,n,n′,∀s∈SR,SI,n=1,m∈M,(14)STs,n=STs0,∀s∈SP,n=1.Ifn>1, the amount of a state at current event point is adjusted by any amounts produced by tasks which ends at the previous event and by any amounts consumed by the tasks which starts at the current event, as given by (15)STs,n=STs,n-1+∑i∈Iscρisc·∑n′∈Nn≤n′≤n+ΔnBmi,n,n′,∀s∈SR,n∈N,n>1,m∈M,STs,n=STs,n-1+∑i∈Ispρisp·∑n′∈Nn-1-Δn≤n′≤n-1Bmi,n′,n-1+∑i∈Iscρisc·∑n′′∈Nn≤n′′≤n+ΔnBmi,n,n′′,∀s∈SI,n∈N,n>1,m∈M,STs,n=STs,n-1+∑i∈Ispρisp·∑n′∈Nn-1-Δn≤n′≤n-1Bmi,n′,n-1,∀s∈SP,n∈N,n>1,m∈M.


#### 3.1.4. Duration Constraints

IfΔn=0, the finish time of task i at event point n is equal to the start time plus duration time of the task, which is calculated by a constant term αiw(i,n,n) and a variable term βiB(m)(i,n,n):(16)Tfi,n=Tsi,n+αiwi,n,n+βiBmi,n,n,∀i∈I,n∈N,Δn=0,m∈M.IfΔn>0, the duration constraints are given jointly by (17) and (18). If task i is active from event point n to event point n′, the finish time of task i at event point n′ is equal to the sum of start time of task i at event point n and duration time of the task. Otherwise, (18) is relaxed, and finish time is greater than or equal to the start time:(17)Tfi,n′≥Tsi,n+αiwi,n,n′+βiBmi,n,n′,∀i∈I,n,n′∈N,n≤n′≤n+Δn,Δn>0,m∈M,(18)Tfi,n′≤Tsi,n+αiwi,n,n′+βiBmi,n,n′+Q1-wi,n,n′,∀i∈I,n,n′∈N,n≤n′≤n+Δn,Δn>0,m∈M.


#### 3.1.5. Sequencing Constraints

(1) Same Task in the Same Unit. The constraint for same task in the same unit is given by (19) for Δn=0 and by (19) and (20) for Δn>0. These two constraints enforce the finish time at current event to be equal to the start time at next event when the task is active and not ending at current event n:(19)Tsi,n+1≥Tfi,n,∀i∈I,n∈N,n<N,(20)Tsi,n+1≤Tfi,n+Q1-∑n′∈Nn-Δn<n′≤n∑n′′∈Nn<n′′≤n′+Δnwi,n′,n′′,∀i∈I,n∈N,n<N,Δn>0.(2) Different Tasks in the Same Unit. Consider(21)Tsi,n+1≥Tfi′,n,∀i,i′∈Ij,i≠i′,j∈J,n∈N,n<N.Equation (21) is written for two different tasks performed in the same unit at event points n and n+1, respectively. If task i is active at event point n+1, the start time of task i must be greater than or equal to the finish time of that previous task i′.(3) Different Tasks in Different Units. Consider(22)Tsi,n+1≥Tfi′,n-Q1-∑n′∈Nn-Δn≤n′≤nwi′,n′,n,∀s,i,i′,j,j′,n∈N,n<N,i∈Ij,i′∈Ij′,i≠i′,j≠j′,i∈Isc,i′∈Isp.For different tasks that produce or consume the same state, according to the production recipe, the start time of the consuming task at the next event is enforced to be later than the finish time of the producing task at the current event as given by (22). Otherwise, the constraint is relaxed and the two times are not related.


#### 3.1.6. No-Wait Condition

The constraint is written for different tasksi and i′ that produce or consume the same state consecutively with the “zero-wait” (ZW) condition because of storage restrictions on the intermediate material. Combined with (22), the two constraints enforce that task i in unit j at event point n+1 starts immediately after the end of task i′ in unit j′ at event point n if both tasks are activated:(23)Tsi,n+1≤Tfi′,n+Q2-∑n′∈Nn-Δn≤n′≤nwi′,n′,n-∑n′∈Nn+1≤n′′≤n+1+Δnwi,n+1,n′′,∀s∈Sdfis,Szw,j,j′∈J,n<N,i∈Ij,i′∈Ij′,i≠i′,j≠j′,i∈Isc,i′∈Isp.


#### 3.1.7. Storage Constraints

In this work, infinite storage and dedicated finite intermediate storage policies are considered. Equation (24) expresses the limit on storage capacity. For handling dedicated finite intermediate storage case, (25) is used to avoid real time storage violations without the need for considering storage as a separate task. This constraint needs not to be written at the last event since the produced material is allowed to wait in the same processing unit at the last event:(24)STs,n≤STsmax,∀s∈Sdfis,n∈N,(25)Tfi′,n≥Tsi,n-Q1-∑n′∈Nn-Δn≤n′≤nwi′,n′,n,∀s∈Sdfis,j,j′∈J,n<N,i∈Ij,i′∈Ij′,i≠i′,j≠j′,i∈Isc,i′∈Isp.


#### 3.1.8. Tightening Constraint

Consider(26)∑i∈Ij∑n∈N∑n′∈Nαiwi,n,n′+βiBmi,n,n′≤H,∀j∈J,n≤n′≤n+Δn.The sum of the durations of all tasks suitable in each unit should be less than the scheduling horizon as given by (26).


#### 3.1.9. Bounds on Variables

Consider(27)wi,n,n′=0;Bmi,n,n′=0,∀n,n′∈N,n′<n,m∈M,(28)Tsi,n≤H;Tfi,n≤H,∀i∈I,n∈N.The nonpermissible cases of the three-index binary and continuous variables are eliminated in (27), so that the corresponding variables are fixed to zero. General bounds are added to different continuous variables in (28). The start and finish times of all processing tasks must be within the time horizon.


#### 3.1.10. Objective Function: Maximization of Profit

Consider(29)
Max profit
m
=
∑
s
∈
S
P
P
s
∑
n
=
N
S
T
s
,
n
+
∑
i
∈
I
s
P
ρ
i
s
P
∑
n
′
∈
N
n
-
Δ
n
≤
n
′
≤
n
B
m
i
,
n
′
,
n
.The objective function is the maximization of profit, and the total amount of the final products produced by the end of last event is calculated by (29).


### 3.2. Lower Layer Model

The input of the lower layer model is the scheduled processing amount of materials and the start and finish times of tasks from upper layer.


#### 3.2.1. Resource Constraint

Consider(30)∑i∈Iuγi,u,sl·wi,sl+δiu·bsmi,sl≤Uumax·lengthsl,∀u∈U,i∈Iu,sl∈Slot,m∈M.The utility utilization level at slotsl is the sum of amounts used by tasks that consume the utility at slot sl, which is composed of a constant term γi,u,sl·w(i,sl) and a variable term δiu·bs(m)(i,sl). The utility utilization level is limited by the total supply of utility and duration time of slot sl. In this work, parameter lengthsl is introduced to present the duration time of slot, which makes the supply of utility increase with time rather than constant.


#### 3.2.2. Batch Constraints

Consider(31)∑sl∈Slotbsmi,sl≤Bi,sl′,sl′′m,sl′≤sl≤sl′′,i,sl′,sl′′∈Task,m∈M,(32)diffsmi,sl′,sl′′=Bi,sl′,sl′′m-∑sl∈Slotbsmi,sl,sl′≤sl≤sl′′,i,sl′,sl′′∈Task,m∈M.Batch constraints express a limit that the assignments Bi,sl′,s′′(m) from upper layer scheduling solution should be greater than or equal to the processing amount of task i within corresponding slots. Because the event points in upper lower are divided into several slots, there is a mapping between event points and slots. As shown in Figure 5, for unit 3, the event point N1 starts from Ts(i1,N1) and ends at Tf(i1,N1), and the event point N2 starts from Ts(i1,N2) and ends at Tf(i1,N2), where Tf(i1,N1)=Ts(i1,N2). Event points N1 and N2 are divided into four slots, so the mapping between event and slot is event(n1,n2)=slot(sl1,sl4), also B(i,n1,n2)=b(i,sl1)+b(i,sl2)+b(i,sl3)+b(i,sl4). Here, in the mth iteration, variable Bm(i,n,n′) from upper layer is equal to parameter Bi,sl′,sl′′(m) in (31) in lower layer.


#### 3.2.3. Capacity Constraint

The capacity constraint of batch size should also be involved in the lower layer model. The formulation is similar with that in the upper layer model:(33)Biminlengthslmlength_eventi,sl′,sl′′m≤bsmi,sl≤Bimaxlengthslmlength_eventi,sl′,sl′′m,∀i∈I,sl∈slot,sl′≤sl≤sl′′,i,sl′,sl′′∈Task.


#### 3.2.4. Objective Function

(34)
Min
⁡
m
=
result
m
+
ξ
·
∑
smooth
m
i
,
sl
′
,
sl
′
′
,
i
,
sl
′
,
sl
′
′
∈
Task
,
result
m
=
∑
B
i
,
sl
′
,
sl
′
′
m
-
∑
sl
′
≤
sl
≤
sl
′
′
b
s
m
i
,
sl
,
i
,
sl
′
,
sl
′
′
∈
Task
,
smooth
m
i
,
sl
′
,
sl
′
′
=
∑
b
s
m
i
,
sl
+
1
length
sl
+
1
m
-
b
s
m
i
,
sl
length
sl
m
2
,
i
,
sl
′
,
sl
′
′
∈
Task
,
sl
′
≤
sl
<
sl
′
′
.The objective of lower layer is to complete the scheduled processing amount of materials within the scheduled time which is from upper layer calculated solutions under utility constraints. Thus, the objective function is to minimize the difference between the scheduled processing amount of materials from upper layer and the processing amount in lower layer. The last term in the objective function is a penalty on fluctuation of production rate. Coefficientξ is a penalty term and set to 0.0001.


### 3.3. Iteration between Upper and Lower Layers

The optimal solution of the proposed model is found through iterations between upper layer and lower layer. Firstly, production scheduling problem is solved by upper layer model without utility consideration. The solutions of upper layer are allocated to the lower layer as assignments, which include processing amount of materials in each event pointB(i,n,n′) and the start and finish times of tasks at each event point Ts(i,n) and Tf(i,n). The objective of the lower layer is to complete the scheduled processing amount of materials within the scheduled time which is from upper layer calculated solutions under utility constraints. If the first term of objective function result(m) in lower layer is equal to zero, the scheduling solution from upper layer is feasible under utility limitations. Otherwise, the assignments cannot be completed with utility constraints. The parameter Diffi,n,n′(m) will be calculated and fed back to the upper layer. The flowchart diagram is shown as in Figure 7.Figure 7
Flowchart diagram for iterations.


## 3.1. Upper Layer Model

Mathematical formulations in upper layer are based on the model proposed by Vooradi and Shaik [18], which allow tasks to continue over several event points, and incorporate the concept of active task. Parameter Δn is introduced to define the maximum number of event points over which a task is allowed to continue.


### 3.1.1. Allocation Constraint

Consider(8)∑i∈Ij∑n′∈Nn-Δn≤n′≤n∑n′′∈Nn≤n′′≤n′+Δnwi,n′,n′′≤1,∀j∈J,n∈N.In each unit, at most one task can be active at each event point as given by (8). If task i is active from event point n′ to event point n′′, w(i,n′,n′′)=1; otherwise w(i,n′,n′′)=0.


### 3.1.2. Capacity Constraints

Consider(9)Biminwi,n,n′≤Bmi,n,n′≤Bimax-Diffi,n,n′m·wi,n,n′,∀i∈I,m∈M,n,n′∈N,n≤n′≤n+Δn.The capacity constraints express the fact that if taski starts at event point n and ends at event point n′, the amount of material processed by task i will be limited by the upper and lower bounds on the production capacity. If the task is not active, then these constraints enforce zero batch size. The parameter Diffi,n,n′(m) is a feedback from lower layer in the mth iteration, and the formulations about Diffi,n,n′(m) are given by (10) to (12), where m is iteration number.Ifm=1,(10)Diffi,n,n′m=0,i∈I,n,n′∈N,m∈M.Ifm=2, namely it is the first time that variable diffsm(i,n,n′) is fed back,(11)Diffi,n,n′m=Bimax-Bm-1i,n,n′+diffsm-1i,n,n′,i∈I,n,n′∈N,m∈M,m=2.Ifm>2,(12)Diffi,n,n′m=Diffi,n,n′m-1+diffsm-1i,n,n′,i∈I,n,n′∈N,m∈M,m>2.


### 3.1.3. Material Balances

Ifn=1, the amount of states (raw material or intermediate) at event point n is equal to the initial value and decreased by any amount consumed at event point n, as given by (13). The amount of final product at event point n=1 is calculated as initial value, as given by (14): (13)STs,n=STs0+∑i∈Iscρisc∑n′∈Nn≤n′≤n+ΔnBmi,n,n′,∀s∈SR,SI,n=1,m∈M,(14)STs,n=STs0,∀s∈SP,n=1.Ifn>1, the amount of a state at current event point is adjusted by any amounts produced by tasks which ends at the previous event and by any amounts consumed by the tasks which starts at the current event, as given by (15)STs,n=STs,n-1+∑i∈Iscρisc·∑n′∈Nn≤n′≤n+ΔnBmi,n,n′,∀s∈SR,n∈N,n>1,m∈M,STs,n=STs,n-1+∑i∈Ispρisp·∑n′∈Nn-1-Δn≤n′≤n-1Bmi,n′,n-1+∑i∈Iscρisc·∑n′′∈Nn≤n′′≤n+ΔnBmi,n,n′′,∀s∈SI,n∈N,n>1,m∈M,STs,n=STs,n-1+∑i∈Ispρisp·∑n′∈Nn-1-Δn≤n′≤n-1Bmi,n′,n-1,∀s∈SP,n∈N,n>1,m∈M.


### 3.1.4. Duration Constraints

IfΔn=0, the finish time of task i at event point n is equal to the start time plus duration time of the task, which is calculated by a constant term αiw(i,n,n) and a variable term βiB(m)(i,n,n):(16)Tfi,n=Tsi,n+αiwi,n,n+βiBmi,n,n,∀i∈I,n∈N,Δn=0,m∈M.IfΔn>0, the duration constraints are given jointly by (17) and (18). If task i is active from event point n to event point n′, the finish time of task i at event point n′ is equal to the sum of start time of task i at event point n and duration time of the task. Otherwise, (18) is relaxed, and finish time is greater than or equal to the start time:(17)Tfi,n′≥Tsi,n+αiwi,n,n′+βiBmi,n,n′,∀i∈I,n,n′∈N,n≤n′≤n+Δn,Δn>0,m∈M,(18)Tfi,n′≤Tsi,n+αiwi,n,n′+βiBmi,n,n′+Q1-wi,n,n′,∀i∈I,n,n′∈N,n≤n′≤n+Δn,Δn>0,m∈M.


### 3.1.5. Sequencing Constraints

(1) Same Task in the Same Unit. The constraint for same task in the same unit is given by (19) for Δn=0 and by (19) and (20) for Δn>0. These two constraints enforce the finish time at current event to be equal to the start time at next event when the task is active and not ending at current event n:(19)Tsi,n+1≥Tfi,n,∀i∈I,n∈N,n<N,(20)Tsi,n+1≤Tfi,n+Q1-∑n′∈Nn-Δn<n′≤n∑n′′∈Nn<n′′≤n′+Δnwi,n′,n′′,∀i∈I,n∈N,n<N,Δn>0.(2) Different Tasks in the Same Unit. Consider(21)Tsi,n+1≥Tfi′,n,∀i,i′∈Ij,i≠i′,j∈J,n∈N,n<N.Equation (21) is written for two different tasks performed in the same unit at event points n and n+1, respectively. If task i is active at event point n+1, the start time of task i must be greater than or equal to the finish time of that previous task i′.(3) Different Tasks in Different Units. Consider(22)Tsi,n+1≥Tfi′,n-Q1-∑n′∈Nn-Δn≤n′≤nwi′,n′,n,∀s,i,i′,j,j′,n∈N,n<N,i∈Ij,i′∈Ij′,i≠i′,j≠j′,i∈Isc,i′∈Isp.For different tasks that produce or consume the same state, according to the production recipe, the start time of the consuming task at the next event is enforced to be later than the finish time of the producing task at the current event as given by (22). Otherwise, the constraint is relaxed and the two times are not related.


### 3.1.6. No-Wait Condition

The constraint is written for different tasksi and i′ that produce or consume the same state consecutively with the “zero-wait” (ZW) condition because of storage restrictions on the intermediate material. Combined with (22), the two constraints enforce that task i in unit j at event point n+1 starts immediately after the end of task i′ in unit j′ at event point n if both tasks are activated:(23)Tsi,n+1≤Tfi′,n+Q2-∑n′∈Nn-Δn≤n′≤nwi′,n′,n-∑n′∈Nn+1≤n′′≤n+1+Δnwi,n+1,n′′,∀s∈Sdfis,Szw,j,j′∈J,n<N,i∈Ij,i′∈Ij′,i≠i′,j≠j′,i∈Isc,i′∈Isp.


### 3.1.7. Storage Constraints

In this work, infinite storage and dedicated finite intermediate storage policies are considered. Equation (24) expresses the limit on storage capacity. For handling dedicated finite intermediate storage case, (25) is used to avoid real time storage violations without the need for considering storage as a separate task. This constraint needs not to be written at the last event since the produced material is allowed to wait in the same processing unit at the last event:(24)STs,n≤STsmax,∀s∈Sdfis,n∈N,(25)Tfi′,n≥Tsi,n-Q1-∑n′∈Nn-Δn≤n′≤nwi′,n′,n,∀s∈Sdfis,j,j′∈J,n<N,i∈Ij,i′∈Ij′,i≠i′,j≠j′,i∈Isc,i′∈Isp.


### 3.1.8. Tightening Constraint

Consider(26)∑i∈Ij∑n∈N∑n′∈Nαiwi,n,n′+βiBmi,n,n′≤H,∀j∈J,n≤n′≤n+Δn.The sum of the durations of all tasks suitable in each unit should be less than the scheduling horizon as given by (26).


### 3.1.9. Bounds on Variables

Consider(27)wi,n,n′=0;Bmi,n,n′=0,∀n,n′∈N,n′<n,m∈M,(28)Tsi,n≤H;Tfi,n≤H,∀i∈I,n∈N.The nonpermissible cases of the three-index binary and continuous variables are eliminated in (27), so that the corresponding variables are fixed to zero. General bounds are added to different continuous variables in (28). The start and finish times of all processing tasks must be within the time horizon.


### 3.1.10. Objective Function: Maximization of Profit

Consider(29)
Max profit
m
=
∑
s
∈
S
P
P
s
∑
n
=
N
S
T
s
,
n
+
∑
i
∈
I
s
P
ρ
i
s
P
∑
n
′
∈
N
n
-
Δ
n
≤
n
′
≤
n
B
m
i
,
n
′
,
n
.The objective function is the maximization of profit, and the total amount of the final products produced by the end of last event is calculated by (29).


## 3.1.1. Allocation Constraint

Consider(8)∑i∈Ij∑n′∈Nn-Δn≤n′≤n∑n′′∈Nn≤n′′≤n′+Δnwi,n′,n′′≤1,∀j∈J,n∈N.In each unit, at most one task can be active at each event point as given by (8). If task i is active from event point n′ to event point n′′, w(i,n′,n′′)=1; otherwise w(i,n′,n′′)=0.


## 3.1.2. Capacity Constraints

Consider(9)Biminwi,n,n′≤Bmi,n,n′≤Bimax-Diffi,n,n′m·wi,n,n′,∀i∈I,m∈M,n,n′∈N,n≤n′≤n+Δn.The capacity constraints express the fact that if taski starts at event point n and ends at event point n′, the amount of material processed by task i will be limited by the upper and lower bounds on the production capacity. If the task is not active, then these constraints enforce zero batch size. The parameter Diffi,n,n′(m) is a feedback from lower layer in the mth iteration, and the formulations about Diffi,n,n′(m) are given by (10) to (12), where m is iteration number.Ifm=1,(10)Diffi,n,n′m=0,i∈I,n,n′∈N,m∈M.Ifm=2, namely it is the first time that variable diffsm(i,n,n′) is fed back,(11)Diffi,n,n′m=Bimax-Bm-1i,n,n′+diffsm-1i,n,n′,i∈I,n,n′∈N,m∈M,m=2.Ifm>2,(12)Diffi,n,n′m=Diffi,n,n′m-1+diffsm-1i,n,n′,i∈I,n,n′∈N,m∈M,m>2.


## 3.1.3. Material Balances

Ifn=1, the amount of states (raw material or intermediate) at event point n is equal to the initial value and decreased by any amount consumed at event point n, as given by (13). The amount of final product at event point n=1 is calculated as initial value, as given by (14): (13)STs,n=STs0+∑i∈Iscρisc∑n′∈Nn≤n′≤n+ΔnBmi,n,n′,∀s∈SR,SI,n=1,m∈M,(14)STs,n=STs0,∀s∈SP,n=1.Ifn>1, the amount of a state at current event point is adjusted by any amounts produced by tasks which ends at the previous event and by any amounts consumed by the tasks which starts at the current event, as given by (15)STs,n=STs,n-1+∑i∈Iscρisc·∑n′∈Nn≤n′≤n+ΔnBmi,n,n′,∀s∈SR,n∈N,n>1,m∈M,STs,n=STs,n-1+∑i∈Ispρisp·∑n′∈Nn-1-Δn≤n′≤n-1Bmi,n′,n-1+∑i∈Iscρisc·∑n′′∈Nn≤n′′≤n+ΔnBmi,n,n′′,∀s∈SI,n∈N,n>1,m∈M,STs,n=STs,n-1+∑i∈Ispρisp·∑n′∈Nn-1-Δn≤n′≤n-1Bmi,n′,n-1,∀s∈SP,n∈N,n>1,m∈M.


## 3.1.4. Duration Constraints

IfΔn=0, the finish time of task i at event point n is equal to the start time plus duration time of the task, which is calculated by a constant term αiw(i,n,n) and a variable term βiB(m)(i,n,n):(16)Tfi,n=Tsi,n+αiwi,n,n+βiBmi,n,n,∀i∈I,n∈N,Δn=0,m∈M.IfΔn>0, the duration constraints are given jointly by (17) and (18). If task i is active from event point n to event point n′, the finish time of task i at event point n′ is equal to the sum of start time of task i at event point n and duration time of the task. Otherwise, (18) is relaxed, and finish time is greater than or equal to the start time:(17)Tfi,n′≥Tsi,n+αiwi,n,n′+βiBmi,n,n′,∀i∈I,n,n′∈N,n≤n′≤n+Δn,Δn>0,m∈M,(18)Tfi,n′≤Tsi,n+αiwi,n,n′+βiBmi,n,n′+Q1-wi,n,n′,∀i∈I,n,n′∈N,n≤n′≤n+Δn,Δn>0,m∈M.


## 3.1.5. Sequencing Constraints

(1) Same Task in the Same Unit. The constraint for same task in the same unit is given by (19) for Δn=0 and by (19) and (20) for Δn>0. These two constraints enforce the finish time at current event to be equal to the start time at next event when the task is active and not ending at current event n:(19)Tsi,n+1≥Tfi,n,∀i∈I,n∈N,n<N,(20)Tsi,n+1≤Tfi,n+Q1-∑n′∈Nn-Δn<n′≤n∑n′′∈Nn<n′′≤n′+Δnwi,n′,n′′,∀i∈I,n∈N,n<N,Δn>0.(2) Different Tasks in the Same Unit. Consider(21)Tsi,n+1≥Tfi′,n,∀i,i′∈Ij,i≠i′,j∈J,n∈N,n<N.Equation (21) is written for two different tasks performed in the same unit at event points n and n+1, respectively. If task i is active at event point n+1, the start time of task i must be greater than or equal to the finish time of that previous task i′.(3) Different Tasks in Different Units. Consider(22)Tsi,n+1≥Tfi′,n-Q1-∑n′∈Nn-Δn≤n′≤nwi′,n′,n,∀s,i,i′,j,j′,n∈N,n<N,i∈Ij,i′∈Ij′,i≠i′,j≠j′,i∈Isc,i′∈Isp.For different tasks that produce or consume the same state, according to the production recipe, the start time of the consuming task at the next event is enforced to be later than the finish time of the producing task at the current event as given by (22). Otherwise, the constraint is relaxed and the two times are not related.


## 3.1.6. No-Wait Condition

The constraint is written for different tasksi and i′ that produce or consume the same state consecutively with the “zero-wait” (ZW) condition because of storage restrictions on the intermediate material. Combined with (22), the two constraints enforce that task i in unit j at event point n+1 starts immediately after the end of task i′ in unit j′ at event point n if both tasks are activated:(23)Tsi,n+1≤Tfi′,n+Q2-∑n′∈Nn-Δn≤n′≤nwi′,n′,n-∑n′∈Nn+1≤n′′≤n+1+Δnwi,n+1,n′′,∀s∈Sdfis,Szw,j,j′∈J,n<N,i∈Ij,i′∈Ij′,i≠i′,j≠j′,i∈Isc,i′∈Isp.


## 3.1.7. Storage Constraints

In this work, infinite storage and dedicated finite intermediate storage policies are considered. Equation (24) expresses the limit on storage capacity. For handling dedicated finite intermediate storage case, (25) is used to avoid real time storage violations without the need for considering storage as a separate task. This constraint needs not to be written at the last event since the produced material is allowed to wait in the same processing unit at the last event:(24)STs,n≤STsmax,∀s∈Sdfis,n∈N,(25)Tfi′,n≥Tsi,n-Q1-∑n′∈Nn-Δn≤n′≤nwi′,n′,n,∀s∈Sdfis,j,j′∈J,n<N,i∈Ij,i′∈Ij′,i≠i′,j≠j′,i∈Isc,i′∈Isp.


## 3.1.8. Tightening Constraint

Consider(26)∑i∈Ij∑n∈N∑n′∈Nαiwi,n,n′+βiBmi,n,n′≤H,∀j∈J,n≤n′≤n+Δn.The sum of the durations of all tasks suitable in each unit should be less than the scheduling horizon as given by (26).


## 3.1.9. Bounds on Variables

Consider(27)wi,n,n′=0;Bmi,n,n′=0,∀n,n′∈N,n′<n,m∈M,(28)Tsi,n≤H;Tfi,n≤H,∀i∈I,n∈N.The nonpermissible cases of the three-index binary and continuous variables are eliminated in (27), so that the corresponding variables are fixed to zero. General bounds are added to different continuous variables in (28). The start and finish times of all processing tasks must be within the time horizon.


## 3.1.10. Objective Function: Maximization of Profit

Consider(29)
Max profit
m
=
∑
s
∈
S
P
P
s
∑
n
=
N
S
T
s
,
n
+
∑
i
∈
I
s
P
ρ
i
s
P
∑
n
′
∈
N
n
-
Δ
n
≤
n
′
≤
n
B
m
i
,
n
′
,
n
.The objective function is the maximization of profit, and the total amount of the final products produced by the end of last event is calculated by (29).


## 3.2. Lower Layer Model

The input of the lower layer model is the scheduled processing amount of materials and the start and finish times of tasks from upper layer.


### 3.2.1. Resource Constraint

Consider(30)∑i∈Iuγi,u,sl·wi,sl+δiu·bsmi,sl≤Uumax·lengthsl,∀u∈U,i∈Iu,sl∈Slot,m∈M.The utility utilization level at slotsl is the sum of amounts used by tasks that consume the utility at slot sl, which is composed of a constant term γi,u,sl·w(i,sl) and a variable term δiu·bs(m)(i,sl). The utility utilization level is limited by the total supply of utility and duration time of slot sl. In this work, parameter lengthsl is introduced to present the duration time of slot, which makes the supply of utility increase with time rather than constant.


### 3.2.2. Batch Constraints

Consider(31)∑sl∈Slotbsmi,sl≤Bi,sl′,sl′′m,sl′≤sl≤sl′′,i,sl′,sl′′∈Task,m∈M,(32)diffsmi,sl′,sl′′=Bi,sl′,sl′′m-∑sl∈Slotbsmi,sl,sl′≤sl≤sl′′,i,sl′,sl′′∈Task,m∈M.Batch constraints express a limit that the assignments Bi,sl′,s′′(m) from upper layer scheduling solution should be greater than or equal to the processing amount of task i within corresponding slots. Because the event points in upper lower are divided into several slots, there is a mapping between event points and slots. As shown in Figure 5, for unit 3, the event point N1 starts from Ts(i1,N1) and ends at Tf(i1,N1), and the event point N2 starts from Ts(i1,N2) and ends at Tf(i1,N2), where Tf(i1,N1)=Ts(i1,N2). Event points N1 and N2 are divided into four slots, so the mapping between event and slot is event(n1,n2)=slot(sl1,sl4), also B(i,n1,n2)=b(i,sl1)+b(i,sl2)+b(i,sl3)+b(i,sl4). Here, in the mth iteration, variable Bm(i,n,n′) from upper layer is equal to parameter Bi,sl′,sl′′(m) in (31) in lower layer.


### 3.2.3. Capacity Constraint

The capacity constraint of batch size should also be involved in the lower layer model. The formulation is similar with that in the upper layer model:(33)Biminlengthslmlength_eventi,sl′,sl′′m≤bsmi,sl≤Bimaxlengthslmlength_eventi,sl′,sl′′m,∀i∈I,sl∈slot,sl′≤sl≤sl′′,i,sl′,sl′′∈Task.


### 3.2.4. Objective Function

(34)
Min
⁡
m
=
result
m
+
ξ
·
∑
smooth
m
i
,
sl
′
,
sl
′
′
,
i
,
sl
′
,
sl
′
′
∈
Task
,
result
m
=
∑
B
i
,
sl
′
,
sl
′
′
m
-
∑
sl
′
≤
sl
≤
sl
′
′
b
s
m
i
,
sl
,
i
,
sl
′
,
sl
′
′
∈
Task
,
smooth
m
i
,
sl
′
,
sl
′
′
=
∑
b
s
m
i
,
sl
+
1
length
sl
+
1
m
-
b
s
m
i
,
sl
length
sl
m
2
,
i
,
sl
′
,
sl
′
′
∈
Task
,
sl
′
≤
sl
<
sl
′
′
.The objective of lower layer is to complete the scheduled processing amount of materials within the scheduled time which is from upper layer calculated solutions under utility constraints. Thus, the objective function is to minimize the difference between the scheduled processing amount of materials from upper layer and the processing amount in lower layer. The last term in the objective function is a penalty on fluctuation of production rate. Coefficientξ is a penalty term and set to 0.0001.


## 3.2.1. Resource Constraint

Consider(30)∑i∈Iuγi,u,sl·wi,sl+δiu·bsmi,sl≤Uumax·lengthsl,∀u∈U,i∈Iu,sl∈Slot,m∈M.The utility utilization level at slotsl is the sum of amounts used by tasks that consume the utility at slot sl, which is composed of a constant term γi,u,sl·w(i,sl) and a variable term δiu·bs(m)(i,sl). The utility utilization level is limited by the total supply of utility and duration time of slot sl. In this work, parameter lengthsl is introduced to present the duration time of slot, which makes the supply of utility increase with time rather than constant.


## 3.2.2. Batch Constraints

Consider(31)∑sl∈Slotbsmi,sl≤Bi,sl′,sl′′m,sl′≤sl≤sl′′,i,sl′,sl′′∈Task,m∈M,(32)diffsmi,sl′,sl′′=Bi,sl′,sl′′m-∑sl∈Slotbsmi,sl,sl′≤sl≤sl′′,i,sl′,sl′′∈Task,m∈M.Batch constraints express a limit that the assignments Bi,sl′,s′′(m) from upper layer scheduling solution should be greater than or equal to the processing amount of task i within corresponding slots. Because the event points in upper lower are divided into several slots, there is a mapping between event points and slots. As shown in Figure 5, for unit 3, the event point N1 starts from Ts(i1,N1) and ends at Tf(i1,N1), and the event point N2 starts from Ts(i1,N2) and ends at Tf(i1,N2), where Tf(i1,N1)=Ts(i1,N2). Event points N1 and N2 are divided into four slots, so the mapping between event and slot is event(n1,n2)=slot(sl1,sl4), also B(i,n1,n2)=b(i,sl1)+b(i,sl2)+b(i,sl3)+b(i,sl4). Here, in the mth iteration, variable Bm(i,n,n′) from upper layer is equal to parameter Bi,sl′,sl′′(m) in (31) in lower layer.


## 3.2.3. Capacity Constraint

The capacity constraint of batch size should also be involved in the lower layer model. The formulation is similar with that in the upper layer model:(33)Biminlengthslmlength_eventi,sl′,sl′′m≤bsmi,sl≤Bimaxlengthslmlength_eventi,sl′,sl′′m,∀i∈I,sl∈slot,sl′≤sl≤sl′′,i,sl′,sl′′∈Task.


## 3.2.4. Objective Function

(34)
Min
⁡
m
=
result
m
+
ξ
·
∑
smooth
m
i
,
sl
′
,
sl
′
′
,
i
,
sl
′
,
sl
′
′
∈
Task
,
result
m
=
∑
B
i
,
sl
′
,
sl
′
′
m
-
∑
sl
′
≤
sl
≤
sl
′
′
b
s
m
i
,
sl
,
i
,
sl
′
,
sl
′
′
∈
Task
,
smooth
m
i
,
sl
′
,
sl
′
′
=
∑
b
s
m
i
,
sl
+
1
length
sl
+
1
m
-
b
s
m
i
,
sl
length
sl
m
2
,
i
,
sl
′
,
sl
′
′
∈
Task
,
sl
′
≤
sl
<
sl
′
′
.The objective of lower layer is to complete the scheduled processing amount of materials within the scheduled time which is from upper layer calculated solutions under utility constraints. Thus, the objective function is to minimize the difference between the scheduled processing amount of materials from upper layer and the processing amount in lower layer. The last term in the objective function is a penalty on fluctuation of production rate. Coefficientξ is a penalty term and set to 0.0001.


## 3.3. Iteration between Upper and Lower Layers

The optimal solution of the proposed model is found through iterations between upper layer and lower layer. Firstly, production scheduling problem is solved by upper layer model without utility consideration. The solutions of upper layer are allocated to the lower layer as assignments, which include processing amount of materials in each event pointB(i,n,n′) and the start and finish times of tasks at each event point Ts(i,n) and Tf(i,n). The objective of the lower layer is to complete the scheduled processing amount of materials within the scheduled time which is from upper layer calculated solutions under utility constraints. If the first term of objective function result(m) in lower layer is equal to zero, the scheduling solution from upper layer is feasible under utility limitations. Otherwise, the assignments cannot be completed with utility constraints. The parameter Diffi,n,n′(m) will be calculated and fed back to the upper layer. The flowchart diagram is shown as in Figure 7.Figure 7
Flowchart diagram for iterations.


## 4. Computational Case Studies

In this section, we choose two examples from the existing literatures involving short-term scheduling of batch plants with resource consideration. Both two examples are given by STN representation, solved using Lingo 11.0 with a 2.20 GHz computer. The effectiveness and the advantages of the proposed hierarchical model are discussed in Sections4.1 and 4.2.


### 4.1. Example  1

The first example is introduced firstly by Maravelias and Grossmann and has been studied in several literatures [12, 18, 19]. As shown in Figure 8, this example involves four tasks in three units (reactors) processing seven states. The corresponding data are given in Tables 1, 2, and 3. There are two types of reactors available for the process (types I and II) with different number of corresponding units available: two reactors (RI1 and RI2) of type I and one reactor (RII) of type II. Reactions T1 and T2 require type I reactor, while reactions T3 and T4 require type II reactor. A task which can be performed in different units is considered as multiple, separate tasks, thus leading to six separate tasks (i=1,…,6), each suitable in one unit. Furthermore, reactions T1 and T3 require heat, provided by steam (HS) produced within limited amounts in the plant, while reactions T2 and T4 are exothermic and require cooling water (CW), also available in limited amounts. Due to safety reasons and temperature restrictions, the heat integration of the process is not possible.Table 1
Data of production capability and coefficients of processing time for example 1.
B
m
i
n
B
m
a
x
T1
T2
T3
T4
α
β
α
β
α
β
α
β
R1
40
80
0.5
0.025
0.75
0.0375
—
—
—
—
R2
25
50
0.5
0.04
0.75
0.06
—
—
—
—
R3
40
80
—
—
—
—
0.25
0.0125
0.5
0.025
B
m
i
n
,
B
m
a
x in kg, α in h, and β in h/kg.Table 2
Data of coefficients of utility consumption for example 1.
T1
T2
T3
T4
γ
i
H
S
δ
i
H
S
γ
i
C
W
δ
i
C
W
γ
i
H
S
δ
i
H
S
R1
6
0.25
4
0.3
—
—
—
—
R2
4
0.25
3
0.3
—
—
—
—
R3
—
—
—
—
8
0.2
4
0.5
γ
i
H
S in kg and δiHS in kg per kg of batch.Table 3
State related data for example 1.
F1
F2
I1
I2
I3
P1
P2
S
T
s
m
a
x (kg)
1000
1000
200
100
500
1000
1000
S
T
s
0 (kg)
400
400
0
0
0
0
0
P
r
i
c
e
s ($/kg)
0
0
0
0
0
30
40Figure 8
State-task network representation for example 1.This example includes variable batch sizes, processing time, and utility requirements. The minimum batch size for all tasks is the half of maximum capacities of units. Processing times for all tasks are functions of the batch size. Utility requirements include a fixed term as well as a variable term proportional to the batch size. The utility available is assumed to be 30 kg/min. For the raw materials (F1 and F2) and final products (P1 and P2), unlimited storage is available (say 1000 kg), while for the intermediates (I1, I2, and I3), finite storage is available.In example 1, scheduling horizon is 8 hours and the maximum number of event pointsΔn is set to 1. Solution of this example is compared with example 10b which is studied by V&S [18]. The objective function of example 1 is to maximize profits. The optimal solution of example 1 without utility consideration is 6289.583$, and the optimal solution of V&S model is 5227.778$ under utility consideration. The optimal solution of the proposed model is 5525.000$ under utility consideration with six events and with higher events as well. The optimal production schedule and utility utilization levels of the proposed model and V&S model are, respectively, provided in Figures 9 and 10.Figure 9
Gantt chart and utility utilization levels for proposed model in example 1.Figure 10
Gantt chart and utility utilization levels for V&S model in example 1.The optimal production schedule of the proposed model is illustrated by the Gantt chart of units in Figure9. Levels of utilization of steam and cooling water at the optimal solution are given in the plots in Figure 9. Lines in Gantt charts show each event point at which a task is active. Values below the lines are numbers of tasks, and values above the lines are processing amount of corresponding tasks. As shown in Figure 9, 77.5 kg of P1 and 80 kg of P2 are produced. The objective function of maximizing profits is 5525$. Comparing with the V&S model, 55 kg of P1 and 89.4 kg of P2 are produced, as shown in Figure 10. The objective function of maximizing profits in V&S model is 5227.778$. The reason for the less profit of V&S model is caused by multiple counting problems mentioned in Problem Statement section. V&S model allows tasks to extend over more than one event point. The same task extending over two adjacent event points appears as two separate tasks, each with the same batch size. Also, resource utilization levels are determined at each event point and thus do not reflect the actual utility consumption levels. As shown in Figure 10, task 4 extends over two event points; that is, task 4 starts at event point N1 and ends at event point N2. The consumption of CW for task 4 from event point N1 to event point N2 is counted in event point N1 and counted repeatedly in event point N2, which leads the utilization level of CW during the first interval to reach the maximum 30 kg/min. Moreover, the consumption of CW for task 4 at the last half of second interval should be zero. The shaded area shown in the utility utilization levels for CW in Figure 10 is an unreal statistics. The unreal statistics will lead to an unreal shortage of utility. Thus, the processing amount of optimal schedule calculated by S&V model is limited by the unreal shortage of utility.In the proposed model, event points of different units are mapped into a uniform time presentation, which avoids the overestimation of utility utilization. As shown in Figure9, the consumption of CW in slot 3 is zero.In the V&S model, utility requirements include a fixed term as well as a variable term proportional to the batch size, as given by(35)∑i∈Iuγiu∑n′∈N∑n′′∈Nwi,n′,n′′+∑i∈Iuδiu∑n′∈N∑n′′∈Nbi,n′,n′′≤Uumax,∀u∈U,n∈N,n-Δn≤n′≤n,n≤n′′≤n′+Δn.The utility requirements in the proposed model also consist of a fixed term as well as a variable term. According to the mapping relationship betweenevent(n,n′) and slot(sl,sl′), there is a relationship between γiu, δiu in (35) and γi,u,sl, δiu in (30):(36)γi,u,sl=γiusl′′-sl′+1,u∈U,i∈Iu,sl′≤sl≤sl′′,i,sl′,sl′′∈Task,δiu=δiu,u∈U,i∈Iu,sl′≤sl≤sl′′,i,sl′,sl′′∈Task.The trajectories for searching the optimal solution of upper layer and lower layer are shown in Figure11 and the data are given in Table 4. Firstly, upper layer searches the optimal solution without involving resource constraints and then puts solutions into lower layer model. The iterations between upper and lower layers terminate when no further improvement for the objective function can be achieved. Through eight iterations, the optimal solution 5525.000$ is found.Table 4
Optimization solution of upper and lower layers in example 1.
Iteration number
Objective of upper layer$
Solution of lower layer
Objective
Result
Smooth
1
6289.583
23.92516
23.783787
1413.785
2
5960.000
4.5
4.5
0
3
5960.000
12
12
0
4
5960.000
4.5
4.5
0
5
5915.000
10.5
10.5
0
6
5600.000
3.166667
3.166667
0
7
5600.000
7.5
7.5
0
8
5525.000
0.3900007
E
-
07
0.3900007
E
-
07
0Figure 11
Trajectories for searching the optimal solution in example 1.


### 4.2. Example  2

Example  2 is a standard case for short-term scheduling of multipurpose batch plants and has been studied frequently by many authors [17, 18]. Two different products are produced through five processing stages: heating, reactions 1, 2, and 3, and separation, as shown in the STN representation of the plant flow sheet in Figure 12. Since each of the reaction tasks can take place in two different reactors, each reaction is represented by two separate tasks. In order to demonstrate the effectiveness of proposed model, we suppose that all reactions 1, 2, and 3 require a certain utility. The utility available is assumed to be 200 kg/min. The relevant data are shown in Table 5. The initial inventory level for all intermediates is assumed to be zero and unlimited storage capacity is assumed for all states. The prices of products 1 and 2 are $10/mu.Table 5
Data for example 2.
Task (i)
Unit (j)
α
i
β
i
γ
i
δ
i
B
i
m
i
n
B
i
m
a
x
Heating
(i=1)
Heater
0.667
0.00667
—
—
0
100
Reaction 1
(i=2)
Reactor 1
1.334
0.02664
4
3
0
50
(i=3)
Reactor 2
1.334
0.01665
6
5
0
80
Reaction 2
(i=4)
Reactor 1
1.334
0.02664
6
3
0
50
(i=5)
Reactor 2
1.334
0.01665
4
2
0
80
Reaction 3
(i=6)
Reactor 1
0.667
0.01332
2
1
0
50
(i=7)
Reactor 2
0.667
0.008325
6
4
0
80
Separation
(i=8)
Separator
1.3342
0.00666
—
—
0
200
B
m
i
n
,
B
m
a
x in mu, α in h, β in h/mu, γiHS in kg, and δiHS in kg per mu of batch.Figure 12
State-task network representation for example  2.In this example, scheduling horizon is 10 hours and the maximum number of event pointsΔn is set to 1. Solution of this example is compared with example  2b studied by V&S [18]. The optimal solution of example  2 without utility consideration is 1962.695$, and the optimal solution of V&S model is 1528.208$ under utility constraints. The optimal solution of the proposed model in this work is 1928.526$ under utility constraints with six events and with higher events as well. The optimal production schedule and utility utilization levels of the proposed model and V&S model are provided in Figures 13 and 14.Figure 13
Gantt chart and utility utilization levels for proposed model in example  2.Figure 14
Gantt chart and utility utilization levels for V&S model in example  2.As shown in Figure13, 78.10 mu of P1 and 114.75 mu of P2 are produced. The objective function of maximizing profits is 1928.526$. Comparing with the V&S model, 61.72 mu of P1 and 91.08 mu of P2 are produced, as shown in Figure 14. The objective function of maximizing profits in the V&S model is 1528.208$. The less profit of V&S model in example  2 is caused by overstrict constraint problems and multiple counting problems mentioned in Problem Statement section. The two discrepancies of V&S model both appear in this case. As shown in the Gantt chart of Figure 14, one discrepancy is derived from forcing the start time of task 6 and task 7 at event point N5 to be equal, which leads to a large batch size processed in event point N5 and results in a resource shortage. Compared with proposed model in this work, the start times of task 6 and task 7 at event point N5 are not forced to be equal, as shown in the Gantt chart of Figure 13. The other discrepancy is double counting of utility utilization. As shown in the Gantt chart of Figure 14, task 5 continues over two event points. It starts at event point N3 and ends at event points N4. The utility utilization level of task 5 is counted at event point N3 and counted repeatedly at event point N4. This miscounting of utility utilization results in the fact that other tasks active at event N3 and N4 cannot get enough resource, which may also result in the reduction of processing amount and further lead to less profit.The trajectories for searching the optimal solution of upper layer and lower layer are shown in Figure15 and the data are given in Table 6. Firstly, upper layer searches the optimal solution without considering resource constraints and then puts the solutions into lower layer model. Through six iterations, the optimal solution 1928.526$ is found.Table 6
Optimization solution of upper and lower layers in example 2.
Iteration number
Objective of upper layer$
Solution of lower layer
Objective
Result
Smooth
1
1962.695
5.757539
5.757539
0
2
1938.856
1.705364
1.705364
0
3
1931.919
34.15167
34.15154
1.3498342
4
1931.856
0.5962500
0.5962500
0
5
1929.287
0.1764063
0.1764063
0
6
1928.526
0.4399189
E
-
07
0.4399189
E
-
07
0Figure 15
Trajectories for searching the optimal solution in example  2.


## 4.1. Example  1

The first example is introduced firstly by Maravelias and Grossmann and has been studied in several literatures [12, 18, 19]. As shown in Figure 8, this example involves four tasks in three units (reactors) processing seven states. The corresponding data are given in Tables 1, 2, and 3. There are two types of reactors available for the process (types I and II) with different number of corresponding units available: two reactors (RI1 and RI2) of type I and one reactor (RII) of type II. Reactions T1 and T2 require type I reactor, while reactions T3 and T4 require type II reactor. A task which can be performed in different units is considered as multiple, separate tasks, thus leading to six separate tasks (i=1,…,6), each suitable in one unit. Furthermore, reactions T1 and T3 require heat, provided by steam (HS) produced within limited amounts in the plant, while reactions T2 and T4 are exothermic and require cooling water (CW), also available in limited amounts. Due to safety reasons and temperature restrictions, the heat integration of the process is not possible.Table 1
Data of production capability and coefficients of processing time for example 1.
B
m
i
n
B
m
a
x
T1
T2
T3
T4
α
β
α
β
α
β
α
β
R1
40
80
0.5
0.025
0.75
0.0375
—
—
—
—
R2
25
50
0.5
0.04
0.75
0.06
—
—
—
—
R3
40
80
—
—
—
—
0.25
0.0125
0.5
0.025
B
m
i
n
,
B
m
a
x in kg, α in h, and β in h/kg.Table 2
Data of coefficients of utility consumption for example 1.
T1
T2
T3
T4
γ
i
H
S
δ
i
H
S
γ
i
C
W
δ
i
C
W
γ
i
H
S
δ
i
H
S
R1
6
0.25
4
0.3
—
—
—
—
R2
4
0.25
3
0.3
—
—
—
—
R3
—
—
—
—
8
0.2
4
0.5
γ
i
H
S in kg and δiHS in kg per kg of batch.Table 3
State related data for example 1.
F1
F2
I1
I2
I3
P1
P2
S
T
s
m
a
x (kg)
1000
1000
200
100
500
1000
1000
S
T
s
0 (kg)
400
400
0
0
0
0
0
P
r
i
c
e
s ($/kg)
0
0
0
0
0
30
40Figure 8
State-task network representation for example 1.This example includes variable batch sizes, processing time, and utility requirements. The minimum batch size for all tasks is the half of maximum capacities of units. Processing times for all tasks are functions of the batch size. Utility requirements include a fixed term as well as a variable term proportional to the batch size. The utility available is assumed to be 30 kg/min. For the raw materials (F1 and F2) and final products (P1 and P2), unlimited storage is available (say 1000 kg), while for the intermediates (I1, I2, and I3), finite storage is available.In example 1, scheduling horizon is 8 hours and the maximum number of event pointsΔn is set to 1. Solution of this example is compared with example 10b which is studied by V&S [18]. The objective function of example 1 is to maximize profits. The optimal solution of example 1 without utility consideration is 6289.583$, and the optimal solution of V&S model is 5227.778$ under utility consideration. The optimal solution of the proposed model is 5525.000$ under utility consideration with six events and with higher events as well. The optimal production schedule and utility utilization levels of the proposed model and V&S model are, respectively, provided in Figures 9 and 10.Figure 9
Gantt chart and utility utilization levels for proposed model in example 1.Figure 10
Gantt chart and utility utilization levels for V&S model in example 1.The optimal production schedule of the proposed model is illustrated by the Gantt chart of units in Figure9. Levels of utilization of steam and cooling water at the optimal solution are given in the plots in Figure 9. Lines in Gantt charts show each event point at which a task is active. Values below the lines are numbers of tasks, and values above the lines are processing amount of corresponding tasks. As shown in Figure 9, 77.5 kg of P1 and 80 kg of P2 are produced. The objective function of maximizing profits is 5525$. Comparing with the V&S model, 55 kg of P1 and 89.4 kg of P2 are produced, as shown in Figure 10. The objective function of maximizing profits in V&S model is 5227.778$. The reason for the less profit of V&S model is caused by multiple counting problems mentioned in Problem Statement section. V&S model allows tasks to extend over more than one event point. The same task extending over two adjacent event points appears as two separate tasks, each with the same batch size. Also, resource utilization levels are determined at each event point and thus do not reflect the actual utility consumption levels. As shown in Figure 10, task 4 extends over two event points; that is, task 4 starts at event point N1 and ends at event point N2. The consumption of CW for task 4 from event point N1 to event point N2 is counted in event point N1 and counted repeatedly in event point N2, which leads the utilization level of CW during the first interval to reach the maximum 30 kg/min. Moreover, the consumption of CW for task 4 at the last half of second interval should be zero. The shaded area shown in the utility utilization levels for CW in Figure 10 is an unreal statistics. The unreal statistics will lead to an unreal shortage of utility. Thus, the processing amount of optimal schedule calculated by S&V model is limited by the unreal shortage of utility.In the proposed model, event points of different units are mapped into a uniform time presentation, which avoids the overestimation of utility utilization. As shown in Figure9, the consumption of CW in slot 3 is zero.In the V&S model, utility requirements include a fixed term as well as a variable term proportional to the batch size, as given by(35)∑i∈Iuγiu∑n′∈N∑n′′∈Nwi,n′,n′′+∑i∈Iuδiu∑n′∈N∑n′′∈Nbi,n′,n′′≤Uumax,∀u∈U,n∈N,n-Δn≤n′≤n,n≤n′′≤n′+Δn.The utility requirements in the proposed model also consist of a fixed term as well as a variable term. According to the mapping relationship betweenevent(n,n′) and slot(sl,sl′), there is a relationship between γiu, δiu in (35) and γi,u,sl, δiu in (30):(36)γi,u,sl=γiusl′′-sl′+1,u∈U,i∈Iu,sl′≤sl≤sl′′,i,sl′,sl′′∈Task,δiu=δiu,u∈U,i∈Iu,sl′≤sl≤sl′′,i,sl′,sl′′∈Task.The trajectories for searching the optimal solution of upper layer and lower layer are shown in Figure11 and the data are given in Table 4. Firstly, upper layer searches the optimal solution without involving resource constraints and then puts solutions into lower layer model. The iterations between upper and lower layers terminate when no further improvement for the objective function can be achieved. Through eight iterations, the optimal solution 5525.000$ is found.Table 4
Optimization solution of upper and lower layers in example 1.
Iteration number
Objective of upper layer$
Solution of lower layer
Objective
Result
Smooth
1
6289.583
23.92516
23.783787
1413.785
2
5960.000
4.5
4.5
0
3
5960.000
12
12
0
4
5960.000
4.5
4.5
0
5
5915.000
10.5
10.5
0
6
5600.000
3.166667
3.166667
0
7
5600.000
7.5
7.5
0
8
5525.000
0.3900007
E
-
07
0.3900007
E
-
07
0Figure 11
Trajectories for searching the optimal solution in example 1.


## 4.2. Example  2

Example  2 is a standard case for short-term scheduling of multipurpose batch plants and has been studied frequently by many authors [17, 18]. Two different products are produced through five processing stages: heating, reactions 1, 2, and 3, and separation, as shown in the STN representation of the plant flow sheet in Figure 12. Since each of the reaction tasks can take place in two different reactors, each reaction is represented by two separate tasks. In order to demonstrate the effectiveness of proposed model, we suppose that all reactions 1, 2, and 3 require a certain utility. The utility available is assumed to be 200 kg/min. The relevant data are shown in Table 5. The initial inventory level for all intermediates is assumed to be zero and unlimited storage capacity is assumed for all states. The prices of products 1 and 2 are $10/mu.Table 5
Data for example 2.
Task (i)
Unit (j)
α
i
β
i
γ
i
δ
i
B
i
m
i
n
B
i
m
a
x
Heating
(i=1)
Heater
0.667
0.00667
—
—
0
100
Reaction 1
(i=2)
Reactor 1
1.334
0.02664
4
3
0
50
(i=3)
Reactor 2
1.334
0.01665
6
5
0
80
Reaction 2
(i=4)
Reactor 1
1.334
0.02664
6
3
0
50
(i=5)
Reactor 2
1.334
0.01665
4
2
0
80
Reaction 3
(i=6)
Reactor 1
0.667
0.01332
2
1
0
50
(i=7)
Reactor 2
0.667
0.008325
6
4
0
80
Separation
(i=8)
Separator
1.3342
0.00666
—
—
0
200
B
m
i
n
,
B
m
a
x in mu, α in h, β in h/mu, γiHS in kg, and δiHS in kg per mu of batch.Figure 12
State-task network representation for example  2.In this example, scheduling horizon is 10 hours and the maximum number of event pointsΔn is set to 1. Solution of this example is compared with example  2b studied by V&S [18]. The optimal solution of example  2 without utility consideration is 1962.695$, and the optimal solution of V&S model is 1528.208$ under utility constraints. The optimal solution of the proposed model in this work is 1928.526$ under utility constraints with six events and with higher events as well. The optimal production schedule and utility utilization levels of the proposed model and V&S model are provided in Figures 13 and 14.Figure 13
Gantt chart and utility utilization levels for proposed model in example  2.Figure 14
Gantt chart and utility utilization levels for V&S model in example  2.As shown in Figure13, 78.10 mu of P1 and 114.75 mu of P2 are produced. The objective function of maximizing profits is 1928.526$. Comparing with the V&S model, 61.72 mu of P1 and 91.08 mu of P2 are produced, as shown in Figure 14. The objective function of maximizing profits in the V&S model is 1528.208$. The less profit of V&S model in example  2 is caused by overstrict constraint problems and multiple counting problems mentioned in Problem Statement section. The two discrepancies of V&S model both appear in this case. As shown in the Gantt chart of Figure 14, one discrepancy is derived from forcing the start time of task 6 and task 7 at event point N5 to be equal, which leads to a large batch size processed in event point N5 and results in a resource shortage. Compared with proposed model in this work, the start times of task 6 and task 7 at event point N5 are not forced to be equal, as shown in the Gantt chart of Figure 13. The other discrepancy is double counting of utility utilization. As shown in the Gantt chart of Figure 14, task 5 continues over two event points. It starts at event point N3 and ends at event points N4. The utility utilization level of task 5 is counted at event point N3 and counted repeatedly at event point N4. This miscounting of utility utilization results in the fact that other tasks active at event N3 and N4 cannot get enough resource, which may also result in the reduction of processing amount and further lead to less profit.The trajectories for searching the optimal solution of upper layer and lower layer are shown in Figure15 and the data are given in Table 6. Firstly, upper layer searches the optimal solution without considering resource constraints and then puts the solutions into lower layer model. Through six iterations, the optimal solution 1928.526$ is found.Table 6
Optimization solution of upper and lower layers in example 2.
Iteration number
Objective of upper layer$
Solution of lower layer
Objective
Result
Smooth
1
1962.695
5.757539
5.757539
0
2
1938.856
1.705364
1.705364
0
3
1931.919
34.15167
34.15154
1.3498342
4
1931.856
0.5962500
0.5962500
0
5
1929.287
0.1764063
0.1764063
0
6
1928.526
0.4399189
E
-
07
0.4399189
E
-
07
0Figure 15
Trajectories for searching the optimal solution in example  2.


## 5. Conclusions

In this work, some limitations of continuous-time unit-specific event-based model with utility constraints are stated, including the following: (a) overstrict constraint problem about utility resource, (b) multiple counting problems, and (c) missing of duration time of event points. To solve these problems, a framework with hierarchical structure is proposed. In upper layer, a unit-specific event-based model is used, and a slot-based model is introduced in lower layer to jointly address the short-term production scheduling problem of batch plants under utility consideration. The effectiveness and advantages of proposed model are illustrated by two benchmark examples in the existing literatures.



---

*Source: 906280-2015-09-28.xml*