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 MatrixAThis is either [A] or [ A] [-C]protected doubledeltaprotected doublegammaprotected MatrixIprotected intiterprotected intnprotected CentralPathpathprotected doublephiprotected SDPDualProblemproblemprotected doublesigma
-
Constructor Summary
Constructors Modifier Constructor Description protectedSolution(SDPDualProblem problem, double gamma0, double sigma0)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CentralPathminimizer()Get the minimizer (solution) to the minimization problem.doubleminimum()Get the (approximate) minimum found.CentralPathsearch()Search for a solution that optimizes the objective function from the given starting points.CentralPathsearch(CentralPath initial)CentralPathsearch(CentralPath... initials)Search for a solution that optimizes the objective function from the given starting points.voidsetInitials(CentralPath... initials)Supply the starting points for the search.Booleanstep()Do the next iteration.protected MatrixsvecA()
-
-
-
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:IterativeMethodSupply the starting points for the search. This can also initialize the state of the algorithm for a new search.- Specified by:
setInitialsin interfaceIterativeMethod<CentralPath>- Parameters:
initials- the initial guesses
-
step
public Boolean step()
Do the next iteration. Algorithm 14.1.- Specified by:
stepin interfaceIterativeMethod<CentralPath>- Returns:
- the residual norm
-
search
public CentralPath search(CentralPath... initials) throws Exception
Description copied from interface:IterativeMethodSearch 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:
searchin 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:MinimizationSolutionGet the (approximate) minimum found.- Specified by:
minimumin interfaceMinimizationSolution<CentralPath>- Returns:
- the (approximate) minimum found
-
minimizer
public CentralPath minimizer()
Description copied from interface:MinimizationSolutionGet the minimizer (solution) to the minimization problem.- Specified by:
minimizerin interfaceMinimizationSolution<CentralPath>- Returns:
- the minimizer
-
svecA
protected Matrix svecA()
- Returns:
- A^
-
-