DSDP Tuning Options


Detailed Description

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

#include dsdp5.h 

Return values:
0 if successful


Functions

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


Function Documentation

int DSDPComputeAndFactorS ( DSDP  dsdp,
DSDPTruth psdefinite 
)

Compute and factor the dual matrix variables.

This routine may be necessary after computing the X variables.

Parameters:
dsdp is the solver
psdefinite is DSDP_TRUE if the S variables are positive definite.
See also:
DSDPGetY()

Definition at line 540 of file dualalg.c.

int DSDPGetBarrierParameter ( DSDP  dsdp,
double *  mu 
)

Copy the current barrier parameter.

Parameters:
dsdp is the solver
*mu barrier parameter
See also:
DSDPSetBarrierParameter()

DSDPGetPPObjective()

DSDPGetDDObjective()

DSDPGetPotentialParameter()

Definition at line 364 of file dsdpsetdata.c.

Referenced by DSDPDefaultConvergence(), DSDPPrintStats(), DSDPView(), and mexFunction().

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

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

Parameters:
dsdp is the solver
dy is an array
m is the length of the array and the dimension of dy
See also:
DSDPComputeX()

DSDPGetYMakeX()

DSDPGetMuMakeX()

Definition at line 483 of file dsdpx.c.

Referenced by mexFunction().

int DSDPGetMaxTrustRadius ( DSDP  dsdp,
double *  rad 
)

Copy the current radius of the trust region.

Parameters:
dsdp is the solver
*rad will be set to radius of the trust region
See also:
DSDPSetMaxTrustRadius()

Definition at line 265 of file dsdpsetdata.c.

Referenced by DSDPView(), and mexFunction().

int DSDPGetMuMakeX ( DSDP  dsdp,
double *  mu 
)

Copies the value of mu used to construct X.

Parameters:
dsdp is the solver
mu is the barrier parameter
See also:
DSDPComputeX()

DSDPGetYMakeX()

DSDPGetDYMakeX()

DSDPGetBarrierParameter()

Definition at line 511 of file dsdpx.c.

Referenced by mexFunction().

int DSDPGetPenaltyParameter ( DSDP  dsdp,
double *  Gamma 
)

Copy the penalty parameter Gamma.

Parameters:
dsdp is the solver
*Gamma wil be set to the penalty parameter
See also:
DSDPSetPenaltyParameter()

DSDPGetR()

DSDPGetDDObjective()

Definition at line 443 of file dsdpsetdata.c.

Referenced by DSDPView(), mexFunction(), and ReadSDPAFile().

int DSDPGetPotentialParameter ( DSDP  dsdp,
double *  rho 
)

Copy the potential parameter.

Parameters:
dsdp is the solver
*rho will be set to the potential parameter
See also:
DSDPSetPotentialParameter()

Definition at line 784 of file dsdpsetdata.c.

Referenced by DSDPView(), mexFunction(), and ReadSDPAFile().

int DSDPGetReuseMatrix ( DSDP  dsdp,
int *  rm 
)

Copy this parameter.

Parameters:
dsdp is the solver
*rm will 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(), mexFunction(), and ReadSDPAFile().

int DSDPGetScale ( DSDP  dsdp,
double *  scale 
)

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

Copy the bounds on the variables y.

Parameters:
dsdp is the solver
*lbound will be set to the lower bound of the variables y
*ubound will be set to the upper bound of the variables y
See also:
DSDPSetYBounds()

Definition at line 866 of file dsdpsetdata.c.

Referenced by DSDPView(), mexFunction(), and ReadSDPAFile().

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

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

Parameters:
dsdp is the solver
y is an array
m is the length of the array and the dimension of y
See also:
DSDPGetY()

DSDPComputeX()

DSDPGetDYMakeX()

DSDPGetMuMakeX()

Definition at line 455 of file dsdpx.c.

Referenced by mexFunction().

DSDPPrintOptions (  ) 

Print runtime options;.

See also:
DSDPSetOptions()

DSDPReadOptions()

DSDPView()

Definition at line 279 of file dsdpsetoptions.c.

Referenced by DSDPSetOptions(), and ReadSDPAFile().

int DSDPPrintStats ( DSDP  dsdp,
void *  ctx 
)

Print statistics about the current solution to standard output.

Parameters:
dsdp is the solver
ctx is a pointer to a structure (NULL in this case)
See also:
DSDPSetStandardMonitor()

Definition at line 71 of file dsdpprintout.c.

Referenced by DSDPSetStandardMonitor().

int DSDPReadOptions ( DSDP  dsdp,
char  filename[] 
)

Read DSDP parameters from a file.

Parameters:
dsdp is the solver
filename is the name of a file
See also:
DSDPSetOptions()

DSDPPrintOptions()

DSDPView()

Definition at line 145 of file dsdpsetoptions.c.

Referenced by LovaszTheta(), MinColoring(), and StableSet().

int DSDPReuseMatrix ( DSDP  dsdp,
int  rm 
)

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

Parameters:
dsdp is the solver
rm is 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 DSDPSetDefaultParameters(), DSDPSetOptions(), LovaszTheta(), MaxCut(), mexFunction(), ReadSDPAFile(), and StableSet().

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:
dsdp is the solver
mu is the initial objective v
See also:
DSDPGetBarrierParameter()

DSDPSetZBar()

DSDPSetPotentialParameter()

Definition at line 340 of file dsdpsetdata.c.

Referenced by DSDPDefaultConvergence(), DSDPSetOptions(), and mexFunction().

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

Fix variable y to exact value.

Parameters:
dsdp solver
vari variables y
val fixed value
See also:
DSDPSetFixedVariables()

Definition at line 675 of file dsdpschurmat.c.

Referenced by DSDPSetFixedVariables(), and DSDPSetOptions().

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

Fix variable y to exact values.

Parameters:
dsdp solver
vars variables y ( integer valued from 1 through m)
vals fixed values
xout array for the dual variables
nvars length of the previous arrays.

Definition at line 695 of file dsdpschurmat.c.

Referenced by mexFunction(), and ReadSDPAFile().

int DSDPSetMaxTrustRadius ( DSDP  dsdp,
double  rad 
)

Set a maximum trust radius on the step direction.

Parameters:
dsdp is the solver
rad is 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 DSDPSetDefaultParameters(), DSDPSetOptions(), and mexFunction().

int DSDPSetMonitor ( DSDP  dsdp,
int(*)(DSDP, void *)  monitor,
void *  monitorctx 
)

Monitor each iteration of the solver.

Parameters:
dsdp is the solver
monitor is a function that will be called at each iteration
monitorctx is a pointer that will be passed to the function
See also:
DSDPSetStandardMonitor()

Definition at line 945 of file dsdpsetdata.c.

Referenced by DSDPSetDefaultMonitors(), DSDPSetStandardMonitor(), and mexFunction().

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:
dsdp is the solver
Gamma is the penalty parameter
See also:
DSDPGetPenaltyParameter()

DSDPGetR()

DSDPGetTraceX()

Definition at line 418 of file dsdpsetdata.c.

Referenced by DSDPSetDefaultParameters(), DSDPSetOptions(), and mexFunction().

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:
dsdp is the solver
rho the potential parameter.
See also:
DSDPGetPotentialParameter()

Definition at line 765 of file dsdpsetdata.c.

Referenced by DSDPSetDefaultParameters(), DSDPSetOptions(), MaxCut(), mexFunction(), and MinColoring().

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:
dsdp is the solver
scale is the scaling factor used in the solver (>0)
See also:
DSDPGetScale()

Definition at line 153 of file dsdpsetdata.c.

Referenced by DSDPScaleData().

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

Bound the variables y.

Parameters:
dsdp is the solver
lbound is the lower bound for each variable y.
ubound is the upper bound for each variable y.
See also:
DSDPSetYBounds()

Definition at line 885 of file dsdpsetdata.c.

Referenced by DSDPSetDefaultParameters(), DSDPSetOptions(), mexFunction(), and ReadSDPAFile().

int DSDPSetZBar ( DSDP  dsdp,
double  ppobj 
)

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

Parameters:
dsdp is the solver
ppobj is the initial objective v (default: 1e30)
See also:
DSDPGetPPObjective()

Definition at line 283 of file dsdpsetdata.c.

Referenced by DSDPSetOptions(), LovaszTheta(), MaxCut(), mexFunction(), and StableSet().

int DSDPUseDynamicRho ( DSDP  dsdp,
int  yesorno 
)

Use a dynamic strategy to choose parameter rho.

Parameters:
dsdp is the solver
yesorno is nonzero to use the dynamic strategy (default 1)
See also:
DSDPSetPotentialParameter()

DSDPGetPotential()

Definition at line 821 of file dsdpsetdata.c.

Referenced by DSDPSetDefaultParameters(), DSDPSetOptions(), and mexFunction().

int DSDPUsePenalty ( DSDP  dsdp,
int  yesorno 
)

Use penalty parameter to enforce feasibility.

Parameters:
dsdp is the solver
yesorno is the decision
See also:
DSDPSetPenaltyParameter()

Definition at line 383 of file dsdpsetdata.c.

Referenced by DSDPSetDefaultParameters(), DSDPSetOptions(), and mexFunction().


Generated on Wed Nov 5 21:46:06 2008 for DSDP by  doxygen 1.5.6