mintegrated 0.0.1

Differential evolution for multidimensional minimization.


To use this package, run the following command in your project's root directory:

Manual usage
Put the following dependency into your project's dependences section:

Minimized Build Status

Library for (multi)dimensional minimization written in D. Currently limited to an implementation of adaptive differential evolution as explained in:

Brest, J., S. Greiner, B. Boskovic, M. Mernik, and V. Zumer. ‘Self-Adapting Control Parameters in Differential Evolution: A Comparative Study on Numerical Benchmark Problems’. IEEE Transactions on Evolutionary Computation 10, no. 6 (December 2006): 646–57. doi:10.1109/TEVC.2006.872133.

import minimized;

void main()
{
    // Function to minimize
    auto fn = ( double[] xs ) {
        auto p = [ 1.0, 2.0, 10, 20, 30 ];
        return p[2] * (xs[0] - p[0]) * (xs[0] - p[0]) +
            p[3] * (xs[1] - p[1]) * (xs[1] - p[1]) + p[4];
    };

    // Function which will create random initial sets of parameters 
    auto initFunction = ()
    {
        return [ uniform( 0.0, 10.0 ), uniform( 0.0, 10.0 )];
    };

    auto de = new DifferentialEvolution!(double[])();
    de.temperatureFunction = fn;
    de.randomIndividual = initFunction;

    auto min = de.minimize;

    assert( equal!approxEqual( min, [ 1, 2 ] ) );
}
Authors:
  • Edwin van Leeuwen
Dependencies:
dstats, scid
Versions:
0.2.1 2015-Sep-11
0.2.0 2015-Sep-11
0.1.2 2015-Sep-02
0.1.1 2015-Aug-27
0.1.0 2015-Aug-27
Show all 9 versions
Download Stats:
  • 0 downloads today

  • 0 downloads this week

  • 0 downloads this month

  • 166 downloads total

Score:
0.1
Short URL:
mintegrated.dub.pm