|
DSDP
|
Implements the dual-scaling algorithm. More...
Go to the source code of this file.
Functions | |
| int | DSDPChooseBarrierParameter (DSDP, double, double *, double *) |
| DSDP barrier heuristic choses the smalles value of mu such that X>0. More... | |
| int | DSDPComputeAndFactorS (DSDP dsdp, DSDPTruth *psdefinite) |
| Compute and factor the dual matrix variables. More... | |
| int | DSDPComputeDualStepDirections (DSDP dsdp) |
| Compute the step direction by computing a linear system and solving it. More... | |
| int | DSDPInitializeVariables (DSDP dsdp) |
| Initialize variables and factor S. More... | |
| int | DSDPResetY0 (DSDP) |
| After 1 iteration, consider increasing the variable r. More... | |
| int | DSDPSolveDynamicRho (DSDP dsdp) |
| Apply dual-scaling algorithm. More... | |
| int | DSDPYStepLineSearch (DSDP, double, double, DSDPVec) |
| Used for Newton step, the merit function of this line search is the dual potential function. More... | |
| int | DSDPYStepLineSearch2 (DSDP, double, double, DSDPVec) |
| Used for centering steps, the merit function of this line search is the objective function plus the barrier term. More... | |
Implements the dual-scaling algorithm.
Definition in file dualalg.c.
| int DSDPChooseBarrierParameter | ( | DSDP | dsdp, |
| double | mutarget, | ||
| double * | ppstep, | ||
| double * | nextmutarget | ||
| ) |
DSDP barrier heuristic choses the smalles value of mu such that X>0.
| dsdp | solver |
| mutarget | current barrier parameter |
| ppstep | set to primal step length |
| nextmutarget | set to new target barrier parameter |
This routine implements a dynamic strategy for reducing the barrier parameter. Basically, it looks for the smallest barrier parameter for which the primal matrix X is psd. Lower and upper bounds to this parameter also apply.
| int DSDPComputeDualStepDirections | ( | DSDP | dsdp | ) |
Compute the step direction by computing a linear system and solving it.
| dsdp | the solver |
DSDP first attempts unpreconditioned CG to the matrix. Once the number of iterations becomes too large, it swithes a CG preconditioned by the Cholesky factorization. Usually only one iteration of the preconditioned CG is necessary, but solutions with large norms and very precise solutions may require additional iterations.
| int DSDPInitializeVariables | ( | DSDP | dsdp | ) |
| int DSDPResetY0 | ( | DSDP | dsdp | ) |
| int DSDPSolveDynamicRho | ( | DSDP | dsdp | ) |