The Technology
Building Your Application

@RISK Developer's Kit
BestFit Developer's Kit
Evolver Developer's Kit
RISKOptimizer Developer's Kit
Order Now
Object Model
Trial Versions


Academic Programmes
Corporate Licensing

Home > Palisade Products > Developer Kits > RODK

RISKOptimizer Developer's Kit

Add RISKOptimizer to Any Application!

Problems such as maximising the return on this portfolio can be modeled in any Windows application with the RODK! Click to view larger graphic. Click here to go to this model.

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 programs 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 program , 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 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!

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 maximise or minimise 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.

Defining Constraints
Optimisation problems often involve constraints that have to be met for solutions to be valid. For example, when optimising 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 customised optimisation programs 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 programs are included.

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 programs. Any Windows-based language which can call .DLL functions can be used for developing RODK applications using the RODK DLL Interface. Example programs in C++ and Visual Basic are included.

Auto-Mutation Rates
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 program 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

Yield Management
Financial Planning
Portfolio Analysis
Ordering Policies
Product Mix Decisions
Job Shop Scheduling
Production Scheduling
Capital Budgeting
Capacity Planning
Route Planning
Purchasing Decisions
Cash Management Policies
Retirement Planning

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
  Optimise 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 optimise 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
  Optimise 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 customised 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 +44 1895 425050 or e-mail us at to discuss your licensing needs.

View example models using RODK.

Order @RISK Developer's Kit Now!

Download Only
RISKOptimizer Developer's Kit
Note: Applications developed using the RODK cannot be left running unattended for long periods or in a production environment. The Developer's Kit is designed for software development and testing only. To run applications unattended or in a production setting, or to distribute finished applications, contact Manuel Carmona at +44 1895 425050 to discuss licensing options.
Save £15

  Prices include one year of Maintenance, which can be removed from your shopping cart at any time.
Download Only (Save all shipping charges.)
No, ship me RODK. (I will enter my shipping address later.)



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.

Technical Support: Technical and development support is available. Please or call our Sales Department for details.