DSDP
Functions
DSDP Tuning Options

Functions

int DSDPComputeAndFactorS (DSDP dsdp, DSDPTruth *psdefinite)
 Compute and factor the dual matrix variables. More...
 
int DSDPGetBarrierParameter (DSDP dsdp, double *mu)
 Copy the current barrier parameter. More...
 
int DSDPGetDYMakeX (DSDP dsdp, double dy[], int m)
 Copies the variables dy used to construct X into an array. More...
 
int DSDPGetMaxTrustRadius (DSDP dsdp, double *rad)
 Copy the current radius of the trust region. More...
 
int DSDPGetMuMakeX (DSDP dsdp, double *mu)
 Copies the value of mu used to construct X. More...
 
int DSDPGetPenaltyParameter (DSDP dsdp, double *Gamma)
 Copy the penalty parameter Gamma. More...
 
int DSDPGetPotentialParameter (DSDP dsdp, double *rho)
 Copy the potential parameter. More...
 
int DSDPGetReuseMatrix (DSDP dsdp, int *rm)
 Copy this parameter. More...
 
int DSDPGetScale (DSDP dsdp, double *scale)
 Copy the internal scaling factor from the solver. More...
 
int DSDPGetYBounds (DSDP dsdp, double *lbound, double *ubound)
 Copy the bounds on the variables y. More...
 
int DSDPGetYMakeX (DSDP dsdp, double y[], int m)
 Copies the variables y used to construct X into an array. More...
 
int DSDPPrintOptions ()
 Print runtime options;. More...
 
int DSDPPrintStats (DSDP, void *)
 Print statistics about the current solution to standard output. More...
 
int DSDPReadOptions (DSDP dsdp, char filename[])
 Read DSDP parameters from a file. More...
 
int DSDPReuseMatrix (DSDP dsdp, int rm)
 Reuse the Hessian of the barrier function multiple times at each DSDP iteration. More...
 
int DSDPSetBarrierParameter (DSDP dsdp, double mu)
 Set the current barrier parameter. More...
 
int DSDPSetFixedVariable (DSDP dsdp, int vari, double val)
 Fix variable y to exact value. More...
 
int DSDPSetFixedVariables (DSDP dsdp, double vars[], double vals[], double xout[], int nvars)
 Fix variable y to exact values. More...
 
int DSDPSetMaxTrustRadius (DSDP dsdp, double rad)
 Set a maximum trust radius on the step direction. More...
 
int DSDPSetPenaltyParameter (DSDP dsdp, double Gamma)
 Set the penalty parameter Gamma. More...
 
int DSDPSetPotentialParameter (DSDP dsdp, double rho)
 Set the potential parameter. More...
 
int DSDPSetScale (DSDP dsdp, double scale)
 Set the internal scaling factor. More...
 
int DSDPSetYBounds (DSDP dsdp, double lbound, double ubound)
 Bound the variables y. More...
 
int DSDPSetZBar (DSDP dsdp, double ppobj)
 Set an upper bound on the objective value at the solution. More...
 
int DSDPUseDynamicRho (DSDP dsdp, int yesorno)
 Use a dynamic strategy to choose parameter rho. More...
 
int DSDPUsePenalty (DSDP dsdp, int yesorno)
 Use penalty parameter to enforce feasibility. More...
 

Detailed Description

Improve performance of DSDP and customize the solver for problems in DSDP Standard Form.

#include dsdp5.h
Return values
0if successful

Function Documentation

◆ DSDPComputeAndFactorS()

int DSDPComputeAndFactorS ( DSDP  dsdp,
DSDPTruth psdefinite 
)

Compute and factor the dual matrix variables.

This routine may be necessary after computing the X variables.

Parameters
dsdpis the solver
psdefiniteis DSDP_TRUE if the S variables are positive definite.
See also
DSDPGetY()

Definition at line 540 of file dualalg.c.

◆ DSDPGetBarrierParameter()

int DSDPGetBarrierParameter ( DSDP  dsdp,
double *  mu 
)

Copy the current barrier parameter.

Parameters
dsdpis the solver
*mubarrier parameter
See also
DSDPSetBarrierParameter()
DSDPGetPPObjective()
DSDPGetDDObjective()
DSDPGetPotentialParameter()

Definition at line 364 of file dsdpsetdata.c.

Referenced by DSDPDefaultConvergence(), and DSDPView().

◆ DSDPGetDYMakeX()

int DSDPGetDYMakeX ( DSDP  dsdp,
double  dy[],
int  m 
)

Copies the variables dy used to construct X into an array.

Parameters
dsdpis the solver
dyis an array
mis the length of the array and the dimension of dy
See also
DSDPComputeX()
DSDPGetYMakeX()
DSDPGetMuMakeX()

Definition at line 483 of file dsdpx.c.

◆ DSDPGetMaxTrustRadius()

int DSDPGetMaxTrustRadius ( DSDP  dsdp,
double *  rad 
)

Copy the current radius of the trust region.

Parameters
dsdpis the solver
*radwill be set to radius of the trust region
See also
DSDPSetMaxTrustRadius()

Definition at line 265 of file dsdpsetdata.c.

Referenced by DSDPView().

◆ DSDPGetMuMakeX()

int DSDPGetMuMakeX ( DSDP  dsdp,
double *  mu 
)

Copies the value of mu used to construct X.

Parameters
dsdpis the solver
muis the barrier parameter
See also
DSDPComputeX()
DSDPGetYMakeX()
DSDPGetDYMakeX()
DSDPGetBarrierParameter()

Definition at line 511 of file dsdpx.c.

◆ DSDPGetPenaltyParameter()

int DSDPGetPenaltyParameter ( DSDP  dsdp,
double *  Gamma 
)

Copy the penalty parameter Gamma.

Parameters
dsdpis the solver
*Gammawil be set to the penalty parameter
See also
DSDPSetPenaltyParameter()
DSDPGetR()
DSDPGetDDObjective()

Definition at line 443 of file dsdpsetdata.c.

Referenced by DSDPView().

◆ DSDPGetPotentialParameter()

int DSDPGetPotentialParameter ( DSDP  dsdp,
double *  rho 
)

Copy the potential parameter.

Parameters
dsdpis the solver
*rhowill be set to the potential parameter
See also
DSDPSetPotentialParameter()

Definition at line 784 of file dsdpsetdata.c.

Referenced by DSDPView().

◆ DSDPGetReuseMatrix()

int DSDPGetReuseMatrix ( DSDP  dsdp,
int *  rm 
)

Copy this parameter.

Parameters
dsdpis the solver
*rmwill be set to the maximum number of times the matrix will be reused
See also
DSDPReuseMatrix()

Definition at line 925 of file dsdpsetdata.c.

Referenced by DSDPView().

◆ DSDPGetScale()

int DSDPGetScale ( DSDP  dsdp,
double *  scale 
)

Copy the internal scaling factor from the solver.

Parameters
dsdpis the solver
*scalewill be set to the scaling factor used in the solver
See also
DSDPSetScale()

Definition at line 128 of file dsdpsetdata.c.

Referenced by DSDPGetBarrierParameter(), DSDPGetDDObjective(), DSDPGetDObjective(), DSDPGetDualityGap(), DSDPGetFinalErrors(), DSDPGetMuMakeX(), DSDPGetPObjective(), DSDPGetPPObjective(), DSDPGetR(), DSDPSetBarrierParameter(), DSDPSetPenaltyParameter(), DSDPSetR0(), DSDPSetScale(), DSDPSetY0(), and DSDPSetZBar().

◆ DSDPGetYBounds()

int DSDPGetYBounds ( DSDP  dsdp,
double *  lbound,
double *  ubound 
)

Copy the bounds on the variables y.

Parameters
dsdpis the solver
*lboundwill be set to the lower bound of the variables y
*uboundwill be set to the upper bound of the variables y
See also
DSDPSetYBounds()

Definition at line 866 of file dsdpsetdata.c.

Referenced by DSDPView().

◆ DSDPGetYMakeX()

int DSDPGetYMakeX ( DSDP  dsdp,
double  y[],
int  m 
)

Copies the variables y used to construct X into an array.

Parameters
dsdpis the solver
yis an array
mis the length of the array and the dimension of y
See also
DSDPGetY()
DSDPComputeX()
DSDPGetDYMakeX()
DSDPGetMuMakeX()

Definition at line 455 of file dsdpx.c.

◆ DSDPPrintOptions()

DSDPPrintOptions ( )

Print runtime options;.

See also
DSDPSetOptions()
DSDPReadOptions()
DSDPView()

Definition at line 279 of file dsdpsetoptions.c.

◆ DSDPPrintStats()

int DSDPPrintStats ( DSDP  dsdp,
void *  ctx 
)

Print statistics about the current solution to standard output.

Parameters
dsdpis the solver
ctxis a pointer to a structure (NULL in this case)
See also
DSDPSetStandardMonitor()

Definition at line 71 of file dsdpprintout.c.

◆ DSDPReadOptions()

int DSDPReadOptions ( DSDP  dsdp,
char  filename[] 
)

Read DSDP parameters from a file.

Parameters
dsdpis the solver
filenameis the name of a file
See also
DSDPSetOptions()
DSDPPrintOptions()
DSDPView()

Definition at line 145 of file dsdpsetoptions.c.

◆ DSDPReuseMatrix()

int DSDPReuseMatrix ( DSDP  dsdp,
int  rm 
)

Reuse the Hessian of the barrier function multiple times at each DSDP iteration.

Parameters
dsdpis the solver
rmis the maximum number of times the matrix will be used in each DSDP iteration
See also
DSDPGetReuseMatrix()

Definition at line 905 of file dsdpsetdata.c.

Referenced by DSDPSetOptions().

◆ DSDPSetBarrierParameter()

int DSDPSetBarrierParameter ( DSDP  dsdp,
double  mu 
)

Set the current barrier parameter.

The barrier parameter is defined as the difference between the objective functions (PP) and (DD) divided by the potential parameter rho.

Parameters
dsdpis the solver
muis the initial objective v
See also
DSDPGetBarrierParameter()
DSDPSetZBar()
DSDPSetPotentialParameter()

Definition at line 340 of file dsdpsetdata.c.

Referenced by DSDPDefaultConvergence(), and DSDPSetOptions().

◆ DSDPSetFixedVariable()

int DSDPSetFixedVariable ( DSDP  dsdp,
int  vari,
double  val 
)

Fix variable y to exact value.

Parameters
dsdpsolver
varivariables y
valfixed value
See also
DSDPSetFixedVariables()

Definition at line 675 of file dsdpschurmat.c.

Referenced by DSDPSetFixedVariables(), and DSDPSetOptions().

◆ DSDPSetFixedVariables()

int DSDPSetFixedVariables ( DSDP  dsdp,
double  vars[],
double  vals[],
double  xout[],
int  nvars 
)

Fix variable y to exact values.

Parameters
dsdpsolver
varsvariables y ( integer valued from 1 through m)
valsfixed values
xoutarray for the dual variables
nvarslength of the previous arrays.

Definition at line 695 of file dsdpschurmat.c.

◆ DSDPSetMaxTrustRadius()

int DSDPSetMaxTrustRadius ( DSDP  dsdp,
double  rad 
)

Set a maximum trust radius on the step direction.

Parameters
dsdpis the solver
radis radius of the trust region.(default: 1e30)
See also
DSDPGetMaxTrustRadius()
Note
By default this tolerance is very large and does not

Definition at line 246 of file dsdpsetdata.c.

Referenced by DSDPSetOptions().

◆ DSDPSetPenaltyParameter()

int DSDPSetPenaltyParameter ( DSDP  dsdp,
double  Gamma 
)

Set the penalty parameter Gamma.

DSDP uses a penalty parameter to enforce feasibility in (D). The default value is 1e8, but other values may improve performance. This value must exceed the trace of the solution X.

Parameters
dsdpis the solver
Gammais the penalty parameter
See also
DSDPGetPenaltyParameter()
DSDPGetR()
DSDPGetTraceX()

Definition at line 418 of file dsdpsetdata.c.

Referenced by DSDPSetOptions().

◆ DSDPSetPotentialParameter()

int DSDPSetPotentialParameter ( DSDP  dsdp,
double  rho 
)

Set the potential parameter.

The parameter rho in the solver will be set to this multiple of the total dimension of the cones. The default value is 3, but values of 4 or more may significantly improve performance.

Parameters
dsdpis the solver
rhothe potential parameter.
See also
DSDPGetPotentialParameter()

Definition at line 765 of file dsdpsetdata.c.

Referenced by DSDPSetOptions().

◆ DSDPSetScale()

int DSDPSetScale ( DSDP  dsdp,
double  scale 
)

Set the internal scaling factor.

DSDP scales the data C and solves the scaled problem. DSDP determines a default scaling from a combination of the norms on the data.

Parameters
dsdpis the solver
scaleis the scaling factor used in the solver (>0)
See also
DSDPGetScale()

Definition at line 153 of file dsdpsetdata.c.

Referenced by DSDPScaleData().

◆ DSDPSetYBounds()

int DSDPSetYBounds ( DSDP  dsdp,
double  lbound,
double  ubound 
)

Bound the variables y.

Parameters
dsdpis the solver
lboundis the lower bound for each variable y.
uboundis the upper bound for each variable y.
See also
DSDPSetYBounds()

Definition at line 885 of file dsdpsetdata.c.

Referenced by DSDPSetOptions().

◆ DSDPSetZBar()

int DSDPSetZBar ( DSDP  dsdp,
double  ppobj 
)

Set an upper bound on the objective value at the solution.

Parameters
dsdpis the solver
ppobjis the initial objective v (default: 1e30)
See also
DSDPGetPPObjective()

Definition at line 283 of file dsdpsetdata.c.

Referenced by DSDPSetOptions().

◆ DSDPUseDynamicRho()

int DSDPUseDynamicRho ( DSDP  dsdp,
int  yesorno 
)

Use a dynamic strategy to choose parameter rho.

Parameters
dsdpis the solver
yesornois nonzero to use the dynamic strategy (default 1)
See also
DSDPSetPotentialParameter()
DSDPGetPotential()

Definition at line 821 of file dsdpsetdata.c.

Referenced by DSDPSetOptions().

◆ DSDPUsePenalty()

int DSDPUsePenalty ( DSDP  dsdp,
int  yesorno 
)

Use penalty parameter to enforce feasibility.

Parameters
dsdpis the solver
yesornois the decision
See also
DSDPSetPenaltyParameter()

Definition at line 383 of file dsdpsetdata.c.

Referenced by DSDPSetOptions().