CsdpSolver Class Reference

The CsdpSolver class solves problems using Csdp. More...

#include <OSCsdpSolver.h>

Inheritance diagram for CsdpSolver:
Inheritance graph
[legend]
Collaboration diagram for CsdpSolver:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 CsdpSolver ()
 the CsdpSolver class constructor
virtual ~CsdpSolver ()
 the CsdpSolver class destructor
virtual void solve () throw (ErrorClass)
 solve results in an instance being read into the Csdp data structures and optimized
virtual void buildSolverInstance () throw (ErrorClass)
 The implementation of the virtual functions.
virtual void setSolverOptions () throw (ErrorClass)
 The implementation of the virtual functions.
void dataEchoCheck ()
 use this for debugging, print out the instance that the solver thinks it has and compare this with the OSiL file

Public Attributes

OSiLReaderm_osilreader
 m_osilreader is an OSiLReader object used to create an osinstance from an osil string if needed
OSoLReaderm_osolreader
 m_osolreader is an OSoLReader object used to create an osoption from an osol string if needed

Private Attributes

int nC_rows
int nC_blks
int ncon
struct blockmatrix C_matrix
double * rhsValues
struct constraintmatrix * mconstraints
struct blockmatrix X Z
double * y
double pobj
double dobj
OSrLWriterosrlwriter
std::string * csdpErrorMsg

Detailed Description

The CsdpSolver class solves problems using Csdp.

Author:
Jun Ma, Kipp Martin, Horand Gassmann
Version:
1.0, 05/26/2014
Since:
OS 2.8
Remarks:
this class takes an OSiL instance and optimizes it using the COIN-OR Csdp solver

Definition at line 72 of file OSCsdpSolver.h.


Constructor & Destructor Documentation

CsdpSolver::CsdpSolver (  ) 

the CsdpSolver class constructor

Definition at line 51 of file OSCsdpSolver.cpp.

CsdpSolver::~CsdpSolver (  )  [virtual]

the CsdpSolver class destructor

Definition at line 64 of file OSCsdpSolver.cpp.


Member Function Documentation

void CsdpSolver::solve (  )  throw (ErrorClass) [virtual]

solve results in an instance being read into the Csdp data structures and optimized

Implements DefaultSolver.

Definition at line 717 of file OSCsdpSolver.cpp.

void CsdpSolver::buildSolverInstance (  )  throw (ErrorClass) [virtual]

The implementation of the virtual functions.

Returns:
void.

If we're using unsigned shorts, make sure that the problem isn't too big.

Allocate space for the C matrix (A0).

Handle diagonal blocks and matrix blocks separately.

Allocate space for the constraints (again using 1-based indexing).

Null out all pointers in constraints.

Go through all of the blocks in each of the constraint matrices, and allocate space for the entries and indices.

initialize and allocate storage for the entries in this block of this constraint.

Implements DefaultSolver.

Definition at line 85 of file OSCsdpSolver.cpp.

void CsdpSolver::setSolverOptions (  )  throw (ErrorClass) [virtual]

The implementation of the virtual functions.

Returns:
void.

Since CSDP provides no user interface for solver options other than reading them in from the file param.csdp (if this file exists) the only choice is to write the options to file so that they can be read back by the CSDP method initparams(), called from easy_sdp().

Note also that initial values are not treated here; there is the special method setInitialValues() that should be used for that purpose.

Implements DefaultSolver.

Definition at line 521 of file OSCsdpSolver.cpp.

void CsdpSolver::dataEchoCheck (  ) 

use this for debugging, print out the instance that the solver thinks it has and compare this with the OSiL file

Definition at line 1080 of file OSCsdpSolver.cpp.


Member Data Documentation

int CsdpSolver::nC_rows [private]

Definition at line 75 of file OSCsdpSolver.h.

int CsdpSolver::nC_blks [private]

Definition at line 76 of file OSCsdpSolver.h.

int CsdpSolver::ncon [private]

Definition at line 77 of file OSCsdpSolver.h.

struct blockmatrix CsdpSolver::C_matrix [read, private]

Definition at line 78 of file OSCsdpSolver.h.

double* CsdpSolver::rhsValues [private]

Definition at line 79 of file OSCsdpSolver.h.

struct constraintmatrix* CsdpSolver::mconstraints [read, private]

Definition at line 80 of file OSCsdpSolver.h.

struct blockmatrix X CsdpSolver::Z [read, private]

Definition at line 81 of file OSCsdpSolver.h.

double* CsdpSolver::y [private]

Definition at line 82 of file OSCsdpSolver.h.

double CsdpSolver::pobj [private]

Definition at line 83 of file OSCsdpSolver.h.

double CsdpSolver::dobj [private]

Definition at line 83 of file OSCsdpSolver.h.

m_osilreader is an OSiLReader object used to create an osinstance from an osil string if needed

Definition at line 127 of file OSCsdpSolver.h.

m_osolreader is an OSoLReader object used to create an osoption from an osol string if needed

Definition at line 133 of file OSCsdpSolver.h.

Definition at line 137 of file OSCsdpSolver.h.

std::string* CsdpSolver::csdpErrorMsg [private]

Definition at line 155 of file OSCsdpSolver.h.


The documentation for this class was generated from the following files:

Generated on 5 Jul 2015 by  doxygen 1.6.1