next up previous contents index
Next: PDSDP Up: DSDP Subroutine Library Previous: Improving Performance   Contents   Index

Iteration Monitor

A standard monitor that prints out the objective value and other relevant information at the current iterate can be set using the command
DSDPSetStandardMonitor(DSDP dsdp, int k);

A user can write a customized subroutine of the form

int (*monitor)(DSDP dsdp,void* ctx);
This subroutine will be called from the DSDP solver each iteration. It is useful for writing a specialized convergence criteria or monitoring the progress of the solver. The objective value and other information can be retrieved from the solver using the commands in the section 7.6. To set this subroutine, use the command
DSDPSetMonitor(DSDP dsdp, int (*monitor)(DSDP,void*), void* ctx);
In this subroutine, the first argument is the solver, the second argument is the monitoring subroutine, and the third argument will be passed as the second argument in the monitoring subroutine. Examples of two monitors can be found in DSDPROOT/src/solver/dsdpconverge.c. The first monitor prints the solver statistics at each iteration and the second monitor determines the convergence of the solver. A monitor cam also be used to print the time, duality gap, potential function at each iteration. Monitors have also been used to stop the solver after a specified time limit and change the parameters in the solver.
next up previous contents index
Next: PDSDP Up: DSDP Subroutine Library Previous: Improving Performance   Contents   Index
Steven Benson 2005-02-11