Numerical Software

Softwareentwicklung Schittkowski GmbH is the official distributor of numerical software developed by Prof. Dr. Klaus Schittkowski et al.

Implementation

  • Numerical codes are implemented in form of thread-safe Fortran subroutines, as close as necessary to F77, without pointers, global variables, or memory allocations. Especially, there are no tricky Fortran constructs like COMMON, DATA, ENTRY or EQUIVALENCE statements. The codes are easily transferred to C by f2c.
  • Nonlinear function values are passed to the optimization routines in the most user-friendly and most flexible way by reverse communication. Only one iteration is performed by the algorithm. Depending on a flag, function or derivative values must be computed in the calling program. Then the optimization routine is called again.
  • Partial derivatives are either provided in analytical form or are approximated by a difference formula, as illustrated by demo programs.

How to get the software? Send us an email! [email protected]

Nonlinear Optimization Solvers

  • NLPQLP: Solves general nonlinear mathematical programming problems with equality and inequality constraints. It is assumed that all problem functions are continuously differentiable. The new version is prepared to run under a distributed system and applies non-monotone line search procedure in error situations.
  • NLPQLY: Easy-to-use version of NLPQLP for solving general nonlinear mathematical programming problems with equality and inequality constraints. Objective and constraint function values must be provided by reverse communication and most tolerances are set to default values. Derivatives are internally approximated by forward differences.
  • NLPQLG: Successive execution of NLPQLP for stepwise improvement of local minima.
  • NLPQLB: Extension of the general nonlinear programming code NLPQLP to solve also problems with very many constraints, where the derivative matrix of the constraints does not possess any special sparse structure that can be exploited numerically.
  • NLPJOB: Interactive solution of multicriteria optimization problems, 15 different alternative for providing scalar nonlinear programs solved by NLPQLP.
  • NLPQLF: Solves constrained nonlinear optimization problems, where objective function and some constraints can be evaluated only for arguments of a set defined by additional constraints. It is assumed that all individual problem functions are continuously differentiable and that the feasible set is convex.

Large-Scale Nonlinear Optimization Solver

  • NLPIP: Combined SQP-IPM method for large-scale optimization with limited-memory BFGS updates or Hessian of Lagrangian, taking sparsity of the Jacobian of constraints into account.

Mixed-Integer Nonlinear Programming Solvers

  • MISQP: Implementation of a trust region SQP algorithm for mixed-integer nonlinear programming. Relaxable integer variables or convex problem functions are not required. Derivatives subject to integer variables are internally approximated and a BFGS matrix is updates.

General Purpose Optimization Solver:

  • MIDACO: Black-box optimizer, specially developed for mixed integer nonlinear programs (MINLPs), but also applicable on a wide range of optimization problems (global optimization, non-smooth optimization, ...)
  • BFOUR: Branch-and-bound solver, specially developed for mixed integer nonlinear programming.

Quadratic Programming Solvers

  • QL: Solves quadratic programming problems with a positive definite objective function matrix and linear equality and inequality constraints.
  • MIQL: Solves mixed-integer quadratic programming problems with a positive definite objective function matrix and linear equality and inequality constraints by a branch-and-bound method. Comes with a special version of BFOUR.

Least Squares and Data Fitting Solvers

  • NLPLSQ: Solves constrained nonlinear least squares problems, where the objective function is the sum of squared functions. In addition there may be any set of equality or inequality constraints. It is assumed that all individual problem functions are continuously differentiable.
  • NLPLSX: Solves constrained nonlinear least squares problems, where the objective function is the sum of very many squared functions. In addition there may be any set of equality or inequality constraints. It is assumed that all individual problem functions are continuously differentiable.
  • NLPL1: Solves constrained nonlinear L1 problems, where the objective function is the sum of absolute function values. In addition there may be any set of equality or inequality constraints. It is assumed that all individual problem functions are continuously differentiable.
  • NLPINF: Solves constrained nonlinear maximum-norm data fitting problems, where the objective function is the maximum of absolute function values. In addition, there may be any set of equality or inequality constraints. It is assumed that all individual problem functions are continuously differentiable. The code is particularly useful for solving nonlinear approximation problems with a large number of support values.
  • NLPMMX: Solves constrained nonlinear min-max problems, where the objective function is the maximum of nonlinear functions. In addition, there may be any set of equality or inequality constraints. It is assumed that all individual problem functions are continuously differentiable.
  • PDEFIT: Solves parameter estimation problems in one-dimensional partial differential equations and partial differential algebraic equations
  • MODFIT: Solves parameter estimation in explicit model functions, Laplace transforms, steady state systems, systems of ordinary and algebraic differential equations

Modelling Language

  • PCOMP: Modeling language with automatic differentiation

Test Problems