Excel Ease of Use
Evolver is a true add-in to Microsoft Excel, integrating completely with your spreadsheet. Define your models, adjust your settings, run optimizations, monitor progress, and generate reports – while never leaving Excel. Streamlined dialog boxes mean fewer open windows to navigate.
Standard optimization programs such as Excel’s Solver are good at finding the best “local” solution, or combination of values to maximize or minimize the outcome of a straightforward spreadsheet model given certain constraints. They find a solution which seems to be producing favorable results and continue to work on that basis, without trying new solutions. This is known as “hill climbing.” However, these programs are not set up to handle more complicated, nonlinear problems where the best local solution may not be the best absolute answer. Evolver, using innovative “mutations” and combinations of solutions, or “organisms,” is well-suited to finding the best overall answer by exploring the entire universe of possible answers.
Using Evolver involves three simple steps:
1. Set Up Your Model.
The Evolver Model window provides one-stop setup for all optimization problems. Here you specify the target cell, identify cells to adjust, and define constraints. Adjustable cells and constraints support cell ranges for easy setup and changes, while target cells can be maximized, minimized, or approach a specific goal.
Defining Ranges and Stopping Conditions
When defining adjustable cells, you can specify the maximum and minimum boundaries of ranges of cells directly in Excel, greatly simplifying setup and making changes easy. For example, you can tell Evolver to adjust cells B1:B5, with a minimum value for each in A1:A5, and a maximum value for each in C1:C5. Multiple groups of cells may be specified, with multiple ranges in each group.
You must also define constraints in your model. For example, there may be limited resources which must be modeled. When defining constraints (hard or soft), you can also specify minimums and maximums with cell ranges.
Finally, set stopping conditions for your optimization, telling Evolver when to stop the optimization.
Evolver uses six different solving methods that you can specify to find the optimal combination of adjustable cells. Different methods are used to solve different types of problems. The six methods are:
- Recipe - a set of variables which can change independently.
- Grouping - a collection of elements to be placed into groups.
- Order - an ordered list of elements.
- Budget - recipe algorithm, but total is kept constant.
- Project - order algorithm, but some elements precede others.
- Schedule - group algorithm, but assign elements to blocks of time while meeting constraints.
Evolver also allows a great degree of control over how it performs the optimization itself. You can set optimization parameters, runtime settings, control macros and more in the Evolver Settings dialog.
2. Run the Optimization.
Click the Start icon to start the optimization. Evolver will start generating trial solutions in an effort to achieve the target set in Step 1. The summary Evolver Progress window appears, showing optimization status and best answer achieved thus far. This window lets you pause, stop, and run the optimization using playback controls. You can also monitor progress in detail with the Evolver Watcher. Tabbed reports show real-time updates on best answers achieved, all solutions tried, the diversity of solutions being tried, and more.
How Evolver Works
During an optimization, Evolver generates a number of trial solutions and uses genetic algorithms to continually improve results of each trial. Each possible solution becomes an independent "organism" that can "breed" with other organisms. The spreadsheet model acts as an environment for the organisms, determining which are "fit" enough to survive based on their results. Here is a brief description of the process:
- Randomly generate many organisms (possible solutions), and calculate the result each organism produces. This entire "population" of organisms is ranked from best to worst.
- Select good organisms and swap their variables ("genes") using "crossover" and "mutation" to produce "offspring". If offspring do not produce a good result, two more parents are selected.
- If the offspring organism is good, it is re-inserted into the population.
As Evolver repeats steps 2 and 3, the population "evolves" increasingly optimal solutions.
Get Results Fast
Evolver uses genetic operators to generate trial solutions that move toward an optimal solution as quickly as possible. Genetic algorithms search the entire solution space, finding the global solution and zeroing in on it.
3. View Optimization Results.
After optimization, Evolver can display the results of the original, best, and last solution on your entire model, updating it with each scenario in a single click. This makes it easy to decide the best course of action. You can also generate reports directly in Excel for an optimization summary, log of all simulations, and log of progress steps.