MOOCHO and TSFCore objectoriented software and interfaces for the development of optimization and ot - PowerPoint PPT Presentation

About This Presentation
Title:

MOOCHO and TSFCore objectoriented software and interfaces for the development of optimization and ot

Description:

Abstract linear-algebra interfaces (AbstractLinAlgPack) = You can parallelize it! Nonlinear Equations : Foundation for many Problems! Applications ... – PowerPoint PPT presentation

Number of Views:45
Avg rating:3.0/5.0
Slides: 22
Provided by: tripCa
Category:

less

Transcript and Presenter's Notes

Title: MOOCHO and TSFCore objectoriented software and interfaces for the development of optimization and ot


1
MOOCHO and TSFCoreobject-oriented software and
interfaces for thedevelopment of optimization
and other advanced abstract numerical algorithms
  • Roscoe A. Bartlett
  • Optimization and Uncertainty Estimation
  • Sandia National Laboratories

Sandia is a multiprogram laboratory operated by
Sandia Corporation, a Lockheed Martin
Company,for the United States Department of
Energy under contract DE-AC04-94AL85000.
2
Nonlinear Programming for Large-Scale Optimization
NLP formulation for Simulation-Driven
Optimization min f(y,u) f(y,u) Y U
R s.t. c(y,u) 0 c(y,u) Y U C
(yL, uL) (y, u) (yU, uU) Y Í R m, U Í R
n-m, C Í R m y ? Y state variables
u ? U design/control
variables f(y,u) objective function
c(y,u) state (simulation) constriants
  • Classes of problems considered
  • Large-scale (up to 106 variables and more)
  • Special problem structure (e.g. PDEs, DAEs)
  • Application specific methods (e.g. linear
    solvers, nonlinear globalization)
  • Specialized computing environments (e.g. MPP,
    client/server, out-of-core)
  • What we can not do
  • Use the current generation of optimization
    software to exploit problem structure and take
    advantage of advanced computing environments
  • What we do not want to do
  • Write a new optimization implementation for each
    piece of application software
  • What we do want to do
  • Use gradient-based methods for simultaneous
    analysis and design (SAND)

3
NAND vs. SAND Choosing the right approach
NAND
Nested Analysis and Design
  • Better scalability to large design spaces
  • More accurate solutions
  • Algorithmic flexibility
  • Less computer time
  • Decreased impact to existing code
  • Ease of interfacing
  • Nonsmooth behavior

Simultaneous Analysis and Design
SAND
4
Introducing MOOCHO!
  • MOOCHO Multifunctional Object-Oriented
    arCHitecture for Optimization
  • Built using object-oriented principles
    gt OO!
  • Initially developed at CMU (rSQP)
    gt Good times!
  • Active-set and interior-point SQP-related
    methods gt Fast! or Fast?
  • Open source (available soon?)
    gt You can get it!
  • Flexible algorithm configuration
    gt You can alter it!
  • Exchangeable numerical components
    gt You can tailor it!
  • Abstract linear-algebra interfaces
    (AbstractLinAlgPack) gt You can parallelize
    it!

5
Nonlinear Equations Foundation for many
Problems!
  • Applications
  • Discretized PDEs (e.g. finite element, finite
    volume, finite difference etc.)
  • Network problems (e.g. electrical circuits)

6
Nonlinear Equations Sensitivities
  • Related Algorithms
  • Gradient-based optimization
  • SAND
  • NAND
  • Nonlinear equations (NLS)
  • Multidisciplinary analysis
  • Linear (matrix) analysis
  • Block iterative solvers
  • Eigenvalue problems
  • Uncertainty quantification
  • SFE
  • Stability analysis / continuation
  • Transients (ODEs, DAEs)

B. van Bloemen Waanders, R. A. Bartlett, K. R.
Long and P. T. Boggs. Large Scale Non-Linear
Programming PDE Applications and Dynamical
Systems, Sandia National Laboratories,
SAND2002-3198, 2002
7
Applications, Algorithms, Linear-Algebra Software
  • Key points
  • Complex algorithms
  • Complex software
  • Complex interfaces
  • Complex computers
  • Duplication of effort?
  • APP Application Defines data for the problem
  • (e.g. PDE or DAE model and discretization)
  • LAL Linear-Algebra Library Implements basic
    matrices, vector and algebraic precondtioners
  • (e.g. Epetra/Ifpack (Trilinos), PETSc etc.)
  • ANA Abstract Numerical Algorithm Solves the
    numerical problem
  • (e.g. optimization, nonlinear solvers, stability
    analysis, SFE, transient solvers etc.)

8
MOOCHO and TSFCore
MOOCHO
NLPInterfacePack
  • Key points
  • Maximizing development impact
  • Software can be run on more sophisticated
    computers
  • Fosters improved algorithm development

AbstractLinAlgPack
9
TSFCore Basic Linear Algebra Interfaces
ltltcreategtgt
Unified Modeling Langage (UML) Notation!
10
TSFCore Basic Linear Algebra Interfaces
Compatible with HCL (Hilbert Class
Library) SVL (Standard Vector Library)
ltltcreategtgt
Near optimal for many but not all abstract
numerical algorithms (ANAs)
11
TSFCore Basic Linear Algebra Interfaces
ltltcreategtgt
12
TSFCore Basic Linear Algebra Interfaces
ltltcreategtgt
What about standard vector ops? Reductions
(norm, dot etc.)? Transformations (axpy,
scaling etc.)?
What about specialized vector ops? e.g.
Interior point methods for opt
13
TSFCore Basic Linear Algebra Interfaces
  • The Key to success!
  • Reduction/Transformation Operators
  • Supports all needed vector operations
  • Data/parallel independence
  • Optimal performance

Challenge to interoperability?
R. A. Bartlett, B. G. van Bloemen Waanders and M.
A. Heroux. Vector Reduction/Transformation
Operators, Accepted to ACM TOMS, 2003
14
TSFCore Basic Linear Algebra Interfaces
15
TSFCore Details
  • All interfaces are templated on Scalar type
    (support real and complex)
  • Smart reference counted pointer class
    TeuchosRefCountPtrltgt used for all dynamic
    memory management
  • Many operations have default implementations
    based on very few pure virtual methods
  • RTOp operators (and wrapper functions) are
    provided for many common level-1 vector and
    multi-vector operations
  • Default implementation provided for MultiVector
    (MultiVectorCols)
  • Default implementations provided for serial
    computation VectorSpace (SerialVectorSpace),
    VectorSpaceFactory (SerialVectorSpaceFactory),
    Vector (SerialVector)

16
AbstractLinAlgPack MOOCHO Linear Algebra
17
Example ANA Linear Conjugate Gradient Solver
18
Multi-vector Conjugate-Gradient Solver Single
Iteration
templateltclass Scalargt void CGSolverltScalargtdoI
teration( const LinearOpltScalargt M, ETransp
opM_notrans ,ETransp opM_trans,
MultiVectorltScalargt X, Scalar a ,const
LinearOpltScalargt M_tilde_inv ,ETransp
opM_tilde_inv_notrans, ETransp opM_tilde_inv_trans
) const const Index m
currNumSystems_ int j if( M_tilde_inv
) M_tilde_inv-gtapply( opM_tilde_inv_notra
ns, R_, Z_ ) else assign( Z_,
R_ ) dot( Z_, R_, rho_0 ) if(
currIteration_ 1 ) assign( P_,
Z_ ) else
for(j0jltmj) beta_j rho_j/rho_old_j
update( Z_, beta_0, 1.0, P_ )
M.apply( opM_notrans, P_, Q_ )
dot( P_, Q_, gamma_0 )
for(j0jltmj) alpha_j rho_j/gamma_j
update( alpha_0, 1.0, P_, X )
update( alpha_0, -1.0, Q_, R_ )
19
TSFCoreNonlin Interfaces to Nonlinear Problems
  • Supported Areas
  • NAND optimization
  • SAND optimization
  • Nonlinear equations
  • Multidisciplinary analysis
  • Stability analysis / continuation
  • SFE

20
TSFCore SAND Reports
Get most recent copy at Trilinos/doc/TSFCore
21
Summary Conclusions
  • MOOCHO
  • MOOCHO is framework/library for large-scale NLP
  • MOOCHO currently supports several active-set and
    interior-point SQP-related methods
  • MOOCHO can be adapted to the application
  • MOOCHO is fully scalable
  • TSFCore
  • Minimal but efficient interface to linear algebra
    implementations
  • Trilinos (LGPL) standard for abstract interfaces
    for linear algebra
  • Block linear solvers (Belos)
  • Block eigenvalue solvers (Anasazi)
  • Used in SPMD, client/server, master/slave etc.
  • Example numerical algorithms
  • NLP optimization (through MOOCHO)
  • Nonlinear equation solvers (through NOX)
  • Time domain decomposition (Heinkenshloss)
Write a Comment
User Comments (0)
About PowerShow.com