Class PrimalDualPathFollowingMinimizer.Solution
- java.lang.Object
-
- dev.nm.solver.multivariate.constrained.convex.sdp.pathfollowing.PrimalDualPathFollowingMinimizer.Solution
-
- All Implemented Interfaces:
IterativeMethod<CentralPath>
,IterativeSolution<CentralPath>
,MinimizationSolution<CentralPath>
- Direct Known Subclasses:
HomogeneousPathFollowingMinimizer.Solution
- Enclosing class:
- PrimalDualPathFollowingMinimizer
public class PrimalDualPathFollowingMinimizer.Solution extends Object implements IterativeSolution<CentralPath>
This is the solution to a Semi-Definite Programming problem using the Primal-Dual Path-Following algorithm.
-
-
Field Summary
Fields Modifier and Type Field Description protected Matrix
A
This is either [A] or [ A] [-C]protected double
delta
protected double
gamma
protected Matrix
I
protected int
iter
protected int
n
protected CentralPath
path
protected double
phi
protected SDPDualProblem
problem
protected double
sigma
-
Constructor Summary
Constructors Modifier Constructor Description protected
Solution(SDPDualProblem problem, double gamma0, double sigma0)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CentralPath
minimizer()
Get the minimizer (solution) to the minimization problem.double
minimum()
Get the (approximate) minimum found.CentralPath
search()
Search for a solution that optimizes the objective function from the given starting points.CentralPath
search(CentralPath initial)
CentralPath
search(CentralPath... initials)
Search for a solution that optimizes the objective function from the given starting points.void
setInitials(CentralPath... initials)
Supply the starting points for the search.Boolean
step()
Do the next iteration.protected Matrix
svecA()
-
-
-
Field Detail
-
path
protected CentralPath path
-
sigma
protected double sigma
-
gamma
protected double gamma
-
delta
protected double delta
-
phi
protected double phi
-
iter
protected int iter
-
problem
protected final SDPDualProblem problem
-
A
protected final Matrix A
This is either [A] or [ A] [-C]
-
n
protected final int n
-
I
protected final Matrix I
-
-
Constructor Detail
-
Solution
protected Solution(SDPDualProblem problem, double gamma0, double sigma0)
-
-
Method Detail
-
setInitials
public void setInitials(CentralPath... initials)
Description copied from interface:IterativeMethod
Supply the starting points for the search. This can also initialize the state of the algorithm for a new search.- Specified by:
setInitials
in interfaceIterativeMethod<CentralPath>
- Parameters:
initials
- the initial guesses
-
step
public Boolean step()
Do the next iteration. Algorithm 14.1.- Specified by:
step
in interfaceIterativeMethod<CentralPath>
- Returns:
- the residual norm
-
search
public CentralPath search(CentralPath... initials) throws Exception
Description copied from interface:IterativeMethod
Search for a solution that optimizes the objective function from the given starting points. This method typically calls first#setInitials(S...)
and then iterativelyIterativeMethod.step()
. It implements a default convergence criterion.- Specified by:
search
in interfaceIterativeMethod<CentralPath>
- Parameters:
initials
- the initial guesses- Returns:
- an (approximate) optimizer
- Throws:
Exception
- when an error occurs during the search
-
search
public CentralPath search(CentralPath initial) throws Exception
- Throws:
Exception
-
search
public CentralPath search() throws Exception
Search for a solution that optimizes the objective function from the given starting points.- Returns:
- an (approximate) optimizer
- Throws:
Exception
- when an error occurs during the search
-
minimum
public double minimum()
Description copied from interface:MinimizationSolution
Get the (approximate) minimum found.- Specified by:
minimum
in interfaceMinimizationSolution<CentralPath>
- Returns:
- the (approximate) minimum found
-
minimizer
public CentralPath minimizer()
Description copied from interface:MinimizationSolution
Get the minimizer (solution) to the minimization problem.- Specified by:
minimizer
in interfaceMinimizationSolution<CentralPath>
- Returns:
- the minimizer
-
svecA
protected Matrix svecA()
- Returns:
- A^
-
-