Nonlinear Constrained Optimization Library

conveks is a framework for formulating and solving large-scale nonlinear constrained optimization problems in an efficient and portable manner. The default algorithm provided by conveks is the method of moving asymptotes (MMA)1, implemented using PETSc.

conveks is Copyright (c) 2018, E. Kuci, C. Geuzaine and P. Duysinx, University of Liège.

Quick start

conveks is distributed as part of the ONELAB software bundle to solve large scale finite element shape or topology optimization problems, using both direct and adjoint formulations2. To test conveks:

  1. Download the ONELAB software bundle
  2. Launch the app
  3. Open tutorials/conveks/Team25/ or tutorials/conveks/Lbracket/
  4. Press Run

This assumes that you have a working Python installation on your computer, including the NumPy package.

conveks Software Development Kit

A Software Development Kit (SDK) is also available for integrating conveks with your own C, C++, Python or Julia code.

Download the conveks SDK for Windows 64-bit, Windows 32-bit, Linux 64-bit, Linux 32-bit or MacOS.

The conveks source code is currently not publicly available: contact the authors for further information.


  1. K. Svanberg. The method of moving asymptotes - a new method for structural optimization. International journal for numerical methods in engineering, 24 (2):359–373, 1987.
  2. E. Kuci, F. Henrotte, P. Duysinx, and C. Geuzaine. Design sensitivity analysis for shape optimization based on the Lie derivative. Computer Methods in Applied Mechanics and Engineering 317 (2017), pp. 702 –722.


conveks development was funded in part by the Walloon Region under WBGreen grant No 1217703 (FEDO) and the the Belgian Science Policy under grant IAP P7/02.