My Project
|
The CsdpSolver class solves problems using Csdp. More...
#include <OSCsdpSolver.h>
Public Member Functions | |
CsdpSolver () | |
the CsdpSolver class constructor More... | |
virtual | ~CsdpSolver () |
the CsdpSolver class destructor More... | |
virtual void | solve () |
solve results in an instance being read into the Csdp data structures and optimized More... | |
virtual void | buildSolverInstance () |
The implementation of the virtual functions. More... | |
virtual void | setSolverOptions () |
The implementation of the virtual functions. More... | |
void | dataEchoCheck () |
use this for debugging, print out the instance that the solver thinks it has and compare this with the OSiL file More... | |
![]() | |
virtual void | solve ()=0 |
solve is a virtual function – the actual solvers will implement their own solve method More... | |
virtual void | buildSolverInstance ()=0 |
buildSolverInstance is a virtual function – the actual solvers will implement their own buildSolverInstance method – the solver instance is the instance the individual solver sees in its API More... | |
virtual void | setSolverOptions ()=0 |
setSolverOptions is a virtual function – the actual solvers will implement their own setSolverOptions method – the solver options are the options the individual solver sees in its API More... | |
DefaultSolver () | |
default constructor. More... | |
virtual | ~DefaultSolver ()=0 |
default destructor. More... | |
Public Attributes | |
OSiLReader * | m_osilreader |
m_osilreader is an OSiLReader object used to create an osinstance from an osil string if needed More... | |
OSoLReader * | m_osolreader |
m_osolreader is an OSoLReader object used to create an osoption from an osol string if needed More... | |
![]() | |
std::string | osil |
osil holds the problem instance as a std::string More... | |
std::string | osol |
osol holds the options for the solver More... | |
std::string | osrl |
osrl holds the solution or result of the model More... | |
OSInstance * | osinstance |
osinstance holds the problem instance in-memory as an OSInstance object More... | |
OSOption * | osoption |
osoption holds the solver options in-memory as an OSOption object More... | |
OSResult * | osresult |
osresult holds the solution or result of the model in-memory as an OSResult object More... | |
std::string | sSolverName |
sSolverName is the name of the Coin solver used, e.g. More... | |
bool | bCallbuildSolverInstance |
bCallbuildSolverInstance is set to true if buildSolverService has been called More... | |
bool | bSetSolverOptions |
bSetSolverOptions is set to true if setSolverOptions has been called, false otherwise More... | |
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 |
OSrLWriter * | osrlwriter |
Methods to block default compiler methods. | |
The compiler automatically generates the following three methods. Since the default compiler implementation is generally not what you want (for all but the most simple classes), we usually put the declarations of these methods in the private section and never implement them. This prevents the compiler from implementing an incorrect "default" behavior without us knowing. (See Scott Meyers book, "Effective C++") | |
std::string * | csdpErrorMsg |
The CsdpSolver class solves problems using Csdp.
Definition at line 71 of file OSCsdpSolver.h.
CsdpSolver::CsdpSolver | ( | ) |
the CsdpSolver class constructor
Definition at line 51 of file OSCsdpSolver.cpp.
|
virtual |
the CsdpSolver class destructor
Definition at line 64 of file OSCsdpSolver.cpp.
|
virtual |
solve results in an instance being read into the Csdp data structures and optimized
Implements DefaultSolver.
Definition at line 718 of file OSCsdpSolver.cpp.
|
virtual |
The implementation of the virtual functions.
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.
|
virtual |
The implementation of the virtual functions.
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 522 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 1081 of file OSCsdpSolver.cpp.
|
private |
Definition at line 74 of file OSCsdpSolver.h.
|
private |
Definition at line 75 of file OSCsdpSolver.h.
|
private |
Definition at line 76 of file OSCsdpSolver.h.
|
private |
Definition at line 77 of file OSCsdpSolver.h.
|
private |
Definition at line 78 of file OSCsdpSolver.h.
|
private |
Definition at line 79 of file OSCsdpSolver.h.
|
private |
Definition at line 80 of file OSCsdpSolver.h.
|
private |
Definition at line 81 of file OSCsdpSolver.h.
|
private |
Definition at line 82 of file OSCsdpSolver.h.
|
private |
Definition at line 82 of file OSCsdpSolver.h.
OSiLReader* CsdpSolver::m_osilreader |
m_osilreader is an OSiLReader object used to create an osinstance from an osil string if needed
Definition at line 126 of file OSCsdpSolver.h.
OSoLReader* CsdpSolver::m_osolreader |
m_osolreader is an OSoLReader object used to create an osoption from an osol string if needed
Definition at line 132 of file OSCsdpSolver.h.
|
private |
Definition at line 136 of file OSCsdpSolver.h.
|
private |
Definition at line 154 of file OSCsdpSolver.h.