37 #ifndef __SCIP_PARA_SOLUTION_H__ 38 #define __SCIP_PARA_SOLUTION_H__ 42 #include "scip/scip.h" 60 : objectiveFunctionValue(0.0), nVars(0), indicesAmongSolvers(0), values(0)
71 : indicesAmongSolvers(0), values(0)
73 objectiveFunctionValue = objval;
77 indicesAmongSolvers =
new int[
nVars];
78 values =
new SCIP_Real[
nVars];
81 for(
int i = 0; i <
nVars; i++ )
94 for(
int i = 0; i <
nVars; i++ )
96 indicesAmongSolvers[i] = SCIPvarGetIndex(vars[i]);
107 double inObjectiveFunctionValue,
109 int *inIndicesAmongSolvers,
111 ) : objectiveFunctionValue(inObjectiveFunctionValue), nVars(inNVars), indicesAmongSolvers(0), values(0)
115 indicesAmongSolvers =
new int[inNVars];
116 values =
new SCIP_Real[inNVars];
117 for(
int i = 0; i < inNVars; i++ )
119 indicesAmongSolvers[i] = inIndicesAmongSolvers[i];
120 values[i] = inValues[i];
130 if( values )
delete []
values;
145 void setValue(
int i, SCIP_Real val){ assert(i < nVars && i >= 0 ); values[i] = val; }
149 void write(gzstream::ogzstream &out);
159 std::ostringstream s;
160 s <<
"Obj = " << objectiveFunctionValue << std::endl;
161 for(
int i = 0; i <
nVars; i++ )
164 s <<
", idx = " << indicesAmongSolvers[i];
165 s <<
", val = " << values[i] << std::endl;
174 #endif // __SCIP_PARA_SOLUTION_H__ int getOriginalIndex(int index)
static ScipParaCommTh * comm
void setObjectiveFuntionValue(SCIP_Real val)
double getObjectiveFunctionValue()
bool isOriginalIndeciesMap()
void setValue(int i, SCIP_Real val)
int indexAmongSolvers(int index)
ParaSolver extension for SCIP: Parallelized solver implementation for SCIP.
double objectiveFunctionValue
int * indicesAmongSolvers
ScipParaSolution(ScipParaSolver *solver, SCIP_Real objval, int inNvars, SCIP_VAR **vars, SCIP_Real *vals)
void read(ParaComm *comm, const char *filename)
read ParaParams from file
ScipParaSolution(double inObjectiveFunctionValue, int inNVars, int *inIndicesAmongSolvers, SCIP_Real *inValues)
const std::string toString()
virtual ~ScipParaSolution()
Base class of communicator object.