Skip to main content

A gemseo wrapper of Python version of Method of Moving Asymptothes in the implementation of Arjen Deetman.

Project description

A gemseo wrapper of Python version of Method of Moving Asymptothes in the implementation of Arjen Deetman.

Documentation

See https://gemseo.readthedocs.io/en/stable/plugins.html.

Bugs/Questions

Please use the gitlab issue tracker at https://gitlab.com/gemseo/dev/gemseo-mma/-/issues to submit bugs or questions.

License

The gemseo-mma source code is distributed under the GNU LGPL v3.0 license. A copy of it can be found in the LICENSE.txt file. The GNU LGPL v3.0 license is an exception to the GNU GPL v3.0 license. A copy of the GNU GPL v3.0 license can be found in the LICENSES folder.

The gemseo-mma examples are distributed under the BSD 0-Clause, a permissive license that allows to copy paste the code of examples without preserving the copyright mentions.

The gemseo-mma documentation is distributed under the CC BY-SA 4.0 license.

The gemseo-mma product depends on other software which have various licenses. The list of dependencies with their licenses is given in the CREDITS.md file.

Installation

pip install gemseo-mma

Usage

Like any other gemseo wrapped solver, MMA solver can be called setting the algo option to "MMA". This algorithm can be used for single objective continuous optimization problem with non-linear inequality constraints.

Advanced options:

  • tol: The KKT residual norm tolerance. This is not the one implemented in GEMSEO as it uses the local functions to be computed.
  • max_optimization_step: Also known as move parameter control the maximum distance of the next iteration design point from the current one. Reducing this parameter avoid divergence for highly non-linear problems.
  • min_asymptote_distance: The minimum distance of the asymptotes from the current design variable value.
  • max_asymptote_distance: The maximum distance of the asymptotes from the current design variable value.
  • initial_asymptotes_distance: The initial asymptote distance from the current design variable value.
  • asymptotes_distance_amplification_coefficient The incremental factor of asymptote distance from the current design variable value for successful iterations.
  • asymptotes_distance_reduction_coefficient: The decremental factor of asymptote distance from the current design variable value for successful iterations.
  • conv_tol: If provided control all other convergence tolerances.

The shortest is the distance of the asymptotes, the highest is the convexity of the local approximation. It's another mechanism to control the optimization step. You can find an example in examples/analytic_example.ipynb.

Contributors and acknowledgment

References

Svanberg, K. (1987). The Method of Moving Asymptotes -- A new method for structural optimization. International Journal for Numerical Methods in Engineering 24, 359-373. doi:10.1002/nme.1620240207, see https://onlinelibrary.wiley.com/doi/abs/10.1002/nme.1620240207.

Svanberg, K. (n.d.). MMA and GCMMA -- two methods for nonlinear optimization. Retrieved August 3, 2017 from https://people.kth.se/~krille/mmagcmma.pdf

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

gemseo_mma-2.0.1-py3-none-any.whl (20.8 kB view hashes)

Uploaded Python 3

Supported by

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