ReleaseNotes.txt 4.95 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
Release version 0.5.0 (June 14th, 2021):
    - New features & availability:
        - MAiNGO is now also available from PyPI for use via Python
        - New intrinsic functions: fstep & bstep, i.e. unit steps from 0 to 1 (or vice version) at x=0
    - Bugfixes:
        - Fixed bug that caused instant crashes of the MPI parallelized version on some systems (see info on MUMPS below)
        - Minor fixes to ensure compatibility with GCC 11
        - Several fixes in MAiNGO_Reader_Writer utility to avoid compile errors with different versions of GCC and MSVC 2019
    - Misc:
        - Now using GitLab CI/CD for automated testing
        - The documentation of MAiNGO is now hosted via GitLab Pages (see links in Readme.md)
        - Now giving more information on third-party software (local / linear solvers etc.) used
        - Now printing more comprehensive information about the initial point (constraint residuals etc.) when using BAB_verbosity = VERB_ALL
    - Third-party libraries:
        - Upgraded to MUMPS 5.4.0; also renamed all routines called MPI_* to FPI_* to avoid issues with the fake MPI implementation of MUMPS
          when using MAiNGO with actual MPI parallelization

Dominik Bongartz's avatar
Dominik Bongartz committed
18
19
20
21
22
23
24
25
26
27
28
29
30
Release version 0.4.0 (March 4th, 2021):
    - New features:
        - MAiNGO now has a Python API. It consists of Python bindings for the C++ API and thus works very similarly to the latter
    - Examples & documentation:
        - Added more information on output (screen & files) and algorithm of MAiNGO
        - Added information on Python interface
        - Added an example for the Python API to examples/01_BasicExample
    - Misc:
        - Various bugfixes (e.g., avoiding potential crashes of the B&B or in the parallel version etc.)
        - Improved error reporting
        - Renamed a few options as well as methods of the MAiNGO class to be more descriptive
        - Fixed random seeds for CPLEX and CLP
        - Improved diagnostic output for problems without objective or with constant objective
Dominik Bongartz's avatar
Dominik Bongartz committed
31
    - Third-party libraries:
Dominik Bongartz's avatar
Dominik Bongartz committed
32
33
34
35
36
        - Included pybind11 for the Python API
        - New version of babbase containing minor bugfixes, and now also allowing binary variables without explicit bounds
        - New version of mcpp containing bugfixes in relaxations and constraint propagation


Dominik Bongartz's avatar
Dominik Bongartz committed
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
Release version 0.3.0 (June 12th, 2020):
	- New features:
		- MAiNGO now uses the toolkit MeLOn - Machine Learning Models for Optimization
			- MeLOn contains tools for modeling and training different machine learning models such as artificial neural networks or Gaussian processes
			- The models from MeLOn can now be used when writing problems for the C++-API of MAiNGO
			- These models use some custom relaxations available in MAiNGO through MC++ for faster convergence
			- In order to use MeLOn within MAiNGO, the Cmake flag MAiNGO_build_melon needs to be set to true (default)
			- Note that MeLOn is not compatible with current Intel Compilers due to missing C++17 features
	- MAiNGO algorithm:
		- The parser now preserves the order of variable declaration and does not eliminate variables that do not occur in the problem
		- Added new intrinsic functions (for more details, see doc/implementedFunctions/Implemented_functions.pdf):
			- Common acquisition functions for Bayesian optimization:
				- Lower confidence bound
				- Expected improvement
				- Probability of improvement
	- Examples & documentation:
		- Examples were added for the use of the models from MeLOn:
			- An example for problems with artificial neural networks embedded
			- An example for problems with Gaussian processes embedded (e.g., minimizing the prediction or variance of a Gaussian process)
			- An example for using MAiNGO within Bayesian optimization (i.e., maximizing/minimizing typical acquisition functions for Bayesian optimization that use Gaussian processes)
		- The documentation for building MAiNGO was improved
		- A section on the output written by MAiNGO was added
Dominik Bongartz's avatar
Dominik Bongartz committed
59
	- Third-party libraries:
Dominik Bongartz's avatar
Dominik Bongartz committed
60
61
62
63
		- Included MeLOn (see above)
		- Upgraded to new MUMPS version 5.3.1.


Jaromil Najman's avatar
Jaromil Najman committed
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
Release version 0.2.1 (February 17th, 2020):
	- Examples & Documentation:
		- Updates in readmes and manual
		- Moved example problems to folder 'examples' & added readmes for example
		- Bi-objective optimization:
			- Added utility for plotting Pareto fronts
			- Added examples for epsilon-constraint method for bi-objective problems
		- Improved output of MAiNGO (e.g., for Branch-and-Bound; missing input files; ...) and CMake
	- MAiNGO algorithm:
		- Added new intrinsic functions (for more details, see doc/implementedFunctions/Implemented_functions.pdf):
			- covariance functions for Gaussian processes
			- function 'regnormal'
			- Gaussian PDF functions
		- Fixes in algorithms
		- Fixes in parser
		- Fixes in computation of relaxations (through update of MC++).
	- MAiNGO_Reader_Writer utility:
		- Now reading dict.txt file generated by GAMS convert to retain original variable and equation names (or similar).


Release version 0.2.0 (November 8th, 2019):
    - Initial release