A New Era in Optimisation! Breakthrough Product Optimises
Models with Uncertain Factors
Want to get the best out of a risky situation? Look no further than RISKOptimizerTM, a revolutionary new DecisionTools® product. RISKOptimizer combines the advanced Genetic Algorithms of EvolverTM with the power of @RISK's Monte Carlo simulation engine to optimise models that include uncertain, stochastic factors. No other package available can provide the solving power of RISKOptimizer!
Simulation with Optimisation!
RISKOptimizer is the simulation optimisation add-in for Microsoft Excel®. RISKOptimizer combines the Monte Carlo simulation technology of @RISK, Palisade's risk analysis add-in, and the genetic algorithm optimisation technology of Evolver to allow the optimisation of Excel spreadsheet models that contain uncertain values. Take any optimisation problem and replace uncertain values with @RISK functions that represent a range of possible values. RISKOptimizer runs an optimisation of simulations, finding the combination of adjustable cells that provides the best simulation results! RISKOptimizer finds solutions quickly and is easy to use. Anyone familiar with @RISK and Evolver will jump right into RISKOptimizer with ease.
The RISKOptimizer Advantage
RISKOptimizer combines the advanced genetic algorithms of Evolver with the power of @RISK's Monte Carlo simulation engine to give you a revolutionary system for optimisation under uncertainty! No other package available can provide the solving power of RISKOptimizer. Replace uncertain values in your optimisation problems with distribution functions, or select values to optimise in an @RISK model. RISKOptimizer runs a fast, efficient optimisation of simulations, finding the best combination of parameters to maximise or minimise any value in your model.
RISKOptimizer was developed by the team that brought you @RISK and Evolver. Instead of tying the two separate products together with a clumsy interface, we have integrated them into a unique new product. The result is a package that combines the best aspects of @RISK and Evolver - fast simulations, accurate optimisation, intuitive user interface - and is as fast and easy to use as either package!
Maybe you already use @RISK for Risk Analysis and Solver or Evolver for your optimisation problems. Why would you need RISKOptimizer? Put simply, RISKOptimizer handles problems that no other programme - risk analysis or optimisation - can solve. In fact, RISKOptimizer can solve problems you didn't even know you could solve. Let's look at two examples.
Standard optimisation programmes are good at finding the best combination of values to maximise or minimise the outcome of a spreadsheet model given certain constraints. However, these programmes are not set up to handle uncertainty. Add any "uncontrolled" uncertainty and traditional optimisers just can't move to an optimal solution. They get lost in the permutations of possible values and changing solutions.
Here's a simple example: Suppose you have several factories and want to find the best locations to manufacture different products to meet demand in nearby cities. You want to maximise profits and minimise shipping costs.
This is a straightforward optimisation problem where you want to assign manufacturing volume, by product, to different factories. You begin to set up your model but then realise that several key factors - shipping costs, demand, manufacturing costs, etc. - are all uncertain. There's no "best" combination of factors; these are all factors outside of your control.
Standard optimisation programmes can't handle uncontrolled factors. Traditionally
you would have had to guess at the uncertain factors and hope for the best. But simulation
is designed to handle uncertainty, and RISKOptimizer, with built-in simulation, can
handle this type of problem easily!
|Find optimal answers while accounting for risks with RISKOptimizer! Click to view larger graphic.|
Simulation... Add Optimisation
Simulation programmes such as @RISK use Monte Carlo simulation to account for the uncertainty in models and determine the probability of various outcomes occurring. But Monte Carlo simulation does not deal with decision variables whose values you can set. It handles random, uncertain values at a single state of those decision variables.
Suppose you are developing a new product and want to determine whether or not this venture will pay off in the long run. You build a standard spreadsheet model to calculate the profit for this venture. You decide to use @RISK to run a Monte Carlo simulation and start replacing uncertain values with @RISK functions that represent a range of possible values.
Then you realise that some of your assumptions are based on using specific vendors
and production methods to construct components of your product. There may be other
vendors and methods available to you that could save money. It's also possible that
some production methods may make shipping costs unattractive.
With @RISK alone, you could run multiple simulations and compare results - but did you try every possible combination of inputs? To do that, you would need optimisation. But in this case, optimisation would need to be combined with simulation, because the results you are optimising are simulation results!
Why Not Use @RISK and Solver or Evolver?
You may be asking, "Why can't I just use @RISK and Evolver together, or use @RISK with Excel's built-in Solver?" You can't because Solver and Evolver are designed to handle models that can use a simple spreadsheet recalculation to generate a result. For optimisation under uncertainty, you need an optimiser that can minimise or maximise simulation results. A full simulation needs to be run for a possible set of values for your decision variables. That's a tough job, and that's why you need RISKOptimizer!
How RISKOptimizer Works
RISKOptimizer uses the combined power of @RISK and Evolver to solve optimisation problems under uncertainty. Probability distributions from @RISK are used to model the uncertainty present in your spreadsheet, just as they are in @RISK. During an optimisation, RISKOptimizer generates a number of trial solutions and uses Genetic Algorithms to continually improve results of each trial. However, unlike Evolver, each trial is an @RISK simulation! During the simulation for each trial, probability distribution functions are sampled and a new value for the target cell is generated - over and over again. At the end of a simulation, the result for the trial is the statistic that you wish to minimise or maximise for the distribution of the target cell (mean, standard deviation, etc.). For each new trial solution, another simulation is run and another value for the target statistic is generated. The result is the trial solution that provides the best answer to your problem!
RISKOptimizer doesn't replace @RISK or Evolver but works with them to solve optimisation problems that include uncertainty. And that's a wide variety of problems! Just think of the problems where you need to find optimal solutions. Then, in those problems, identify values which are uncertain. In the past, you might have just guessed at values for these uncertain factors - greatly diminishing the validity of your results. Now you can stop guessing and use RISKOptimizer to generate robust, optimal solutions!
RISKOptimizer uses components of both Evolver and @RISK to set up an optimisation problem:
Step 1: Set up the optimisation problem (Evolver)
Step 2: Add uncertainty to the model (@RISK)
Step 3: Run an optimisation (Evolver and @RISK)
Performing these steps is as easy as working with @RISK and Evolver.
Step 1: Setting up the Optimisation
There are five main steps to set up an optimisation in RISKOptimizer:
|RISKOptimizer settings are straightforward and easy to specify.|
1) Specify the Target Statistic
Since RISKOptimizer is optimising simulation results, the value you are trying to maximise or minimise must be a simulation statistic, such as the Mean, Standard Deviation, Variance, etc. The target cell statistic is selected from the drop down list next to the cell reference (see right). You can also select a specific percentile or target value. (For example, Percentile(.99) would select to minimise or maximise the 99th percentile of the target cell, or Target(100000) would select to minimise or maximise the probability of a value <=100000 occurring.) These statistics can also be specified in the model using new functions (see below).
2) Select Adjustable Cells
The adjustable cells contain the values that RISKOptimizer will change in order to optimise the target statistic. Multiple groups of adjustable cells may be specified, and each group may contain multiple cell ranges.
RISKOptimizer uses six different solving methods 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.
3) Define Constraints
Constraints (both hard and soft) which must be satisfied during the optimisation can be specified in RISKOptimizer. Hard constraints may be evaluated each iteration of a simulation run for a trial solution (an iteration constraint), or at the end of the simulation run for a trial solution (a simulation constraint). Solutions that fail to meet hard constraints are discarded. Soft constraints - constraints that cause a penalty to be applied if they are not met - are calculated at the end of a simulation.
4) Set Stopping Conditions
The stopping conditions available in RISKOptimizer include settings for halting the optimisation and settings for halting each simulation run during the optimisation. These conditions include:
|Optimisation Stopping Conditions
Number of simulations
Change in last n simulations less than x%
Excel formula evaluates to TRUE
|Simulation Stopping Conditions
Number of iterations
Convergence Monitoring to stop simulating when
results are stable
"Projected Convergence" to stop simulating based on
Specifying a Tolerance for convergence or using
automatic Tolerance adjustment.
5) Set Other Options
You can specify the sampling method used during the simulations (Monte Carlo or Latin Hypercube), as well as what values are displayed during a normal spreadsheet recalc (Expected Value, True Expected Value, or a Monte Carlo random value). RISKOptimizer allows macros to be run at various times during the optimisation and simulation process.
Step 2: Adding Uncertainty to the Models
Uncertainty is represented in RISKOptimizer (as well as @RISK) by probability distribution functions. Any value in a spreadsheet cell or formula can be replaced by a probability distribution that specifies the range and probability of possible values that could occur.
Models in RISKOptimizer can use any of the 38 probability distribution functions available in @RISK to define uncertainty. A value of 10 in a spreadsheet cell, for example, can be replaced with the @RISK function =RiskNormal(10,2). This would specify that the possible values for the cell are described by a probability distribution with a mean of 10 and a standard deviation of 2. As in @RISK, these functions behave as standard Excel functions. Correlations between probability distribution functions can be specified with any of the @RISK correlation functions including RiskDepC, RiskIndepC and RiskCorrmat.
New @RISK Functions
A set of new @RISK functions are available in RISKOptimizer that return statistics on simulation results directly to the spreadsheet. These functions include:
These new functions return values that are updated "real time" as a simulation is running and can be used for specifying constraints or displaying simulation results directly in the spreadsheet. These functions can also be used in @RISK (even if RISKOptimizer is not running) once RISKOptimizer has been installed!
Step 3: Running an Optimisation
An optimisation starts when the Run icon is clicked; its progress can be monitored with the RISKOptimizer Watcher and can be paused or stopped at any time.
When optimising, RISKOptimizer runs a full simulation for each possible trial solution that is generated by the genetic algorithm (GA) optimisation engine. In each iteration of the simulation, probability distribution functions in the spreadsheet are sampled and a new value for the target cell is generated. At the end of a simulation, the result for the trial solution is the statistic that you wish to minimise or maximise for the distribution of the target cell. This value is then returned to the optimiser and used by the GAs to generate new and better trial solutions. For each new trial solution, another simulation is run and another value for the target statistic is generated. The result is the trial solution that provides the best answer to your problem!
Get Accurate Results
RISKOptimizer uses two advanced techniques to minimise runtimes and generate optimal solutions as quickly as possible. First, RISKOptimizer uses convergence monitoring to determine when a sufficient number of iterations have been run (but not too many). This insures that the resulting statistic from the target cell's probability distribution is stable, and that any statistics from output distributions referenced in constraints are stable. RISKOptimizer can also "project" convergence based on prior simulations, saving time during an optimisation. Secondly, RISKOptimizer uses Evolver's 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. This technology solves problems that no other method can solve, giving RISKOptimizer unprecedented power in simulation optimisation!
Do I need @RISK or Evolver?
RISKOptimizer includes everything you need to perform powerful optimisation under uncertainty. It does not require @RISK or Evolver to run. RISKOptimizer performs a specialised form of optimisation and simulation. You'll need @RISK and Evolver to perform standard risk analysis and optimisation of spreadsheet models. When you need to perform an optimisation of a simulation, use RISKOptimizer!
Performs optimisation under uncertainty
Solves problems no other programme can solve!
Seamlessly integrates @RISK and Evolver in one package!
Easy to use
Provides fast, accurate answers with advanced Convergence Monitoring
Define uncertainty using 38 @RISK probability functions
Use new @RISK commands to define statistics directly in your model. Use these commands with @RISK!
Optimise simulations with six solving methods from Evolver!
Standard Version supports up to 80 variables for optimisation.
Industrial Version allows an unlimited number of variables!
Start Optimising Today!
RISKOptimizer is a breakthrough in optimisation and simulation. Never before have people had such complete freedom in defining their optimisation problems. Order your copy of RISKOptimizer today and see what it can do for you!
Tech Corner: Using RISKOptimizer: 5 easy steps to solve your problem!
Fly RISKOptimizer to Profit Maximisation: A typical optimisation problem that benefits from RISKOptimizer's combination of optimisation and simulation.
Review: RISKOptimizer: Powerful Tool Eliminates Much of the "Guesswork" Inherent to Model Derivation
Book: Financial Models Using Simulation and Optimization
Book: Decision Making Under Uncertainty with RISKOptimizer
RISKOptimizer System Requirements
Minimum Platform: IBM PC compatible Pentium-equivalent or higher, 16MB RAM, Windows 98, NT 4.0, Windows 2000, Windows XP
Recommended: 32 MB RAM, or greater
Spreadsheet: Windows Excel 97 or higher
Developer's Kit : RISKOptimizer Developer's Kit
Technical Support: 30 days free. Further support available through Maintenance Plan.
Demo: Web download and free demo CD with trial version available.
Training: Available through Palisade's Software Training Courses.
Recommended Books: Decision Making Under Uncertainty with RISKOptimizer; Financial Models Using Simulation and Optimization; Financial Models Using Simulation and Optimization II; RISKOptimizer for Business Applications; Trends and Tools in Operations Management