QUASAR®: stochastic programming that scales.

The most advanced solver for multistage stochastic mixed-integer quadratic programming. With interfaces to Matlab, Python, Java, and Scala. Rapid deployment of UI with QUASAR® Cloud.

QUASAR® in a Nutshell

Out-of-the box Performance

QUASAR® can solve problems with thousands of stages as well as high-dimensional uncertainty and has been in daily operation by numerous companies for many years.

Dual dynamic programming solver

  • Solve multistage stochastic programs with relatively complete recourse
  • Dynamic risk measures: conditional-value-at-risk, worst case, …
  • Binary and integer decision variables, quadratic objective function
  • LP/MIP solvers: CLP (bundled), jOSQP (bundled), Fico Xpress (optional), others (on request)

Scenario generation

  • Automatic generation of scenario trees and lattices
  • Parameter-free, second-order learning algorithm for optimal scenario generation
  • Import and export of scenario trees and lattices
  •  

Stochastic Time Series Models

Any parameter in the objective function or constraints can be represented by stochastic time series models.

Stochastic Models

  • Multivariate normal, log-normal, Student-T, uniform, empirical, Gaussian copula
  • Multivariate auto-regressive models, multifactor models, state space models, hidden Markov models
  • Combination of multiple stochastic processes into single data process
  • Aggregation and interpolation methods to change transition frequency

Statistical Methods

  • Estimation of time-inhomogeneous Markov chains from data
  • Estimation of local and seasonal trends in historical time series
  • Methods for time series smoothing

Algebraic Modeling Language

QUASAR®’s modeling language is easy-to-use and lets users model decision problems as if they were conventional linear programming problems.

  • Formulate stochastic decision problems algebraically as if they were linear programs
  • Model random parameters as (non-linear) functions of state variables
  • Import and export of decision models as JSON formatted file
  • Define any parameter of the decision problem as Markov process

Optimization under a Risk Measure

QUASAR® makes it easy to add a dynamic risk measure such as conditional value-at-risk to the objective function. Don’t just measure your risk, optimize it! 

 

  • Use a dynamic risk measure to solve any multi-stage stochastic program
  • Tailored visualizations for data uncertainty help users to analyze the effect of risk on any decision variable

Integrates with Your Stack

Interfaces for Python, Java, Scala, Matlab, which follow these languages’ coding styles.

  • Take advantage of workflows in Python, Matlab, and Scala
  • Seamless integration: Thanks to the interfaces, you can pass native objects of every language straight into QUASAR®  
  • QUASAR® runs on the JVM without additional dependencies.

From Model to Dashboard

Transform any model into an operational tool for end users with QUASAR Cloud®. Upload models, connect with company data, setup optimization runs, create custom dashboards and reports.

  • Prototype a model in Python, Java, Scala
  • Prepare endpoints for input and output data
  • Deploy the model as template to QUASAR® Cloud
  • Connect template with company data
  • Make use of built-in functionality for interactive visualizations and reports
  • Execute optimization runs in the cloud

Learn more about QUASAR Cloud

Trusted by Numerous Analysts and Quants in Business and Academia

The sheer size of our reservoir makes it necessary that our hydropower storage assets must be managed over the medium term, when there is still significant uncertainty about future hydrologic inflows and power prices. Our asset management therefore clearly benefits from stochastic modeling, but only with QUASAR, we are able to solve the stochastic optimization problem in hourly time steps over a three-year planning horizon.
Dr. Andreas Eichhorn
Portfolio Management at VERBUND Trading, Austria
The business environment of energy utilities and energy traders is changing constantly, which makes dealing with uncertainty a daily challenge. To cope with this change, flexible and user-friendly tools are required. QUASAR’s Jupyter integration combines productivity, flexibility, and usability in one tool, which makes it a pleasure to prototype and analyze models for everyday’s work tasks.
Dr. Elke Moser
Research and Analysis at Energieallianz, Austria

How do I use QUASAR®?

Whether you are a financial engineer, software developer, or data scientist, you can select from a range of programming languages to interface with QUASAR®’s API.

Data and Parameter Input

Formulation of Decision Model

Solver and Solution Output

You want to see coding examples for different applications?

Check out our interactive example notebooks in Google Colab to find out just how simple it is to solve multistage stochastic programming problems with QUASAR®!

You want even more examples and try out QUASAR® in more depth?

Get QUASAR® Now!

Experience QUASAR® yourself and see how easy it can be to solve complex optimization problems! 
Request a 90-day free trial of the QUASAR® Stochastic Programming Software for commercial users or request a free academic license for research and teaching.

  • Download the QUASAR® for Python package (Java/Matlab/Scala on request)
  • Get access to our knowledge base and QUASAR® USER DOCS 
  • View an extensive repository of example models

QUASAR® is the only stochastic programming solver that scales.

Oftentimes, stochastic programming means sacrificing detail, because existing solvers either use scenario trees or backwards dynamic programming that do not scale.

QUASAR® enables detailed models without sacrificing scalability. Using a clever combination of math programming and machine learning, QUASAR® solves even the most complex optimization problems with hundreds of random variables, thousands of time stages, and millions of scenarios at an unprecedented speed.

 
QUASAR®
Stochastic Programming
Dynamic Programming
Solution approaches Scenario Lattices + Approximate Dual Dynamic Programming Linear program + scenario tree Least squares Monte Carlo / Backwards Recursion
Recombining scenarios Yes No Yes
Multiple stages Yes Yes Yes
Continuous variables Yes Yes No
Large number of variables Yes Yes No
Average complexity linear in number of nodes exponential in number of stages exponential in number of decision variables

Trust in scientific expertise.

The technology behind QUASAR® is built on a decade of theoretical and experimental research and backed by rock solid mathematics. Solution quality and performance is independently accredited by top-level published peer-reviewed research.

RECENTLY POSTED RESOURCES

MORE ACADEMIC PUBLICATIONS +