Class QPDualActiveSetMinimizer
- java.lang.Object
-
- dev.nm.solver.multivariate.constrained.convex.sdp.socp.qp.solver.activeset.QPDualActiveSetMinimizer
-
- All Implemented Interfaces:
Minimizer<QPProblem,IterativeSolution<QPSolution>>
,ConstrainedMinimizer<QPProblem,IterativeSolution<QPSolution>>
,QPMinimizer
,Optimizer<QPProblem,IterativeSolution<QPSolution>>
public class QPDualActiveSetMinimizer extends Object implements QPMinimizer
This implementation solves a Quadratic Programming problem using the dual active set algorithm. The dual active set algorithm first transforms the QP problem into its dual form, which is also a QP problem. Then the transformed QP problem is solved using primal active set algorithm. The advantages of dual active set algorithm are:- The computation of initial feasible solution is avoided;
- Comparing to the prime problem, the constraints of the dual problem are much simpler. The constraints parameter A is an identity matrix and b is a zero vector;
- When it is hard to provide a good initial feasible solution for the primal active set algorithm (by good we mean close to the optimal solution), the dual active set algorithm is faster than primal active set algorithm.
- See Also:
QPPrimalActiveSetMinimizer
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
QPDualActiveSetMinimizer.Solution
This is the solution to a Quadratic Programming problem using the Dual Active Set algorithm.
-
Constructor Summary
Constructors Constructor Description QPDualActiveSetMinimizer(double epsilon, int maxIterations)
QPDualActiveSetMinimizer(double epsilon, int maxIterations, boolean containsBoxConstraints)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description QPDualActiveSetMinimizer.Solution
solve(QPProblem problem)
Solve an optimization problem, e.g.,OptimProblem
.
-
-
-
Method Detail
-
solve
public QPDualActiveSetMinimizer.Solution solve(QPProblem problem) throws Exception
Description copied from interface:Optimizer
Solve an optimization problem, e.g.,OptimProblem
.- Specified by:
solve
in interfaceOptimizer<QPProblem,IterativeSolution<QPSolution>>
- Parameters:
problem
- an optimization problem- Returns:
- a solution to the optimization problem
- Throws:
Exception
- when there is an error solving the problem
-
-