Frontline Systems Releases Solver SDK® Platform V2016 with Support for R, Python and RASON® Languages

Share Article

Popular “prescriptive analytics” Software Development Kit now includes R and Python object-oriented APIs and embedded RASON modeling language, enabling developers to use mathematical optimization and simulation/risk analysis methods in their applications.

Solver SDK V2016 in R Studio

Solver SDK in R Studio

With XLMiner SDK plus Solver SDK, we’re now offering application developers a comprehensive, yet easy to use tool set for the full range of advanced analytics - data mining, text mining, optimization and simulation.

Frontline Systems is shipping Solver SDK Platform V2016, a major new release of its popular analytics Software Development Kit, with new APIs and source code examples in R and Python – augmenting support for C++, C#, Java, and other languages – plus a new embedded version of its RASON modeling language interpreter. Application developers can use these tools to extend any server-based, browser-based or mobile application to deliver analytic results, using the full range of optimization and simulation methods.

“With XLMiner® SDK, our just-released Software Development Kit for predictive analytics, plus Solver SDK, we’re now offering developers a comprehensive, yet easy to use tool set for the full range of advanced analytics – data mining, text mining, optimization and simulation,” said Daniel Fylstra, Frontline’s President.

Three Ways to Build Analytic Models

Solver SDK makes it easy to create and deploy optimization and simulation models in three forms:

  • Created in a programming language, such as C++, C#, Java, R or Python
  • Created in Frontline’s high-level RASON modeling language
  • Created in Microsoft Excel, loaded into Solver SDK, and run independently of Excel

And it’s easy to combine these approaches. For example, a C++ or Java-based server application can load an Excel workbook, update parameters in the model, and run an optimization or simulation. Or an R or Python application can treat a RASON model as JSON, modify and solve that model – locally or in the cloud using Frontline’s RASON server and its REST API.

Five Bundled Solvers for Optimization, Plus a Monte Carlo Simulation Engine

Solver SDK Platform features five bundled Solver Engines, including a Simplex Solver, Barrier Solver, GRG Nonlinear Solver and Evolutionary Solver, plus a high-performance Monte Carlo simulation engine with multiple random number generators, sampling and correlation from 50 probability distributions, and a wide range of statistics for results. It can load and run eight different plug-in, large-scale Solver Engines, such as the Gurobi, Xpress and KNITRO solvers. The SDK exploits multi-core processors in both simulation and optimization, without any programming effort by the user.

Object-Oriented API in Multiple Languages, Plus Support for RASON and Excel Models

Developers can define models in a high level, object-oriented API that simplifies and speeds application development – working with ‘objects’ such as a Problem, Solver, Model, Variable, and Function, and writing statements such as problem.VarDecision.NonNegative and problem.Solver.Optimize.

This API is common across C++, C#, F#, VB.Net, Java, Matlab, and now R and Python, with automatic “command completion” in popular Interactive Development Environments (IDEs) such as Visual Studio, R Studio and PyCharm. Solver SDK comes with dozens of examples of optimization and simulation models in each programming language. For R users, Solver SDK comes with a complete “R package” loaded with a single command. For Python users, Solver SDK supports both Python V3.x and V2.x.

Or, a Solver SDK application can load a RASON model – possibly created by analyst who isn’t a programmer – from a text file, modify elements of the model, solve it, and access results. Or, the application can open an Excel workbook containing an optimization or simulation model – created using the Excel Solver or any of Frontline’s Solvers for Excel – modify its parameters, solve it on a server without using Excel, and obtain results. This makes it easy for analysts and developers to work together to deliver great solutions for end users.

RESTful Analytic Solver® Object Notation

RASON, an acronym for RESTful Analytic Solver Object Notation, denotes a high-level, declarative modeling language that's embedded in JSON (JavaScript Object Notation), the popular structured format widely used to pass data between Web clients and servers. It can be used locally or through a REST API.

RASON models can express linear and mixed-integer programming, quadratic and second-order cone, nonlinear and global optimization, and ‘arbitrary’ problems solved via genetic algorithms and tabu search methods. They can express Monte Carlo simulation / risk analysis, simulation optimization, robust optimization, and stochastic programming problems with recourse decisions and chance constraints.

The RASON language is simple enough so its essential features can be grasped through a single-page example, shown at https://rason.com/Home/About. But it packs a lot of power, with arithmetic, logical and string operators, 650 built-in functions, array and vector-matrix operations, and “slicing and dicing” of multi-dimensional tables. RASON model parameters may be bound to data in external files, Excel spreadsheets, SQL databases, and soon in several Web-based common formats.

Desktop and Web-based Interactive Development Environment (IDE)

With Solver SDK Platform V2016, Frontline is including a Windows-based Interactive Development Environment (IDE) for RASON models that includes a powerful text editor, syntax coloring and keyword completion, model diagnosis, error messages, and results from solving RASON models locally – even in parallel. And on https://rason.com, Frontline is offering a Web-based IDE with similar features, the ability to run model diagnoses, optimizations and simulations through the REST API, and a one-click option to convert a RASON model into a working single-page Web application.

Free Trial Version Available for Download

Solver SDK V2016 is available now for both 32-bit and 64-bit Windows; a 64-bit Linux version will be available shortly. Developers can register for a free account at http://www.solver.com/solver-sdk-platform, download and install a fully-functional version of Solver SDK with a free 15-day trial license. Paid licenses are available at two levels of power and capacity – Solver SDK Pro and Solver SDK Platform – with several options for license terms, and for single or multiple developers.

Frontline Systems Inc. (http://www.solver.com) is the leader in analytics for spreadsheets and the web, helping managers gain insights and make better decisions for an uncertain future. Its products integrate forecasting and data mining for "predictive analytics," Monte Carlo simulation and risk analysis, and conventional and stochastic optimization for "prescriptive analytics." Frontline developed the solvers/optimizers in Microsoft Excel, Lotus 1-2-3 and Quattro Pro, distributed to more than 1 billion spreadsheet users. Founded in 1987, Frontline is based in Incline Village, Nevada (775-831-0300). Solver SDK®, XLMiner®, RASON® and Analytic Solver® are registered trademarks of Frontline Systems Inc. Gurobi, Xpress and KNITRO are trademarks of their respective Solver developers.

Share article on social media or email:

View article via:

Pdf Print

Contact Author

Daniel Fylstra
Follow us on
Visit website