Introduction to RASON
Embracing Open Standards
RASON V2020
Overview of Features
An Optimization Example
A Simulation Example
An Example Data Mining Model
An Example Decision Table Model
Web & Mobile Applications
Server Based Applications
Binding to Data and Dimensional Flexibility
Rason Subscriptions Introduction
Registering on www.RASON.com
Basic Subscription
My Account Page
My Account Overview
Data Connections
Creating API Tokens
Creating Basic Tokens
Creating OAuth 2 Tokens
Creating Runtime API Tokens
RASON Web IDE
Running Example Models
Uploading Data
DownloadingExternalData
Solve with a Runtime Token
Defining Your Model
Defining an Optimization Model
Setting Up an Optimization Model
Algebraic Form
A Basic Model
The Improved 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
Defining a Data Mining Model Introduction
Supported Features in Data Mining
Defining a Data Mining Model
Essential Rason DM Model Sections
Optional Rason DM Sections
Sampling Example
Partitioning Example
Feature Selection Example
Classification Example
Running a Data Mining Algorithm
Introduction to Defining Decision Tables in RASON
Decision Table Structure
Calculating a Decision Table
Decision Table Hit Policies
"Hit Policy: Any"
"Hit Policy: Collect"
"Hit Policy: First"
"Hit Policy: Output Order"
"Hit Policy: Priority"
"Hit Policy: Rule Order"
"Hit Policy: Unique"
Decision Tables with Dates and Times
Decision Table Containing Dates
Decision Table Containing Time
Decision Table Containing Duration
Using an External Data Source
Loan Strategy Example
Parametric Selection Queries
Using PMML Model to Score New Data
Merging Decision Table Results
Using the REST API
Creating Your Own Application
Exporting Your RASON Model to Power BI
Exporting your RASON Model to Tableau
Authorization Headers
Resource IDs
Model Names
Model Versions
Fitted Models
Model Instances
Using Model Names for API Calls
Champion-Challenger-Models
POST for Runs
Deleting Resource IDs
Responses: Solution Status and Results
CPU Time Limits and Charges
Throttling
Unauthorized Errors
Quick Calls to REST API Endpoints
POST rason.net/api/datamine
POST rason.net/api/decision
POST rason.net/api/diagnose
POST rason.net/api/optimize
POST rason.net/api/simulate
POST rason.net/api/solve
RASON REST API Endpoints
DELETE rason.net/api/model/{id}/delete
DELETE rason.net/api/model/{nameorfitted-name}/delete
DELETE rason.net/api/model/{nameorfitted-name}/{fitted, RASON or all}
DELETE rason.net/api/model/{nameorid}/runtoken
GET rason.net/api/model
GET rason.net/api/model/{nameorid}
Get rason.net/api/model/{name}/champion
GET rason.net/api/model/{nameorid}/datamine
GET rason.net/api/model/{nameorid}/decision
GET rason.net/api/model/{nameorid}/diagnose
GET rason.net/api/model/{nameorid}/optimize
GET rason.net/api/model/{nameorid}/result
GET rason.net/api/model/{nameorid}/result/data
GET rason.net/api/model/{nameorid}/runtoken
GET rason.net/api/model/{id}/simulate
GET rason.net/api/model/{nameorid}/solve
GET rason.net/api/model/{nameorid}/stages
GET rason.net/api/model/{nameorid}/stages/{stage-name or="" all=""}
GET rason.net/api/model/{nameorid}/status
PATCH rason.net/api/model/{nameorid}
POST rason.net/api/model
POST rason.net/api/model/{nameorid}/solvetype
POST rason.net/api/model/{nameorid}/stop
PUT rason.net/api/model{nameorid}
OData Endpoints
OData Metadata Endpoint
GET rason.net/odata/odatalog
GET rason.net/odata/result
GET rason.net/odata/results
GET rason.net/odata/solvelog
Introduction to OData Service
OData Service Example
Solving OData Example
OData Example Results
OData Querying Results
OData Advanced Settings
Paging
Using OData with Power BI
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
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 Statements
Using Tables

Introduction and Key Benefits

Welcome to Frontline Systems’ RASON® modeling language. A cloud service that enables companies to easily embed 'intelligent decisions' in a manual or automated business process, applying business rules powered by advanced analytics."

RASON, an acronym for RESTful Analytic Solver Object Notation, is a high-level, declarative modeling language embedded in JSON (JavaScript Object Notation), the popular structured format widely used in Web and mobile applications. A REST API at https://rason.net enables applications to submit RASON models to Frontline's servers, solve them, and obtain results in JSON. RASON utilizes a mini-language you can use to quickly and easily create and solve optimization, simulation/risk analysis, data mining and decision table models. RASON is compatible with Windows and Linux desktops and servers but is especially useful if you are building Web or mobile applications.

If you have ever used a modeling language to build an analytic 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.

Unlike existing "heavyweight" Business Rule Management Systems, with year-long implementation schedules, six-figure budgets and limited analytics power, RASON Decision Services enables creation of decision models powered by a full range of machine learning, optimization and simulation methods, with faster deployment thanks to built-in support for Excel, Power BI, Power Apps, Power Automatic (aka Microsoft Flow) and Dynamics 365 via the Common Data Service, OneDrive and CData's Cloud Hub.

Business analysts and developers can sign up for free trial accounts to evaluate RASON Decision services at http://rason.com which will provide access to tools to compose RASON models, exercise the REST API, try out dozens of example models illustrating use of decision tables, predictive models and machine learning, optimization and simulation, and download the RASON User Guide and Reference Guide in PDF form.

If you’ve ever programmed Solver SDK Platform or XLMiner SDK 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. Starting with RASON V2018, all facets of the data mining process are supported, including data exploration and transformation, visualization, feature selection, text mining, time series forecasting, affinity analysis, and unsupervised and supervised learning.