Kona: A Parallel Optimization Library for Engineering-Design Problems

Kona is a Python library targeting partial-differential-equation (PDE) governed optimization problems. To address the high computational cost of such problems, Kona permits parallel execution of linear algebra and optimization operations while remaining agnostic to the implementation details of the underlying PDE solver. To accomplish this, Kona adopts a reverse-communication-inspired interface where the optimization algorithm requests the PDE solver to perform a predetermined set of tasks on solver-generated memory. Consequently, the optimization itself is parallelized as long as the user defines parallel data structures within an abstract vector interface and performs the requested tasks in parallel. This abstraction layer also facilitates the rapid development of new optimization algorithms independently from the underlying PDE solvers. In this paper we describe Kona’s software design in detail, and demonstrate its use on test cases, ranging from analytical verification problems to a PDE-constrained engineering system.

[1]  Yousef Saad,et al.  A Flexible Inner-Outer Preconditioned GMRES Algorithm , 1993, SIAM J. Sci. Comput..

[2]  T. Steihaug The Conjugate Gradient Method and Trust Regions in Large Scale Optimization , 1983 .

[3]  Pearu Peterson,et al.  F2PY: a tool for connecting Fortran and Python programs , 2009, Int. J. Comput. Sci. Eng..

[4]  David Abrahams,et al.  Building hybrid systems with Boost.Python , 2003 .

[5]  Michael A. Saunders,et al.  SNOPT: An SQP Algorithm for Large-Scale Constrained Optimization , 2002, SIAM J. Optim..

[6]  Jason E. Hicken Inexact Hessian-vector products in reduced-space differential-equation constrained optimization , 2014, Optimization and Engineering.

[7]  Graeme J. Kennedy A Full-Space Method with Matrix Aggregates for Stress-Constrained Structural Optimization , 2015 .

[8]  Juan J. Alonso,et al.  Comparison of reduced- and full-space algorithms for PDE-constrained optimization , 2013 .

[9]  Stefan Behnel,et al.  Cython: The Best of Both Worlds , 2011, Computing in Science & Engineering.

[10]  Joaquim R. R. A. Martins,et al.  Automatic evaluation of multidisciplinary derivatives using a graph-based problem formulation in OpeNMDAO , 2014 .

[11]  R. Bartlett Thyra Linear Operators and Vectors Overview of Interfaces and Support Software for the Development and Interoperability of Abstract Numerical Algorithms , 2013 .

[12]  John E. Renaud,et al.  Response surface based, concurrent subspace optimization for multidisciplinary system design , 1996 .

[13]  H. H. Rosenbrock,et al.  An Automatic Method for Finding the Greatest or Least Value of a Function , 1960, Comput. J..

[14]  D. M. Beazley,et al.  Feeding a large-scale physics application to Python , 1997 .

[15]  Matthias Heinkenschloss,et al.  A Matrix-Free Trust-Region SQP Method for Equality Constrained Optimization , 2014, SIAM J. Optim..

[16]  Joaquim R. R. A. Martins,et al.  Geometry and structural modeling for high-fidelity aircraft conceptual design optimization , 2014 .

[17]  Joaquim R. R. A. Martins,et al.  Comparison of inexact- and quasi-Newton algorithms for aerodynamic shape optimization , 2015 .

[18]  Joaquim R. R. A. Martins,et al.  Simultaneous aircraft allocation and mission optimization using a modular adjoint approach , 2015 .

[19]  Jason E. Hicken,et al.  A Simplified and Flexible Variant of GCROT for Solving Nonsymmetric Linear Systems , 2010, SIAM J. Sci. Comput..

[20]  Jason E. Hicken,et al.  A Flexible Iterative Solver for Nonconvex, Equality-Constrained Quadratic Subproblems , 2015, SIAM J. Sci. Comput..

[21]  Joaquim R. R. A. Martins,et al.  Large-Scale Multidisciplinary Optimization of a Small Satellite’s Design and Operation , 2014 .