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}
{.align-center width="400px"}
Official documentation
Contribute and support
- Issue tracker: https://gitlab.com/florian.feppon/null-space-optimizer/-/issues
- Source code: https://gitlab.com/florian.feppon/null-space-optimizer
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.
Metadata
Release files for nullspace-optimizer 1.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| nullspace_optimizer-1.3.0.tar.gz | 85.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| nullspace_optimizer-1.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 219.2 kB
Release files / nullspace_optimizer-1.3.0.tar.gz
| Download URL | nullspace_optimizer-1.3.0.tar.gz |
|---|---|
| Size | 85.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
779214302b6d09b36bae8a0fc04cf7381f3d8b4c2a851fb0e918de8feb33fb01
|
|
BLAKE2b-256 checksum How to use checksums |
69740b8c958bae9dd03aec8af2010d0c5000cd70fe72c25431e2ffc4b551bdd3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.5
|
Release files / nullspace_optimizer-1.3.0-py3-none-any.whl
| Download URL | nullspace_optimizer-1.3.0-py3-none-any.whl |
|---|---|
| Size | 134.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
992ee8cb8753dfaf852e94de9e04fb69e4c836c40d9216a688c2a05e3415ca7e
|
|
BLAKE2b-256 checksum How to use checksums |
1223a3fbd0f48767c8712f9572b744ffbf777c81b9211445ece82583388c3c0a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.5
|