A MATHEMATICAL PROGRAMMING APPROACH TO FACILITY MODELING
We developed a high fidelity model of an industrial biologics facility using the VirtECS version 7.1 software system (Advanced
Process Combinatorics, Inc., West Lafayette, IN), which consists of a core mathematical programming solver designed around
a uniform discretization model (UDM) and a customized outer layer that is specifically tailored to address biologics process
behavior.3,4 The system uses built-in virtual methods that allow an algorithm engineer to control core algorithm behavior to improve
performance and resolve degeneracy. Algorithm heuristics affect solution speed, but the precise mathematical programming framework
permits the efficient exploration of decision implications throughout the timeline. By overriding virtual methods, algorithm
engineers can develop an approach whose performance is adapted to match the needs of the process and which extrapolates to
match model evolution because the preponderance of process physics is captured in equations addressed by the core solver.
The core solver, which solves a UDM mixed integer linear program (MILP), is used by the outer algorithm in the same way that
a base linear program (LP) solver is used as a relaxation in traditional branch and bound algorithms. The core VirtECS solver
is a mathematical programming–based system that finds high quality feasible schedules for a UDM formulation derived from the
RTN framework described above. The equation solving, branching rules, backtracking, cut generation, and search-tree enumeration
strategy of VirtECS version 7.1 are beyond the scope of this paper. This core solver can be used in a stand-alone fashion
to determine schedules for any process that can be described using the RTN. In practice, however, processes frequently possess
individual features, special constraints, or degeneracy preferences that require accelerated or engineered solution logic.
Examples of these include rapid convergence to solutions that imply periodic repacking of chromatography columns and the need
to dispose of batches. The customized outer algorithm also is required to address stochastic variability by choosing among
mutually exclusive UDM terms that reflect sampling of distributions of uncertain parameters such as titer.
Benefits of a Layered Approach
The layered algorithmic approach derives its strength from the fact that the customized outer layer typically contains much
less than one percent of the overall code base. The outer algorithm is able to use the core solver in a number of ways—to
solve the entire UDM formulation or only portions of the UDM formulation consistent with a particular solution strategy. The
core solver, therefore, accounts for all of the constraints present in the UDM formulation. The function of the outer algorithm
is to restrict the core algorithm search space to solutions that satisfy special constraints or resolve the degeneracy, especially
for the process in question. Solution degeneracy is of particular importance in determining high quality schedules for real-world
processes. Often, there are a variety of scheduling choices that satisfy the physical constraints of a process. For example,
in the absence of inter-product transitions, it is perfectly acceptable to run the following sequence of tasks: ABAB. However,
most people would prefer the following sequence: AABB. Mathematically, these two solutions may be equally desirable, but the
second choice normally will be preferred by plant operators. The customized outer layer of the algorithm allows us to control
solution degeneracy more directly than would the use of penalty functions and other such contrivances. The custom algorithm
layer also makes it relatively easy to handle implicit constraints that are difficult to formulate explicitly. Examples include
clean-in-place (CIP) requirements and periodic column recharging. Using the RTN described above, the scheduling problem is
translated into a UDM-adapted form.3 As the name suggests, this formulation discretizes the timeline into a set of uniformly spaced buckets.
We define the following variables:
W
ijt
is a binary decision variable indicating that task i starts on equipment j at time t
I
b
j
is set of tasks that can run on batch unit j
p
ij
is the process time for task i on equipment j
F
sjt
is the amount of material s stored in equipment j at time t
F
s
is the set of all equipment that can store material s
Z
sjt
is 1 if material s is stored in equipment j at time t
K
b
i
is the set of equipment that can process task i
B
ijt
is the batch size for task i on equipment j at time t
F
max
sj
is the maximum storage capacity for material s in equipment j
I
st
is the amount of material s in storage at time t
T mean
s
is the set of tasks producing material s
T
s
is the set of tasks consuming material s
P
st
is the amount of material s purchased at time t
D
st
is the amount of material s delivered to satisfy demands at time t
ρ mean
isj
is the amount of material s produced by task i in equipment j
ρ
isj
is the amount of material s consumed by task i in equipment j.
|