Skip to content

Latest commit

 

History

History
56 lines (50 loc) · 4.07 KB

overview.rst

File metadata and controls

56 lines (50 loc) · 4.07 KB

Overview

Parapint is a package for parallel solution of dynamic optimization problems. Parapint currently includes a Schur-Complement decomposition algorithm based on [Word2014]. Parapint utilizes Pynumero BlockVector and BlockMatrix classes (which in turn utilize Numpy arrays and Scipy sparse matrices) for efficient block-based linear algebra operations such as block-matrix, block-vector dot products. These classes enable convenient construction of block-structured KKT systems. Parapint also utilizes Pynumero interfaces to efficient numerical routines in C, C++, and Fortran, including the AMPL Solver Library (ASL), MUMPS, and the MA27 routines from the Harwell Subroutine Library (HSL).

Parapint is designed with three primary modules:

Compatible linear solvers and interfaces
Linear Solver Compatible Interface Class
:class:`~parapint.linalg.ma27_interface.InteriorPointMA27Interface` :class:`~parapint.interfaces.interface.InteriorPointInterface`
:class:`~parapint.linalg.mumps_interface.MumpsInterface` :class:`~parapint.interfaces.interface.InteriorPointInterface`
:class:`~parapint.linalg.scipy_interface.ScipyInterface` :class:`~parapint.interfaces.interface.InteriorPointInterface`
:class:`~parapint.linalg.schur_complement.explicit_schur_complement.SchurComplementLinearSolver` :class:`~parapint.interfaces.schur_complement.sc_ip_interface.DynamicSchurComplementInteriorPointInterface`
:class:`~parapint.linalg.schur_complement.mpi_explicit_schur_complement.MPISchurComplementLinearSolver` :class:`~parapint.interfaces.schur_complement.mpi_sc_ip_interface.MPIDynamicSchurComplementInteriorPointInterface`
[Word2014]Word, D. P., Kang, J., Akesson, J., & Laird, C. D. (2014). Efficient parallel solution of large-scale nonlinear dynamic optimization problems. Computational Optimization and Applications, 59(3), 667-688.