Добавил:
Sekretar
kiopkiopkiop18@yandex.ru
t.me/Prokururor I Вовсе не секретарь, но почту проверяю
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Ординатура / Хирургия / Библиотека им академика М.И. Перельмана / Книга_5395_Библиотеки_им_академика_М_И_Перельмана
.pdf
Overview of Scheduling Methods for Pharmaceutical Production 357
https://t.me/medicina_free
we are given a set of batches i ∈ I, with processing time τi, which are needed to be
scheduled on a single unit. If we do not specify additional limitations related to task
due time, the time required to finish all the batches can simply be calculated as
%
iτi
However, the problem gets complicated when the batches need to be scheduled,
respecting the release time (ρ
can be sequence-dependent changeover times (σ
) and due time (εi) of each batch. Furthermore, there
i
) and costs (γ
ii
CH
) that also need
ii
to be considered.
2.1 Discrete-Time Grid Model
Index n ∈ N ={0, 1, 2, ..., N} is used to denote the time points between the
minimum release time and the maximum due time. The scheduling horizon is
divided into |N|−1 time periods of equal length δ, where period n runs between
time points n − 1 and n. Generally, the greatest common factor among all timerelated data is chosen as the length of the time periods (δ); however, small δ might
lead to large size problems which can be computationally intractable. In such cases,
a coarser discretization might be necessary, and to ensure the feasibility of the
solution, all the time-related parameters (i.e., processing times, due, release, and
changeover times) should be represented on the discrete-time grid in the following
manner:
.
τi=τi/δ, ρi=ρi/δ, εi=εi/δ, σ
A binary variable X
=σ
ii
is introduced to represent the allocation of task i at time
in
/δ
ii
point n. Each batch should be executed once.
Xin= 1,i (1)
n
Now the unit can process only one task at any point in time, and no other tasks
can be allocated to that unit until and unless the previous task is finished. This nooverlap restriction is enforced as follows:
i
n
n
≥n−τi+1
X
≤ 1,n (2)
in
Release and due time constraints are enforced via fixing the binary variables that
are outside the available window to zero:
X
= 0,i,n<ρi,n > εi− τ
in
i
(3)
The start or end time of a batch can be calculated by multiplying the time points
with the corresponding binary variables. Using this idea, we can write the constraint
to calculate makespan as follows:

358 S. Misra and C. T. Maravelias
https://t.me/medicina_free
MS ≥
In a similar way, we can also calculate the earliness (
or lateness of a batch (
%
τ
n +
(
n
τ
n +
(
n
− εi) and write the following objective
X
)
i
in
,i (4)
X
)
i
in
%
εi−
n
(
n +
τ
X
)
i
in
functions:
min MS (5)
)
min
ω
i
i
min
ω
i
i
To denote tardiness, a variable L
−
ε
i
∈ R+is defined that captures the nonnegative
i
n +
(
n
τ
n +
(
n
X
)
i
τ
X
)
i
in
(6)
− ε
in
i
(7)
tardiness for each batch, as shown in Eq. (8). The objective function to minimize
total tardiness is described in Eq. (9).
≥
L
i
τ
n +
(
n
− εi,i (8)
X
)
i
in
min
ωiL
i
i
(9)
2.2 Changeover Time
If changeovers do not incur any additional costs, then changeover times can be
enforced using binary variable X
to the abovementioned model to represent the changeover times are described in
Eqs. (10) and (11).
n−τ
i
i=i
n=n−τ
−σ
i
. The additional constraints that can be added
in
X
≤ M
1 −X
(
in
+1
ii
i
,i,n (10)
)
in
Equation (10) ensures sufficient separation between batches by enforcing that if
a batch i starts at a time point n, then no other batch i
ranging from n −
(M
)is
i
τ
− σ
i
+ 1ton − τ
ii
M
=
i
can start between time points
. A valid value for the big-M parameter
i
σ
,i (11)
ii
i=i

Overview of Scheduling Methods for Pharmaceutical Production 359
https://t.me/medicina_free
2.3 Changeover Cost
Though Eqs. (10) and (11) suffice to incorporate the effects of changeover times
in the model, to account for changeover costs, new binary variables need to be
introduced. Though multiple approaches are available, we hereby describe two
methods that require the introduction of the following two binary variables:
•
Xin= 1 if during time period n, the unit is set up to carry out batch i.
• Z
costs; however, no changeover time is needed to be accounted for. Note that the
variable
whether unit setup supports processing of batch i. The variable
value 1, when the batch i is executed in the unit and also during idle time. The set of
constraints required to activate Z
the changeover costs, is given in Eqs. (12)–(16).
= 1 if the unit setup switches from batch i to batch iat time point n.
iin
The first method is only applicable when we want to calculate the changeover
Xindoes not only indicate the processing of batch i but rather denotes
Xincan assume
variables, which are then required to calculate
iin
Xin= 1,n (12)
i
n−1
n
=n−τ
X
= Xin,i,n (13)
in
i
Z
≤ X
iin
i=i
Z
≤ X
iin
i=i
≥ X
Z
iin
i,n−1
+ X
,i,n (14)
i,n−1
,i
in
− 1,i,i= i,n (16)
in
,n (15)
To incorporate both changeover costs and time, we adopt the second method,
which introduces the following constraint to replace Eqs. (12) and (14)–(16):
Xin= X
i,n−1
+
i=i
Z
ii,n−
−
σ
ii
i=i
Z
,i,n (17)
iin
The changeover cost minimization objective is
min
iin
CH
γ
Z
iin
ii
(18)

360 S. Misra and C. T. Maravelias
https://t.me/medicina_free
3 Single Stage Scheduling
In this section, we discuss problems in the single stage (parallel unit) environment
and demonstrate how the model discussed in the previous section can be extended to
incorporate the characteristics of single stage environment. In single stage problem,
one task can be carried out in multiple units with different capacities; hence, the
problem of batching also arises. However, at the onset, we assume that the batching
decisions have already been taken. So we aim to schedule a set of batches (I)ona
set of units (J). Each batch i ∈ I has its own release (ρ
carried out only once in the horizon on exactly one compatible unit (j ∈ J
set of batches that can be processed in unit j is denoted by I
P
batch i in unit j is γ
denoted by τ
iij
, and the processing time is τij. The changeover time/costs are
ij
CH
/γ
.
j
ii
) and due (εi) time and is
i
∈ J). The
i
. The processing cost of
j
3.1 Discrete-Time Grid Model
We use a similar method as described in the previous section to calculate the
time points used in discrete-time grid. All time-related parameters are converted
as follows:
τij=)τij/δ*, ρi=ρi/δ, εi=εi/δ, σ
iij
=)σ
iij
*
/δ
We introduce the binary variable X
that assumes value 1 if batch i starts on unit
ijn
j at time point n. As mentioned earlier, each batch is executed only once, which is
enforced as follows:
X
= 1,i (19)
ij n
j,n
Note that
%
is equivalent to the variable Xin, which is used in the single-unit
jXijn
model to describe that the batch i starts at time point n in some unit. Similarly, the
no-overlap restriction can also be expressed in a very similar manner in the parallel
unit environment as follows:
i
n
n
≥n−τij+1
X
≤ 1,j,n (20)
ij n
The release and due time constraints are enforced by fixing the variables outside
the available windows to zero:
= 0, i,j,n< ρi,n > εi− τ
X
ij n
ij
(21)

Overview of Scheduling Methods for Pharmaceutical Production 361
https://t.me/medicina_free
The makespan can be calculated as
MS ≥
j,n
n +
X
τ
ij
,i (22)
ij n
Next, we present the objective functions for the minimization of makespan (Eq.
23), weighted earliness (Eq. 24), lateness (Eq. 25), and tardiness (Eqs. 26 and 27).
min MS (23)
min
min
L
i
≥
ij
n +
τ
j,n
ij
n +
X
τ
ij
ij n
X
− εi,i (26)
ij n
ω
εi−
i
i
ω
i
i
j,n
n +
j,n
τ
X
− ε
ij n
(24)
i
(25)
A nonnegative variable L
min
is used to indicate the tardiness of each batch in Eqs.
i
ωiL
i
i
(27)
(26) and (27).
3.2 Changeover Time and Costs
The ideasto model changeover times presentedin the earliersection can beextended
for single stage scheduling models using binary variable X
i=i
n−τ
ij
n=n−τ
ij−σiij
+1
X
ijn
≤ M
ij
1 −X
:
ijn
, i,j,n (28)
ij n
To incorporate both changeover times and costs, we introduce the following two
binary variables:
•
X
= 1 if during time period n, unit j is set up to carry out batch i.
ij n
• Z
= 1 if there is a changeover in unit j set up from batch i to batch iat time
iijn
point n.
Batch i can only be carried out if the unit j is set up to carry out that batch:
n−1
n
≥n−τ
X
≤ X
, i,j,n (29)
ijn
ij
ij n

362 S. Misra and C. T. Maravelias
https://t.me/medicina_free
The transition between unit setups, through the activation of the transition binary
variable Z
, is described in Eq. (30), while the total cost minimization objective
iijn
function is given in Eq. (31), where the first term represents the processing cost and
the second term denotes the changeover cost.
X
ij n
= X
ij,n−1
+
i=i
Z
iij,n−
σ
−
−1
ii
i=i
Z
iij,n−1
, i,j,n (30)
min
P
γ
ij
ij
+
X
ij n
n
iij
CH
γ
j
ii
Z
iijn
n
(31)
3.3 Batching Decisions
If the units have different capacities (βj), then the number of batches required to
meet demand becomes a decision variable; that is, batching, assignment, and timing
decisions have to be made simultaneously. As the number and size of the batches
need to be calculated, we use index i to denote orders. A set of orders I,forwhich
demand (ξ
are required to fulfill the specified order demands, and these batches can be carried
out in compatible units (j ∈ J
certain order can be calculated as
To model batches with variable sizes, Eqs. (33) and (34) can be used replacing
Eq. (32).
) is specified, need to be carried out in a set of units J. Multiple batches
i
∈ J). The necessary number of batches to fulfill
i
j∈Ji,n
βjX
≥ ξi,i (32)
ij n
B
≥ ξi,i (33)
ij n
j∈Ji,n
MIN
β
ij
3.4 Shared Resources
In the above discussion, we have assumed only one type of shared resources, and
that is the unit in which a batch is processed. However, in reality, there might be
a number of resources required to carry out a batch (e.g., labor, heating/cooling
medium, electricity, etc.). These resources can be classified into two categories:
renewable and nonrenewable resources. For example, one personnel needs to be
engaged at the starting of each batch, and once the batch is completed, that
personnel gets freed. For example, in case renewable resources (e.g. man power),
X
≤ B
ij n
ij n
≤ β
MAX
ij
X
, i,j,n (34)
ij n

Overview of Scheduling Methods for Pharmaceutical Production 363
https://t.me/medicina_free
one personnel needs to be engaged at the starting of each batch and once the batch
is completed that personnel gets freed. On the contrary, the non-renewable resources
(e.g., coloring agent) get consumed during the processing of a batch. The resources
can further be classified based on their utilization pattern. For example, engagement
of some resources only depends on the execution of batch (e.g., a unit required to
process a batch), whereas consumption of some resources varies with the batch sizes
(e.g., cooling water). Based on these ideas, we classify resources in three types:
(1) Type A: resource engagement/consumption only depends on the execution of
batch; (2) Type B: resource engagement/consumption depends on the size of the
batch; and (3) Type C: both batch execution and size decisions affect the resource
engagement/consumption.
If ϕ
denotes the fixed consumption ofresource m during the processing of batch
im
i and ψ
(R
im
B
denotes the batch size. It is to note that for Type A resources, ψim= 0 and for
i
Type B resources, ϕ
represents the variable consumption, then the total resource consumption
im
) during the execution of batch i can be calculated as Rim= ϕim+ ψimBi, where
= 0. Both parameters will have nonzero values for Type C
im
resources. To simplify, we ignore changeovers in the following model.
The quantity of resource (m) engaged/freed at the starting/end of a batch i is
o
captured through two nonnegative continuous variables, R
I
imn
/R
imn
, calculated as
follows:
= ϕ
im
X
ij n
j
I
R
imn
+ ψ
im
B
, i,m,n (35)
ij n
j
= ϕ
im
j
X
ij,n−τ
ij
o
R
imn
+ ψ
im
j
B
, i,m,n (36)
ij,n−τ
ij
The total consumption of resource m, due to the execution of all tasks during
time period n, can be calculated and constrained by the maximum availability of
that resource (χ
R
mn
If batch sizes are fixed, then ψ
%
ψ
imβi
imβi
R
mn
j
):
= R
ψ
= R
X
ij,n−τ
m,n−1
)asfollows:
m
T
im
R
i
I
im,n−1
X
j
+
m,n−1
, which leads to the following equation (with ψ
ij
+ ψ
−
im%jBijn
ij,n−1
− ψ
O
R
im,n−1
i
= ψimβ
T
im
≤ χm,m,n (37)
i%jXijn
X
ij,n−τij−1
j
and ψ
%
B
im
T
im
j
ij,n−τ
ij
= ϕim+
≤ χm,m,n
(38)
Alternative to Eqs. (35)–(37), we can write the resource consumption constraint
based on the no-overlap constraints described in Eq. (20). The consumption of
resources m at time point n can be expressed as
=

364 S. Misra and C. T. Maravelias
https://t.me/medicina_free
ij
n−1
n
≥n−τ
It should be noted that for unary resources (e.g., units), ϕ
ϕ
im
ij
X
ij n
j
+ ψ
im
B
≤ χm,m,n (39)
ij n
j
= 1 and ψim= 0.
im
Setting these values in Eq. (39), we get Eq. (20), which essentially indicates that
maximum one unit can be engaged during the execution of a batch.
So the discrete-time model to simultaneously compute assignment, sequencing,
batching, and resource consumption decisions should include Eqs. (19)–(21), (32)–
(34), and (35)–(37)or(39).
In addition to the type of resources consumption discussed above, batch transitions can also trigger resource consumptions; for example, in a pharmaceutical
process, transition from one batch to another might warrant cleaning in between,
which requires resources related to the cleaning activity. We can easily formulate
such constraints by replacing X
variables with the changeover variables Z
ijn
iijn
.
The total cost minimization objective function includes batch processing,
changeover, and resource consumption costs. It can be expressed as follows where
RES
γ
represents the resource unit cost:
m
min
P
γ
ij
ij
+
X
ij n
n
iij
CH
γ
j
ii
iijn
+
Z
n
m
γ
RES
m
δ
R
mn
n
(40)
4 Multistage Scheduling
In this section, the modes for the multistage production environment are discussed
(Fig. 1). We consider problems with fixed batching decisions. Each stage has
multiple units j ∈ J
k
with
has its own set of units. A set of batches (I) are processed at each stage exactly once,
and each batch should be processed in only one unit. The precedence relation among
different stages of the same batch needs to be maintained, which means stage k +1
of batch i can only start after its processing at stage k is finished. Set I
batches that can be carried out in unit j, whereas J
k in which batch i can be processed. Each batch i ∈ I has its own release (ρ
) time, and the processing cost/time of batch i in unit j is γ
(ε
i
time/costs are denoted by τ
changeover costs and times can be achieved following the techniques shown in Sect.
“Single Stage Scheduling”.
+
= J and Jk∩J
kJk
/γ
iij
= ∅, which means that each stage
k
includes the
j
includes the units at every stage
ik
P
/τij. The changeover
CH
. The modelling for problem classes involving
j
ii
ij
i
) and due

Overview of Scheduling Methods for Pharmaceutical Production 365
https://t.me/medicina_free
Fig. 1 Representation of multistage batch production scheduling problem and the resultant
optimal solution
4.1 Discrete-Time Grid Model
The time discretization techniques are the same as described in the previous
sections. We introduce binary variable X
on unit j at time point n. Each batch must be processed on only one unit and exactly
once:
j∈J
ik
The no-overlap restriction is enforced through a constraint similar to the one
described in Sect. “Single Stage Scheduling”:
n
n
i
≥n−τij+1
, which assumes value 1 if batch i starts
ijn
X
= 1,i,k (41)
ij n
n
X
≤ 1,j,n (42)
ij n
The release and due time constraints are enforced by fixing the early and late
= 0, i,j,n< ρi; X
X
ij n
= 0,i,j,n> εi− τ
ij n
ij
(43)
As mentioned earlier, we need to enforce that stage k of a batch needs to
be finished before the next stage of that batch starts. We present two different
formulations to enforce this precedence relation.
Aggregated start and finish batch-stage time: The precedence relation is
directly enforced through the X
%
%
j∈J
ik
j∈J
nX
and ends at
ij n
n
ik
n
nX
ij n
≥
variables. The processing of batch i starts at
%
j∈J
ijn
j∈J
i,k−1
%
n
ik
n
n +
n +
X
τ
ij
,sowehave
ij n
X
τ
ij
,i,k>1
ij n
(44)
Disaggregated start and finish batch-stage time: The first approach is written
for every batch and every stage. In the second approach, we only use X
variables
ijn
to ensure that if the processing of stage k of batch i starts at time n , then the stage
k + 1 of that batch cannot start at any time point n.

366 S. Misra and C. T. Maravelias
https://t.me/medicina_free
j∈J
X
ij n−τ
n≥n
ik
+
ij
j∈J
i,k+1
n<n
X
≤ 1,i,k≥ 1,n
ij n
(45)
The precedence constraints are written for each batch, stage, and time period, so
the problem size increases, but compared to the first approach, the model becomes
tighter. Objective functions are independent of the approaches used to enforce the
precedence relations. The objective functions to minimize makespan (Eqs. 46 and
47), weighted earliness (Eq. 48), and weighted lateness (Eq. 49) are described in the
following:
MS ≥
j∈J
i,|K
|
n +
n
X
τ
ij
,i (46)
ij n
min MS (47)
min
min
εi−
j∈J
i,|K
ω
i
i
ω
i
i
j∈J
|
i,|K
n
|
n +
n +
τ
n
ij
τ
X
ij
ij n
Similar to the single stage environment, we define a variable L
X
ij n
− ε
i
∈ R+to represent
i
(48)
(49)
the tardiness.
≥
L
i
j∈J
i,|K
|
n +
n
X
τ
ij
− εi,i (50)
ij n
The minimization of tardiness objective function is expressed as follows:
The cost minimization objective function is
min
4.2 Storage Constraints
In the discussion so far, we have assumed that enough storage vessels are available
to store all the intermediates and products produced by the batches in all stages.
We also assumed that there are no time limitations on the storage of these materials
between two consecutive stages. However, in reality, limited storage capacity and
i,j
ij n
ωiL
i
i
+
iij
CH
γ
j
ii
Z
iijn
n
min
P
γ
X
ij
n
(51)
(52)
Соседние файлы в папке Библиотека им академика М.И. Перельмана
