Welcome To MendelSolve

A Genetic Algorithm Solver

MendelSolve allows you to solve optimisation problems in Excel using a genetic algorithm (GA) approach. In much the same way as Solver works it takes a target formula and adjusts inputs to minimise or maximise the result. The advantages of the genetic algorithm approach is its ability to solve non-linear problems and avoid getting locked into a local minimum or maximum. MendelSolve uses an off-the-shelf configuration that works well in most situations but does allow for various parameters to be altered.

For details of the algorithm employed see the following paper: pdf dvi ps

To remove an occasional prompt then please purchase a licence and support further development

Tutorial

 Installation For use in the current session open 'MendelSolve.xll' from its install location To install across session go to Tools->Add-Ins and browse to 'MendelSolve.xll'

 The Problem This tutorial solves a simple two dimensional problem that gradient solvers find daunting. The function has very many local maxima that are spread out around the single global minima at the origin.

 Configuring The domain is entered either as three rows, three columns or three individual cells for one dimensional problems. The first row in this example contains the minimum values of the input variables that the solver which search over. The second the maximum and finally a row for the actual inputs into the objective function. The objective function is a function of these variables here defined in B5. Click here to download this example..

 Solving Then select MendelSolve->Solve to bring up the solver configuration dialog box.For each of the domain cell pickers select the relevant rows. Do the same for the objective function cell at B5. Select 'Maximise' from the goal drop-down.Click OK to begin the solver. Once it has finished the input variables in B3:C3 contain the optimised values. Here we can see that even with the default parameters it comes very close to the origin.To improve on the result various parameters can be altered. Often increasing the trials is best. Each trial is an independent run using the next sequence of random numbers from the generator. Often it takes a few trials to 'warm-up' the generator.