[evofunc] evolutionary optimisation package |
Introduction
This C++ library implements an evolutionary optimisation method, one of many methods to do non-linear optimisation. If you have a function for which you'd like to find a global minimum, and can't do so analytically, then maybe this package will help.
The library is designed for the following problem in particular: given a source
object that can be transformed, what are the transformation
parameters that take the source closest to the target? Or, in a schematic:
- the type of the source, transformed source, and target object
- a function that transforms an object of the source type, given a set of parameters
- a function that computes an error value given an object of the transformed source type and one of the target type
Features
- small
- easy to install and compile
- compiles under Linux, Mac OS X, and Windows
- contains default settings for parameters that should work in most cases, so no need to tweak parameters
The package is designed using a technique called Traits classes. The manual contains some explanation on how these work.
Download
- everything (the source code, manual, and "Doxygen" source code reference pages, .tar.gz, 95K)
- just the manual (PDF, 73K)
- go to the source code reference pages
Compiling
The archive file will unpack to a subdirectory evofunc-0.47
- Linux and Mac OS X
- run make in the directory evofunc-0.47/src/lib
- add this directory to your include file search path (with -I) and your library file search path (with -L)
- add -levofunc to your link line
- this package was successfully compiled under Linux kernel 2.4.20, using gcc 3.2.2, and under Mac OS X kernel Darwin 6.8, also using gcc
- Windows
- create a Win32 project and set it to "static library" and "no precompiled headers"
- change the project location to evofunc-0.47/src/lib
- add all the files in evofunc-0.47/src/lib
- build the project
- this package was successfully compiled under Windows 2000, using Visual Studio C++ 7.1
Feedback
This is only version 0.47 of the package, and there is much room for improvement and extensions. Send me e-mail (patrick dot n dot min at gmail dot com) if you have any questions!Thanks to Zhang Hao, Frank ter Haar, Tim Adelaar, and Rainer Typke for sending their bug-fixes and suggestions.
This work was supported by the GIVE Center at Utrecht University, the Netherlands, and the Dutch Technical Science Foundation (STW).
You are visitor number 59777
Last modified: Tue Jul 4 08:13:53 CEST 2006
Patrick Min