190 likes | 333 Views
Global Optimization Toolkit Project. First Prototype Delivery. Outline. Introductions Purposes of the Toolkit Example Workflow Modules Preliminary Results. Purpose of the Toolkit.
E N D
Global Optimization Toolkit Project First Prototype Delivery
Outline • Introductions • Purposes of the Toolkit • Example Workflow • Modules • Preliminary Results
Purpose of the Toolkit • Primary: Provide Robust, Easy-to-use Global Optimization alternatives to local optimization packages provided in MATLAB. • Secondary: Provide supporting tools to use Global Optimization in biomodel parameter estimation projects.
Why is a Toolkit Needed? • Local optimization routines in MATLAB leave a lot of questions unanswered. • Are there other local minima that should be considered? • What is the confidence region of the parameters? • How good is the fit of the model to data? • How do I integrate data from multiple experiments? • Available global optimization packages for MATLAB are very basic or require considerable trial-and-error and experience to use.
Problem Statement Minimize f(p), subject to bounds constraints on the vector p of parameters. (lb < p < ub)
Parameter Estimation • Special case of optimization • f is a function of the error (ŷ-y) between simulated data ŷ and experimental measurements y, especially time-series data. • Special-Special Case: • ŷ is the solution to an initial value problem.
Example Workflow • Design a model in MATLAB. • Pick the parameters to be estimated. • Select a fitting function. • Import the experimental data into MATLAB. • Optimize the parameters to fit the data. • View the results. • Estimate confidence intervals. • Report results. • Get more data, change model, re-estimate, etc.
Modules • Algorithm Selection • Data Import • Parameter Selection • Multiple Experiments • Postprocessing and Visualization
Algorithms • Adaptive Simulated Annealing • Branch-and-Fit • Differential Evolution • Evolutionary Strategy (+Stochastic Ranking)
Data Format • Most Common Internal Format • T,Y, E • T is a vector of Nt measurement times • Y is a matrix of Nt-by-Nm measurements • E is an optional matrix of Nt-by-Nm measurement errors. • Easy to import from text files, Excel, etc. using MATLAB provided functions.
Parameter Selection • Most common internal parameter format: • P,C, F • P is a vector of Np parameter estimates • C is a matrix of Np-by-Np covariance (often diagonal) • F is an optional vector of Nf parameters to be estimated. • P=[p1, p2, p3, p4, p5, p6, p7, p8, p9, p10]T • F=[1, 8, 10, 2] (I want to fit only first, eighth, tenth, second parameters) • Easy to import from text, Excel, MATLAB files with MATLAB functions.
Multiple Experiments • Problem: • One Model • Different data sets • Different parameters to be fit for each data set. • Local and Global Parameters • Local parameters take different (optimal) values for each data set. • Global parameters have one optimal value for all data sets.
Multiple Experiments • Batch Estimation • Run all data sets in a single cost function finding one optimal set of parameters. • Option: Local parameters for each experiment • Sequential Estimation • Run each data set in sequence, improving the parameter estimate with each new data set. • Find the best global parameter values • Find the best local parameter values • Toolkit Implements a Bayesian sequential estimator
Postprocessing: Confidence Intervals Parameter Confidence Regions
Preliminary Results • 3 Algorithms all competitive on Novartis PERSIMrunCHIAKI test case. • Differential Evolution (With TBAG modifications) • Evolutionary Strategies • Adaptive Simulated Annealing • One algorithm not competitive: Branch-and-fit
To Be Done • GUI completion • Benchmarks • Support, Feedback and Updates • External Interface: acslXtreme • Follow-up work