Class HomogeneousPathFollowingMinimizer
- java.lang.Object
-
- dev.nm.solver.multivariate.constrained.convex.sdp.pathfollowing.HomogeneousPathFollowingMinimizer
-
- All Implemented Interfaces:
Minimizer<SDPDualProblem,IterativeSolution<CentralPath>>
,ConstrainedMinimizer<SDPDualProblem,IterativeSolution<CentralPath>>
,Optimizer<SDPDualProblem,IterativeSolution<CentralPath>>
public class HomogeneousPathFollowingMinimizer extends Object implements ConstrainedMinimizer<SDPDualProblem,IterativeSolution<CentralPath>>
This implementation solves a Semi-Definite Programming problem using the Homogeneous Self-Dual Path-Following algorithm.- See Also:
- "Andreas Antoniou, Wu-Sheng Lu, "Algorithm 14.1, Primal-dual path-following algorithm," Practical Optimization: Algorithms and Engineering Applications."
- "K. C. Toh, M. J. Todd, R. H. Tütüncü, "SDPT3 -- a MATLAB software package for semidefinite programming, version 2.1," OPTIMIZATION METHODS AND SOFTWARE, 1999."
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
HomogeneousPathFollowingMinimizer.Solution
This is the solution to a Semi-Definite Programming problem using the Homogeneous Self-Dual Path-Following algorithm.
-
Constructor Summary
Constructors Constructor Description HomogeneousPathFollowingMinimizer(double epsilon)
Constructs a Homogeneous Self-Dual Path-Following minimizer to solve semi-definite programming problems.HomogeneousPathFollowingMinimizer(double gamma0, double sigma0, double epsilon)
Constructs a Homogeneous Self-Dual Path-Following minimizer to solve semi-definite programming problems.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected static double
getMinEigenValue(Matrix A, double epsilon)
Gets the minimum of all the eigenvalues of a matrix.HomogeneousPathFollowingMinimizer.Solution
solve(SDPDualProblem problem)
Solve an optimization problem, e.g.,OptimProblem
.
-
-
-
Constructor Detail
-
HomogeneousPathFollowingMinimizer
public HomogeneousPathFollowingMinimizer(double gamma0, double sigma0, double epsilon)
Constructs a Homogeneous Self-Dual Path-Following minimizer to solve semi-definite programming problems.- Parameters:
gamma0
- \(0 < \gamma < 1\); it ensures the next iterates are inside the feasible set; suggested values are between 0.9 and 0.99.sigma0
- \(0 \leq \sigma < 1\), the centering parameterepsilon
- a precision parameter: when a number |x| ≤ ε, it is considered 0
-
HomogeneousPathFollowingMinimizer
public HomogeneousPathFollowingMinimizer(double epsilon)
Constructs a Homogeneous Self-Dual Path-Following minimizer to solve semi-definite programming problems.- Parameters:
epsilon
- a precision parameter: when a number |x| ≤ ε, it is considered 0
-
-
Method Detail
-
solve
public HomogeneousPathFollowingMinimizer.Solution solve(SDPDualProblem problem) throws Exception
Description copied from interface:Optimizer
Solve an optimization problem, e.g.,OptimProblem
.- Specified by:
solve
in interfaceOptimizer<SDPDualProblem,IterativeSolution<CentralPath>>
- Parameters:
problem
- an optimization problem- Returns:
- a solution to the optimization problem
- Throws:
Exception
- when there is an error solving the problem
-
getMinEigenValue
protected static double getMinEigenValue(Matrix A, double epsilon)
Gets the minimum of all the eigenvalues of a matrix.- Parameters:
A
- a matrixepsilon
- a precision parameter: when a number |x| ≤ ε, it is considered 0- Returns:
- the minimum of all the eigenvalues of a matrix
-
-