dolfinx_optim documentation#

See also

This project is a rewrite of the fenics_optim package working with the legacy FEniCS version.

Introduction#

dolfinx_optim is a convex optimization add-on package to the FEniCSx finite-element library. It provides a simple Domain-Specific Language through FEniCSx dolfinx Python interface for solving convex optimization problems. In particular, it relies on the Mosek mathematical programming library. Mosek provides a state-of-the art interior-point solver for linear programming (LP), convex quadratic programming (QP), second-order conic programming (SOCP) and semi-definite programming (SDP).

Prerequisites#

dolfinx_optim requires:

pip install -f https://download.mosek.com/stable/wheel/index.html Mosek

Mosek is a commercial software so users need a valid Mosek license. Free unlimited licenses are available for education and research purposes, see the Academic License section.

Installation and usage#

Simply clone the dolfinx_optim public repository

https://github.com/bleyerj/dolfinx_optim

and install the package by typing

pip install dolfinx_optim/ --user

Features#

Current version supports variational problem formulations resulting in Linear Programs, Second-Order Cone Programs, Semi-Definite Programs and Power or Exponential cone programs.

License#

All this work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License license.

Citing#

Papers related to this project can be cited as:

@article{bleyer2020automating,
  title={Automating the formulation and resolution of convex variational problems: applications from image processing to computational mechanics},
  author={Bleyer, Jeremy},
  journal={ACM Transactions on Mathematical Software (TOMS)},
  volume={46},
  number={3},
  pages={1--33},
  year={2020},
  publisher={ACM New York, NY, USA}
}
@article{bleyer2022applications,
  title={Applications of conic programming in non-smooth mechanics},
  author={Bleyer, Jeremy},
  journal={Journal of Optimization Theory and Applications},
  pages={1--33},
  year={2022},
  publisher={Springer}
}

About the author#

Jeremy Bleyer is a researcher in Solid and Structural Mechanics at Laboratoire Navier, a joint research (UMR 8205) of Ecole Nationale des Ponts et Chaussées, Université Gustave Eiffel and CNRS.

jeremy.bleyer@enpc.fr

jeremy-bleyer

ORCID logo 0000-0001-8212-9921 _images/banner_tutelles.png