# Ā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](https://docs.python.org/3/tutorial/venv.html).
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.
### Linux
You can install the full package, which contains the agrossuite package by the following command:
pip install --upgrade pip # make sure that pip is reasonably new
pip install artap[full]
## 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] Karban, Pavel, David Pánek, Tamás Orosz, Iveta Petrášová, and Ivo Doležel. “FEM based robust design optimization with Agros and Ārtap.” Computers & Mathematics with Applications (2020) https://doi.org/10.1016/j.camwa.2020.02.010.
[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, https://doi.org/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, https://doi.org/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](https://en.wikipedia.org/wiki/MIT_License)
Raw data
{
"_id": null,
"home_page": "http://www.agros2d.org/artap/",
"name": "artap",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": "",
"keywords": "",
"author": "Artap Team",
"author_email": "artap.framework@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/87/c2/74e5960ce156ae428f13f6bc8833d4172b26fc68509505bce20f0f70227b/artap-2024.2.19.3045.tar.gz",
"platform": null,
"description": "# \u0100rtap\n\n\u0100rtap 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.\n\n## Installation\n\nArtap and its dependencies are available as wheel packages for Windows and Linux* distributions:\nWe recommend to install Artap under a [virtual environment](https://docs.python.org/3/tutorial/venv.html).\n\n pip install --upgrade pip # make sure that pip is reasonably new\n pip install artap\n\n*The Windows versions are only partially, the linux packages are fully supported at the current version.\n\n### Linux \n\nYou can install the full package, which contains the agrossuite package by the following command:\n\n pip install --upgrade pip # make sure that pip is reasonably new\n pip install artap[full]\n\n## Basic usage\n\nThe goal of this example to show, how we can use Artap to solve a simple, bi-objective optimization problem.\n\nThe problem is defined in the following way [GDE3]:\n\n Minimize f1 = x1\n Minimize f2 = (1+x2) / x1\n\n subject to\n x1 e [0.1, 1]\n x2 e [0, 5]\n\nThe 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.\n NSGA - II algorithm is used to solve this example.\n\n### The Problem definition and solution with NSGA-II in \u0100rtap:\n\n class BiObjectiveTestProblem(Problem):\n\n def set(self):\n\n self.name = 'Biobjective Test Problem'\n \n self.parameters = [{'name':'x_1', 'bounds': [0.1, 1.]},\n {'name':'x_2', 'bounds': [0.0, 5.0]}]\n\n self.costs = [{'name': 'f_1', 'criteria': 'minimize'},\n {'name': 'f_2', 'criteria': 'minimize'}]\n\n def evaluate(self, individual):\n f1 = individual.vector[0]\n f2 = (1+individual.vector[1])/individual.vector[0]\n return [f1, f2]\n \n # Perform the optimization iterating over 100 times on 100 individuals.\n problem = BiObjectiveTestProblem()\n algorithm = NSGAII(problem)\n algorithm.options['max_population_number'] = 100\n algorithm.options['max_population_size'] = 100\n algorithm.run()\n\n## References\n\n* [GDE3] Saku Kukkonen, Jouni Lampinen, The third Evolution Step of Generalized Differential Evolution\n\n\n## Citing\n\nIf you use \u0100rtap in your research, the developers would be grateful if you would cite the relevant publications:\n\n[1] Karban, Pavel, David P\u00e1nek, Tam\u00e1s Orosz, Iveta Petr\u00e1\u0161ov\u00e1, and Ivo Dole\u017eel. \u201cFEM based robust design optimization with Agros and \u0100rtap.\u201d Computers & Mathematics with Applications (2020) https://doi.org/10.1016/j.camwa.2020.02.010.\n\n[2] P\u00e1nek, David, Tam\u00e1s Orosz, and Pavel Karban. \u201d \u0100rtap: robust design optimization framework for engineering applications.\u201d arXiv preprint arXiv:1912.11550 (2019).\n\n### Applications\n[3] Karban, P., P\u00e1nek, D., & Dole\u017eel, 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.\n\n[4] P\u00e1nek, D., Orosz, T., Krop\u00edk, P., Karban, P., & Dole\u017eel, 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, https://doi.org/10.1109/PQ.2019.8818256.\n\n[5] P\u00e1nek, D., Karban, P., & Dole\u017eel, I. (2019). Calibration of Numerical Model of Magnetic Induction Brazing. IEEE Transactions on Magnetics, 55(6), 1-4, https://doi.org/10.1109/TMAG.2019.2897571.\n\n[6] P\u00e1nek, D., Orosz, T., Karban, P., & Dole\u017eel, I. (2020), \u201cComparison of simplified techniques for solving selected coupled electroheat problems\u201d, COMPEL \u2013 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\n\n[7] Orosz, T.; P\u00e1nek, 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.\n\n## Contact\n\nIf you have any questions, do not hesitate to contact us: artap.framework@gmail.com\n\n## License\n\n\u0100rtap is published under [MIT license](https://en.wikipedia.org/wiki/MIT_License)\n",
"bugtrack_url": null,
"license": "License :: OSI Approved :: MIT License",
"summary": "Platform for robust design optimization",
"version": "2024.2.19.3045",
"project_urls": {
"Homepage": "http://www.agros2d.org/artap/"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "4dcf03680ce522fb16514720e04ca2ba4bede234e2a046dd4eed23811ff50022",
"md5": "f3aa170004a526efbed30561ca5cd2b6",
"sha256": "1cdce581a4c29b9dfdb2103636d136f4488f78fc5c49d8675dd5bf6e8e03cdc2"
},
"downloads": -1,
"filename": "artap-2024.2.19.3045-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f3aa170004a526efbed30561ca5cd2b6",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 356752,
"upload_time": "2024-02-19T08:47:46",
"upload_time_iso_8601": "2024-02-19T08:47:46.713596Z",
"url": "https://files.pythonhosted.org/packages/4d/cf/03680ce522fb16514720e04ca2ba4bede234e2a046dd4eed23811ff50022/artap-2024.2.19.3045-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "87c274e5960ce156ae428f13f6bc8833d4172b26fc68509505bce20f0f70227b",
"md5": "89a874566bce0167a635fedf2fd66d68",
"sha256": "d001820ef69284f722cdf0c60915bb4378688597aa165f3ca05838c12c233aed"
},
"downloads": -1,
"filename": "artap-2024.2.19.3045.tar.gz",
"has_sig": false,
"md5_digest": "89a874566bce0167a635fedf2fd66d68",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 326132,
"upload_time": "2024-02-19T08:47:48",
"upload_time_iso_8601": "2024-02-19T08:47:48.991550Z",
"url": "https://files.pythonhosted.org/packages/87/c2/74e5960ce156ae428f13f6bc8833d4172b26fc68509505bce20f0f70227b/artap-2024.2.19.3045.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-02-19 08:47:48",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "artap"
}