MIDACO - Solver
Home About Download More Contact

  

Mixed Integer Distributed Ant Colony Optimization

MIDACO is an innovative optimization software of industrial strength for continuous, combinatorial (integer/binary) and mixed integer problems. The underlying algorithm is based on a stochastic Gauss approximation technique (also known as Ant Colony Optimization) and its combination with the novel oracle penalty method. It's development was focused especially on constrained mixed integer nonlinear programming (MINLP) problems, but due to the generality of this problem class, the software is well applicable on many different kind of optimization problems. MIDACO is constructed as a derivative free black-box solver, handling all its parameter by itself.

The motivation behind MIDACO is to provide a very powerful, but still userfriendly software tool for some major classes of optimization problems (purely continuous, purely integer/categorical and mixed domains). In respect to the userfriendliness, MIDACO is distributed within only a single file of source code, making its compilation and usage exceptionally easy. MIDACO is a stand alone routine and does not require any external dependencies (like LAPACK). The Software is originally written in Fortran77 (by reverse communication), has a direct C translation and a Matlab gateway (via MEX). Based on this general fundament, it can be linked via gateways in principle to all major programming languages (e.g. Python, Java) on all platforms..

Due to the userfriendliness, only the most basic problem information must be provided by the user to run the MIDACO software. This is an objective function (and in case some constraints), the dimension of the optimization variables (and in case the number and type of constraints) and lower and upper bounds for the optimization variables. No specific knowledge or parameter tuning of the MIDACO algorithm is required. MIDACO selects all its parameter by some Autopilot mode, which also includes automatic internal restarts that help the algorithm to escape from local solutions or to refine the solution quality. The price of this selftuning is a relatively large number of function evaluation needed by MIDACO to reach the global optimal solution (good solutions are often found after few evaluation). For many users, where the function evaluation is computational inexpensive, this is no matter of concern, because the software is extremely time efficient. On a standard PC it is able to process millions of interates within seconds (using Fortran or C). As a consequence, MIDACO provides a very good cpu time performance on computational inexpensive applications. In case of cpu time expensive applications that might occur to some advanced users, MIDACO can still be a promising choice because of it's platform independent parallelization option.

A special feature of MIDACO is its capability of (massive) parallelization. The parallelization option of MIDACO is based on the reverse communication concept and can be used on all common computer architectures supporting distributed computing (incl. HPC & GPU). This feature aims on parallelizing the (cpu time expensive) evaluation of the objective- and constraints functions. It is intended for very time consuming applications, where a single evaluation requires seconds, minutes or even hours.

A detailed numerical study on the MIDACO performance and its comparison with several state of the art MINLP solvers on a set of 100 non-convex MINLP benchmarks can be found here. This paper also illustrates and discusses the MIDACO parallelization option. For further details on the algorithm, please consult the literature references given below or contact the author directly.

 

Publications

 

*new*   Schlüter, M.:

Non-linear mixed-integer-based Optimisation Technique for Space Applications

Ph.D. Thesis, University of Birmingham (UK) (2012) [PDF coming soon]

 

*new*   Schlüter, M., Gerdts, M., Rückmann J.J.:

A Numerical Study of MIDACO on 100 MINLP Benchmarks

Optimization, Taylor & Francis, accepted (2012) [Preprint]

 

Schlüter, M., Gerdts, M.:

The oracle penalty method.

 Journal of Global Optimization, Vol. 47, Issue 2, Page 293-325 (2010)  [Preprint]

 

Schlüter, M., Egea, J. A., Antelo L.T., Alonso A.A., Banga, J. R.:

An extended ant colony optimization algorithm for integrated process and control system design.

Industrial & Engineering Chemistry, Vol. 48, Issue 14, Page 6723-6738 (2009)  [Preprint]

 

Schlüter, M., Egea, J. A., Banga, J. R.:

Extended ant colony optimization for non-convex mixed integer nonlinear programming.

Computers & Operations Research, Vol. 36 , Issue 7, Page 2217-2229 (2009)  [Preprint]

 

 

[ Results refer to MIDACO 0.3 betaversion]

ESA NPI Day 2010 - Poster

Schlueter M., Rückmann J.J., Gerdts M.:

Non-linear mixed-integer-based Optimisation Technique for Space Applications.

JPG  (low quality 1 MB) 
PDF (high quality 8 MB)

 

 www.midaco-solver.com