RASON Analytics API Help

Download RASON User Guide

Download RASON Reference

Introduction to RASON
Overview of Features
An Optimization Example
A Simulation Example
Web & Mobile Applications
Server Based Applications
Binding to Data and Dimensional Flexibility
Rason Subscriptions Introduction
Registering on www.RASON.com
RASON Subscriptions
Installing RASON with Solver SDK Platform
Installing the Solver SDK
Defining Your Model
Defining an Optimization Model
Setting Up an Optimization Model
Algebraic Form
A Basic Model
The Improved Model
Solving the Model
Using a Simple For()
Using the Binding Property
Defining a Simulation Model
Setting Up the Simulation Model
A Business Planning Example
Defining the Simulation Model
Running a Simulation
An Airline Management Revenue Example
A Single Simulation
Changing Parameter Values
Multiple Parameterized Simulations
Simulation Optimization
Defining a Stochastic Optimization Model
A Project Selection Model
Solving with Simulation Optimization
Using Stochastic Transformation
Using the REST API
Creating Your Own Application
Authorization Headers
Model Resources and Location Headers
Responses: Solution Status and Results
CPU Time Limits & Charges
Unauthorized Errors
Quick Calls to REST API Endpoints
POST rason.net/api/diagnose
POST rason.net/api/optimize
POST rason.net/api/simulate
DELETE rason.net/api/model/{id}/delete
GET rason.net/api/model
GET rason.net/api/model/{id}
GET rason.net/api/model/{id}/optimize
GET rason.net/api/model/{id}/result
GET rason.net/api/model/{id}/result/{data}
GET rason.net/api/model/{id}/simulate
GET rason.net/api/model/{id}/status
POST rason.net/api/model
POST rason.net/api/model/{id}/stop
PUT rason.net/api/model/{id}
Using Arrays, For, Loops and Tables
Array Formulas
Parallel Array Formulas
Non-Parallel Array Formulas
Indexed Array Formulas
Advanced Indexed Array Formulas
Sum Aggregate Function
Applying a Common For() to Multiple Formulas
Arrays & Tables in Indexed Array Formulas
Examples with Indexed Array Formulas
Simple-For with Index Set and Array Assignment
Simple-For with Index Set and Table Assignment
Using For Loops
Examples Using Loops
A Simple Loop
A Fully Scalable with Loop
Using Tables

Introduction and Key Benefits

Welcome to Frontline Systems' RASONTM modeling language. RASON is a mini-language you can use to quickly and easily create and solve optimization and simulation/risk analysis models. RASON is compatible with Windows and Linux desktops and servers but is especially useful if you are building Web or mobile applications.

RASON stands for Restful Analytic Solver Object Notation. It offers many benefits compared to using a traditional modeling language, using Excel to create analytic models or writing analytic models in a programming language.

If you have ever used a modeling language to build an optimization or simulation model, you'll find the RASON language to be simple but powerful and expressive and integrating RASON models into a larger application, especially a web or mobile app, is much easier than with other modeling languages.

If you have used Excel for optimization or simulation, you'll find that it's easy to translate Excel models into RASON models, that your knowledge of Excel formulas and functions is immediately usable, but that RASON models can be more flexibly "bound" to data from a variety of sources.

If you've ever programmed the Solver SDK Platform in a language such as .NET or C++, you'll quickly find that using the RASON tools is much faster/more productive than writing models entirely in code. This is true especially if you are using JavaScript and you are familiar with AJAX and REST API's. You'll find it's exceptionally easy to embed RASON models in your code - since RASON is JSON - and to solve them using Frontline's RASON server. This server, which exposes a simple REST API, is free for small models and experimentation, yet scalable to handle very large, compute-intensive analytic models.

Problems you can solve with the RASON server include linear programming and mixed-integer programming problems, quadratic programming and second-order cone problems, nonlinear and global optimization problems, problems requiring genetic algorithm and tabu search methods - from small to very large (LP/MIP models with millions of variables).

You can also solve Monte Carlo simulation / risk analysis problems, and create and solve models with uncertainty, using simulation optimization, robust optimization, and stochastic programming methods.