Flexible modelling with NAG Optimization Modelling Suite

The NAG Library Mark 27.1 brings significant user improvements to the NAG Optimization Modelling Suite. New features make mathematical optimization models easier to define, support editing of the model formulation, and allow for easier switching between NAG solvers.

Introducing the NAG Optimization Modelling Suite

The NAG Optimization Modelling Suite – included in the NAG Library – was developed to give users a uniform approach when defining and solving optimization problems. The routines in the Suite give users a quick and easy way to set up, modify and solve various optimization problems, including linear, quadratic, nonlinear (both convex and non-convex) and data fitting.

NAG Optimization Modelling Suite users will benefit from the fact that the model formulation follows its natural representation from its basic components. For example, a QP problem is composed of a set of variables, a quadratic objective, simple bounds and linear constraints, and the model is formulated the same way by calling individual routines building the components in turn. The same approach is used for all types of models and compatible solvers which makes switching between them and testing different settings much simpler.

Image workflow

New modelling possibilities – more flexibility

It is quite common that the optimization model we need to solve evolves over time. After an initial solution is discovered, further modifications of the formulation are performed to better express the real-world problem into a mathematical model and enhance the understanding of the inner working of the model. To assist users facing this challenge the Suite offers various ways of extending or modifying the defined formulation:

  • introduce additional variables
  • see the effect of a particular constraint, variable or least squares residuals by disabling (temporarily removing) them and re-enabling them (bringing them back)
  • redefine any existing component, such as, redefine nonlinear objective function or change the objective function type altogether
  • add multiple blocks of linear constraints to remove the need to formulate one big matrix with all linear constraints at once
  • modify individual coefficients of the linear objective or the linear constraints
  • change bounds of any variable or constraints
  • fix a variable to a given constant which results in the elimination of the variable across the formulation and decreasing the problem dimension
  • edit second-order cones and allow even overlapping cones (two or more cones sharing the same variable)
  • formulate quadratic constraints or objective function either in assembled or factorized form (learn more)
Mathematical Optimization Solvers

The NAG Optimization Modelling Suite – delivered with the NAG Library – features an extensive collection of Mathematical Optimization solvers, including:

  • Linear Programming (LP) – dense and sparse;
  • Quadratic Programming (QP) – convex and nonconvex, dense and sparse;
  • Second-order Cone Programming (SOCP) – covering many convex optimization problems, such as, Quadratically Constrained Quadratic Programming (QCQP)
  • Nonlinear Programming (NLP) – dense and sparse, based on active-set SQP methods and interior point method (IPM);
  • Global Nonlinear Programming – algorithms based on branching, multistart and stochastic optimization;
  • Mixed Integer Nonlinear Programming (MINLP) – for dense (possibly nonconvex) problems;
  • Semidefinite Programming (SDP) – both linear matrix inequalities (LMI) and bilinear matrix inequalities (BMI);
  • Derivative-free Optimization (DFO) – solvers for problems where derivatives cannot be easily computed and finite difference approximation is not suitable;
  • Least Squares (LSQ), data fitting, calibration, regression – linear and nonlinear, constrained and unconstrained