Skip to main content

Python implementation of the Method of Moving Asymptotes (MMA).

Project description

GCMMA-MMA-Python

This repository contains the Python code of the Method of Moving Asymptotes (Svanberg, 1987), originally developed and written in MATLAB by Krister Svanberg. The original MATLAB code was taken from http://www.smoptit.se/ under the GNU General Public License.

If you opt to use this code, Krister Svanberg would appreciate it if you could send him an email sharing your application and intentions (the email address can be found on his website). When work is published, the authors must cite Krister Svanberg's academic work. The references can be found below.

An example application of the code in topology optimization can be found here.

Installation and Usage

The mmapy package is available on PyPi. To install it, use the following command:

pip install mmapy

After installation, you can import the package in your Python script with:

import mmapy

Cite

This repository is linked to Zenodo. To ensure accurate citation of this project and facilitate traceability in case of bugs or issues, please refer to the specific version used, including the DOI from Zenodo. You can find the corresponding DOI on the Zenodo page. Additionally, cite the original work by Krister Svanberg. The relevant references are provided below.

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
  • Svanberg, K. (n.d.). MMA and GCMMA – two methods for nonlinear optimization. Retrieved August 3, 2017 from
    https://people.kth.se/~krille/mmagcmma.pdf

License

Original work written in MATLAB: Copyright (c) 2006-2009 Krister Svanberg
Derived Python implementation: Copyright (c) 2020-2024 Arjen Deetman

GCMMA-MMA-Python is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License (file LICENSE) along with this file. If not, see http://www.gnu.org/licenses/.

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

mmapy-0.3.0.tar.gz (23.5 kB view details)

Uploaded Source

Built Distribution

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

mmapy-0.3.0-py3-none-any.whl (22.3 kB view details)

Uploaded Python 3

File details

Details for the file mmapy-0.3.0.tar.gz.

File metadata

  • Download URL: mmapy-0.3.0.tar.gz
  • Upload date:
  • Size: 23.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.19

File hashes

Hashes for mmapy-0.3.0.tar.gz
Algorithm Hash digest
SHA256 65c92e7b218f218d1dffba0c6ac34b82c2f15ec26242b0491be8b185627c4d36
MD5 4fb586d35758c71e121e4722a777a72e
BLAKE2b-256 dd48aeb3400b198fd39939e8e009ca5d8d9e48d8e531e1284ab2698ebb3f4e68

See more details on using hashes here.

File details

Details for the file mmapy-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: mmapy-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 22.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.19

File hashes

Hashes for mmapy-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5d032826f684808cc4a5dd6ce556377b39df271ac76ba2641ac631fe4103b16c
MD5 766c875ddef793a49a04dbde01857679
BLAKE2b-256 b7473127f1df322eb2a38427627dc2028b340660a8cbd14442af4f376139f1eb

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