MAiNGO
Special Uses of MAiNGO

Using MAiNGO as a multi-start local solver:

Simply activate the option PRE_pureMultistart, which disables B&B as well as range reduction at the root node, respectively. Set the number of max local searches to the total number of searches you want to perform, and possibly specify an initial point, see section Modeling in MAiNGO. Set your local solver using UBP_solverPreprocessing and make sure that UBP_maxStepsPreprocessing is not too small. Enable PRE_printEveryLocalSearch to obtain output from every local search. Note that in this case, the returned solution is obviously not guaranteed to be global.

Using MAiNGO as a pure B&B Solver:

Set PRE_obbtMaxRounds=0, disable BAB_constraintPropagation, BAB_dbbt, BAB_probing and BAB_alwaysSolveObbt. If desired, also set PRE_maxLocalSearches=0 to avoid multi-start at the root node.

Using MAiNGO to check feasibility of a single point:

From C++ of Python, simply use the function evaluate_model_at_point to simply evaluate a point of interest. Otherwise, set up the optimization problem using arbitrary bounds containing the point of interest. Proceed like for using MAiNGO as a multi-start local solver, but set PRE_maxLocalSearches to 0.

Using MAiNGO to solve Bi-objective Problems:

MAiNGO implements the epsilon-constraint method for bi-objective problems, that is currently available through the C++ API only. To define a bi-objective problem, please take a look at the exemplary examples/03_Biobjective/problemEpsCon.h file. The implementation is very similar to the one described in section Modeling in MAiNGO with the difference that now two objectives are required. To solve the bi-objective problem uncomment the appropriate code lines in examples/mainCppApi.cpp.

Using MAiNGO to write Files in other Modeling Languages:

The most convenient way is to use the setting modelWritingLanguage which will automatically write the current model to a file called MAiNGO_written_model (with a filename extension depending on the chosen language) before solving your problem. The more advanced way is to use the function write_model_to_file_in_other_language, which can be called on your MAiNGO object (in C++ or Python) to automatically write your model to a file with more options than when using the setting modelWritingLanguage. An example for the use of this function can be found in the examples/mainCppApi.cpp. This function is extremely helpful if you want to do some cross-testing of solvers using the same model formulations.