Recent from talks
Nothing was collected or created yet.
Active-set method
View on WikipediaIn mathematical optimization, the active-set method is an algorithm used to identify the active constraints in a set of inequality constraints. The active constraints are then expressed as equality constraints, thereby transforming an inequality-constrained problem into a simpler equality-constrained subproblem.
An optimization problem is defined using an objective function to minimize or maximize, and a set of constraints
that define the feasible region, that is, the set of all x to search for the optimal solution. Given a point in the feasible region, a constraint
is called active at if , and inactive at if Equality constraints are always active. The active set at is made up of those constraints that are active at the current point (Nocedal & Wright 2006, p. 308).
The active set is particularly important in optimization theory, as it determines which constraints will influence the final result of optimization. For example, in solving the linear programming problem, the active set gives the hyperplanes that intersect at the solution point. In quadratic programming, as the solution is not necessarily on one of the edges of the bounding polygon, an estimation of the active set gives us a subset of inequalities to watch while searching the solution, which reduces the complexity of the search.
Active-set methods
[edit]In general an active-set algorithm has the following structure:
- Find a feasible starting point
- repeat until "optimal enough"
- solve the equality problem defined by the active set (approximately)
- compute the Lagrange multipliers of the active set
- remove a subset of the constraints with negative Lagrange multipliers
- search for infeasible constraints among the inactive constraints and add them to the problem
- end repeat
The motivations for this is that near the optimum usually only a small number of all constraints are binding and the solve step usually takes superlinear time in the amount of constraints. Thus repeated solving of a series equality constrained problem, which drop constraints which are not violated when improving but are in the way of improvement (negative lagrange multipliers) and adding of those constraints which the current solution violates can converge against the true solution. The optima of the last problem can often provide an initial guess in case the equality constrained problem solver needs an initial value.
Methods that can be described as active-set methods include:[1]
Performance
[edit]Consider the problem of Linearly Constrained Convex Quadratic Programming. Under reasonable assumptions (the problem is feasible, the system of constraints is regular at every point, and the quadratic objective is strongly convex), the active-set method terminates after finitely many steps, and yields a global solution to the problem. Theoretically, the active-set method may perform a number of iterations exponential in m, like the simplex method. However, its practical behaviour is typically much better.[2]: Sec.9.1
References
[edit]- ^ Nocedal & Wright 2006, pp. 467–480
- ^ Nemirovsky and Ben-Tal (2023). "Optimization III: Convex Optimization" (PDF).
Bibliography
[edit]- Murty, K. G. (1988). Linear complementarity, linear and nonlinear programming. Sigma Series in Applied Mathematics. Vol. 3. Berlin: Heldermann Verlag. pp. xlviii+629 pp. ISBN 3-88538-403-5. MR 0949214. Archived from the original on 2010-04-01. Retrieved 2010-04-03.
- Nocedal, Jorge; Wright, Stephen J. (2006). Numerical Optimization (2nd ed.). Berlin, New York: Springer-Verlag. ISBN 978-0-387-30303-1.
Active-set method
View on GrokipediaIntroduction and History
Overview
The active-set method is an iterative algorithm employed in constrained optimization to solve problems involving inequality constraints by identifying and maintaining a working set of "active" constraints—those that bind at the current iterate, meaning they are satisfied with equality. This approach focuses on a subset of the constraints presumed to be active at the optimal solution, iteratively refining the set through additions or removals based on feasibility and optimality assessments. The method's core motivation stems from the combinatorial challenge posed by inequality constraints in optimization problems of the form subject to for , where the active constraints at a solution satisfy . By treating these active inequalities as equalities, the problem reduces to an easier equality-constrained subproblem, often solved using techniques like Lagrange multipliers, thereby simplifying computations and leveraging the structure of quadratic or linear objectives. This reduction enhances efficiency, particularly when the number of truly active constraints is small compared to the total, avoiding the need to consider all possible constraint combinations. To illustrate intuitively, consider a simple linear programming problem: minimize subject to , , , . The method, akin to the simplex algorithm, starts at a vertex like (0,0) where the non-negativity constraints are active, then computes an improving feasible direction (e.g., increasing ), moving along the boundary until another constraint becomes active, such as at the optimum (1,3) where and bind.Historical Development
The active-set method has its origins in the simplex algorithm for linear programming, introduced by George B. Dantzig in 1947, which iteratively updates a basis corresponding to an active set of constraints to solve linear optimization problems. This foundational approach influenced early extensions to quadratic programming (QP), where active-set ideas emerged to handle inequality constraints by identifying and updating subsets of binding constraints. In the late 1950s, E. M. L. Beale developed one of the first explicit active-set methods for QP, proposing an algorithm that solves a sequence of equality-constrained subproblems by adjusting the active set based on Lagrange multipliers.[6] During the 1960s and 1970s, active-set methods gained prominence in nonlinear optimization. Roger Fletcher contributed significantly in 1971 with a general QP algorithm that refined active-set strategies for nonconvex cases, emphasizing efficient updates to avoid cycling and ensure finite termination. The extension to nonlinear problems accelerated in the 1970s through sequential quadratic programming (SQP), originating in R. B. Wilson's 1963 PhD thesis and further developed by S.-P. Han and M. J. D. Powell, who established local and global convergence properties using quasi-Newton approximations and merit functions. These advancements positioned active-set methods as robust alternatives to penalty and barrier approaches for constrained optimization. In the 1980s, primal-dual variants enhanced efficiency, particularly for QP subproblems in SQP. A landmark was the dual active-set method by D. Goldfarb and A. Idnani in 1983, which solves strictly convex QPs by iteratively adjusting dual variables and active bounds, offering numerical stability and finite convergence. The 1990s saw integration into machine learning, notably for training support vector machines (SVMs), where decomposition-based QP solvers employing working set strategies inspired by active-set methods, such as SVMlight (Joachims, 1999), exploited sparsity in the dual formulation to handle large-scale classification problems.[7] Post-2000 developments focused on parametric and warm-start capabilities for real-time applications, such as model predictive control. The qpOASES solver by H. J. Ferreau et al. (2008) introduced an online active-set method that efficiently warm-starts sequences of related QPs by reusing prior active sets, enabling millisecond solutions in embedded systems. Since the 2010s, active-set methods have continued to evolve with advancements in complexity certification, parallel implementations, and machine learning-assisted techniques for predicting active sets to accelerate solving sequences of QPs.[8] These evolutions are comprehensively summarized in J. Nocedal and S. J. Wright's Numerical Optimization (2006), a standard reference highlighting active-set methods' enduring impact.Core Concepts
Definition of Active Set
In constrained optimization, consider the general problem of minimizing an objective function subject to inequality constraints for , where .[9] The active set at a feasible point is formally defined as the index set of all equality constraints (if present) together with the indices of inequality constraints that hold with equality, i.e., , where denotes the set of equality constraint indices and the inequality indices.[9] This set identifies the binding constraints that limit the feasible region at , and standard notation uses to represent these indices.[10] In active-set methods, the algorithm maintains an estimate known as the working set, which approximates the true active set during iterative steps and guides the solution of equality-constrained subproblems.[10] The working set is typically a linearly independent subset of the estimated active constraints to ensure computational feasibility.[10] The inactive set comprises the remaining constraint indices not in the active set, which are treated as non-binding and thus ignored in the current subproblem, allowing the search direction to potentially violate them temporarily.[11] Lagrange multipliers associated with constraints in the active set play a key role in verifying optimality conditions, as they must be nonnegative for inequalities to indicate binding status.[9] For example, in bound-constrained optimization where each variable satisfies , the active set at a point consists of indices where (lower bound active) or (upper bound active), often denoted with sign conventions to reflect gradient directions at stationarity.[12]Role in Constrained Optimization
The active-set method plays a central role in constrained optimization by leveraging the Karush-Kuhn-Tucker (KKT) conditions to identify and manage binding constraints. The KKT conditions consist of four key components: stationarity, which requires the gradient of the objective to lie in the cone spanned by the constraint gradients; primal feasibility, ensuring the solution satisfies all constraints; dual feasibility, mandating non-negative multipliers for inequalities; and complementary slackness, which enforces that multipliers are zero for non-binding inequalities. In this framework, the active set—comprising the indices of inequality constraints that are active (i.e., binding at equality)—determines which inequalities are treated as equalities, thereby satisfying complementary slackness for the optimal solution.[13][14] Lagrange multipliers associated with active constraints provide insight into their binding nature and guide active-set updates. For an active constraint , the corresponding multiplier indicates that the constraint is binding and contributes positively to the stationarity condition ; conversely, a negative signals that the constraint is not optimally binding and should be removed from the active set to restore dual feasibility. This mechanism ensures that the method iteratively refines the active set to approach a KKT point.[10][15] By treating active constraints as equalities, the active-set method reduces the original inequality-constrained problem to a sequence of equality-constrained subproblems, often formulated as quadratic programs (QPs) in sequential quadratic programming contexts. Specifically, the search direction is obtained by solving the equality-constrained QP subproblem: where approximates the Hessian of the Lagrangian, , and the columns of are the gradients of the active constraints. This corresponds to solving the linear system , with the Lagrangian, effectively projecting the Newton step onto the null space of the active constraints.[10][15] In contrast to interior-point methods, which remain strictly inside the feasible region by incorporating barrier terms to handle inequalities softly, active-set methods focus on the boundary of the feasible set, exactly enforcing active constraints while ignoring inactive ones during each iteration. This boundary-oriented approach facilitates precise handling of sparsity and structure in the constraints but requires careful management of active-set changes to ensure progress toward feasibility and optimality.[15]Algorithm
Step-by-Step Procedure
The active-set method begins with the initialization of a feasible starting point that satisfies all inequality constraints , where is the constraint matrix and the right-hand side vector; this feasible point can be obtained via a phase-one linear programming solver if necessary. An initial active set is selected, often empty or consisting of the constraints that are exactly tight at , i.e., , where is the -th row of .[10][16] In each iteration , given the current feasible point and active set , the method solves an equality-constrained quadratic subproblem to determine a search direction and associated Lagrange multipliers : minimize subject to , where is the positive semidefinite Hessian matrix, the linear term, and the rows of indexed by . This subproblem is solved using techniques such as range-space or null-space decomposition, yielding and . If and all , then satisfies the Karush-Kuhn-Tucker (KKT) conditions and is optimal. Otherwise, the algorithm proceeds to update the iterate.[10][16] To maintain feasibility, the step length is computed as the largest value in such that remains feasible for all inactive constraints , specifically if such a blocking constraint exists; if no blocking occurs (i.e., is feasible), set . The next iterate is then , and the active set is updated by adding the index of the blocking constraint if . If but some , a constraint with negative multiplier is removed from instead, and . The process repeats until convergence. Line search may be employed along to ensure sufficient decrease in the objective if exact feasibility steps are insufficient.[10][16] The high-level algorithm can be expressed in pseudocode as follows:Initialize: Feasible x^0, active set A^0 = {i | a_i^T x^0 = b_i}
While true:
Solve the equality-constrained QP subproblem for d^k and λ^k on A^k
If d^k = 0:
If all λ^k ≥ 0:
Return x^k as optimal
Else:
Remove j ∈ A^k with minimal (most negative) λ_j^k
Set A^{k+1} = A^k \ {j}, x^{k+1} = x^k
Else:
Compute α^k = min{1, min_{i ∉ A^k, a_i^T d^k > 0} (b_i - a_i^T x^k)/(a_i^T d^k)}
Set x^{k+1} = x^k + α^k d^k
If α^k < 1:
Add blocking index j to A^{k+1} = A^k ∪ {j}
Else:
Set A^{k+1} = A^k ∪ {i ∉ A^k | a_i^T x^{k+1} = b_i}
k ← k + 1
Initialize: Feasible x^0, active set A^0 = {i | a_i^T x^0 = b_i}
While true:
Solve the equality-constrained QP subproblem for d^k and λ^k on A^k
If d^k = 0:
If all λ^k ≥ 0:
Return x^k as optimal
Else:
Remove j ∈ A^k with minimal (most negative) λ_j^k
Set A^{k+1} = A^k \ {j}, x^{k+1} = x^k
Else:
Compute α^k = min{1, min_{i ∉ A^k, a_i^T d^k > 0} (b_i - a_i^T x^k)/(a_i^T d^k)}
Set x^{k+1} = x^k + α^k d^k
If α^k < 1:
Add blocking index j to A^{k+1} = A^k ∪ {j}
Else:
Set A^{k+1} = A^k ∪ {i ∉ A^k | a_i^T x^{k+1} = b_i}
k ← k + 1
