Evolver6 En

Embed Size (px)

Citation preview

  • 8/11/2019 Evolver6 En

    1/166

    Users Guide

    EvolverThe Genetic Algorithm Solver

    for Microsoft Excel Version 6

    August, 2013

    Palisade Corporation798 Cascadilla St.Ithaca, NY USA 14850(607) 277-8000(607) 277-8001 (fax)http://www.palisade.com (website)[email protected] (e-mail)

  • 8/11/2019 Evolver6 En

    2/166

    Copyright NoticeCopyright 2013, Palisade Corporation.

    Trademark AcknowledgmentsMicrosoft, Excel and Windows are registered trademarks of MicrosoftCorporation.IBM is a registered trademark of International Business Machines, Inc.Palisade, Evolver, TopRank, BestFit and RISKview are registeredtrademarks of Palisade Corporation.RISK is a trademark of Parker Brothers, Division of TonkaCorporation and is used under license.

  • 8/11/2019 Evolver6 En

    3/166

    Introduction i

    Table of Contents

    Introduction 1

    Introduction ......................................................................................... 3

    Installation Instructions ..................................................................... 7

    Background 11

    What Is Evolver? ............................................................................... 13

    Evolver: Step-by-Step 19

    Introduction ....................................................................................... 21

    The Evolver Tour .............................................................................. 23

    Evolver Reference Guide 41

    Model Definition Command ............................................................. 43

    Optimization Settings Command .................................................... 63

    Start Optimization Command .......................................................... 75

    Utilities Commands .......................................................................... 77

    Evolver Watcher ................................................................................ 81

    Optimization 93

    Optimization Methods ...................................................................... 95

    Genetic Algorithms and Optquest 107

    Introduction ..................................................................................... 109

    History .............................................................................................. 109

  • 8/11/2019 Evolver6 En

    4/166

    ii

    A Biological Example ..................................................................... 113

    A Digital Example ........................................................................... 114

    OptQuest ......................................................................................... 117

    Evolver Extras 119

    Adding Constraints ........................................................................ 121

    Improving Speed ............................................................................ 131

    How Evolver's Genetic Algorithm Optimization is Implemented133

    Appendix A: Automating Evolver 137

    VBA .................................................................................................. 137

    Appendix B: Troubleshooting / Q&A 139

    Troubleshooting / Q&A .................................................................. 141

    Appendix C: Additional Resources 145

    Glossary 151

    Index 159

  • 8/11/2019 Evolver6 En

    5/166

  • 8/11/2019 Evolver6 En

    6/166

    Introduction 2

  • 8/11/2019 Evolver6 En

    7/166

    Introduction 3

    IntroductionEvolver represents the fastest, most advanced commercial geneticalgorithm-based optimizer ever available. Evolver, through theapplication of powerful genetic algorithm-based optimizationtechniques, can find optimal solutions to problems which are"unsolvable" for standard linear and non-linear optimizers. TheEvolver software also includes the OptQuest optimization engine,which quickly finds solutions to a wide range of optimizationproblems. In addition, linear problems are handled using linearprogramming methods.

    Evolver is offered in two editions - Professional and Industrial - toallow you to select the optimizer with the capacity you need. TheProfessional edition allows up to 250 adjustable variables per model,while the Industrial edition allows unlimited variables. Use Evolver

    Industrial for your largest models where you can control hundreds orthousands of adjustable cells.

    The Evolver Users Guide offers an introduction to Evolver and theprinciples behind it, then goes on to show several exampleapplications of Evolvers unique genetic algorithm technology. Thiscomplete manual may also be used as a fully-indexed reference guide,with a description and illustration of each Evolver feature.

    Before You Begin

    Before you install and begin working with Evolver, make sure thatyour Evolver package contains all the required items, and check thatyour computer meets the minimum requirements for proper use.

    What the Package IncludesEvolver may be purchased on its own and also ships with theDecisionTools Suite Professional and Industrial editions. The Evolverapplication contains the Evolver Excel add-in, several Evolverexamples, and a fully-indexed Evolver on-line help system. TheDecisionTools Suite Professional and Industrial editions contain all ofthe above plus additional applications.

    About This VersionThis version of Evolver can be installed as a 32-bit program forMicrosoft Excel 2003 or higher or as a 64-bit program for Excel 2010.

  • 8/11/2019 Evolver6 En

    8/166

    4 Introduction

    Working with your Operating EnvironmentThis Users Guide assumes that you have a general knowledge of theWindows operating system and Excel. In particular:

    You are familiar with your computer and using the mouse. You are familiar with terms such as icons, click, double-click, menu,

    window, command and object. You understand basic concepts such as directory structures and file

    naming.

    If You Need HelpTechnical support is provided free of charge for all registered users ofEvolver with a current maintenance plan, or is available on a perincident charge. To ensure that you are a registered user of Evolver,

    please register online athttp://www.palisade.com/support/register.asp .

    If you contact us by telephone, please have your serial number andUsers Guide ready. We can offer better technical support if you arein front of your computer and ready to work.

    Before contacting technical support, please review the followingchecklist: Have you referred to the on-line help? Have you checked this User's Guide and reviewed the on-line

    multimedia tutorial? Have you read the README.RTF file? It contains current information

    on Evolver that may not be included in the manual. Can you duplicate the problem consistently? Can you duplicate the

    problem on a different computer or with a different model? Have you looked at our site on the World Wide Web? It can be found at

    http://www.palisade.com . Our Web site also contains the latest FAQ(a searchable database of tech support questions and answers) andEvolver patches in our Technical Support section. We recommend

    visiting our Web site regularly for all the latest information on Evolver and other Palisade software.

    Before Calling

  • 8/11/2019 Evolver6 En

    9/166

    Introduction 5

    Palisade Corporation welcomes your questions, comments orsuggestions regarding Evolver. Contact our technical support staffusing any of the following methods: Email us at [email protected]. Telephone us at (607) 277-8000 any weekday from 9:00 AM to 5:00 PM,

    EST. Follow the prompt to reach technical support. Fax us at (607) 277-8001. Mail us a letter at:

    Technical SupportPalisade Corporation798 Cascadilla St.Ithaca, NY 14850 USA

    If you want to contact Palisade Europe: Email us at [email protected]. Telephone us at +44 1895 425050 (UK). Fax us at +44 1895 425051 (UK). Mail us a letter at:

    Palisade Europe31 The Green

    West DraytonMiddlesexUB7 7PNUnited Kingdom

    If you want to contact Palisade Asia-Pacific: Email us at [email protected]. Telephone us at + 61 2 9252 5922 (AU). Fax us at + 61 2 9252 2820 (AU) . Mail us a letter to:

    Palisade Asia-Pacific Pty LimitedSuite 404, Level 420 Loftus StreetSydney NSW 2000

    AustraliaRegardless of how you contact us, please include the product name,version and serial number. The exact version can be found byselecting the Help About command on the Evolver menu in Excel.

    ContactingPalisade

  • 8/11/2019 Evolver6 En

    10/166

    6 Introduction

    Telephone support is not available with the student version ofEvolver. If you need help, we recommend the following alternatives:

    Consult with your professor or teaching assistant. Log on to http://www.palisade.com for answers to frequently asked

    questions.

    Contact our technical support department via e-mail or fax.

    Evolver System RequirementsSystem requirements for Evolver include: Microsoft Windows XP or higher. Microsoft Excel Version 2003 or higher.

    StudentVersions

  • 8/11/2019 Evolver6 En

    11/166

    Introduction 7

    Installation InstructionsEvolver is an add-in program to Microsoft Excel. By addingadditional commands to the Excel menu bars, Evolver enhances thefunctionality of the spreadsheet program.

    General Installation InstructionsThe Setup program copies the Evolver system files into a directoryyou specify on your hard disk. To run the Setup program inWindows XP or higher:

    1) Double-click the Evolver Setup.exe from your download or installationCD and follow the Setup instructions on the screen

    If you encounter problems while installing Evolver , verify that there isadequate space on the drive to which youre trying to install. After

    youve freed up adequate space, try rerunning the installation.If you wish to remove Evolver (or the DecisionTools Suite) from yourcomputer, use the Control Panels Add/Remove Programs utility andselect the entry for @RISK or the DecisionTools Suite.

    The DecisionTools SuiteEvolver can be used with the DecisionTools Suite, a set of products forrisk and decision analysis available from Palisade Corporation. Thedefault installation procedure of Evolver puts Evolver in a

    subdirectory of a main Program Files\Palisade directory. This isquite similar to how Excel is often installed into a subdirectory of aMicrosoft Office directory.

    One subdirectory of the Program Files\Palisade directory will be theEvolver directory (by default called Evolver6). This directorycontains the Evolver add-in program file (EVOLVER.XLA) plusexample models and other files necessary for Evolver to run. Anothersubdirectory of Program Files\Palisade is the SYSTEM directorywhich contains files needed by every program in the DecisionToolsSuite, including common help files and program libraries.

    RemovingEvolver fromYour Computer

  • 8/11/2019 Evolver6 En

    12/166

  • 8/11/2019 Evolver6 En

    13/166

    Introduction 9

    Other Evolver InformationAdditional information on Evolver can be found in the followingsources:

    This file contains a quick summary of Evolver, as well as any late-breaking news or information on the latest version of your software.View the Readme file by selecting Evolver's Help command, thenDocumentation command, and then Readme command.

    The Evolver on-line tutorial provides first-time users with a quickintroduction of Evolver and genetic algorithms. The presentationtakes only a few minutes to view. See the Learning Evolver sectionbelow for information on how to access the tutorial.

    Learning EvolverThe quickest way to become familiar with Evolver is by using the on-line Evolver Tutorial, where experts guide you through samplemodels in movie format. This tutorial is a multi-media presentationon the main features of Evolver.

    The tutorial can be run by selecting the Videos command found onthe Evolver ribbon or toolbar.

    Evolver Readme

    Evolver Tutorial

  • 8/11/2019 Evolver6 En

    14/166

  • 8/11/2019 Evolver6 En

    15/166

  • 8/11/2019 Evolver6 En

    16/166

    Background 12

  • 8/11/2019 Evolver6 En

    17/166

  • 8/11/2019 Evolver6 En

    18/166

    14 What Is Evolver?

    How does Evolver work?Evolver uses OptQuest and Genetic Algorithms to search foroptimum solutions to a problem. In addition, if it determines that aproblem is linear, then it uses linear programming methods.

    OptQuest Engine uses metaheuristic, mathematical optimization, andneural network components to guide the search for best solutions todecision and planning problems of all types. OptQuests methodsintegrate state-of-the-art metaheuristic procedures, including TabuSearch, Neural Networks and Scatter Search into a single compositemethod. To learn more about OptQuest, see Genetic Algorithms andOpt quest.

    Genetic algorithms are used in Evolver to find the best solution foryour model. Genetic algorithms mimic Darwinian principles ofnatural selection by creating an environment where hundreds ofpossible solutions to a problem can compete with one another, andonly the fittest survive. Just as in biological evolution, each solutioncan pass along its good genes through offspring solutions so thatthe entire population of solutions will continue to evolve bettersolutions.

    As you may already realize, the terminology used when working withgenetic algorithms is often similar to that of its inspiration. We talkabout how crossover functions help focus the search for solutions,mutation rates help diversify the gene pool, and we evaluate the

    entire population of solutions or organisms. To learn more abouthow Evolvers genetic algorithm works, see Genetic Algorithms andOptquest.

    Evolver solves linear problems quickly using linear programmingmethods (if Optimization Mode is left as Automatic in the Engine tabof the Optimization Settings dialog).

    OptQuest

    Genetic Algorithms

    LinearProgramming

  • 8/11/2019 Evolver6 En

    19/166

    Background 15

    What Is Optimization?Optimization is the process of trying to find the best solution to aproblem that may have many possible solutions. Most problemsinvolve many variables that interact based on given formulas andconstraints. For example, a company may have three manufacturingplants, each manufacturing different quantities of different goods.Given the cost for each plant to produce each good, the costs for eachplant to ship to each store, and the limitations of each plant, what isthe optimal way to adequately meet the demand of local retail storeswhile minimizing the transportation costs? This is the sort of questionthat optimization tools are designed to answer.

    Optimization often deals with searching for thecombination that yields the most from given resources.

    In the example above, each proposed solution would consist of acomplete list of what goods made by what manufacturing plant getshipped in what truck to what retail store. Other examples ofoptimization problems include finding out how to produce thehighest profit, the lowest cost, the most lives saved, the least noise in acircuit, the shortest route between a set of cities, or the most effectivemix of advertising media purchases. An important subset ofoptimization problems involves scheduling, where the goals mayinclude maximizing efficiency during a work shift or minimizingschedule conflicts of groups meeting at different times. To learn moreabout optimization, see Optimization.

  • 8/11/2019 Evolver6 En

    20/166

    16 What Is Evolver?

    Why Build Excel Models?To increase the efficiency of any system, we must first understandhow it behaves. This is why we construct a working model of thesystem. Models are necessary abstractions when studying complexsystems, yet in order for the results to be applicable to the real-world, the model must not oversimplify the cause-and-effectrelationships between variables. Better software and increasinglypowerful computers allow economists to build more realistic modelsof the economy, scientists to improve predictions of chemicalreactions, and business people to increase the sensitivity of theircorporate models.

    In the last few years computer hardware and software programs suchas Microsoft Excel, have advanced so dramatically that virtuallyanyone with a personal computer can create realistic models of

    complex systems. Excels built-in functions, macro capabilities andclean, intuitive interface allow beginners to model and analyzesophisticated problems. To learn more about building a model, seeEvolver Extras.

    Why Use Evolver?Evolvers unique technology allows anyone with a PC and Excel forWindows to enjoy the benefits of optimization. Before Evolver, thosewho wished to increase efficiency or search for optimum solutionshad three choices: guess, use low-powered problem-solving software,or hire experts in the optimization consulting field to design andbuild customized software. Here are a few of the most importantadvantages to using Evolver:

    When you are dealing with large numbers of interacting variables,and you are trying to find the best mix, the right order, the optimumgrouping of those variables, you may be tempted to just take aneducated guess. A surprising number of people assume that anykind of modeling and analysis beyond guessing will requirecomplicated programming, or confusing statistical or mathematical

    algorithms. A good optimized solution might save millions ofdollars, thousands of gallons of scarce fuel, months of wasted time,etc. Now that powerful desktop computers are increasinglyaffordable, and software like Excel and Evolver are readily available,there is little reason to guess at solutions, or waste valuable timetrying out many scenarios by hand.

    No MoreGuessing

  • 8/11/2019 Evolver6 En

    21/166

    Background 17

    Evolver allows you to use the entire range of Excel formulas to buildmore realistic models of any system. When you use Evolver, you donot have to compromise the accuracy of your model because thealgorithm you are using cannot handle real world complexities.Traditional baby solvers (statistical and linear programming tools)force users to make assumptions about the way the variables in theirproblem interact, thereby forcing users to build over-simplified,unrealistic models of their problem. They force them to assumevalues for uncertain variables because the optimizer cannot handleranges of possible values for uncertain model components. By thetime users have simplified a system enough that these solvers can beused, the resulting solution is often too abstract to be practical. Anyproblems involving large amounts of variables, non-linear functions,lookup tables, if-then statements, database queries, or stochastic(random) elements cannot be solved by these methods, no matter howsimply you try to design your model.There are many solving algorithms which do a good job at solvingsmall, simple linear and non-linear types of problems, including hill-climbing, baby-solvers, and other mathematical methods. Even whenoffered as spreadsheet add-ins, these general-purpose optimizationtools can only perform numerical optimization. For larger or morecomplex problems, you may be able to write specific, customizedalgorithms to get good results, but this may require a lot of researchand development. Even then, the resulting program would require

    modification each time your model changed.Not only can Evolver handle numerical problems, it is the onlycommercial program in the world that can solve most combinatorialproblems. These are problems where the variables must be shuffledaround (permuted) or combined with each other. For example,choosing the batting order for a baseball team is a combinatorialproblem; it is a question of swapping players positions in the lineup.Evolver can find the optimal ordering of tasks to be performed as partof a project, evaluating only solutions that meet specified precedenceconstraints (that is constraints that require certain tasks to be

    performed before others). Complex scheduling problems are alsocombinatorial. The same Evolver can solve all these types ofproblems and many more that nothing else can solve.

    More Accurate,MoreMeaningful

    More Flexible

  • 8/11/2019 Evolver6 En

    22/166

    18 What Is Evolver?

    Evolver finds better solutions. Most software derives optimumsolutions mathematically and systematically. Too often thesemethods are limited to taking an existing solution and searching forthe closest answer that is better. This local solution may be far fromthe optimal solution. Evolver intelligently samples the entire realm ofpossibilities, resulting in a much better global solution.

    In spite of its obvious power and flexibility advantages, Evolverremains easy to use because an understanding of the optimizationtechniques it uses is completely unnecessary. Evolver doesnt careabout the nuts and bolts of your problem; it just needs aspreadsheet model that can evaluate how good different scenariosare. Just select the spreadsheet cells that contain the variables and tellEvolver what you are looking for. Evolver intelligently hides thedifficult technology, automating the what-if process of analyzing aproblem.

    Although there have been many commercial programs developed formathematical programming and model-building, spreadsheets are byfar the most popular, with literally millions being sold each month.With their intuitive row and column format, spreadsheets are easierto set up and maintain than other dedicated packages. They are alsomore compatible with other programs such as word processors anddatabases, and offer more built-in formulas, formatting options,graphing, and macro capabilities than any of the stand-alonepackages. Because Evolver is an add-in to Microsoft Excel, users haveaccess to the entire range of functions and development tools to easily

    build more realistic models of their system.Many companies have hired trained consultants to providecustomized optimization systems. Such systems will often performquite well, but may require many months and a large investment todevelop and implement. These systems are also difficult to learn, andtherefore require costly training and constant maintenance. If yoursystem must be altered, you may need to develop a whole newalgorithm to find optimal solutions. For a considerably smallerinvestment, Evolver supplies the most powerful optimizationalgorithms available and allows for quick and accurate solutions to a

    wide variety of problems. Because it works in an intuitive andfamiliar environment, there is virtually no costly training andmaintenance.

    You may even wish to add Evolvers optimization power to your owncustom programs. In just a few days, you could use Visual Basic todevelop your own scheduling, distribution, manufacturing or

    More Powerful

    Easier to Use

    Cost Effective

  • 8/11/2019 Evolver6 En

    23/166

    Evolver: Step-by-Step 19

    financial management system. See the Evolver Developer Kit fordetails on developing an Evolver-based application.

    Evolver: Step-by-Step

    Introduction ....................................................................................... 21

    The Evolver Tour .............................................................................. 23

    Starting Evolver ...................................................................................... 23 The Evolver Toolbar ................................................................. 23 Opening an Example Model ................................................... 23

    The Evolver Model Dialog ................................................................... 24 Selecting the Target Cell ....................................................................... 24 Adding Adjustable Cell Ranges .......................................................... 25

    Selecting a Solving Method .................................................... 27 Constraints .............................................................................................. 28

    Adding a Constraint ................................................................. 29 Simple Range of Values and Formula Constraints ............ 29

    Other Evolver Options .......................................................................... 32 Stopping Conditions ................................................................ 32 View Options ............................................................................ 34

    Running the Optimization ................................................................... 35 The Evolver Watcher ................................................................ 36 Stopping the Optimization ..................................................... 37 Summary Report ....................................................................... 38 Placing the Results in Your Model ........................................ 39

  • 8/11/2019 Evolver6 En

    24/166

    20

  • 8/11/2019 Evolver6 En

    25/166

    Evolver: Step-by-Step 21

    IntroductionIn this chapter, we will take you through an entire Evolveroptimization one step at a time. If you do not have Evolver installedon your hard drive, please refer to the installation section of

    Introduction and install Evolver before you begin this tutorial.We will start by opening a pre-made spreadsheet model, and then wewill define the problem to Evolver using the Evolver dialogs. Finallywe will oversee Evolvers progress as it is searching for solutions, andexplore some of the many options in the Evolver Watcher. Foradditional information about any specific topic, see the index at theback of this manual, or refer to Evolver Reference.

    NOTE : The screens shown below are from Excel 2010. If you are usingother versions of Excel, your windows may appear slightly different

    from the pictures.The problem-solving process begins with a model that accuratelyrepresents your problem. Your model must be able to evaluate agiven set of input values (adjustable cells) and produce a numericalrating of how well those inputs solve the problem (the evaluation ofobjective function). As Evolver searches for solutions, this objectivefunction provides feedback, telling Evolver how good or bad eachguess is, thereby allowing Evolver to breed increasingly betterguesses. When you create a model of your problem you must payclose attention to the objective function, because Evolver will be doingeverything it can to maximize (or minimize) this cell.

  • 8/11/2019 Evolver6 En

    26/166

    22 Introduction

  • 8/11/2019 Evolver6 En

    27/166

    Evolver: Step-by-Step 23

    The Evolver Tour

    Starting EvolverTo start Evolver, either: 1) click the Evolver icon in your Windowsdesktop, or 2) select Palisade DecisionTools then Evolver 6 in theWindows Start menu Programs entries. Each of these methods startsboth Microsoft Excel and Evolver .

    When Evolver is loaded, a new Evolver ribbon or toolbar is visible inExcel. This toolbar contains buttons which can be used to specifyEvolver settings and start, pause, and stop optimizations.

    To review the features of Evolver, you'll examine an example modelthat was installed when you installed Evolver. To do this:

    1) Open the Bakery Tutorial Walkthrough .xlsx (or Bakery Tutorial Walkthrough .xls) worksheet using the Help menu

    Example Spreadsheets command.

    The Evolver Toolbar

    Opening anExample Model

  • 8/11/2019 Evolver6 En

    28/166

    24 The Evolver Tour

    This example sheet contains a simple profit maximization problem fora bakery business. Your bakery produces 6 bread products. You arethe bakery manager and track revenues, costs, and profits fromproduction. You are to determine the number of cases for each typeof bread that maximizes total profit while satisfying production limitguidelines. The guidelines you face include 1) meeting the productionquota for low calorie bread, 2) maintaining an acceptable ratio of high fiberto low calorie, 3) maintaining an acceptable ratio of 5 grain to low calorie,and 4) keeping production time within limits for person hours used.

    The Evolver Model DialogTo set the Evolver options for this worksheet:

    1) Click the Model Definition icon on the Evolver ribbon (the oneon the far left).

    This displays the following Evolver Model dialog box:

    The Evolver Model Dialog is designed so users can describe theirproblem in a simple, straightforward way. In our tutorial example, weare trying to find the number of cases to produce for the differentbread products in order to maximize overall total profit.

    Selecting the Target Cell

  • 8/11/2019 Evolver6 En

    29/166

    Evolver: Step-by-Step 25

    The "total profit" in the example model is what's known as the targetcell. This is the cell whose value you are trying to minimize ormaximize, or the cell whose value you are trying to make as close aspossible to a pre-set value. To specify the target cell:

    1) Set the Optimization Goal option to Maximum.

    2) Enter the target cell, $I$11, in the Cell field. Cell references can be entered in Evolver dialog fields two ways: 1)You may click in the field with your cursor, and type the referencedirectly into the field, or 2) with your cursor in the selected field, youmay click on Reference Entry icon to select the worksheet cell(s)directly with the mouse.

    Adding Adjustable Cell Ranges Now you must specify the location of the cells that contain values

    which Evolver can adjust to search for solutions. These variables areadded and edited one block at a time through the Adjustable CellsRanges section of the Model Dialog. The number of cells you can enterin Adjustable Cells Ranges depends on the version of Evolver you areusing.

    1) Click the Add button in the "Adjustable Cell Ranges" section.

    2) Select $C$4:$G$4 as the cells in Excel you want to add as anadjustable cell range.

    Most of the time you'll want to restrict the possible values for an

    adjustable cell range to a specific minimum-maximum range. InEvolver this is known as a "range" constraint. You can quickly enterthis min-max range when you select the set of cells to be adjusted.For the Bakery example, the minimum possible value for casesproduced for each of the bread products in this range is 0 and themaximum is 100,000. To enter this range constraint:

    1) Enter 0 in the Minimum cell and 100,000 in the Maximum cell.

    2) In the Values cell, click the down arrow and select Integer fromthe dialog.

    Entering theMin-Max Rangefor AdjustableCells

  • 8/11/2019 Evolver6 En

    30/166

    26 The Evolver Tour

    Now, enter a second cell range to be adjusted:1) Click Add to enter a second adjustable cell.

    2) Select cell B4.

    3) Enter 20,000 as the Minimum and 100,000 as the Maximum.

    4) In the Values cell, click the down arrow and select Discrete fromthe dialog. Leave the default Step Size value of 2.

    This specifies the last adjustable cell, B4, representing the productionlevel for low calorie bread. By selecting a step size of 2, we requirethe number of cases to be even (permitted values will be 20000, 20002,20004, ...).

  • 8/11/2019 Evolver6 En

    31/166

    Evolver: Step-by-Step 27

    If there were additional variables in this problem, we would continueto add sets of adjustable cells. In Evolver, you may create anunlimited number of groups of adjustable cells. To add more cells,click the Add button once again.

    Later, you may want to check the adjustable cells or change some oftheir settings. To do this, simply edit the min-max range in the table.You may also select a set of cells and delete it by clicking the Deletebutton.

    When defining adjustable cells, you can specify a solving method to beused. Different types of adjustable cells are handled by differentsolving methods. Solving methods are set for a Group of adjustablecells and are changed by clicking the Group button and selectingEdit to display the Adjustable Cell Group Settings dialog box. Oftenyou'll use the default recipe solving method where each cells valuecan be changed independently of the others. Since this is selected as

    the default method, you don't have to change it.

    The recipe and order solving methods are the most popular andthey can be used together to solve complex combinatorial problems.Specifically, the recipe solving method treats each variable as aningredient in a recipe, trying to find the best mix by changing eachvariables value independently. In contrast, the order solvingmethod swaps values between variables, shuffling the original valuesto find the best order.

    For this model, leave the Solving Method as Recipe and simply:

    Enter the label "Cases Produced" in the Description field.

    Selecting aSolving Method

  • 8/11/2019 Evolver6 En

    32/166

    28 The Evolver Tour

    ConstraintsEvolver allows you to enter constraints which are conditions thatmust be met for a solution to be valid. In this example model thereare three additional constraints that must be met for a possible set ofproduction levels for each of the bread products to be valid. Theseare in addition to the range constraints we already entered for theadjustable cells. They are:

    1) Keeping production time within limits for person hours used(total person hours used < 50,000)

    2) Maintaining an acceptable ratio of high fiber to low caloriebread (high fiber cases produced >= 1.5 * low calorie casesproduced)

    3) Maintaining an acceptable ratio of 5 grain to low calorie bread

    (5 grain cases produced >= 1.5 * low calorie cases produced)Each time Evolver generates a possible solution to your model itchecks that the constraints you have entered are met.

    Constraints are displayed in the bottom Constraints section of theEvolver Model dialog box. Two types of constraints can be specifiedin Evolver: Hard . These are conditions that must be met for a solution to be

    valid (i.e., a hard iteration constraint could be C10

  • 8/11/2019 Evolver6 En

    33/166

    Evolver: Step-by-Step 29

    To add a constraint:

    1) Click the Add button in the Constraints section of the mainEvolver dialog.

    This displays the Constraint Settings dialog box, where you enter theconstraints for your model.

    Two formats Simple and Formula can be used for enteringconstraints. The Simple format allows constraints to be entered using= or = relations. A typical Simple format constraint would

    be 00, B1100, B1, -B1). Thena simple format constraint can be added, requiring that D1>0.

    Adding aConstraint

    Simple andFormulaConstraints

  • 8/11/2019 Evolver6 En

    34/166

    30 The Evolver Tour

    To enter the constraints for the Bakery model you'll specify three newhard constraints. These are hard constraints as the entered conditionsmust be met or the possible solution will be discarded by Evolver.First, enter the Simple format hard constraints:

    1) Enter "Acceptable total working hours" in the description box.

    2) In the Range to Constrain box, enter I8.3) Select the

  • 8/11/2019 Evolver6 En

    35/166

  • 8/11/2019 Evolver6 En

    36/166

  • 8/11/2019 Evolver6 En

    37/166

    Evolver: Step-by-Step 33

    Trials Time Progress Formula is TrueThis option sets thenumber of trialsthat you would likeEvolver to run. Ineach trial, Evolver

    evaluates onecomplete set ofvariables or onepossible solution tothe problem.

    Evolver will stopafter the specifiedamount of time haselapsed. Thisnumber can be a

    fraction (4.25).

    This stoppingcondition is themost popularbecause it keepstrack of the

    improvement andallows Evolver torun until the rate ofimprovement hasdecreased. Forexample, Evolvercould stop if 20000trials have passedand the target cellvalue has notimproved by morethan 0.01%.

    Evolver will stop ifthe entered Excelformula evaluates toTRUE in a modelrecalculation.

    Turn off all stopping conditions to let Evolver run freely .

  • 8/11/2019 Evolver6 En

    38/166

    34 The Evolver Tour

    While Evolver runs, a set of options are available on the View Tab todetermine what you will see on-screen.

    The Show Excel Recalculations options include:

    Every Trial Every New Best TrialThis option redraws thescreen after eachcalculation, allowing you tosee Evolver adjusting thevariables and calculatingthe output. We suggestthis option be turned onwhile you are learningEvolver, and also each timeyou use Evolver on a newmodel, to verify that yourmodel is calculatingcorrectly.

    This option redraws thescreen each time Evolvergenerates a new bestanswer, allowing you tosee the current optimalsolution at any time duringthe optimization.

    Select Every Trial

    View Options

  • 8/11/2019 Evolver6 En

    39/166

    Evolver: Step-by-Step 35

    Running the OptimizationNow, all that remains is to optimize this model to maximize totalprofit while satisfying production limit guidelines. To do this:

    1) Click OK to exit the Optimization Settings dialog.

    2) Click the Start Optimization icon

    During the run, the Progress window displays: 1) the best solutionfound so far, 2) the original value for the target cell when the Evolveroptimization began, 3) the number of trials of your model that havebeen executed and number of those trials which were valid; i.e., allconstraints were met and 4) the time that has elapsed in theoptimization.

    Any time during the run you can click the Excel Updating Options icon to select or deselect live updating of the screen each trial.

  • 8/11/2019 Evolver6 En

    40/166

    36 The Evolver Tour

    Evolver can also display a running log of each trial solution. This isdisplayed in the Evolver Watcher while Evolver is running. To viewa running log of the trials:

    1) Click the Watcher (magnifying glass) icon in the Progresswindow to display the Evolver Watcher

    2) Click the Log tab.

    In this report the results of each trial solution is shown. The columnfor Result shows by trial the value of the target cell that you are tryingto maximize or minimize - in this case, the Total Profit in $I$11. Thecolumns for B4 through G4 identify the values used for youradjustable cells.

    The EvolverWatcher

  • 8/11/2019 Evolver6 En

    41/166

  • 8/11/2019 Evolver6 En

    42/166

    38 The Evolver Tour

    Evolver can create an optimization summary report that containsinformation such as date and time of the run, the optimizationsettings used, the value calculated for the target cell and the originaland best value for each of the adjustable cells.

    This report is useful for comparing the results of successiveoptimizations.

    SummaryReport

  • 8/11/2019 Evolver6 En

    43/166

  • 8/11/2019 Evolver6 En

    44/166

    40 The Evolver Tour

    When you save any sheet after Evolver has run on it (even if yourestore the original values of your sheet after running Evolver), allof the Evolver settings in the Evolver dialogs will be saved along withthat sheet. The next time that sheet is opened, all of the most recentEvolver settings load up automatically. All of the other exampleworksheets have the Evolver settings pre-filled out and ready to beoptimized.

    NOTE: If you want to take a look at the Bakery model with alloptimization settings pre-filled out, open the example modelBakery.xls or Bakery.xlsx

  • 8/11/2019 Evolver6 En

    45/166

    Evolver Reference Guide 41

    Evolver Reference Guide

    Model Definition Command ............................................................. 43

    Adjustable Cell Ranges ......................................................................... 45 Adjustable Cell Groups ........................................................................ 47

    Recipe Solving Method ........................................................... 49 Order Solving Method ............................................................. 50 Grouping Solving Method...................................................... 50 Budget Solving Method .......................................................... 52 Project Solving Method ........................................................... 53 Schedule Solving Method ....................................................... 54

    Number of Time Blocks and Constraint Cells .................... 56 Constraints .............................................................................................. 57 Add - Adding Constraints ....................................................... 57 Entry Style .................................................................................. 58 Soft Constraints ........................................................................ 59

    Optimization Settings Command .................................................... 63

    Optimization Settings Command Runtime Tab ........................... 63 Optimization Runtime Options ............................................. 64

    Settings Command Engine Tab ........................................................ 66 Optimization Mode .................................................................. 66 Optimize Using ......................................................................... 67 Genetic Algorithm Settings .................................................... 67 Operators .................................................................................... 70

    Optimization Settings Command View Tab ................................. 72 Optimization Settings Command Macros Tab .............................. 73

    Start Optimization Command .......................................................... 75

    Utilities Commands .......................................................................... 77

    Application Settings Command .......................................................... 77

    Constraint Solver Command ................................................................ 78

  • 8/11/2019 Evolver6 En

    46/166

    42 The Evolver Tour

    Evolver Watcher ............................................................................... 81

    Evolver Watcher Progress Tab ......................................................... 82 Evolver Watcher Summary Tab ....................................................... 84 Evolver Watcher Log Tab .................................................................. 85 Evolver Watcher Population Tab ..................................................... 86

    Evolver Watcher Diversity Tab ........................................................ 87

    Evolver Watcher Stopping Options Tab ........................................ 88

  • 8/11/2019 Evolver6 En

    47/166

    Evolver Reference Guide 43

    Model Definition CommandDefines the goal, adjustable cells and constraints for a model

    Selecting the Evolver Model Definition command (or clicking theModel icon on the Evolver toolbar) displays the Model Dialog.

    The Evolver Model Dialog.

    The Evolver Model Dialog is used to specify or describe anoptimization problem to Evolver. This dialog starts empty with eachnew Excel workbook, but saves its information with each workbook.That means that when the sheet is opened again, it will be filled outthe same way. Each component of the dialog is described in thissection.

  • 8/11/2019 Evolver6 En

    48/166

  • 8/11/2019 Evolver6 En

    49/166

    Evolver Reference Guide 45

    Adjustable Cell RangesThe Adjustable Cell Ranges table displays each range which containsthe cells or values that Evolver can adjust, along with the descriptionentered for those cells. Each set of adjustable cells is listed in ahorizontal row. One or more adjustable cell ranges can be included in

    an Adjustable Cell Group . All cell ranges in an Adjustable CellGroup share a common solving method; if the Genetic Algorithm isused, they also share crossover rate, mutation rate and operators.

    Because the adjustable cells contain the variables of the problem, youmust define at least one group of adjustable cells to use Evolver. Mostproblems will be described with only one group of adjustable cells,but more complex problems may require different blocks of variablesto be solved with different solving methods simultaneously. This

    unique architecture allows for highly complex problems to be easilybuilt up from many groups of adjustable cells.

    The following options are available for entering Adjustable CellRanges: Add . You can add new adjustable cells by clicking on the Add

    button next to the Adjustable Cells list box. Select the cell or cellrange to be added, and a new row will appear in the AdjustableCell Ranges table. In the table, you can enter a Minimum andMaximum value for the cells in the range, along with the type of

    Values to test Integer values across the range, Discrete valueswith a defined step size, or Any values. Minimum and Maximum. After you have specified the location

    of the adjustable cells, the Minimum and Maximum entries set therange of acceptable values for each adjustable cell. By default,each adjustable cell takes on a real-number (double-precisionfloating point) value between -infinity and +infinity.

  • 8/11/2019 Evolver6 En

    50/166

    46 Model Definition Command

    Range settings are constraints that are strictly enforced. Evolverwill not allow any variable to take on a value outside the setranges. You are encouraged to set more specific ranges for yourvariables whenever possible to improve Evolvers performance.For example, you may know that the number cannot be negative,or that Evolver should only try values between 50 and 70 for agiven variable.

    Range . The reference for the cell(s) to be adjusted is entered inthe Range field. This reference can be entered by selecting theregion in the spreadsheet with the mouse, entering a range nameor typing in a valid Excel reference such as Sheet1!A1:B8. TheRange field is available for all solving methods. For recipe andbudget methods, however, Minimum, Maximum and Values options can be added to allow the entry of a range for theadjustable cells.

    NOTE : By assigning tight ranges to your variables, you can limitthe scope of the search, and speed up Evolver s convergence on asolution. But be careful not to limit the ranges of your variablestoo tightly; this may prevent Evolver from finding optimalsolutions.

    Values. The Values entry allows you to specify that Evolvershould treat all of the variables in the specified range as integers(e.g., 20, 21, 22), discrete real numbers (e.g. 20, 20.5, 21, 21.5, 22, ifthe step size is 0.5), or all real numbers in a specified range. This

    option is only available when using the recipe and budgetsolving methods. The default is to treat to allow all real numbersin the specified range.

    For example, if the range of values between 1 and 4 is specified: Any implies that all the real numbers between 1 and 4

    are included. Integer implies that values 1, 2, 3, and 4 are included.

  • 8/11/2019 Evolver6 En

    51/166

  • 8/11/2019 Evolver6 En

    52/166

    48 Model Definition Command

    When you select a range of cells to be adjusted by Evolver, you alsoare specifying a solving method you wish to apply when adjustingthose adjustable cells. Each solving method juggles the values of yourvariables a different way.

    The recipe solving method, for example, treats each variableselected as an ingredient in a recipe; each variables value can bechanged independently of the others. In contrast, the order solvingmethod swaps values between the adjustable cells, reordering thevalues that were originally there.

    There are six solving methods that come with Evolver. Three of thesolving methods (recipe, order, and grouping) use entirely differentalgorithms. The other three are descendants of the first three, addingadditional constraints.

    The following section describes the function of each solving method.To get a better understanding of how each solving method is used,you are also encouraged to explore the example files included with

    the software.

  • 8/11/2019 Evolver6 En

    53/166

    Evolver Reference Guide 49

    The recipe solving method is the most simple and most populartype of solving method. Use recipe whenever the set of variables thatare to be adjusted can be varied independently of one another. Thinkof each variable as the amount of an ingredient in a cake; when youuse the recipe solving method, you are telling Evolver to generatenumbers for those variables in an effort to find the best mix. The onlyconstraint you place on recipe variables is to set the range (the highestand lowest value) that those values must fall between. Set thesevalues in the Min and Max fields in the Adjustable Cells dialog (e.g. 1to 100), and also indicate whether or not Evolver should be tryingintegers (1, 2, 7), discrete values across range with specified step size(1, 1.5, 2, 2.5, 3), or real numbers (1.4230024, 63.72442).

    Below are examples of a set of variable values as they might be in asheet before Evolver is called, and what two new scenarios might looklike after using the recipe solving method.

    Original Set ofVariable Values One Set of PossibleRecipe Values Another Set ofPossible Recipe Values

    23.472 15.344 37.452

    145 101 190

    9 32.44 7.073

    65,664 14,021 93,572

    Recipe SolvingMethod

  • 8/11/2019 Evolver6 En

    54/166

    50 Model Definition Command

    The order solving method is the second most popular type, afterrecipe. An order is a permutation of a list of items, where you aretrying to find the best way to arrange a set of given values. Unlikerecipe and budget solving methods, which ask Evolver togenerate values for the chosen variables, this solving method asksEvolver to use the existing values in your model. An order could

    represent the order in which to perform a set of tasks. For example,you might wish to find the order in which to accomplish five tasks,numbered 1,2,3,4, and 5. The order solving method wouldscramble those values, so one scenario might be 3,5,2,4,1. BecauseEvolver is just trying variable values from your initial sheet, there isno Min - Max range entered for adjustable cells when the Ordersolving method is used.

    Below are examples of a set of variable values as they might be in asheet before Evolver is called, and what two new scenarios might looklike after using the order solving method.

    Original Set ofVariable Values

    One Set of PossibleOrder Values

    Another Set of PossibleOrder Values

    23.472 145 65,664

    145 23.472 9

    9 65,664 145

    65,664 9 23.472

    The grouping solving method should be used whenever yourproblem involves multiple items to be grouped together in sets. Bydefault, the number of different groups that RISKOptimizer createswill be equal to the number of unique values present in the adjustablecells at the start of an optimization. (This default behavior can bealtered by using the Group IDs field, as discussed below).

    For example, suppose a range of 50 cells contains only the values 2,3.5, and 17. When you select the 50 cells and adjust the values usingthe grouping solving method, Evolver will assign each of the fiftycells to one of the three groups, 2, 3.5 or 17. All of the groups arerepresented by at least one of the adjustable cells; just like tossingeach of the 50 variables in one of several bins, and making surethere is at least one variable in each bin. Another example would beassigning 1s, and 0s, and -1s to a trading system to indicate buy, selland hold positions. Like the order solving method, Evolver isarranging existing values, so there is no min-max range or integersoption to define.

    Order SolvingMethod

    Grouping

    Solving Method

  • 8/11/2019 Evolver6 En

    55/166

    Evolver Reference Guide 51

    NOTE : When using the grouping solving method, do not leave anycells blank, unless you would like 0.0 to be considered one of the

    groups.

    You may realize that the grouping solving method could beapproximated by using the recipe solving method with the integersoption on and the ranges set from 1 to 3 (or whatever number of

    groups there are). The difference lies in the way search is performedfor recipe and a grouping adjustable cells. Solving a groupingproblem the algorithm is much more concerned with the values of allthe variables, because it can swap a set of variables from one groupwith a set of variables from another group.

    Below are examples of a set of variable values as they might be in asheet before Evolver is called, and what two new scenarios might looklike after using the grouping solving method.

    Original Set ofVariable Values One Set of PossibleGrouping Values Another Set ofPossible GroupingValues

    6 6 8

    7 6 7

    8 8 6

    8 7 7

    When using the Grouping solving method, there are 2 additionalsettings in the Adjustable Cell Group Settings dialog:

    Group IDs (Optional) . This setting allows a user to specify arange containing numeric group IDs. Normally Evolver readsgroup IDs from the adjustable range. For example, if theadjustable range is A1:D1, and it contains numbers 1, 1, 3, 2, thenEvolver with use 1, 2, and 3 as group IDs. However, there maybe more groups than there are adjustable cells; for example, wemay want to assign items represented by cells A1:D1 to groupsnumbered 1 to 5. In this case, the Group IDs setting will allowthe user to specify a range containing five cells with numbers 1 to

    5 be used as group IDs during optimization. All Groups Must Be Used . If this option is checked, every

    solution will have members from every group. For example, ifthe adjustable cells are A1:D1, and group IDs are 1, 2, and 3, thenEvolver will not try a solution with 1 assigned to all four cells(with 2 and 3 missing). On the other hand this solution may betried if the check box is not selected.

  • 8/11/2019 Evolver6 En

    56/166

    52 Model Definition Command

    A budget is similar to a recipe except that all of the variablesvalues must total to a certain number. That number is the total of thevariables values at the time an optimization is started.

    For example, you might want to find the best way to distribute anannual budget among a number of departments. The budgetsolving method will take the total of the current values for thedepartments, and use that sum as the total budget to be optimallydistributed. Below are examples of what two new scenarios mightlook like after using the budget solving method.

    Original Set of Budget Values

    One Set ofPossible Budget Values

    Another Set ofPossible Budget Values

    200 93.1 223.5

    3.5 30 0

    10 100 -67

    10 .4 67

    Many values are being tried, but the sum of all values remains 223.5

    Instead of using the budget solving method, one could use therecipe solving method and add a constraint specifying a fixed totalvalue of the adjustable cells. This approach will work well if theOptQuest engine is used. However, with the Genetic Algorithm thebudget method will be more efficient.

    .

    Budget SolvingMethod

  • 8/11/2019 Evolver6 En

    57/166

    Evolver Reference Guide 53

    The project solving method is similar to the order solving methodexcept that certain items (tasks) must precede others. The projectsolving method can be used in project management to rearrange theorder in which tasks are carried out, but the order will always meetthe precedence constraints.A problem modeled using the Project solving method will be much easier to work with and understand ifthe adjustable cells containing the task order are in a single column,rather than in a row. This is because the solving method expects thepreceding tasks cells to be arranged vertically rather thanhorizontally, and it will be easier to examine your worksheet if theadjustable cells are also vertical.

    After you have specified the location of the adjustable cells, youshould specify the location of the preceding tasks cells in the PrecedingTasks section of the dialog. This is a table of cells that describes whichtasks must be preceded by which other tasks. The solving method

    uses this table to rearrange the order of variables in a scenario untilthe precedence constraints are met. There should be one row in thepreceding tasks range for each task in the adjustable cells. Starting inthe first column of the preceding tasks range, the identifying numberof each task on which that rows task depends should be listed inseparate columns.

    Example of how to set up precedents for Project solving method.

    The precedence tasks range should be specified as being n rows by m columns, where n is the number of tasks in the project (adjustablecells), and m is the largest number of preceding tasks that any onetask has.

    Project SolvingMethod

  • 8/11/2019 Evolver6 En

    58/166

    54 Model Definition Command

    Below are examples of a set of variable values as they might be in asheet before Evolver is called, and what two new scenarios might looklike after using the Project solving method, with the constraint that 2must always come after 1, and 4 must always come after 2.

    Original Set of

    Variable Values

    One Set of Possible

    Project Values

    Another Set of

    Possible ProjectValues

    1 1 1

    2 3 2

    3 2 4

    4 4 3

    A schedule is similar to a grouping; it is an assignment of tasks totimes. Each task is assumed to take the same amount of time, much

    as classes at a school are all of the same length. Unlike a grouping,however, the Adjustable Cell Group Settings Dialog for theschedule solving method lets you directly specify the number oftime blocks (or groups) to be used. Notice when you select theschedule method, several related options appear in the lowerportion of the dialog box.

    One can specify a range in which the constraints relating to theschedule are defined. This range can be of any length, but must beexactly three columns wide. Eight kinds of constraints arerecognized:1) (with) The tasks in the 1st & 3rd columns must occur in the same time

    block.2) (not with) The tasks in the 1st & 3rd columns must not occur in the

    same time block.3) (before) The task in the 1st column must occur before the task in the 3rd

    column.4) (at) The task in the 1st column must occur in the time block in the 3rd

    column.

    ScheduleSolving Method

  • 8/11/2019 Evolver6 En

    59/166

    Evolver Reference Guide 55

    5) (not after) The task in 1st column must occur at the same time or beforethe task in the 3rd column.

    6) (not before) The task in 1st column must occur at the same time or afterthe task in the 3rd column.

    7) (not at) The task in the 1st column must not occur in the time block inthe 3rd column.

    8) (after) The task in the 1st column must occur after the task in the 3rdcolumn.

    Either a numeric code (1 through 8) or the English description ( after,not at, etc.) can be entered for a constraint. (Note: All languageversions of the Evolver will recognize the English description enteredfor a constraint as well as the its translated form). All of theconstraints specified in your problem will be met. To createconstraints, find an empty space on your worksheet and create a tablewhere the left and right columns represent tasks, and the middlecolumn represents the type of constraints. A number from 1 to 8represents the kind of constraint listed above. The cells in theconstraint range must have the constraint data in them before youstart optimizing.

    This Task Constraint This Task

    5 4 2

    12 2 8

    2 3 1

    7 1 56 2 4

    9 3 1

  • 8/11/2019 Evolver6 En

    60/166

  • 8/11/2019 Evolver6 En

    61/166

    Evolver Reference Guide 57

    ConstraintsEvolver allows you to enter constraints, or conditions that must bemet for a solution to be valid. Constraints you have entered areshown in the Constraints table in the Model Definition dialog box.

    Clicking the Add button next to the Constraints table displays theConstraint Settings dialog box where constraints are entered. Usingthis dialog box the type of constraint desired, along with itsdescription, type, and definition can be entered.

    Two types of constraints can be specified in Evolver: Hard , or conditions that must be met for a solution to be valid

    (i.e., a hard constraint could be C10

  • 8/11/2019 Evolver6 En

    62/166

    58 Model Definition Command

    Soft , or conditions which we would like to be met as much aspossible, but which we may be willing to compromise for a bigimprovement in target cell result (i.e., a soft constraint could beC100.

    ConstraintPrecision

    Entry Style

  • 8/11/2019 Evolver6 En

    63/166

    Evolver Reference Guide 59

    Soft Constraints are conditions which we would like to be met asmuch as possible, but which we may be willing to compromise for abig improvement in target cell result (objective function value). Whena soft constraint is not met it causes a change in the target cell resultaway from its optimal value. The amount of change caused by anunmet soft constraint is calculated using a penalty function that isentered when you specify the soft constraint.

    More information about penalty functions is as follows: Entering a Penalty Function. Evolver has a default penalty

    function which is displayed when you first enter a soft constraint.Any valid Excel formula, however, may be entered to calculatethe amount of penalty to apply when the soft constraint is notmet. An entered penalty function should include the keyworddeviation which represents the absolute amount by which theconstraint has gone beyond its limit. With each recalculationEvolver checks if the soft constraint has been met; if not, it placesthe amount of deviation in the entered penalty formula and thencalculates the amount of penalty to apply to the target cell.

    The penalty amount is either added or subtracted from the

    calculated target cell value in order to make it less "optimal". Forexample, if Maximum is selected in the Optimization Goal field inthe Evolver Model Dialog, the penalty is subtracted from thecalculated target cell value.

    Viewing the Effects of an Entered Penalty Function. Evolverincludes an Excel worksheet Penalty Functions and SoftConstraints.xlsx (and Penalty Functions and Soft

    Soft Constraints

  • 8/11/2019 Evolver6 En

    64/166

    60 Model Definition Command

    Constraints.xls) which can be used to evaluate the effects ofdifferent penalty functions on specific soft constraints and targetcell results.

    Penalty Functions and Soft Constraints workbook allows you toselect a soft constraint from your model whose effects you wish toanalyze. You can then change the penalty function to see how thefunction will map a specific value for the unmet soft constraint into aspecific penalized target value. For example, if your soft constraint isA10

  • 8/11/2019 Evolver6 En

    65/166

    Evolver Reference Guide 61

    Implementing Soft Constraints in Worksheet Formulas. Penaltyfunctions can be implemented directly in the formulas in yourworksheet. If soft constraints are implemented directly in theworksheet they should not be entered in the main Evolver dialog.For more information on implementing penalty functions in yourworksheet, see the section Soft Constraints in Evolver Extras.

  • 8/11/2019 Evolver6 En

    66/166

    62 Model Definition Command

  • 8/11/2019 Evolver6 En

    67/166

    Evolver Reference Guide 63

    Optimization Settings Command

    Optimization Settings Command Runtime TabDefines the runtime settings for an optimization

    The Optimization Settings dialog Runtime tab displays Evolversettings that determine the runtime of the optimization. Thesestopping conditions specify how and when Evolver will stop duringan optimization. Once you select the Start Optimization command,Evolver will continuously run, searching for better solutions andrunning trials until the selected stopping criteria are met. You canturn on any number of these conditions, or none at all if you wantEvolver to search indefinitely (until you stop it). When multipleconditions are checked, Evolver stops as soon as one of the chosenconditions is met. You may also override these selections and stop

    Evolver at any time manually using the stop button in the EvolverWatcher or Progress windows.

  • 8/11/2019 Evolver6 En

    68/166

    64 Optimization Settings Command

    Optimization Runtime options on the Runtime tab include: Trials - This option, when set, stops Evolver when the given

    number of trial solutions are generated by Evolver.

    The Trials setting is particularly useful when comparing Evolversefficiency when trying different modeling methods. By changingthe way you model a problem, or by choosing a different solvingmethod, you may increase Evolvers efficiency. Having a modelrun a specified number of trials will indicate how efficientlyEvolver is converging on a solution, regardless of any differencesin the number of variables chosen, the speed of the computerhardware being used, or the screen re-drawing time. The Evolveroptimization summary worksheet is also useful in comparingresults between runs. For more information on OptimizationSummary worksheets, see the Evolver Watcher StoppingOptions section in this chapter.

    Time - This option, when set, stops Evolver from optimizingscenarios after the given number of hours, minutes or seconds haselapsed. This entry can be any positive real number (600, 5.2,etc.).

    Progress - This option, when set, stops Evolver from optimizingscenarios when the improvement in the target cell is less than thespecified amount (change criterion). You can specify, as aninteger, the number of trials over which to check theimprovement. A percentage value - such as 0.01% - can beentered as the maximum change value in the Maximum Change field.

    Suppose that we are trying to maximize the value of the targetcell, and the parameters used in the Progress stopping conditionare 20000 trials, and 0.01% change. Also suppose that after 10000trials, the best answer found so far is 2000. If the Progress optionis the only stopping condition selected, when Evolver gets to trial#30000 it will only continue if it is able to find an answer of atleast 2000.2 during those last 20000 trials. In other words, ifEvolvers answers have not improved at least 0.01% over the last20000 trials, it assumes there is little more improvement to befound, and stops the search. The more complex the optimizationproblem, the greater the number of trials that should be specifiedin this stopping condition.

    This is the most popular stopping condition, because it givesthe user an effective way to stop Evolver after theimprovement rate is slowing down, and Evolver is not

    OptimizationRuntimeOptions

  • 8/11/2019 Evolver6 En

    69/166

  • 8/11/2019 Evolver6 En

    70/166

    66 Optimization Settings Command

    Settings Command Engine TabSelects the optimization engine and settings

    The Optimization Settings dialog Engine tab selects the optimizationengine and settings which will be used during an optimization.Evolver uses OptQuest and Genetic Algorithms to search foroptimum solutions to a problem. In addition, it solves linearproblems using linear programming methods, if Optimization Modeis left as Automatic .

    The Initial Seed field refers to the random number generator of theoptimization algorithm (Genetic Algorithm or OptQuest). By settingsthis field to a fixed integer value, we ensure the same sequence ofsolutions will be generated in two optimizations, given the sameinitial values of adjustable cells. By leaving this field set toAutomatic we let Evolver select the initial set randomly.

    In most cases, Evolver can automatically detect which engine willgive the best and fastest solutions to your model. The Automatic setting specifies this (and allows Evolver to use linear programmingmethods with linear problems). However, there may be times whenyou wish to specify that specific engine should be used. You might,for example, have a model that requires the Project or Schedulesolving methods that are only available with the Genetic Algorithmengine.

    OptimizationMode

  • 8/11/2019 Evolver6 En

    71/166

    Evolver Reference Guide 67

    Two optimization engines - Genetic Algorithm and OptQuest - areavailable to search for optimum solutions to a problem.

    Genetic Algorithm engine is that which originated in Evolver,Palisades solver and was used in pre 6.0 versions of Evolver. TheGenetic Algorithm engine mimics Darwinian principles of naturalselection by creating an environment where hundreds of possible

    solutions to a problem can compete with one another, and only thefittest survive. Just as in biological evolution, each solution canpass along its good genes through offspring solutions so that theentire population of solutions will continue to evolve better solutions.

    The OptQuest Engine uses metaheuristic, mathematical optimization,and neural network components to guide the search for best solutionsto decision and planning problems of all types. OptQuests methodsintegrate state-of-the-art metaheuristic procedures, including TabuSearch, Neural Networks, and Scatter Search into a single compositemethod.

    Genetic Algorithm Settings on the Engine tab include:

    Population Size. The population size tells Evolver how manyorganisms (or complete sets of variables) should be stored in memoryat any given time. Although there is still much debate and researchregarding the optimal population size to use on different problems,generally we recommend using 30-100 organisms in your population,depending on the size of your problem (bigger population for largerproblems). The common view is that a larger population takes longerto settle on a solution, but is more likely to find a global answer

    because of its more diverse gene pool.Crossover and Mutation. One of the most difficult problems withsearching for optimal solutions, when your problem has seeminglyendless possibilities, is in determining where to focus your energy. Inother words, how much computational time should be devoted tolooking in new areas of the solution space, and how much timeshould be devoted to fine-tuning the solutions in our population thathave already proven to be pretty good?

    A big part of the genetic algorithm success has been attributed to its

    ability to preserve this balance inherently. The structure of the GAallows good solutions to breed, but also keeps less fit organismsaround to maintain diversity in the hopes that maybe a latent genewill prove important to the final solution.

    Crossover and Mutation are two parameters that affect the scope ofthe search, and Evolver allows users to change these parametersbefore, and also during the evolutionary process. This way, a

    Optimize Using

    Genetic AlgorithmSettings

  • 8/11/2019 Evolver6 En

    72/166

    68 Optimization Settings Command

    knowledgeable user can help out the GA by deciding where it shouldfocus its energy. For most purposes, the default crossover andmutation settings (.5 and .1 respectively) do not need adjustment. Inthe event that you wish to fine-tune the algorithm to your problem,conduct comparative studies, or just to experiment, here is a briefintroduction to these two parameters: Crossover. The crossover rate can be set to between 0.01 and 1.0,

    and reflects the likelihood that future scenarios or organismswill contain a mix of information from the previous generation ofparent organisms. This rate can be changed by experienced usersto fine-tune Evolvers performance on complex problems.

    In other words, a rate of 0.5 means that an offspring organism willcontain roughly 50% of its variable values from one parent andthe remaining values from the other parent. A rate of 0.9 meansthat roughly 90% of an offspring organisms values will come

    from the first parent and 10% will come from the second parent.A Crossover rate of 1 means that no crossover will occur, so onlyclones of the parents will be evaluated.

    The default rate used by Evolver is 0.5. Once Evolver has startedsolving a problem, you can change the crossover rate by using theEvolver Watcher (see the Evolver Watcher section in this chapter).

    Mutation Rate. The mutation rate can be set to between 0.0 and1.0, and reflects the likelihood that future scenarios will containsome random values. A higher mutation rate simply means that

    more mutations or random gene values will be introduced intothe population. Because mutation occurs after crossover, settingthe mutation rate to 1 (100% random values) will effectivelyprevent the crossover from having any effect, and Evolver willgenerate totally random scenarios.

    If all the data of the optimal solution was somewhere in thepopulation, then the crossover operator alone would be enough toeventually piece together the solution. Mutation has proven to bea powerful force in the biological world for many of the samereasons that it is needed in a genetic algorithm: it is vital to

    maintaining a diverse population of individual organisms,thereby preventing the population from becoming too rigid, andunable to adapt to a dynamic environment. As in a geneticalgorithm, it is often the genetic mutations in animals whicheventually lead to the development of critical new functions.

    For most purposes, the default mutation setting does not needadjustment, but can, however, be changed by experienced users to

  • 8/11/2019 Evolver6 En

    73/166

    Evolver Reference Guide 69

    fine-tune Evolvers performance on complex problems. The usermay wish to boost the mutation rate if Evolvers population isfairly homogenous, and no new solutions have been found in thelast several hundred trials. Typical setting changes are from .06 to.2. Once Evolver has started solving a problem, you can changethe mutation rate dynamically by using the Evolver Watcher (seethe Evolver Watcher section later in this chapter).

    By selecting Auto from the drop down list in the Mutation ratefield, auto-mutation rate adjustment is selected. Auto-mutationrate adjustment allows Evolver to increase the mutation rateautomatically when an organism "ages" significantly; that is, it hasremained in place over an extended number of trials. For manymodels, especially where the optimal mutation rate is not known,selecting Auto can give better results faster.

  • 8/11/2019 Evolver6 En

    74/166

    70 Optimization Settings Command

    Evolver includes selectable genetic operators when used with theRecipe solving method. Clicking the Operators button in theOptimization Settings dialog Engine tab allows you to select a specificgenetic operator (such as heuristic crossover or boundary mutation)to be used when generating possible values for a set of adjustablecells. In addition, you can have Evolver automatically test all available

    operators and identify the best performing one for your problem.

    Genetic algorithms use genetic operators to create new members ofthe population from current members. Two of the types of geneticoperators Evolver employs are mutation and crossover . The mutationoperator determines if random changes in genes (variables) willoccur and how they occur. The crossover operator determines howpairs of members in a population swap genes to produce offspringthat may be better answers than either of their parents.

    Operators

  • 8/11/2019 Evolver6 En

    75/166

    Evolver Reference Guide 71

    Evolver includes the following specialized genetic operators: Linear Operators Designed to solve problems where the

    optimal solution lies on the boundary of the search space definedby the constraints. This mutation and crossover operator pair iswell suited for solving linear optimization problems.

    Boundary Mutation Designed to quickly optimize variables thataffect the result in a monotonic fashion and can be set to theextremes of their range without violating constraints.

    Cauchy Mutation Designed to produce small changes invariables most of the time, but can occasionally generate largechanges.

    Non-uniform Mutation Produces smaller and smallermutations as more trials are calculated. This allows Evolver to

    fine tune answers. Arithmetic Crossover Creates new offspring by arithmetically

    combining the two parents (as opposed to swapping genes). Heuristic Crossover Uses values produced by the parents to

    determine how the offspring is produced. Searches in the mostpromising direction and provides fine local tuning.

    Depending on the type of optimization problem, differentcombinations of mutation and crossover operators may producebetter results than others. In the Operators tab of the Adjustable Cell

    Group Settings dialog, when using the Recipe solving method, anynumber of operators may be selected. When multiple selections aremade, Evolver will test valid combinations of the selected operators toidentify the best performing ones for your model. After a run, theOptimization summary worksheet ranks each of the selected operatorsby their performance during the run (but note that these scores willonly show if there were enough trials in the optimization to determinethem). For subsequent runs of the same model, selecting just the topperforming operators may lead to faster, better performingoptimizations.

  • 8/11/2019 Evolver6 En

    76/166

    72 Optimization Settings Command

    Optimization Settings Command View TabDefines the view settings for an optimization

    The Optimization Settings dialog View tab displays Evolver settingsthat determine what will be shown during an optimization.

    Options on the View tab include:

    Minimize Excel at Start . This option selects to minimize Excelwhen an optimization starts. Show Excel Recalculations . This specifies to update Excel either

    with Every New Best Trial , or at the end of Every Trial .

  • 8/11/2019 Evolver6 En

    77/166

    Evolver Reference Guide 73

    Optimization Settings Command Macros TabDefines macros to be run during an optimization

    VBA macros can be run at different times during an optimization andduring each trial solution. This allows the development of customcalculations that will be invoked during an optimization.

    Macros may be executed at the following times during anoptimization: At the Start of the Optimization - macro runs after the Start iconis clicked; prior to the first trial solution being generated.

    Before Recalculation of Each Trial - macro runs beforerecalculation of each trial that is executed.

    After Recalculation of Each Trial - macro runs after recalculationof each trial that is executed.

    After Storing Output - macro runs after each trial that isexecuted and after the value for the target cell's is stored in theoptimization engine. Consequently, any changes made to cellvalues will have no effect on the information passed to theoptimization engine on that trial. This macro may be used toupdate the user on optimization progress (or to log optimizationprogress).

    At the End of the Optimization - macro runs when theoptimization is completed.

  • 8/11/2019 Evolver6 En

    78/166

    74 Optimization Settings Command

    This feature allows calculations which only can be performed throughthe use of a macro to be made during an optimization. Examples ofsuch macro-performed calculations are iterative "looping" calculationsand calculations which require new data from external sources.

    The Macro Name defines the macro to be run.

  • 8/11/2019 Evolver6 En

    79/166

    Evolver Reference Guide 75

    Start Optimization CommandStarts an optimization

    Selecting the Start Optimization command or clicking the StartOptimization icon starts an optimization of the active model and

    workbook. As soon as Evolver is running, you will see the followingEvolver Progress window .

    The Progress window displays: Trial or the total number of trials that have been executed and

    may also indicate how many of those trials were valid (all thehard constraints were met).

    Runtime or the elapsed time in the run Original or the original value for the target cell. Best or the current best value for the target cell that is being

    minimized or maximized.

  • 8/11/2019 Evolver6 En

    80/166

    76 Start Optimization Command

    Options on the Evolver Toolbar of the Progress window include: Display Excel Updating Options . Selects to update the Excel

    display Every Trial , on Every New Best Trial or Never . Notethat in some situations the screen will be updated independentlyof these settings, for example when optimization has been

    paused. Display Evolver Watcher . Displays the full Evolver Watcher

    window. Run. Clicking the Run icon causes Evolver to begin searching for

    a solution based on the current description in the Evolver ModelDialog. If you pause Evolver you will still be able to click the Runicon to continue the search for better solutions.

    Pause. If you would like to pause the Evolver process, just clickthe Pause icon, and you temporarily freeze the Evolver process.While paused, you may wish to open and explore the Evolver Watcher and view the log, copy a graph, or change geneticalgorithm parameters.

    Stop. Stops the optimization.

  • 8/11/2019 Evolver6 En

    81/166

    Evolver Reference Guide 77

    Utilities Commands

    Application Settings CommandDisplays the Application Settings dialog where programdefaults can be set

    A wide variety of Evolver settings can be set at default values thatwill be used each time Evolver runs. These include StoppingDefaults, Default Crossover and Mutation Rates and others.

  • 8/11/2019 Evolver6 En

    82/166

    78 Utilities Commands

    Constraint Solver CommandRuns the Constraint Solver

    NOTE: Constraint Solver is useful when optimizing with the GeneticAlgorithm. Generally speaking OptQuest optimizations do notrequire the use of the Constraint Solver. The description below refersto the Genetic Algorithm only.

    The Constraint Solver enhances Evolver's ability to handle modelconstraints. When Evolver runs an optimization, it is assumed thatthe original adjustable cell values meet all the hard constraints, i.e.that the original solution is valid. If that is not the case, the algorithmmay run very many simulations before finding a first valid solution.However, if a model contains multiple constraints, then it may not beobvious what adjustable cell values will meet all of them.

    If an Evolver model contains multiple hard constraints, andoptimizations fail with all solutions invalid, you will be notified andthe Constraint Solver can be run. The Constraint Solver runs anoptimization in a special mode, in which the objective is to find asolution meeting all the hard constraints. The optimization progressis shown to the user in the same way as in regular optimizations. TheProgress Window shows the number of constraints that are met in theoriginal and best solutions.

  • 8/11/2019 Evolver6 En

    83/166

    Evolver Reference Guide 79

    A button in the Progress Window allows the user to switch to theEvolver Watcher. In the Constraint Solver mode the details ofoptimization progress are available like in regular modeoptimizations, in Progress , Summary , Log , Population and Diversity tabs. In the Constraint Solver mode the Watcher contains anadditional tab, entitled Constraint Solver . This tab shows the status

    of each hard constraint ( Met or Not Met ) for the Best, Original, andLast solution.

    A Constraint Solver optimization stops automatically when asolution meeting all the hard constraints is found; it can also bestopped by clicking a button in the progress window or in the Evolver Watcher. After a Constraint Solver run, in the Evolver WatcherStopping Options tab you can choose to keep the Best, Original, orLast solution, like in regular-mode optimizations.

    Note there is no need to set up the Constraint Solver before a run. Ituses the settings specified in the model, only changing theoptimization objective: the new objective is to find a solution meeting

    all the hard constraints.

  • 8/11/2019 Evolver6 En

    84/166

    80 Utilities Commands

  • 8/11/2019 Evolver6 En

    85/166

    Evolver Reference Guide 81

    Evolver WatcherThe magnifying glass icon on the Evolver Progress window toolbardisplays the Evolver Watcher. Evolver Watcher is responsible forregulating and reporting on all Evolver activity.

    From Evolver Watcher, you can change parameters and analyze theprogress of the optimization. You can also see real-time informationabout the problem and information on Evolvers progress in the statusbar across the bottom of Evolver Watcher.

  • 8/11/2019 Evolver6 En

    86/166

    82 Evolver Watcher

    Evolver Watcher Progress TabDisplays progress graphs for target cell value

    The Progress Tab in the Evolver Watcher graphically shows howresults are changing, by trial, for the selected target cell.

    Progress graphs show the trial count on the X-axis and target cell

    value on the Y-axis. By right-clicking on the Progress graph one candisplay the Graph Options dialog where further customization of thegraphs is allowed.

  • 8/11/2019 Evolver6 En

    87/166

    Evolver Reference Guide 83

    The Graph Options dialog displays settings that control the titles,legends, scaling and fonts used on the displayed graph.

    Graph OptionsDialog

  • 8/11/2019 Evolver6 En

    88/166

    84 Evolver Watcher

    Evolver Watcher Summary TabDisplays details for adjustable cell values

    The Summary Tab in the Evolver Watcher displays a summary tableof adjustable cell values tested during the optimization. If theGenetic Algorithm engine is in use, tools for adjusting the crossoverand mutation rate are also displayed.

    Genetic Algorithm Parameters allow you to change the Crossoverand Mutation rates of the genetic algorithm as the problem is inprogress. Any changes made here will override the original setting ofthese parameters and will take place immediately.

    We almost always recommend using the default crossover of 0.5. Formutation, in many models you may turn it up as high as about 0.4 ifyou want to find the best solution and are willing to wait longer for it.Setting the mutation value to 1 (the maximum) will result incompletely random guessing, as Evolver performs mutation after itperforms crossover. This means that after the two selected parentsare crossed over to create an offspring solution, 100% of thatsolutions genes will mutate to random numbers, effectivelyrendering the crossover meaningless (see crossover rate, what itdoes and mutation rate, what it does in the index for moreinformation).

  • 8/11/2019 Evolver6 En

    89/166

    Evolver Reference Guide 85

    Evolver Watcher Log TabDisplays a log of each trial run during the optimization

    The Log Tab in the Evolver Watcher displays a summary table of eachtrial run during the optimization. The log includes the results for thetarget cell, each adjustable cell and entered constraints.

    The Show options select to show a log of All