Readme.md 2.43 KB
Newer Older
Dominik Bongartz's avatar
Dominik Bongartz committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# MAiNGO - McCormick-based Algorithm for mixed-integer Nonlinear Global Optimization

Thank you for using the beta version 0.2.0 of MAiNGO! If you have any issues, concerns, or comments, please communicate them using the "Issues" functionality in [GitLab](https://git.rwth-aachen.de/avt.svt/public/MAiNGO.git)  or send an e-mail to MAiNGO@avt.rwth-aachen.de.

## About

General information about the capabilities and main algorithmic features of MAiNGO can be found in our technical report available on [our website](http://permalink.avt.rwth-aachen.de/?id=729717). For a more detailed description of the algorithm, a complete list of available options, and an installation guide please refer to the documentation in the git at `doc/html/index.html`.

## Obtaining MAiNGO

The MAiNGO git repository contains submodules for all dependencies. Hence, to obtain MAiNGO, you need to use the following commands (on Windows, you might need to get Git Bash first).

    $ git clone https://git.rwth-aachen.de/avt.svt/public/MAiNGO.git <directory>
    $ cd <directory>
    $ git submodule init
    $ git submodule update -j 1

Make sure that you change to the git MAiNGO directory before executing the `init` and `update` commands.

For Windows users, we recommend to use https and for Linux OS users, we recommend SSH to avoid multiple username and password inputs.   If you want to switch from https to SSH, simply execute the shellscript `switchToSsh` and `switchToHttps` for switching from SSH to https.   For more info on SSH keys, see the GIT documentation on SSH authentication which can be found under `Help->SSH authentication` in your GitLab.  If you are having https authentication problems on Windows, please make sure that your credential manager has the correct settings. The Windows credential manager can be found at
 `Control Panel->User Accounts->Manage your credentials`.  

If you want to make sure that the above worked, you can check that each dependency folder is non-empty.  
In case that the above DID NOT work properly, use the following commands.

	$ git submodule foreach git checkout master
	$ git submodule foreach git pull

A note for users more familiar with git: `git submodule update` is executed without the `--recursive` option.
This avoids instantiating any indirect dependencies; in the repository design of MAiNGO, all dependencies (including indirect ones) are present in `dep`. It is also executed using only one process `-j 1` to avoid input failures.