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 classQPDualActiveSetMinimizer.SolutionThis 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.Solutionsolve(QPProblem problem)Solve an optimization problem, e.g.,OptimProblem.
-
-
-
Method Detail
-
solve
public QPDualActiveSetMinimizer.Solution solve(QPProblem problem) throws Exception
Description copied from interface:OptimizerSolve an optimization problem, e.g.,OptimProblem.- Specified by:
solvein 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
-
-