OPTANO Algorithm Tuner Documentation
OPTANO Algorithm Tuner (OAT) is a .Net-API that helps tuning (finding near-optimal parameter) for any given target algorithm. It is easy to use and full featured. For detailed information, please see What is OAT?
OAT is part of the OPTANO Platform, the perfect base for planning and optimization software.
Easy Start
Source code
- The souce code of OAT can be found at https://github.com/OPTANO/optano.algorithm.tuner.
- The source code of the Generic OAT Application and the exemplary target algorithm adapters can be found at https://github.com/OPTANO/optano.algorithm.tuner.examples.
Help and Information
The User Documentation
The User Documentation gives help for getting started with OAT. Among others it provides
- all information to get started
- detailed preparation tips
- tips for basic usage of the Generic OAT Application
The Developer Documentation
The Developer Documentation gives help for advanced usage of OAT. Among others it provides
- tips for advanced usage of OAT
- detailed information about exemplary target algorithm adapters
- detailed information about the innovative gray box extension of OAT to minimize the overall tuning time
The API Documentation
Every detail about the exposed API.
Change-Log
Find information about changes and new features in the Change-Log.
Support
- For all inquiries, questions and bug reports refer to the issue section of the OAT repository. We'd like to help!
- For all legal requests (e.g. questions regarding copyright, non-commercial license or commercial license), please contact OPTANO.
Credits
OAT is maintained by OPTANO GmbH, Paderborn, Germany
It was created by
- Lars Beckmann, Paderborn University
- Britta Heymann, OPTANO GmbH, Paderborn
- Robin Kemminer, OPTANO GmbH, Paderborn
- Jens Peter Kempkes, OPTANO GmbH, Paderborn
- Jannick Lange, OPTANO GmbH, Paderborn
- Kevin Tierney, Bielefeld University
The theoretical foundations of OAT are based on several papers
- The representation of problem instances and the GGA tuning algorithm were introduced in A Gender-Based Genetic Algorithm for the Automatic Configuration of Algorithms by Carlos Ansotegui Gil, Meinolf Sellmann and Kevin Tierney which was published in Proceedings of the 15th intern. Conference on the Principles and Practice of Constraint Programming (CP-09), Springer LNCS 5732, pp. 142-157, 2009.
- The model-based crossover operator is based on the paper Model-Based Genetic Algorithms for Algorithm Configuration by Carlos Ansótegui, Yuri Malitsky, Horst Samulowitz, Meinolf Sellmann and Kevin Tierney which was published in the Proceedings of the Twenty-Fourth International Joint Conference on Artificial Intelligence (IJCAI 2015).
- The alternative tuning algorithm JADE was introduced as a continuous optimization method in JADE: Adaptive Differential Evolution With Optional External Archive by Jingqiao Zhang and Arthur C. Sanderson, which was published in IEEE Transactions on Evolutionary Computation, vol. 13, no. 5, pp. 945-958, Oct. 2009.
- Its technique for constraint handling has been presented in Experimental Comparison of Methods to Handle Boundary Constraints in Differential Evolution by Jarosłlaw Arabas, Adam Szczepankiewicz and Tomasz Wroniak, which was published in Parallel Problem Solving from Nature, PPSN XI. PPSN 2010. Lecture Notes in Computer Science, vol 6239. Springer, Berlin, Heidelberg.
- The implemenation of the alternative tuning algorithm active CMA-ES follows The CMA Evolution Strategy: A Tutorial. by Nikolaus Hansen, which is available at ArXiv e-prints, arXiv:1604.00772, 2016. 2005.
It also makes use of several practical hints provided on Nikolaus Hansen's website.
Basic ideas for distributed execution have been adopted from the project Distributed Gender-Based Genetic Algorithm for the Automatic Configuration of Algorithms by Josep Pon Farreny.
Many people and companies have supported this project with
- Ideas and code
- Fine algorithms to tune
- and intense testing of new versions.
Thanks for all your help!
This project is supported by the German Federal Ministry of Economics and Technology (BMWi) and the Central Innovation Program for small and medium-sized Enterprises (ZIM).
Licenses
This version of OAT is distributed under the MIT license.
This project links to the following nuget packages:
- Akka.Cluster
- Akka.Logger.NLog
- Akka.Serialization.Hyperion
- MathNet.Numerics
- NDesk.Options.Patched
- OPTANO.Modeling.Gurobi
- OptimizedPriorityQueue
- TinyCsvParser
- StyleCop.Analyzers
Moreover its test project links to the following nuget packages:
- Accord.Statistics
- Akka.TestKit.Xunit2
- coverlet.collector
- Microsoft.NET.Test.Sdk
- Moq
- Shouldly
- xunit
- xunit.runner.visualstudio
- Xunit.SkippableFact
Please refer to the named nuget pages for further license information and indirectly used nuget packages.