Optimization problems are ubiquitous in science, engineering, economics, and especially in machine learning. Traditionally, their efficient solution requires the implementation of customized and optimized solvers. Implementing and tuning a specialized solver can take weeks or even months. With GENOExternal link we dramatically speed up the development process for continuous optimization problems without sacrificing the efficiency of the solvers. GENO automatically generates solvers for almost any continuous optimization problem. It consists of a simple yet flexible modeling language, a symbolic differentiation module for vector and matrix expressions (MatrixcalculusExternal link), and a generic solver that makes use of the symbolic derivatives.
GENO is described in the publications:
- S. Laue, M. Blacher and J. Giesen. Optimization for Classical Machine Learning Problems on the GPU.External link Proceedings of the 36th AAAI Conference on Artificial Intelligence (AAAI), (2022) 7300-7308 (extended arXiv versionExternal link)
- S. Laue, M. Mitterreiter and J. Giesen. GENO – GENeric Optimization for Classical Machine LearningExternal link. Proceedings of the 33d Conference on Neural Information Processing Systems (NeurIPS), (2019) 2187-2198 (extended arXiv versionExternal link)
- J. Giesen, L. Kuehne, and S. Laue. The GENO Software Stack.External link In Algorithms for Big Data. Editors H. Bast, C. Korzen, U. Meyer, and M. Penschuck. (2022) 213-228
The project has been funded by Deutsche Forschungsgemeinschaft (DFG)External link within the priority program Algorithms for Big Data (SPP 1736)External link and under the grant LA 2971/1-1.