Simulation Optimization - Computer Science

advertisement
Jun Han
John A. Miller
Department of Computer Science
University of Georgia
Gregory A Silver
College of Business, Anderson University



Introduction
Simulation Optimization (SO)
Using SO for Glycomics
◦ Overview of Glycomics
◦ Glycan Quantification
◦ Metabolic Pathways




Techniques for Simulation Optimization
SESSO Framework
Two Scenarios
Conclusions




Conceptual model
Domain Modeling
Simulation Designing
and Execution
Decision Parameter
Optimization
Model
Simulation
Optimization

History of Simulation Optimization from 1987
◦ 1987: “An art, not a science”
◦ 1998: Systematic survey and introduction
Decision parameter
Discrete
Continuous
Solution
Random Search
Gradient methods
◦ 2000: A sub-chapter in simulation textbooks
◦ Numerous application and research on how to
integrate optimization and simulation
◦ 2011: Regular track on Simulation Optimization in
WSC 2011

Random search methods
◦ Random walk, Simulated Annealing

Gradient based methods
◦ Steepest descent, Conjugate gradient, BFGS

Heuristic methods
◦ Genetic algorithm, Particle Swarm Optimization

Meta-modeling methods
◦ Response surface methodology

Sample path optimization
◦ Monte Carlo Simulation

Glycan
◦ produced by linking saccharides and attached to
proteins and lipids

Possible Applications
◦ Cell differentiation
◦ Disease processes
◦ Cancer Markers

Glycomics
◦ “an integrated systems approach to structurefunction relationships of glycans”
◦ Identification
◦ Quantification
Omics Overview.
http://jdr.sagepub.com/citmgr?gca=spjdr;90/5/561
7


Label-free methods
Isotopic labeling
◦ Static IDAWG™
◦ Dynamic IDAWG™





Modeling
Simulation
Optimization
Statistics
Mass Spectrometry
Experiments
Analysis
Glycan
Structures
Isotopic
distribution
calculation
Raw data
processing
Mass
Spectrum
model
Pathway
model
Simulator
Optimizer
No
optimized?
Quantification
and
visualization
Yes
MS Raw data
9



Metabolism
Biochemical reactions
Metabolic Network
GalNAc (mucin-type) core synthesis/branching
http://www.ccrc.uga.edu/~moremen/glycomics/OglycanBranching/OglycanBranching/OglycanBranching.htm


SEESO: A Semantically Enriched Environment
for Simulation Optimization
Bootstrapped by
◦ JSIM: web-based simulation environment
◦ ScalaTion: simulation environment using domainspecific language (DSL)
◦ DeMO: Discrete-event Modeling Ontology
◦ SoPT: Simulation oPTimization ontology
JSIM
ScalaTion
SEESO
Op
tim
res iza
Domain visu ult a tion
ali nd
zat
Modeler
ion
SoPT
DeMO
l
e
d
o
m tion
l
ua iza t
t
ep tim en
c
n Op em
o
C d uir
an req
Problem
Our Solution
Communication and sharing of domain
model and optimization problem
Ontology
Transformation from domain Model to
optimization algorithm
Domain Specific
language (DSL)
Selection of proper optimization
algorithms
Rule inferencing
min 𝐸[𝐹(𝒙)]
𝑠𝑢𝑏𝑗𝑒𝑐𝑡 𝑡𝑜 𝑉 𝐹 𝒙 ≤ 𝑡
𝑔(𝒙) ≥ 0
𝒙∈𝐷




Use Common Random Number (CRN) to
reduce variance
Independent replications
Batch Means
Ranking and Selection



Simulator, Optimizer and (possible) Cost
Analyzer
Loosely Coupled
Iterative approach
{x}0
Simulator
{(x, Y=R(x))}i
Cost
Analyzer
{x}
i+1
Optimizer
(x*, Z*)
{(x, Y=R(x), Z=c(Y))}i
m𝑖𝑛 𝑓(𝑥)
𝑠𝑢𝑏𝑗𝑒𝑐𝑡 𝑡𝑜 10 > 𝑥 > 0
𝑥∈ℝ
def solve (x0: VectorD): VectorD =
{
var x = x0
// current point
var xx: VectorD = null // next point
var gr: VectorD = null // gradient
breakable {
for (k <- 1 to MAX_ITER) {
// determine direction search
gr = if (usePartials) gradientD (df, x)
// use functions for partials
else gradient (fg, x)
xx = lineSearch (x, gr)
if (abs (fg(xx) - fg(x)) < EPSILON) break
x = xx
}} // for
x
} // solve
Objective Function
Steepest Descent, etc.


Establish connection between numerous real
world problems and optimization algorithms
Top level classes:
◦ Optimization Component
◦ Optimization Problem
◦ Optimization Method
Optimization
Method
can-solve
Optimization
Component
Optimization
Problem
has-component
Optimization
component
is-a
is-a
is-a
Optimization
Goal
is-a
is-a
is-a
Constraint
Restriction
is-a
is-a
is-a
Quadratic
Constraint
Binary
Restriction
Real
Restriction
is-a
Nonlinear
Constraint
Solution
is-a
is-a
Objective
Function
is-a
Linear
Programming
Integer
Restriction
Mixed
Restriction
is-a
Nonlinear
Objective
Function
Quadratic
Objective
Function
is-a
is-a
Approximate
Solution
Linear
Objective
Function
Solution
Quality
is-a
is-a
Exact Solution
Heuristic
Solution
Objective
Function
Constraint
Restriction
Optimization
Goal
has-Constraint
has-Restriction
has-ObjectiveFunction
Optimization
Problem
has-OptimizationGoal
is-a
Nonlinear
Programming
Quadratic
Programming
is-a
Linear
Programming
Stochastic
Programming
Optimization
Method
Derivative
Free
Gradient
based
Simplex
Method
Interior
Point
Method
Hooke
and
Jeeves
Direct
Search
Nelder
Mead
Method
Newton
Method
Simplex
Algorithm
Steepest
Descent
Conjugate
Gradient
Descent
Polak
Ribiere
Conjugate
Gradient
Heuristic
Method
Quasi
Newton
Method
Meta-Modeling
Method
Genetic
Algorithm
Kriging RSM
Local Search
Ant Colony
Optimization
Response
Surface
Methodology
Sample Path
Optimization
Quadratic Fit
Simulated
Annealing
BFGS
Method
Bacterial
Foraging
Optimization
Algorithm
L-BFGS
Method
Particle
Swarm
Optimization
DFP
Formula
Random Search
Method
Tabu Search
Conceptual Model
Experiment
design
DeMO classes
Domain model
Decision
parameters
SoPT classes
Optimization
Problem
Optimization
algorithm
Rule Inferencing
DSL
Algorithm
selection,
configuration and
execution


A set of Rules
Rule inferencing (Rete algorithm)
if (ObjectiveFunction is quadratic_objective_function) and
(SolutionQuality is exact_solution) and (Constraint is none) and
(Restriction is real_restriction) then (OptimizationAlgorithm is
Steepest_Descent)
if (ObjectiveFunction is linear_objective_function) and (SolutionQuality
is exact_solution) and (Constraint is integer_constraint) and (Restriction
is integer_restriction) then (OptimizationAlgorithm is
Simplex_Algorithm)
if (ObjectiveFunction is nonlinear_objective_function) and
(SolutionQuality is heuristic_solution) and (Constraint is none) and
(Restriction is real_restriction) then (OptimizationAlgorithm is
Genetic_Algorithm)


Automatic Algorithm Configuration
Algorithm execution using DSL
Ontology
Rule
Rule Inference
Engine
Algorithm
Configuration
Optimization
Optimization
Algorithm
Selection
Algorithm
Execution
Visualization




Model definition using DeMO
Code generation using ScalaTion DSL
Optimization algorithm selection using SoPT
Optimization execution using DSL
entry:
Source
toNurseQ
nurseQ:
WaitQueue
nurse:
Resource
toDoctorQ
doctorQ:
WaitQueue
doctor:
Resource
toDoor
door:
Sink

Substrate (E), Product (P), Enzyme (E)
kf
kcat
E + P
ES
E + S k
r
𝑑[𝑃]
𝑉𝑚𝑎𝑥 [𝑆]
𝑘𝑟 + 𝑘𝑐𝑎𝑡
𝑣=
=
𝑤ℎ𝑒𝑟𝑒 𝐾𝑚 =
𝑑𝑡
𝐾𝑚 + [𝑆]
𝑘𝑓

Decision Parameters
◦ Rate constants
◦ Temperatures, Enzyme concentration, gene expression
level, etc.
Gal1GalNAc1
1
Neu5Ac1Gal1GalNAc1
2
St3Gal1
β3
α3
CMP
CMP
β3
Neu5Ac2Gal1GalNAc1
St6GalNAc2
St6GalNAc1
CMP
4
CMP
5
3
α3
α6
β3
St6GalNAc1
Gal1GalNAc1
Neu5Ac1Gal1GalNAc1
Neu5Ac2Gal1GalNAc1
St3Gal1
St6GalNAc2
[Ẋ1 ] = 𝑘[2→1] 𝑋2 𝑋5
[Ẋ2 ] = 𝑘[1→2] 𝑋1 𝑋4 + 𝑘[3→2] 𝑋3 [𝑋5 ]
[Ẋ3 ] = 𝑘[2→3] 𝑋2 [𝑋4 ]
27


Quantitative glycomics needs simulation
optimization
Integration of ontology and DSL can facilitate
modeling, simulation and application of
simulation optimization for domain modelers
Download