Add RISKOptimizer to Any Application!
The RISKOptimizer Developer's Kit (RODK) is Palisade's optimisation and simulation programming toolkit. The RODK allows you to build genetic algorithm optimisation models that also incorporate Monte Carlo simulation using Windows and .NET programming languages, such as C, C#, C++, Visual Basic , or Visual Basic .NET or any other Windows programming language. Examples of programmes written in Windows a nd .NET programming languages are provided.
The RODK offers access to all of the optimisation and simulation technology available in the world's fastest genetic algorithm-based stochastic solver, RISKOptimizer. A revolutionary product, RISKOptimizer allows you to solve optimisation problems with uncertain – or stochastic - variables. It can be used to easily create custom applications with genetic algorithm optimisation that includes uncertain elements, such as job shop scheduling with uncertain time requirements; investment portfolio analysis where rates of return are unknown; yield management of airline seats or hotel rooms with uncertain demand; and many, many more.
Unlike the Excel version of RISKOptimizer, the RODK does not require a spreadsheet to perform optimisation. This means user models can be larger and execute faster. All optimisation results can be accessed programmatically, directly in the developer's application. The extensive Evolver Watcher can be called to visually monitor optimisation progress.
RODK applications can be run in a desktop, network server, or web environment. (Click here for examples.) Furthermore, the RODK fully supports multithreading to allow the development of scalable web applications. Models built using the RODK can run optimisations and generate results entirely in the user's programme, or Evolver's Microsoft-style interface can be used to input optimisation settings and parameters. . Genetic operators that drive the optimisation may be chosen by the programmer as well.
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 (GAs) 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 minimize or maximize 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!
Why Use the RODK?
For many users the spreadsheet is the preferred modelling environment. However, many times an application written in a standard programming language needs optimisation capabilities, and will have uncertain factors for which simulation can account. The application will have its own user interface, variables and model calculations. In addition, a developer may want to allow users to access the application over a corporate network or over the Internet.
The RODK allows custom applications such as these to run genetic algorithm optimisations
to maximize or minimize a particular output, while simulating the different possible
scenarios of each trial solution. Applications written with the RODK will often run
faster and can contain larger numbers of adjustable cells and distribution functions
when compared with models written in spreadsheet versions of RISKOptimizer. This is
because RODK applications are compiled and do not contain additional routines executed
during spreadsheet recalculation.
Distribute Custom Solutions Over the Web
The RODK allows you to streamline the distribution of your optimisation solutions through enterprise-wide web deployment. Server-based optimisation models - such as investment mix models, manufacturing applications, production models, and scheduling tools - can be accessed over the Internet from any browser, allowing users to enter model parameters and inputs, define distribution functions, run optimisations, and view results. Model structure, logic, and RODK optimisation and simulation libraries are stored on the server, ensuring consistency for all end-users and removing local installation and support issues.
Optimisation problems often involve constraints that have to be met for solutions to be valid. For example, when optimizing an academic class schedule, no two classes can be scheduled in the same room during the same time slot, and the lab for a certain course may have to be scheduled for the same day as the lecture, but later in the day. Such problem constraints can easily be added to RODK models. The RODK’s GA engine will only generate solutions which meet these constraints, insuring realistic results every time. You can even define constraints that must be met during the Monte Carlo simulations.
ActiveX Interface Makes Integrating Optimisation Easy
The EDK ships with two programming interfaces: the ActiveX Interface and the standard DLL Interface.
The ActiveX/COM Interface makes development of customized optimisation programmes easy. An intuitive set of methods and properties allow the developer to quickly set up an optimisation model with uncertainty in a custom application - defining adjustable variables, distribution functions, outputs, and constraints. (See a list of methods and properties, by object, here.) This interface can be used in any ActiveX-aware programming environment such as Visual Basic or C++. Example programmes are included.
.NET AND ACTIVEX
Because the .NET environment offers the COM Interoperability feature, .NET programmers can also take advantage of the easy-to-use ActiveX/COM interface. Examples in two .NET programming languages – C# and Visual Basic .NET – are included.
The RODK DLL Interface includes a library of functions that allows you to build optimisation models using C, Visual Basic or other programming languages. Use of the RODK function library requires an installed programming language and knowledge of programming techniques. You are not, however, restricted to using these languages for developing your programmes. Any Windows-based language which can call .DLL functions can be used for developing RODK applications using the RODK DLL Interface. Example programmes in C++ and Visual Basic are included.
The RODK features auto-mutation rate adjustment. The mutation rate determines the amount of randomness the RODK engine uses when generating new solutions. The RODK can monitor progress toward an optimal solution and adjust the mutation rate appropriately.
Selectable Genetic Operators
The RODK also allows users to select from a variety of available genetic operators, including heuristic crossover, extinction, boundary mutation s, local search, and others. Choose the best operator for your specific programme to find the optimal answer more efficiently. Using a powerful auto-operator feature, the RODK can also test all available operators and identify the best-performing one for a specific model.
Typical Applications that Can Incorporate the RODK
Product Mix Decisions
Job Shop Scheduling
Cash Management Policies
Tough problems like managing the inventory of airline seats and hotel rooms are easily handled with the RODK. Click to view larger graphic.
RISKOptimizer Developer’s Kit Features
Optimize problems under uncertainty
Add genetic algorithm optimisation and Monte Carlo simulation to any Windows application
Define uncertainty with @RISK probability distribution functions
ActiveX programming interface makes development easy
Examples in Windows and .NET programming languages
Applications outside Excel often optimize and simulate even faster than RISKOptimizer for Excel
Design your own custom interface
Auto-mutation rate adjustment - provides faster and better solutions
Selectable genetic operators - provides more accurate solutions to various problems; auto-operator feature chooses the optimal operator
Stopping conditions can be set to end your optimisation after a specified time period or number of trials, or if no significantly better solution has been found within a defined number of trials
Optimize with an unlimited number of variables
Deploy RODK applications over a network or Web server for efficient distribution
Save models and optimisation results to files
Deployment Options That Meet Your Needs
The RODK Developer Edition gives you everything you need to get up and running with your own optimisation application with uncertainty. Affordable and flexible, it is ideal for developing and testing custom solutions. Multiple Developer Kits can be purchased to run applications in small workgroups. The Developer Edition includes:
DLL and ActiveX functions to perform all RISKOptimizer features as described above
Examples in Windows and .NET programming languages
Installer for deployment of an unlimited number of 30-day demo licenses of any application developed using the RODK
The Developer Edition is designed for software development and testing. To run applications in a production setting, Palisade offers customized deployment licenses. We can work with you to develop a tailored RODK licensing solution to meet your organisation’s needs. Call our Technical Sales department at 1-800-432-RISK or e-mail us at email@example.com to discuss your licensing needs.
Free Trial Version: Download software now and use for 30 days, free! Download here.
System Requirements: IBM PC compatible Pentium or higher; Microsoft 98, Me, 2000, NT; 16MB RAM installed.
Recommended: 32MB RAM installed.