DSDP
|
Functions | |
int | DSDPDefaultConvergence (DSDP, void *) |
Check for Convergence. More... | |
int | DSDPGetDualBound (DSDP dsdp, double *dbound) |
Get the termination parameter. More... | |
int | DSDPGetGapHistory (DSDP dsdp, double hist[], int length) |
Copy a history of the duality gap into an array. More... | |
int | DSDPGetGapTolerance (DSDP dsdp, double *gaptol) |
Get the termination tolerance. More... | |
int | DSDPGetIts (DSDP dsdp, int *its) |
Copy the current iteration number. More... | |
int | DSDPGetMaxIts (DSDP dsdp, int *its) |
Copy the maximum number of iterations from the solver. More... | |
int | DSDPGetPInfeasibility (DSDP dsdp, double *pperror) |
Copy the infeasibility in (P). More... | |
int | DSDPGetPNormTolerance (DSDP dsdp, double *ptol) |
Get the termination tolerance. More... | |
int | DSDPGetPTolerance (DSDP dsdp, double *inftol) |
Copy the feasibility tolerance. More... | |
int | DSDPGetRHistory (DSDP dsdp, double hist[], int length) |
Copy a history of the infeasibility in (D) into an array. More... | |
int | DSDPGetRTolerance (DSDP dsdp, double *inftol) |
Copy the maximum infeasibility allowed (D). More... | |
int | DSDPGetStepTolerance (DSDP dsdp, double *steptol) |
Get the current tolerance. More... | |
int | DSDPSetConvergenceFlag (DSDP dsdp, DSDPTerminationReason reason) |
Monitor each iteration of the solver. More... | |
int | DSDPSetDualBound (DSDP dsdp, double dbound) |
Terminate the solver if the objective value in (DD) is greater than this tolerance. More... | |
int | DSDPSetGapTolerance (DSDP dsdp, double gaptol) |
Terminate the solver when the relative duality gap is less than this tolerance. More... | |
int | DSDPSetMaxIts (DSDP dsdp, int its) |
Terminate the solver after this number of iterations. More... | |
int | DSDPSetPNormTolerance (DSDP dsdp, double ptol) |
Terminate the solver when the relative duality gap is suffiently small and the PNorm is less than this quantity. Smaller values imply the final solution will be nearer to the central path. More... | |
int | DSDPSetPTolerance (DSDP dsdp, double inftol) |
Classify (P) as feasible only if the infeasibility is less than this tolerance. More... | |
int | DSDPSetRTolerance (DSDP dsdp, double inftol) |
Classify (D) as feasible only if the variable r is less than this tolerance. More... | |
int | DSDPSetStepTolerance (DSDP dsdp, double steptol) |
Terminate the solver if the step length in (DD) is below this tolerance. More... | |
int | DSDPStopReason (DSDP dsdp, DSDPTerminationReason *reason) |
Copy the reason why the solver terminated. More... | |
The subroutines listed below define convergence and termination criteria for the solver and problems in DSDP Standard Form.
0 | if successful |
int DSDPDefaultConvergence | ( | DSDP | dsdp, |
void * | ctx | ||
) |
Check for Convergence.
dsdp | is the solver |
ctx | is a pointer to a structure containing convergence parameters |
Definition at line 26 of file dsdpconverge.c.
int DSDPGetDualBound | ( | DSDP | dsdp, |
double * | dbound | ||
) |
Get the termination parameter.
dsdp | is the solver |
*dbound | is a bound on (DD) |
Definition at line 227 of file dsdpconverge.c.
Referenced by DSDPView().
int DSDPGetGapHistory | ( | DSDP | dsdp, |
double | hist[], | ||
int | length | ||
) |
Copy a history of the duality gap into an array.
dsdp | is the solver |
hist | is an array |
length | is the length of the array |
Definition at line 321 of file dsdpconverge.c.
int DSDPGetGapTolerance | ( | DSDP | dsdp, |
double * | gaptol | ||
) |
Get the termination tolerance.
dsdp | is the solver |
*gaptol | will be set to the termination tolerance |
Definition at line 132 of file dsdpconverge.c.
Referenced by DSDPView().
int DSDPGetIts | ( | DSDP | dsdp, |
int * | its | ||
) |
Copy the current iteration number.
dsdp | is the solver |
*its | will be set to the current iteration number. |
Definition at line 564 of file dsdpsetdata.c.
Referenced by DSDPDefaultConvergence().
int DSDPGetMaxIts | ( | DSDP | dsdp, |
int * | maxits | ||
) |
Copy the maximum number of iterations from the solver.
dsdp | is the solver |
*maxits | will be the maximum number of iterations in DSDP |
Definition at line 225 of file dsdpsetdata.c.
Referenced by DSDPView().
int DSDPGetPInfeasibility | ( | DSDP | dsdp, |
double * | pperror | ||
) |
Copy the infeasibility in (P).
This infeasibility is the maximum difference between the values xl and xu correponding to the bounds on the variables y. Due to roundoff error, this number is usually much less than the true infeasiblity in (P). The true infeasibility is not available at each iteration due to its high computational cost.
dsdp | is the solver |
*pperror | will be set to the infeasibility in (P) |
int DSDPGetPNormTolerance | ( | DSDP | dsdp, |
double * | ptol | ||
) |
Get the termination tolerance.
dsdp | is the solver |
*ptol | will be set to the termination tolerance |
Definition at line 180 of file dsdpconverge.c.
Referenced by DSDPView().
int DSDPGetPTolerance | ( | DSDP | dsdp, |
double * | inftol | ||
) |
Copy the feasibility tolerance.
dsdp | is the solver |
*inftol | will be set to the infeasibility in (P) |
Definition at line 386 of file dsdpx.c.
Referenced by DSDPView().
int DSDPGetRHistory | ( | DSDP | dsdp, |
double | hist[], | ||
int | length | ||
) |
Copy a history of the infeasibility in (D) into an array.
Elememt i of the array will be set the the infeasibility in (D) at iteration i (unless i exceeds the length of the array)
dsdp | is the solver |
hist | is an array |
length | is the length of the array |
Definition at line 298 of file dsdpconverge.c.
int DSDPGetRTolerance | ( | DSDP | dsdp, |
double * | inftol | ||
) |
Copy the maximum infeasibility allowed (D).
DSDP will classify the solution to (D) as feasible only if the variable r in (DD) is less than this tolerance. Small values for r are enforced through a penalty parameter.
dsdp | is the solver |
*inftol | will be set to the tolerance for r in (DD) |
Definition at line 434 of file dsdpx.c.
Referenced by DSDPDefaultConvergence(), and DSDPView().
int DSDPGetStepTolerance | ( | DSDP | dsdp, |
double * | steptol | ||
) |
Get the current tolerance.
dsdp | is the solver |
*steptol | will be set to the current tolerance |
Definition at line 273 of file dsdpconverge.c.
Referenced by DSDPView().
int DSDPSetConvergenceFlag | ( | DSDP | dsdp, |
DSDPTerminationReason | reason | ||
) |
Monitor each iteration of the solver.
dsdp | is the solver |
reason | is the termination reason |
Definition at line 968 of file dsdpsetdata.c.
Referenced by DSDPComputeDualStepDirections(), and DSDPDefaultConvergence().
int DSDPSetDualBound | ( | DSDP | dsdp, |
double | dbound | ||
) |
Terminate the solver if the objective value in (DD) is greater than this tolerance.
This parameter is helpful in branch and bound applictions.
dsdp | is the solver |
dbound | is the bound |
Definition at line 205 of file dsdpconverge.c.
Referenced by DSDPSetOptions().
int DSDPSetGapTolerance | ( | DSDP | dsdp, |
double | gaptol | ||
) |
Terminate the solver when the relative duality gap is less than this tolerance.
If pp is the objective value of (PP) and dd is the objective value of (DD), the relative duality gap is defined to be (pp-dd)/(1 + fabs(pp)/2 + fabs(dd)/2);
dsdp | is the solver |
gaptol | is the tolerance |
Definition at line 110 of file dsdpconverge.c.
Referenced by DSDPSetDefaultParameters(), and DSDPSetOptions().
int DSDPSetMaxIts | ( | DSDP | dsdp, |
int | maxits | ||
) |
Terminate the solver after this number of iterations.
dsdp | is the solver |
maxits | is the maximum number of DSDP iterations (>0) |
Definition at line 206 of file dsdpsetdata.c.
Referenced by DSDPSetDefaultParameters(), and DSDPSetOptions().
int DSDPSetPNormTolerance | ( | DSDP | dsdp, |
double | ptol | ||
) |
Terminate the solver when the relative duality gap is suffiently small and the PNorm is less than this quantity. Smaller values imply the final solution will be nearer to the central path.
dsdp | is the solver |
ptol | is the tolerance, (>0, default is very big) |
Definition at line 158 of file dsdpconverge.c.
Referenced by DSDPSetDefaultParameters(), and DSDPSetOptions().
int DSDPSetPTolerance | ( | DSDP | dsdp, |
double | inftol | ||
) |
Classify (P) as feasible only if the infeasibility is less than this tolerance.
dsdp | is the solver |
inftol | will be set to the infeasibility in (P) (>0) |
Definition at line 365 of file dsdpx.c.
Referenced by DSDPSetOptions().
int DSDPSetRTolerance | ( | DSDP | dsdp, |
double | inftol | ||
) |
Classify (D) as feasible only if the variable r is less than this tolerance.
dsdp | is the solver |
inftol | is the tolerance (>0) |
Definition at line 409 of file dsdpx.c.
Referenced by DSDPSetOptions().
int DSDPSetStepTolerance | ( | DSDP | dsdp, |
double | steptol | ||
) |
Terminate the solver if the step length in (DD) is below this tolerance.
This heuristic will only be applied when the objective values in (PP) and (DD) match to three significant digits.
dsdp | is the solver |
steptol | is the tolerance |
Definition at line 252 of file dsdpconverge.c.
Referenced by DSDPSetOptions().
int DSDPStopReason | ( | DSDP | dsdp, |
DSDPTerminationReason * | reason | ||
) |
Copy the reason why the solver terminated.
dsdp | is the solver |
*reason | will be set to the proper enumerated type. |
Definition at line 582 of file dsdpsetdata.c.
Referenced by DSDPComputeX(), and DSDPDefaultConvergence().