Skip to main content

Null space algorithm for nonlinear constrained optimization

Project description

Null Space Optimizer

nullspace_optimizer is a Python package implementing the null space algorithm for nonlinear constrained optimization. It has been developed in the context of topology optimization problems with the level-set and the density method, but it can in principle be used for solving arbitrary smooth nonlinear equality and inequality constrained optimization problems of the form

\begin{aligned}
\begin{aligned}
    \min_{x\in \mathcal{X}}&  \quad J(x)\\
    \textrm{s.t.} & \left\{\begin{aligned}
 g_i(x)&=0, \text{ for all } 1\leqslant i\leqslant p,\\
 h_j(x)  &\leqslant  0, \text{ for all }1\leqslant j \leqslant q,\\ 
        \end{aligned}\right.
\end{aligned}
\end{aligned}   

Optimization trajectories produced by the Null Space Optimizer for an inequality constrained optimization problem with different initialization.{.align-center width="400px"}

Official documentation

Official documentation

Contribute and support

If I am not responding on the issue tracker, feel free to send me an email to florian.feppon[at]kuleuven.be

Citation

Please cite either of the following references when using this source:

Feppon F., Allaire G. and Dapogny C. Null space gradient flows for constrained optimization with applications to shape optimization. 2020. ESAIM: COCV, 26 90 doi:10.1051/cocv/2020015

Feppon F. Density based topology optimization with the Null Space Optimizer: a tutorial and a comparison (2024).
Structural and Multidisciplinary Optimization, 67(4), 1-34.

@article{feppon2020optim,
   author = {{Feppon, F.} and {Allaire, G.} and {Dapogny, C.}},
   doi = {10.1051/cocv/2020015},
   journal = {ESAIM: COCV},
   pages = {90},
   title = {Null space gradient flows for constrained optimization with applications to shape optimization},
   url = {https://doi.org/10.1051/cocv/2020015},
   volume = 26,
   year = 2020
}
@article{Feppon2024density,
  title     = "Density-based topology optimization with the Null Space Optimizer: a tutorial and a comparison",
  author    = "Feppon, Florian",
  journal   = "Structural and Multidisciplinary Optimization",
  publisher = "Springer",
  volume    =  67,
  number    =  1,
  pages     = "1--34",
  month     =  jan,
  year      =  2024
}

Licence

The Null Space Optimizer is a free software distributed under the terms of the GNU General Public Licence GPL3.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nullspace_optimizer-1.3.0.tar.gz (85.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nullspace_optimizer-1.3.0-py3-none-any.whl (134.1 kB view details)

Uploaded Python 3

File details

Details for the file nullspace_optimizer-1.3.0.tar.gz.

File metadata

  • Download URL: nullspace_optimizer-1.3.0.tar.gz
  • Upload date:
  • Size: 85.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.5

File hashes

Hashes for nullspace_optimizer-1.3.0.tar.gz
Algorithm Hash digest
SHA256 779214302b6d09b36bae8a0fc04cf7381f3d8b4c2a851fb0e918de8feb33fb01
MD5 2529506b8ce15cbb26873d121d58c854
BLAKE2b-256 69740b8c958bae9dd03aec8af2010d0c5000cd70fe72c25431e2ffc4b551bdd3

See more details on using hashes here.

File details

Details for the file nullspace_optimizer-1.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for nullspace_optimizer-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 992ee8cb8753dfaf852e94de9e04fb69e4c836c40d9216a688c2a05e3415ca7e
MD5 615b2506f28afe2620c2eee3484af726
BLAKE2b-256 1223a3fbd0f48767c8712f9572b744ffbf777c81b9211445ece82583388c3c0a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page