next up previous contents index
Next: Semidefinite Cone Up: DSDP Subroutine Library Previous: DSDP Subroutine Library   Contents   Index

Creating the Solver

To use DSDP through subroutine, the solver object must first be created with the command
DSDPCreate(int m, DSDP *newsolver);
The first argument in this subroutine is the number of variables in the problem. The second argument should be the address of a DSDP variable. This subroutine will allocate memory for the solver and set the address of the DSDP variable to a new solver object. A difference in typeset distinguishes the DSDP package from the DSDP solver object.

The objective function associated with these variables should be specified using the subroutine

DSDPSetDualObjective(DSDP dsdp, int i, double bi);
The first argument is the solver, and the second and third arguments specify a variable number and the objective value $b_i$ associated with it. The variables are numbered $1$ through $m$, where $m$ is the number of variables specified in DSDPCreate( $\cdot$ ). The objective associated with each variable must be specified individually. The default value is zero. A constant may also be added to the objective function. The subroutine DSDPAddObjectiveConstant(DSDP dsdp, double obj) will add such a constant to the objective function. This constant is algorithmically irrelevant, but it makes the objective values displayed by the solver more consistent with the underlying application.

The next step is to provide the conic structure and data in the problem. These subroutines will be described in the next sections.


next up previous contents index
Next: Semidefinite Cone Up: DSDP Subroutine Library Previous: DSDP Subroutine Library   Contents   Index
Steven Benson 2005-02-11