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