Batch Process Scheduling Essentials
Batch Process Scheduling Essentials
batch processes
Load
Sequence of
internal
operation and
stages in the
unit
Unload
Recipe for the
operation
Basically, control
problems
Operation of batch plants
Mixer
Centrifugal A
Reactor Drying
U2 U3
U1 U4
U1 1
U2 2
U3 3
U4 4
0 2 4 6 8 10 12 14 16 t (hr)
U1 1 Transfer of
U2 2 product between
U3 3 units
U4 4
0 2 4 6 8 10 12 14 16 t (hr)
Gantt diagram
Non overlaped
U1 1 1
operation
U2 2 2
U3 3 3
U4 4 4
0 2 4 6 8 10 12 14 16 t (hr)
U1 1 1 Overlaped operation
U2 2 2
U3 3 3
U4 4 4
0 2 4 6 8 10 12 14 16 t (hr)
Cycle Time
Cycle time = 8 h
M
tc = ∑ τj
U1 1 1
U2 2 2
j=1
U3 3 3
U4 4 4
M=
0 2 4 6 8 10 12 14 16 t (hr) number of
Cycle time = 4 h stages
U1 1 1 t c = max{τ j }
U2 2 2 j=1, M
U3 3 3
U4 4 4
0 2 4 6 8 10 12 14 16 t (hr)
0 2 4 6 8 10 12 14 16 t (hr)
Makespan = 11 h
Mixer
A
Centrifugal
Reactor Dryer
U2 U3
U1 U4
B
4h 2h 1h 2h 1h 3h
Multiproduct manufacturing
Each stage can have one or
several batch units in parallel Several units or machines in
Single unit or machine a Single-stage manufacture
1
2 A B C 3
All products use all stages following Not all products use all stages or
the same sequence follow the same sequence
Example, two products
U1 1 1 1 1
U2 2 2 2 2
U3 3 3 3 3
U4 4 4 4 4
0 2 4 6 8 10 12 14 16 t (hr)
U1 1 1 1 1
AABB
makespan
U2 2 2 2 2
3 3
20 h
U3 3 3
U4 4 4 4 4
0 2 4 6 8 10 12 14 16 20 t (hr)
ABAB
U1 1 1 1 1 makespan
U2 2 2 2 2 19 h
U3 3 3 3 3
U4 4 4 4 4
0 2 4 6 8 10 12 14 16 19 t (hr)
Types of Campaigns
Generally speaking mix product campaigns are more efficient
that single product ones, but this will depend on the cleaning
times associated to the switching of products (changeovers)
U1 1 1 1 1
U2 2 2 2 2
U3 3 3 3 3
U4 4 4 4 4
0 2 4 6 8 10 12 14 16 20 t (hr)
U4 4 4 4 4
0 2 4 6 8 10 12 14 16 20 t (hr)
Storage types
•No waiting time: There is no
U1 1 intermediate product storage and,
U2 2 once finished, the product cannot
U3 3 be maintained in the unit (ZW
U4 4 zero wait)
0 2 4 6 8 t (hr) •Unlimited Intermediate Storage:
There exist intermediate storage
•Storage in the same unit: tanks of unlimited capacity (UIS
There are no intermediate unlimited intermediate storage) or
storage tanks but the product finite capacity (FIS Finite
can be kept in the same unit Intermediate Storage) (shared or
in which it was processed (NIS not)
non-intermediate storage
N
ni, # of lots of
t c = max ∑ n i τij product i M, #
of stages
j=1, M
i =1
Example
Product Stage 1 Stage 2 stage 3 Campaign ABAB
A 6 4 3
B 3 2 2
U1 1 1 1 1
U2 2 2 2 2
U3 3 3 3 3
0 2 4 6 8 10 12 14 16 t (hr)
0 2 4 6 8 10 12 14 16 t (hr)
0 2 4 6 8 10 12 14 16 t (hr)
tanks
Parallel units
Reactor
U1
2h
6h
U2
0 2 4 6 8 10 12 14 16 t (hr)
U11 ZW
1 1
U12 1 1
U2 2 2 2 2
Cycle time 4 h
0 2 4 6 8 10 12 14 16 t (hr)
New tools:
Seconds, minutes Information
Control systems, ERP, MES
Dynamic performance + RTO
ao
Gijón
lb
Coruña
Bi
a
on
customers demands and supply
pl
nd
m
ira
Pa
M
León
Pa
Vigo Gerona
San Adrián
lle
já
os
Palencia Lérida
Zaragoza
Burg
Valencia
Alcáz
Mora
Alba
Mérida
Ibiza Palma distribute a specific product to the
final consumer
var
Almodó Puertollano
Alicante
Sevilla Córdoba
Huelva Cartagena
Coria El Arahal
Motril Material flow
Rota Málaga End
Information flow
Algeciras (Orders) consumers
Plant Plant Distr. Retailer Demand for
Warehouse Center
A
Demand for
B
Making of
Demands for
A, B & C
C
Planning and scheduling
Planning and Scheduling
Strong industrial interest
Main constraints:
Activities must proceed until completion
Resources cannot exceed its availability
Material balances
Processing or storage capacity
Satisfaction of order by its due date
….
Mathematical Programming
Typical aims:
time required to complete all tasks (makespan)
number of tasks completed after their due dates
plant throughput
Tardiness , lateness
profit
costs
Time domain representation
Time slots: time intervals for allocation of tasks to units
Task
Discrete time:
U1 Slots start and
U2 end at points of
slot a fix discrete
time grid
0 2 4 6 8 10 12 14 16 t (hr)
0 2 4 6 8 10 12 14 16 t (hr)
Discrete time representation
Tasks
U2 2 hr
U1 1.5 hr Interval = 0.5 hr
U3 3 hr
• Tasks are forced to
last an integer
• Fix number of regular intervals of time. number of
• Events can only take place at these times. discretization intervals
• Balance between problem size (number of intervals) and
approximation to reality
• Easier to formulate shared constraints
Integer variables yij
Discrete time are used to
represent if task i
U1
operates in slot j
U2
U3
0 1 2 3 4 5 6 7 8 t (hr)
Discrete time example
Schedule the semi-batch units R so
supply p1 that levels in tanks T are maintained
within 10-90% and costs are
S minimized
F1 R1
h p2 L
T1 T2 demand
Semi-batch units F2 R2
D
F inflow to
p Batch batch units C Cost (€) Tank Initial tank Tank cross Expected supply
processing in operation per hour of volume volume section and demand may
time(h) (m3/h) processing (m3) (m3) (m2)
change every
Reactor 1 2 3.5 100
Reactor 2 3 2 140 hour according to
Tank 1 20 10 4 a table
Tank 2 22.5 12 4.5
Time (h): 1 2 3 4 5 6 7 8 9 10
Supply (m3/h) 5 5 2 6 3 5 4 3 1 0
Demand (m3/h) 2 1 5 6 7 2 2 6 4 0
Mathematical formulation ysik = 1 if unit i
starts at time k
binary
U1 ydik = 1 if unit i
U2 Time interval = 1 h descharges at
time k binary
k
yik = 1 if unit i is
0 2 4 6 8 10 (hr) operating at time
2 10 k binary
min � � 𝐶𝐶𝑖𝑖 𝑦𝑦𝑖𝑖𝑖𝑖
𝑦𝑦,𝑦𝑦𝑦𝑦,𝑦𝑦𝑦𝑦,ℎ,𝑛𝑛 Fi flow to unit i in
𝑖𝑖=1 𝑘𝑘=1
operation
4ℎ𝑘𝑘+1 = 4ℎ𝑘𝑘 + 𝑆𝑆𝑘𝑘 − ∑2𝑖𝑖=1 𝐹𝐹𝑖𝑖 𝑦𝑦𝑖𝑖𝑖𝑖 ∀k pi batch cycle of
unit i
4𝑛𝑛𝑘𝑘+1 = 4𝑛𝑛𝑘𝑘 − 𝐷𝐷𝑘𝑘 + ∑2𝑖𝑖=1 𝑝𝑝𝑖𝑖 𝐹𝐹𝑖𝑖 𝑦𝑦𝑦𝑦𝑖𝑖𝑖𝑖 ∀k hk level of supply
tank at time k
𝑝𝑝𝑖𝑖 −1 nk level of
𝑝𝑝𝑖𝑖 𝑦𝑦𝑦𝑦𝑖𝑖𝑖𝑖 ≤ � 𝑦𝑦𝑖𝑖,𝑘𝑘+𝑗𝑗 ∀𝑖𝑖 ∀𝑘𝑘 𝑦𝑦𝑦𝑦𝑖𝑖,𝑘𝑘−𝑝𝑝𝑖𝑖 =𝑦𝑦𝑑𝑑𝑖𝑖,𝑘𝑘 ∀𝑖𝑖 ∀𝑘𝑘 discharge tank at
𝑗𝑗=0
time k
𝑝𝑝𝑖𝑖 −1 Ci cost per hour of
operation of unit i
(𝑝𝑝𝑖𝑖 − 1)(1 − 𝑦𝑦𝑦𝑦𝑖𝑖𝑖𝑖 ) ≥ � 𝑦𝑦𝑦𝑦𝑖𝑖,𝑘𝑘+𝑗𝑗 ∀𝑖𝑖 ∀𝑘𝑘
𝑗𝑗=1
Solution
U1 Optimal cost =
U2 1023€
k
0 2 4 6 8 10 (hr)
Supply
8 Discharge tank level
6
3
4
2
2
0 1
1 2 3 4 5 6 7 8 9 10
0
1 2 3 4 5 6 7 8 9 10
4
Demand
8
2 6
0 4
1 2 3 4 5 6 7 8 9 10 2
0
1 2 3 4 5 6 7 8 9 10
Solution with terminal constraints
h(10) ≤ 2.5
U1 n(10) ≥ 2.5
U2 Optimal cost = 1644€
k
0 2 4 6 8 10 (hr)
time slot
t1
a c d
J2
General or inmediate
precedence to order
tasks over time
Two main types of problems
Flowshop
Allocation,
sequencing, routing
No recycling or
splitting,mixing
Networks
STN
RTN
Network problems
1h 10% 2h 90%
1h Reaction1 S3 Separation S4
S1 Heat S2 3h 70% 40% 2h
Reaction2 S5 Reaction 3 S7
60%
30%
S6
STN
Multiproduct single stage
scheduling
Product 1 Unit 1
Product 2
Unit 2
Product i
…….
……
Product n
Unit L
Product 1
Product 2
Unit 1
Product 3
Unit 2
Product 4
Unit 3
Product 5
Product 6
Assign Sequence
Allocation MILP
1 if product i is assigned to unit m
y im =
0 otherwise ri minimum
starting time of
min
y , ts
∑ ∑C
i∈I m∈M
im y im Cost product i
di maximum ending
s.t. ts i ≥ ri Start time ti time of product i
ts i + ∑ pim yim ≤ d i ∀i ∈ I
m∈M
pim processing time
of product i in unit
m
∑y
m∈M
im = 1 ∀i ∈ I Unit assigment Cim cost of
processing product
∑y
i∈I
im p im ≤ max i {d i } − min i {ri } ∀m ∈ M i in unit m
tsi starting time of
pim Total processing product i
m time in a unit m
Sequencing within every unit
1 ≥ z ij + z ji ≥ y im + y jm − 1 ∀i, j ∈ I, i > j, m ∈ M
If product i precedes product j in unit m, then the start time of product j
must be larger than the start time of product i plus task i duration
ts j ≥ ts i + ∑p
m∈M
im y im − M (1 − z ij ) ∀i, j ∈ I, i ≠ j Big-M Constraint
Optimal cost: 22
Reactor 1 F G A B
Reactor 2 E C D
Reactor3
1 2 3 4 5 6 7 8 9
Gantt diagram
Related problems
min W
y im , W
Different aim: minimize makespan W
ts i + ∑ y im p im ≤ W i∈ I
m Makespan is an upper bound for the
0 ≤ W ≤ Wmax end time of operation of each task
Optimal makespan: 6 h
Reactor 1 A D G
Reactor 2 F C
Reactor3 B E
1 2 3 4 5 6 7 8 9
Gantt diagram