Добавил:
kiopkiopkiop18@yandex.ru t.me/Prokururor I Вовсе не секретарь, но почту проверяю Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Ординатура / Хирургия / Библиотека им академика М.И. Перельмана / Книга_5395_Библиотеки_им_академика_М_И_Перельмана

.pdf
Скачиваний:
0
Добавлен:
15.09.2026
Размер:
15 Мб
Скачать
☆
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 time­related 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 no­overlap 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
(
in
+1
ii
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 − τ
ii
M
=
i
can start between time points
. A valid value for the big-M parameter
i
σ
,i (11)
ii
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 iat time point n.
iin
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
iin
Xin= 1,n (12)
i
n−1
n
=n−τ
X
= Xin,i,n (13)
in
i
Z
≤ X
iin
i=i
Z
≤ X
iin
i=i
≥ X
Z
iin
i,n−1
+ X
,i,n (14)
i,n−1
,i
in
− 1,i,i= i,n (16)
in
,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
ii,n−
−
σ
ii
i=i
Z
,i,n (17)
iin
The changeover cost minimization objective is
min
iin
CH
γ
Z
iin
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 τ
iij
, 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/δ, σ
iij
=)σ
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−τ
ij
n=n−τ
ij−σiij
+1
X
ijn
≤ 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 iat time
iijn
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
iijn
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
iij,n−
σ
−
−1
ii
i=i
Z
iij,n−1
, i,j,n (30)
min
P
γ
ij
ij
+
X
ij n
n
iij
CH
γ
j
ii
Z
iijn
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 tran­sitions 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
iijn
.
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
iij
CH
γ
j
ii
iijn
+
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
/γ
iij
= ∅, 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
+
iij
CH
γ
j
ii
Z
iijn
n
min
P
γ
X
ij
n
(51)
(52)