# Knowledge base: Warsaw University of Technology

Back

## Development of the DOML compiler by providing a code generator for the IPOPT solver

### Piotr Goczyński

#### Abstract

The following thesis covers the effects of the author's effort to provide the DOML compiler with a functionality of generating code which calls the IPOPT solver's methods in order to solve static non-linear optimization problems. DOML is a language for modeling many types of optimization problems including dynamic optimization tasks. It is being developed at Warsaw University of Technology. The thesis contains theoretical foundations of optimal control problems, which DOML is mainly used for. It discusses difficulties faced when solving such tasks, and presents existing software which is being used for the purpose. Among others, DOMLis discussed more thoroughly, together with its associated server – IDOS. Real problems are used to explain DOML syntax and basic characteristics of the language. The thesis also explains the concept of IDOS server, as well as the DOML compiler. It discusses the interior point algorithm which is being used by the IPOPT solver. The solver's C++ API, which was used by the author,is also explained. The paper contains the author's concept of developing the requested functionality. It required producing a simple yet powerful algorithm for symbolic differentiation which is explained thouroghly in the document. Extracts from code files created by the author are being presented, as well as the effect of an example execution of the produced software (code generated by the compiler). The thesis contains a description of the test environment as well as an explanation of software tests carried out by the author. The test results are presented along witha recommendation, that the software is ready to be integrated with the rest of the DOML/IDOS project. The provided report covering the tests, proves that the implemented module acts correctly. It takes a DOML problem that it is provided with, calls IPOPT's methods accordingly, and returnsa result of a real-variable, non-linear, static optimization problem. In the summary of this thesis, the reader is provided with conclusions from the whole process, from the analysis of the existing project and the problem, to the final software tests. Potential future development directions are pointed out, both for the whole project and for the very module being developed by the author.
Diploma type
Engineer's / Bachelor of Science
Diploma type
Engineer's thesis
Author
Piotr Goczyński (FEIT/AK) Piotr Goczyński,, The Institute of Control and Computation Engineering (FEIT/AK)Faculty of Electronics and Information Technology (FEIT)
Title in Polish
Rozbudowa kompilatora języka DOML o obsługę solvera IPOPT
Supervisor
Mariusz Kaleta (FEIT/AK) Mariusz Kaleta,, The Institute of Control and Computation Engineering (FEIT/AK)Faculty of Electronics and Information Technology (FEIT)
Certifying unit
Faculty of Electronics and Information Technology (FEIT)
Affiliation unit
The Institute of Control and Computation Engineering (FEIT/AK)
Study subject / specialization
, Informatyka (Computer Science)
Language
(pl) Polish
Status
Finished
Defense Date
23-09-2019
Issue date (year)
2019
Reviewers
Mariusz Kaleta (FEIT/AK) Mariusz Kaleta,, The Institute of Control and Computation Engineering (FEIT/AK)Faculty of Electronics and Information Technology (FEIT) Tomasz Śliwiński (FEIT/AK) Tomasz Śliwiński,, The Institute of Control and Computation Engineering (FEIT/AK)Faculty of Electronics and Information Technology (FEIT)
Keywords in Polish
sterowanie optymalne, zadania nieliniowej optymalizacji statycznej, różniczkowanie symboliczne, solver IPOPT, języki modelowania dynamicznego, metoda punktu wewnętrznego, DOML, IDOS
Keywords in English
optimal control, non-linear static optimization, symbolic differentiation, IPOPT solver, dynamic modeling languages, interior point method, DOML, IDOS
Abstract in Polish
File
• File: 1
253088_inz.pdf
Request a WCAG compliant version
Local fields
Identyfikator pracy APD: 35815

Uniform Resource Identifier
https://repo.pw.edu.pl/info/bachelor/WUTf4dfa265d4fb48a293e9b63969fd1db8/
URN
urn:pw-repo:WUTf4dfa265d4fb48a293e9b63969fd1db8

Confirmation
Are you sure?