MAiNGO Reader Writer Utility
MAiNGO Reader Writer Manual
Authors
Dominik Bongartz, JaromiƂ Najman, Susanne Sass, Alexander Mitsos
Date
12.06.2020


Introduction

Welcome to MAiNGO! If you have any issues, concerns, or comments, please communicate them using the "Issues" functionality in GitLab or write an e-mail to MAiNG.nosp@m.O@av.nosp@m.t.rwt.nosp@m.h-aa.nosp@m.chen..nosp@m.de.


What is the MAiNGO Reader Writer utility?

The MAiNGO Reader Writer utility is a seperate tool, that can be used to write an ALE problem.txt or a MAiNGO problem.h file out of a GAMS convert file. In order to generate a GAMS convert file, you have to set your solver to convert and execute the solution process in GAMS. In general, this generates a gams.gms file which then can be used as input for the MAiNGO Reader Writer utility. It is also possible to translate whole folders of GAMS convert files. If you additionally provide the GAMS dictionary file (dict.txt), this tool will rename the default GAMS convert variables to your original ones.

The MAiNGO Reader Writer utility can also be used to read information such as time needed, number of iterations or the final lower bound from MAiNGO log files. This can be useful when one wants to automatically process many log files and, e.g., generate tables automatically.


Which compiliers are supported?

The MAiNGO Reader Writer utility has been successfully tested for GCC and Visual Studio compilers.
The Intel compiler currently does not support the C++17 filesystem package making a compilation of the MAiNGO Reader Writer tool not possible.


How to use the MAiNGO Reader Writer utility?

After generating and compiling the project, first take a look into the main.cpp. Here you see how to read a GAMS convert file. You can either specify the path to the GAMS convert file in the main.cpp by replacing the gamsFile string or by directly calling the MAiNGOReaderWriter.exe with an additional command line argument specifiying the path to your GAMS convert file. You can also print the information about the currently read GAMS file. Note that reading in a new GAMS file overrides all internal information about the problem.

After reading the GAMS convert file, you can either write an ALE problem.txt file or write a MAiNGO problem.h file out of the lastly read in GAMS convert file. This enables the translation of GAMS convert files to MAiNGO specific input files. Please note that a direct way of using GAMS convert files as input for MAiNGO represents one of the works in progress.

Please note that it is possible to directly translate multiple GAMS convert files to MAiNGO problem files or ALE problem files.

Furthermore, the MAiNGO Reader Writer utility can be used to read MAiNGO log files in order to process the information further and, e.g., write a table. It is also possible to print the information read from a MAiNGO log file.