We're pleased to introduce Solver SDK® Platform V2016, a major new release of our Software Development Kit for optimization and simulation, with new APIs and source code examples in R and Python – augmenting support for C++, C#, Java, and other languages – and the latest version of our RASON modeling language interpreter. With XLMiner® SDK Platform, our just-released toolkit for predictive analytics, we’re now offering developers a powerful, comprehensive, yet easy to use tool set for the full range of advanced analytics – data mining, text mining, optimization and simulation.
Both Solver SDK and XLMiner SDK support C++, C# and .NET, Java, R and Python -- with high-level object APIs and an extensive set of examples in each language. If you want to use what Gartner calls "advanced analytics" to build applications in the "API economy", and your own time and productivity in development are important, we believe Solver SDK and XLMiner SDK are your very best options for developer tools.
Even in R and Python -- both known for their predictive analytics packages -- it's been a challenge to find robust, commercially supported tools, especially for optimization and simulation. In C++, C# and Java, where there are several options available for optimization, XLMiner SDK stands out as a comprehensive, robust, commercially supported SDK for data mining and text mining.
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, for example C++, C#, Java, R or Python
- Created in our 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 on your part.
Object-Oriented API in Multiple Languages, Plus Support for RASON and Excel Models
With Solver SDK, you work with ‘objects’ such as a Problem, Solver, Model, Variable, and Function, and write 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 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, your 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, your app 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 create and deploy great solutions for end users.
RESTful Analytic Solver® Object Notation
Solver SDK includes RASON, our acronym for RESTful Analytic Solver Object Notation: a high-level, declarative modeling language embedded in JSON (JavaScript Object Notation) -- usable locally or through a REST API. If you haven't seen RASON before, check out this single-page example. RASON is easy to use, yet 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.
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.
Desktop and Web-based Interactive Development Environment (IDE)
With Solver SDK Platform V2016, we include 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 Rason.com, we offer 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. If you haven't already, register for a free account, download and install a fully-functional version of Solver SDK with a free 15-day trial license. We're excited to see what you develop with Solver SDK V2016!