Theory¶
The optimization problem¶
All codes of the NLPQL family solve the smooth nonlinear programming problem
It is assumed that the objective function \(f\) and all constraint functions \(g_j\) are continuously differentiable on the whole \(\mathbb{R}^n\). Upper and lower bounds are handled separately, they are never inserted as rows of the constraint matrix and they are satisfied by every iterate.
Sequential quadratic programming¶
Sequential quadratic programming proceeds from a quadratic approximation of the Lagrangian function
and a linearization of the constraints. Given an iterate \(x_k \in \mathbb{R}^n\), a multiplier estimate \(v_k \in \mathbb{R}^m\) and a positive definite approximation \(C_k \in \mathbb{R}^{n \times n}\) of the Hessian of the Lagrangian, the quadratic programming subproblem
is formulated and solved. The additional variable \(\delta\) prevents
inconsistent linearized constraints. As long as the linearization
possesses a feasible solution, \(\delta\) is fixed at zero and the
subproblem coincides with the classical one. This is why the multiplier
vector has \(m + 2n + 2\) components and why the row dimension NMAX has
to be greater than N.
Let \(d_k\) be the solution and \(u_k\) the corresponding multiplier. A new iterate is obtained by
with a steplength \(\alpha_k \in (0,1]\).
The augmented Lagrangian merit function¶
Global convergence is enforced by a line search with respect to the augmented Lagrangian merit function
with the index sets
The objective function is penalized as soon as an iterate leaves the feasible domain. The penalty parameters \(r_j\) have to be chosen so that
where \(\phi_r(\alpha) := \psi_r\bigl((x,v)^{T} + \alpha (d, u-v)^{T}\bigr)\). The implemented update is
which never lets a penalty parameter fall below the value required for a sufficient descent property, but allows a slow decrease again.
Line search¶
Serial line search¶
The steplength satisfies an Armijo type sufficient decrease condition
with \(0 < \mu < \tfrac12\) and \(0 < \beta < 1\). A pure bisection is inefficient, therefore a quadratic interpolation is applied first and the Armijo condition is only used as a stopping criterion:
Algorithm. Let \(\beta\), \(\mu\) with \(0 < \beta < 1\), \(0 < \mu < 0.5\) be given. Start with \(\alpha_0 := 1\). For \(i = 0,1,2,\dots\) do
- If \(\phi_r(\alpha_i) < \phi_r(0) + \mu\,\alpha_i\,\phi_r'(0)\), stop.
- Compute \(\bar\alpha_i := \dfrac{0.5\,\alpha_i^{2}\,\phi_r'(0)} {\alpha_i \phi_r'(0) - \phi_r(\alpha_i) + \phi_r(0)}\).
- Let \(\alpha_{i+1} := \max(\beta\,\alpha_i,\ \bar\alpha_i)\).
Step 3 prevents the minimizer of the quadratic interpolation from leaving the interval \((0,1]\).
Distributed line search¶
If model functions can be computed simultaneously on \(l\) machines, the
\(l\) test values \(\alpha_i = \beta^{i-1}\), \(i = 1,\dots,l\), with
\(\beta = \tau^{1/(l-1)}\) are evaluated in parallel and the first one
satisfying the sufficient decrease condition is accepted. The parameter
\(\tau\) is the input variable STPMIN. Numerical experience reported in
the user's guide shows that at least five and at most ten simultaneous
evaluations are useful.
Non-monotone line search¶
If the line search cannot be terminated within MAXFUN steps, the
algorithm proceeds from a descent direction whose directional derivative
is extremely small, typically because of inaccurate function or gradient
values. Instead of the monotone test, a steplength is then accepted as
soon as
holds, where \(p(k) = \min\{k,p\}\) and \(p\) is the queue length MAXNM.
A monotone line search is applied as long as it terminates successfully,
the non-monotone one is only used in this special error situation.
Quasi-Newton update¶
The matrix \(C_k\) is updated by the BFGS formula
with \(p_k := x_{k+1} - x_k\) and \(q_k := \nabla_x L(x_{k+1},u_k) - \nabla_x L(x_k,u_k)\). The modification of Powell guarantees that all matrices stay positive definite: whenever \(p^{T} q < 0.2\, p^{T} C p\), the vector \(q\) is replaced by \(\theta q + (1-\theta) C p\) with \(\theta := 0.8\, p^{T} C p / (p^{T} C p - p^{T} q)\).
Scaling and restarts are controlled by MODE. The scaling factor of the
Oren-Luenberger procedure is \(\gamma_k = p_k^{T} q_k / p_k^{T} p_k\), and
\(C_k\) may be replaced by \(\gamma_k I\) initially, adaptively or
periodically. In error situations, for instance an uphill search
direction caused by inaccurate derivatives, the matrix is reset to
\(\rho I\) with the input parameter RHO.
Termination¶
The Karush-Kuhn-Tucker criterion reported by the codes is
i.e. the stationarity of the quadratic subproblem plus the complementarity of all constraints and bounds. Together with the sum of constraint violations
the iteration is stopped as soon as \(\mathrm{KKT} < \varepsilon\) and
\(\mathrm{SCV} < \sqrt{\varepsilon}\), where \(\varepsilon\) is the input
parameter ACC. In addition the algorithm stops when the search
direction vanishes, and when the predicted decrease of the merit
function drops below the accuracy by which the merit function itself can
be evaluated, since no further progress is possible in that situation.
The quadratic programming subproblem¶
The subproblem is solved by QL, an implementation of the primal-dual
method of Goldfarb and Idnani. Starting from the unconstrained minimum
\(x = -C^{-1} d\), violated constraints are successively added to an
active set. In every step the minimizer subject to the current active
set is computed, which keeps the objective function values strictly
increasing, so that the method terminates after finitely many steps. All
matrix manipulations are performed by orthogonal Givens rotations
applied to \(J = R^{-1}\), where \(C = R^{T} R\) is the Cholesky
factorization, and to the triangular factor of \(J^{T} N\) with \(N\) the
matrix of the active constraint normals. A dual method needs no phase I,
i.e. no feasible starting point has to be computed.
Very many constraints¶
NLPQLB extends the method to problems where \(m\) is very large compared
to \(n\) and where the Jacobian possesses no exploitable sparsity. The
user provides a bound \(m_w\) with \(n \le m_w \le m\) for the number of
expected active constraints. Quadratic subproblems are generated with
\(m_w\) linear constraints only, the working set
which always contains the set of active constraints
New gradients are only required for the constraints of the working set. Since every constraint outside the working set satisfies \(g_j(x) > \varepsilon\), the convergence conditions of the reduced problem are applicable for the original problem as well. The line search additionally guarantees that no intermediate iterate violates more than \(m_w\) constraints, the steplength is reduced until this condition holds.
Successive restarts¶
NLPQLG executes NLPQLP for several starting points and returns the
best local solution. The starting points of the cycles
\(k = 2,3,\dots\) are generated by the deterministic Kronecker sequence
with \(p_i\) the \(i\)-th odd number. No random number generator is involved, so that all runs are exactly reproducible.
Data fitting and min-max problems¶
Objective functions built from \(L\) individual functions \(f_1,\dots,f_L\) are either non-differentiable or possess a structure that should not be handed to a general purpose solver directly. They are therefore transformed into smooth nonlinear programs by additional variables and constraints.
For a sum of squares, \(L\) additional variables \(z\) and \(L\) additional equality constraints are introduced,
which retains the typical features of a Gauss-Newton type method. For a sum of absolute values, \(L\) variables and \(2L\) inequalities are needed,
For the maximum norm one single variable and \(2L\) inequalities suffice,
and for a min-max problem one variable and \(L\) inequalities,
If the number of terms is very large, the additional variables of the
least squares transformation become prohibitive. NLPLSX therefore
minimizes the sum of squares directly and assembles the gradient from
the individual terms,
\(\nabla f = 2\sum_i f_i(x)\,\nabla f_i(x)\).
Multicriteria problems¶
A vector of criteria \((f_1,\dots,f_L)\) is reduced to a scalar objective by one of sixteen transformations. All of them can be written as a residual vector
combined by a plain sum, by the \(L_1\), the \(L_2\) or the maximum norm, plus at most \(L-1\) additional inequality constraints for the hierarchical and the trade-off method. The coefficients \(a_i\) and \(b_i\) follow from the weights, from the goal values and from the individual minima \(f_i^{\star}\), which are obtained beforehand by minimizing each criterion separately. Once the residuals are formed, the very same transformations as for data fitting apply.
Functions defined on a subset only¶
If the objective function and some of the constraints can be evaluated only on the convex set
described by concave feasibility constraints \(e_i\), every argument at which they are requested has to belong to \(F\). Proceeding from a feasible starting point, the feasibility constraints are evaluated first at every test point of the line search. They are assumed to be much cheaper than the objective. If one of them is violated, the steplength is halved and a new test point is generated. Since \(F\) is convex and contains the actual iterate, the reduction terminates, and the objective is never evaluated outside of \(F\).