Skip to main content

Platform for robust design optimization

Project description

Ārtap

Ārtap is a framework for robust design optimization in Python. It contains an integrated, multi-physical FEM solver: Agros suite, furthermore it provides simple interfaces for commercial FEM solvers (COMSOL) and meta-heuristic, bayesian or neural network based optimization algorithms surrogate modelling techniques and neural networks.

Installation

Artap and its dependencies are available as wheel packages for Windows and Linux* distributions: We recommend to install Artap under a virtual environment.

pip install --upgrade pip # make sure that pip is reasonably new
pip install artap

*The Windows versions are only partially, the linux packages are fully supported at the current version.

Basic usage

The goal of this example to show, how we can use Artap to solve a simple, bi-objective optimization problem.

The problem is defined in the following way [GDE3]:

Minimize f1 = x1
Minimize f2 = (1+x2) / x1

subject to
        x1 e [0.1, 1]
        x2 e [0, 5]

The Pareto - front of the following problem is known, it is a simple hyperbola. This problem is very simple for an Evolutionary algorithm, it finds its solution within 20-30 generations. NSGA - II algorithm is used to solve this example.

The Problem definition and solution with NSGA-II in Ārtap:

class BiObjectiveTestProblem(Problem):

    def set(self):

        self.name = 'Biobjective Test Problem'

        self.parameters = [{'name':'x_1', 'bounds': [0.1, 1.]},
                           {'name':'x_2', 'bounds': [0.0, 5.0]}]

        self.costs = [{'name': 'f_1', 'criteria': 'minimize'},
                      {'name': 'f_2', 'criteria': 'minimize'}]

    def evaluate(self, individual):
        f1 = individual.vector[0]
        f2 = (1+individual.vector[1])/individual.vector[0]
    return [f1, f2]

# Perform the optimization iterating over 100 times on 100 individuals.
problem = BiObjectiveTestProblem()
algorithm = NSGAII(problem)
algorithm.options['max_population_number'] = 100
algorithm.options['max_population_size'] = 100
algorithm.run()

References

  • [GDE3] Saku Kukkonen, Jouni Lampinen, The third Evolution Step of Generalized Differential Evolution

Citing

If you use Ārtap in your research, the developers would be grateful if you would cite the relevant publications:

[1] Pánek, David, Tamás Orosz, and Pavel Karban. ” Ārtap: robust design optimization framework for engineering applications.” arXiv preprint arXiv:1912.11550 (2019).

[2] Pánek, David, Tamás Orosz, and Pavel Karban. ” Ārtap: robust design optimization framework for engineering applications.” arXiv preprint arXiv:1912.11550 (2019).

Applications

[3] Karban, P., Pánek, D., & Doležel, I. (2018). Model of induction brazing of nonmagnetic metals using model order reduction approach. COMPEL-The international journal for computation and mathematics in electrical and electronic engineering, 37(4), 1515-1524, https://doi.org/10.1108/COMPEL-08-2017-0356.

[4] Pánek, D., Orosz, T., Kropík, P., Karban, P., & Doležel, I. (2019, June). Reduced-Order Model Based Temperature Control of Induction Brazing Process. In 2019 Electric Power Quality and Supply Reliability Conference (PQ) & 2019 Symposium on Electrical Engineering and Mechatronics (SEEM) (pp. 1-4). IEEE, 10.1109/PQ.2019.8818256.

[5] Pánek, D., Karban, P., & Doležel, I. (2019). Calibration of Numerical Model of Magnetic Induction Brazing. IEEE Transactions on Magnetics, 55(6), 1-4, 10.1109/TMAG.2019.2897571.

[6] Pánek, D., Orosz, T., Karban, P., & Doležel, I. (2020), “Comparison of simplified techniques for solving selected coupled electroheat problems”, COMPEL – The international journal for computation and mathematics in electrical and electronic engineering, Vol. 39 No. 1, pp. 220-230. https://doi.org/10.1108/COMPEL-06-2019-0244

[7] Orosz, T.; Pánek, D.; Karban, P. FEM Based Preliminary Design Optimization in Case of Large Power Transformers. Appl. Sci. 2020, 10, 1361, https://doi.org/10.3390/app10041361.

Contact

If you have any questions, do not hesitate to contact us: artap.framework@gmail.com

License

Ārtap is published under MIT license

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

artap-2020.3.26.8.tar.gz (1.1 MB view details)

Uploaded Source

Built Distribution

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

artap-2020.3.26.8-py3-none-any.whl (1.2 MB view details)

Uploaded Python 3

File details

Details for the file artap-2020.3.26.8.tar.gz.

File metadata

  • Download URL: artap-2020.3.26.8.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.3

File hashes

Hashes for artap-2020.3.26.8.tar.gz
Algorithm Hash digest
SHA256 e3ba413080c9df9bc37fdd7411ef8dc76d8276540c52b7299b52f6783a755c68
MD5 e54ef4e8469427b1b3ec1e8d31ab43c6
BLAKE2b-256 bea019b5661671055edc292c1e7d5f6d09c92cf8a4a775b9c2e88be3c4a5875d

See more details on using hashes here.

File details

Details for the file artap-2020.3.26.8-py3-none-any.whl.

File metadata

  • Download URL: artap-2020.3.26.8-py3-none-any.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.3

File hashes

Hashes for artap-2020.3.26.8-py3-none-any.whl
Algorithm Hash digest
SHA256 d3eb92fa47ddcd86f6f8987c2214bdb43a5ff65663b8b52016c88bd9a413f05e
MD5 ff8a7a810f1cbbc0ef47934570908b29
BLAKE2b-256 b8f18838807dac297e28cefd876e145718a8f5e98b9123bf4e99bb4c75c4c6ca

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