22#include "OSParameters.h"
32using std::ostringstream;
48 std::ostringstream outStr;
50 const char dirsep=
'\\';
52 const char dirsep=
'/';
67 bool generalTagPrinted;
68 bool systemTagPrinted;
69 bool serviceTagPrinted;
76 outStr <<
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>" ;
77 outStr <<
"<?xml-stylesheet type=\"text/xsl\" href=\"";
79 outStr <<
"OSrL.xslt\"?>";
81 outStr <<
"<osrl xmlns=\"os.optimizationservices.org\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" ";
82 outStr <<
"xsi:schemaLocation=\"os.optimizationservices.org http://www.optimizationservices.org/schemas/";
84 outStr <<
"/OSrL.xsd\" >" ;
98 outStr <<
"<resultHeader>" << endl;
100 outStr <<
"</resultHeader>" << endl;
110 generalTagPrinted =
false;
113 if (generalTagPrinted ==
false)
115 outStr <<
"<general>" << endl;
116 generalTagPrinted =
true;
118 outStr <<
"<generalStatus";
121 outStr <<
" type=\"";
127 outStr <<
" description=";
132 outStr <<
" numberOfSubstatuses=\"";
136 outStr <<
">" << endl;
139 outStr <<
"<substatus";
142 outStr <<
" name=\"";
148 outStr <<
" description=\"";
152 outStr <<
"/>" << endl;
154 outStr <<
"</generalStatus>" << endl;
159 if (generalTagPrinted ==
false)
161 outStr <<
"<general>" << endl;
162 generalTagPrinted =
true;
168 if (generalTagPrinted ==
false)
170 outStr <<
"<general>" << endl;
171 generalTagPrinted =
true;
177 if (generalTagPrinted ==
false)
179 outStr <<
"<general>" << endl;
180 generalTagPrinted =
true;
186 if (generalTagPrinted ==
false)
188 outStr <<
"<general>" << endl;
189 generalTagPrinted =
true;
195 if (generalTagPrinted ==
false)
197 outStr <<
"<general>" << endl;
198 generalTagPrinted =
true;
204 if (generalTagPrinted ==
false)
206 outStr <<
"<general>" << endl;
207 generalTagPrinted =
true;
213 if (generalTagPrinted ==
false)
215 outStr <<
"<general>" << endl;
216 generalTagPrinted =
true;
225 if (generalTagPrinted ==
false)
227 outStr <<
"<general>" << endl;
228 generalTagPrinted =
true;
230 outStr <<
"<otherResults numberOfOtherResults=\"";
232 outStr <<
"\">" << endl;
248 outStr <<
" description=";
251 outStr <<
" />" << endl;
253 outStr <<
"</otherResults>" << endl;;
256 if (generalTagPrinted ==
true)
257 outStr <<
"</general>" << endl;
266 systemTagPrinted =
false;
269 if (systemTagPrinted ==
false)
271 outStr <<
"<system>" << endl;
272 systemTagPrinted =
true;
279 if (systemTagPrinted ==
false)
281 outStr <<
"<system>" << endl;
282 systemTagPrinted =
true;
284 outStr <<
"<availableDiskSpace";
287 outStr <<
" unit=\"";
293 outStr <<
" description=";
298 outStr <<
"</availableDiskSpace>" << endl;
303 if (systemTagPrinted ==
false)
305 outStr <<
"<system>" << endl;
306 systemTagPrinted =
true;
308 outStr <<
"<availableMemory";
311 outStr <<
" unit=\"";
317 outStr <<
" description=";
322 outStr <<
"</availableMemory>" << endl;
327 if (systemTagPrinted ==
false)
329 outStr <<
"<system>" << endl;
330 systemTagPrinted =
true;
332 outStr <<
"<availableCPUSpeed";
335 outStr <<
" unit=\"";
341 outStr <<
" description=";
346 outStr <<
"</availableCPUSpeed>" << endl;
351 if (systemTagPrinted ==
false)
353 outStr <<
"<system>" << endl;
354 systemTagPrinted =
true;
356 outStr <<
"<availableCPUNumber";
359 outStr <<
" description=";
364 outStr <<
"</availableCPUNumber>" << endl;
371 if (systemTagPrinted ==
false)
373 outStr <<
"<system>" << endl;
374 systemTagPrinted =
true;
376 outStr <<
"<otherResults numberOfOtherResults=\"";
378 outStr <<
"\">" << endl;
394 outStr <<
" description=";
397 outStr <<
" />" << endl;
399 outStr <<
"</otherResults>" << endl;
402 if (systemTagPrinted ==
true)
403 outStr <<
"</system>" << endl;
412 serviceTagPrinted =
false;
415 if (serviceTagPrinted ==
false)
417 outStr <<
"<service>" << endl;
418 serviceTagPrinted =
true;
424 if (serviceTagPrinted ==
false)
426 outStr <<
"<service>" << endl;
427 serviceTagPrinted =
true;
433 if (serviceTagPrinted ==
false)
435 outStr <<
"<service>" << endl;
436 serviceTagPrinted =
true;
442 if (serviceTagPrinted ==
false)
444 outStr <<
"<service>" << endl;
445 serviceTagPrinted =
true;
451 if (serviceTagPrinted ==
false)
453 outStr <<
"<service>" << endl;
454 serviceTagPrinted =
true;
463 if (serviceTagPrinted ==
false)
465 outStr <<
"<service>" << endl;
466 serviceTagPrinted =
true;
468 outStr <<
"<otherResults numberOfOtherResults=\"";
470 outStr <<
"\">" << endl;
486 outStr <<
" description=";
489 outStr <<
" />" << endl;
491 outStr <<
"</otherResults>" << endl;
494 if (serviceTagPrinted ==
true)
495 outStr <<
"</service>" << endl;
504 jobTagPrinted =
false;
508 if (jobTagPrinted ==
false)
510 outStr <<
"<job>" << endl;
511 jobTagPrinted =
true;
517 if (jobTagPrinted ==
false)
519 outStr <<
"<job>" << endl;
520 jobTagPrinted =
true;
526 if (jobTagPrinted ==
false)
528 outStr <<
"<job>" << endl;
529 jobTagPrinted =
true;
535 if (jobTagPrinted ==
false)
537 outStr <<
"<job>" << endl;
538 jobTagPrinted =
true;
544 if (jobTagPrinted ==
false)
546 outStr <<
"<job>" << endl;
547 jobTagPrinted =
true;
554 if (jobTagPrinted ==
false)
556 outStr <<
"<job>" << endl;
557 jobTagPrinted =
true;
559 outStr <<
"<timingInformation numberOfTimes=\"";
572 outStr <<
">" << endl;
574 outStr <<
"</time>" << endl;
576 outStr <<
"</timingInformation>" << endl;
581 if (jobTagPrinted ==
false)
583 outStr <<
"<job>" << endl;
584 jobTagPrinted =
true;
586 outStr <<
"<usedDiskSpace";
589 outStr <<
" unit=\"";
595 outStr <<
" description=";
600 outStr <<
"</usedDiskSpace>" << endl;
605 if (jobTagPrinted ==
false)
607 outStr <<
"<job>" << endl;
608 jobTagPrinted =
true;
610 outStr <<
"<usedMemory";
613 outStr <<
" unit=\"";
619 outStr <<
" description=";
624 outStr <<
"</usedMemory>" << endl;
629 if (jobTagPrinted ==
false)
631 outStr <<
"<job>" << endl;
632 jobTagPrinted =
true;
634 outStr <<
"<usedCPUSpeed";
637 outStr <<
" unit=\"";
643 outStr <<
" description=";
648 outStr <<
"</usedCPUSpeed>" << endl;
653 if (jobTagPrinted ==
false)
655 outStr <<
"<job>" << endl;
656 jobTagPrinted =
true;
658 outStr <<
"<usedCPUNumber";
661 outStr <<
" description=";
666 outStr <<
"</usedCPUNumber>" << endl;
673 if (jobTagPrinted ==
false)
675 outStr <<
"<job>" << endl;
676 jobTagPrinted =
true;
678 outStr <<
"<otherResults numberOfOtherResults=\"";
680 outStr <<
"\">" << endl;
696 outStr <<
" description=";
699 outStr <<
" />" << endl;
701 outStr <<
"</otherResults>" << endl;
704 if (jobTagPrinted ==
true)
705 outStr <<
"</job>" << endl;
714 outStr <<
"<optimization " ;
715 outStr <<
"numberOfSolutions=\"";
720 outStr <<
" numberOfVariables=\"";
726 outStr <<
" numberOfConstraints=\"";
732 outStr <<
" numberOfObjectives=\"";
736 outStr <<
">" << endl;
742 outStr <<
"<solution" ;
743 outStr <<
" targetObjectiveIdx=\"";
748 outStr <<
" targetObjectiveName=";
752 outStr <<
" weightedObjectives=\"true\"";
753 outStr <<
">" << endl;
759 outStr <<
" numberOfSubstatuses=\"";
765 outStr <<
" type=\"";
771 outStr <<
" description=";
774 outStr <<
">" << endl;
777 outStr <<
"<substatus";
780 outStr <<
" type=\"";
786 outStr <<
" description=";
789 outStr <<
"/>" << endl;
791 outStr <<
"</status>" << endl;
796 outStr <<
"<message>";
798 outStr <<
"</message>" << endl;
802 outStr <<
"<variables ";
805 outStr <<
">" << endl;
810 "output <variables> <values>");
825 outStr <<
"</var>" << endl;
828 outStr <<
"</values>" << endl;
835 "output <variables> <valuesString>");
850 outStr <<
"</var>" << endl;
853 outStr <<
"</valuesString>" << endl;
860 "output <variables> <basisStatus>");
862 outStr <<
"<basisStatus>" << endl;
864 outStr <<
"</basisStatus>" << endl;
879 outStr <<
" numberOfVar=\"";
885 outStr <<
" numberOfEnumerations=\"";
893 outStr <<
" value=\"";
899 outStr <<
" type=\"";
905 outStr <<
" description=";
910 outStr <<
" varType=\"";
916 outStr <<
" enumType=\"";
920 outStr <<
">" << endl;
933 outStr <<
"</var>" << endl;
944 outStr <<
"</other>" << endl;
948 outStr <<
"</variables>" << endl;
952 outStr <<
"<objectives ";
955 outStr <<
">" << endl;
958 "output <objectives> <values>");
975 outStr <<
"</obj>" << endl;
979 outStr <<
"</values>" << endl;
986 "output <objectives> <basisStatus>");
988 outStr <<
"<basisStatus>" << endl;
990 outStr <<
"</basisStatus>" << endl;
995 "output <objectives> <other>");
1003 outStr <<
"<other" ;
1006 outStr <<
" numberOfObj=\"";
1012 outStr <<
" numberOfEnumerations=\"";
1024 outStr <<
" value=\"";
1031 outStr <<
" type=\"";
1037 outStr <<
" description=";
1042 outStr <<
" objType=\"";
1048 outStr <<
" enumType=\"";
1052 outStr <<
">" << endl;
1058 outStr <<
" idx=\"";
1065 outStr <<
"</obj>" << endl;
1076 outStr <<
"</other>" << endl;
1080 outStr <<
"</objectives>" << endl;
1085 outStr <<
"<constraints ";
1088 outStr <<
">" << endl;
1091 "output <constraints> <dualValues>");
1101 outStr <<
" idx=\"";
1108 outStr <<
"</con>" << endl;
1111 outStr <<
"</dualValues>" << endl;
1118 "output <constraints> <basisStatus>");
1120 outStr <<
"<basisStatus>" << endl;
1122 outStr <<
"</basisStatus>" << endl;
1127 "output <constraints> <other>");
1138 outStr <<
" numberOfCon=\"";
1144 outStr <<
" numberOfEnumerations=\"";
1153 outStr <<
" value=\"";
1160 outStr <<
" type=\"";
1167 outStr <<
" description=";
1172 outStr <<
" conType=\"";
1178 outStr <<
" enumType=\"";
1182 outStr <<
">" << endl;
1188 outStr <<
" idx=\"";
1195 outStr <<
"</con>" << endl;
1206 outStr <<
"</other>" << endl;
1210 outStr <<
"</constraints>" << endl;
1217 "output <matrixProgramming>");
1219 outStr <<
"<matrixProgramming";
1222 outStr <<
" numberOfOtherMatrixProgrammingResults=\""
1225 outStr <<
">" << endl;
1233 "output <matrixVariables>");
1235 outStr <<
"<matrixVariables";
1237 outStr <<
" numberOfOtherMatrixVariableResults=\""
1239 outStr <<
">" << endl;
1241 if (tmpVar->
values != NULL)
1243 outStr <<
"<values numberOfMatrixVar=\""
1248 outStr <<
"</values>" << endl;
1250 tmpVar->
other != NULL)
1254 outStr <<
"<other name=\"" << tmpVar->
other[j]->
name <<
"\"";
1258 outStr <<
" value=\"" << tmpVar->
other[j]->
value <<
"\"";
1260 outStr <<
" type=\"" << tmpVar->
other[j]->
type <<
"\"";
1262 outStr <<
" solver=\"" << tmpVar->
other[j]->
solver <<
"\"";
1264 outStr <<
" category=\"" << tmpVar->
other[j]->
category <<
"\"";
1266 outStr <<
" numberOfMatrixVar=\""
1271 outStr <<
" numberOfEnumerations=\""
1274 outStr <<
" enumType=\"" << tmpVar->
other[j]->
enumType <<
"\"";
1279 outStr <<
"/>" << endl;
1283 outStr <<
">" << endl;
1296 outStr <<
"</other>" << endl;
1300 outStr <<
"</matrixVariables>" << endl;
1302 outStr <<
"</matrixProgramming>" << endl;
1310 outStr <<
"<otherSolutionResults numberOfOtherSolutionResults=\"";
1312 outStr <<
"\">" << std::endl;
1315 outStr <<
"<otherSolutionResult";
1318 outStr <<
" value=";
1320 outStr <<
" numberOfItems=\"";
1327 outStr <<
">" << std::endl;
1330 outStr <<
"</otherSolutionResult>" << std::endl;
1332 outStr <<
"</otherSolutionResults>" << std::endl;
1334 outStr <<
"</solution>" << endl;
1345 outStr <<
"<otherSolverOutput numberOfSolverOutputs=\"";
1347 outStr <<
"\">" << std::endl;
1350 outStr <<
"<solverOutput";
1351 outStr <<
" name=\"";
1354 outStr <<
" numberOfItems=\"";
1361 outStr <<
">" << std::endl;
1366 outStr <<
"</solverOutput>" << std::endl;
1368 outStr <<
"</otherSolverOutput>" << std::endl;
1371 outStr <<
"</optimization>" << endl;
1373 outStr <<
"</osrl>" << endl ;
1377 return outStr.str();
const OSSmartPtr< OSOutput > osoutput
std::string os_dtoa_format(double x)
std::string writeStringData(std::string str)
writeStringData
std::string writeGeneralFileHeader(GeneralFileHeader *v, bool addWhiteSpace)
Take a GeneralFileHeader object and write a string that validates against the OSgL schema.
std::string writeOtherOptionOrResultEnumeration(OtherOptionOrResultEnumeration *e, bool addWhiteSpace, bool writeBase64)
Take an OtherOptionOrResultEnumeration object and write a string that validates against the OSgL sche...
std::string writeBasisStatus(BasisStatus *bs, bool addWhiteSpace, bool writeBase64)
Take a BasisStatus object and write a string that validates against the OSgL schema.
std::string description
additional description about the CPU
int value
the number of CPUs
std::string description
additional description about the CPU speed
std::string unit
the unit in which CPU speed is measured
double value
the CPU speed (expressed in multiples of unit)
OtherConstraintResult ** other
a pointer to an array of other pointer objects for constraint functions
BasisStatus * basisStatus
a pointer to a BasisStatus object
DualVariableValues * dualValues
a pointer to an array of DualVariableValues objects
int numberOfOtherConstraintResults
the number of types of constraint function results other than the basic constraint function values
std::string name
optional name
double value
value of dual variable on the constraint indexed by idx
int idx
idx is the index on a constraint
DualVarValue ** con
con is a vector of DualVarValue objects that give an index and dual variable value for each constrain...
int numberOfCon
record the number of constraints for which values are given
std::string solverInvoked
the name of the solver used
std::string serviceURI
the serviceURI is the URI of the solver service that did the optimization
std::string serviceName
the serviceName is the name of the solver service that did the optimization
std::string timeStamp
a time stamp associated with the process
std::string jobID
the jobID is the ID associated with the solution of this instance
OtherResults * otherResults
a pointer to the OtherResults class
GeneralStatus * generalStatus
a pointer to the GeneralStatus class
std::string instanceName
the name of the instance that was solved
std::string message
any general message associated with the optimization
int numberOfSubstatuses
the number of substatuses
std::string type
the type of status
GeneralSubstatus ** substatus
the array of substatuses
std::string description
the description of the status
std::string description
the description of the substatus
std::string name
the name of the substatus
std::string status
job status
std::string scheduledStartTime
the time when the job was supposed to start
TimingInformation * timingInformation
a pointer to the TimingInformation class
CPUSpeed * usedCPUSpeed
a pointer to the CPUSpeed class
CPUNumber * usedCPUNumber
a pointer to the CPUNumber class
StorageCapacity * usedMemory
a pointer to the MemorySize class
std::string submitTime
time the job was submitted
std::string actualStartTime
the time when the job actually started
StorageCapacity * usedDiskSpace
a pointer to the DiskSpace class
OtherResults * otherResults
a pointer to the OtherResults class
std::string endTime
the time when the job finished
MatrixVariableSolution * matrixVariables
a pointer to the matrixVariables object
int numberOfOtherMatrixProgrammingResults
the number of <other> child elements>
The in-memory representation of the <MatrixVariableSolution> element.
MatrixVariableValues * values
values is pointer to the <values> child
int numberOfOtherMatrixVariableResults
numberOfOtherMatrixVariableResults gives the number of <other> children
OtherMatrixVariableResult ** other
other is a pointer to an array of <other> children
OSMatrixWithMatrixVarIdx ** matrixVar
matrixVar is an array of pointers to the <matrixVar> children
int numberOfMatrixVar
numberOfMatrixVar gives the number of <matrixVar> children
virtual std::string getMatrixNodeInXML()
GeneralResult * general
general holds the first child of the OSResult specified by the OSrL Schema.
ServiceResult * service
service holds the third child of the OSResult specified by the OSrL Schema.
OptimizationResult * optimization
optimization holds the fifth child of the OSResult specified by the OSrL Schema.
GeneralFileHeader * resultHeader
header information
SystemResult * system
system holds the second child of the OSResult specified by the OSrL Schema.
JobResult * job
job holds the fourth child of the OSResult specified by the OSrL Schema.
std::string writeOSrL(OSResult *theosresult)
create an osrl string from an OSResult object
bool m_bWhiteSpace
m_bWhiteSpace is set to true if we write white space in the file
OSResult * m_OSResult
m_OSResult is an object in the class OSResult, the data in m_OSResult are written to a string that va...
~OSrLWriter()
Class destructor.
bool m_bWriteBase64
m_bWriteBase64 is set to true if we encode the linear constraint coefficients in base64 binary
OSrLWriter()
Default constructor.
double value
the value of the objective indexed by idx
int idx
idx is the index on an objective function
std::string name
optional name
OtherObjectiveResult ** other
a pointer to an array of other pointer objects for objective functions
int numberOfOtherObjectiveResults
the number of types of objective function results other than the basic objective function values
BasisStatus * basisStatus
a pointer to a BasisStatus object
ObjectiveValues * values
a pointer to an array of ObjectiveValues objects
int numberOfObj
record the number of objective rows for which values are given
ObjValue ** obj
obj is a pointer to an array of ObjValue objects that give an index and objective function value for ...
int numberOfSolutions
numberOfSolutions is the number of objective functions reported.
OtherSolverOutput * otherSolverOutput
otherSolverOutput is a pointer to an OtherSolverOutput object
int numberOfObjectives
numberOfObjectives is the number of objective functions reported in the solution.
int numberOfVariables
numberOfVariables is the number of variables reported in the solution.
OptimizationSolution ** solution
solution is an array of pointers to OptimizationSolution objects
int numberOfConstraints
numberOfConstrants is the number of constraint functions reported in the solution.
VariableSolution * variables
variables holds the solution information for the variables
ObjectiveSolution * objectives
objectives holds the solution information for the objectives
MatrixProgrammingSolution * matrixProgramming
matrixProgramming holds the solution information for the matrix programming components: matrix variab...
bool weightedObjectives
a marker to track whether the objectives are weighted
int targetObjectiveIdx
the index of the objective function for which we are reporting solution information
OtherSolutionResults * otherSolutionResults
otherSolutionResults is a pointer to an OtherSolutionResults object that is associated with this opti...
std::string targetObjectiveName
an optional name of the objective function for which we are reporting solution information
ConstraintSolution * constraints
constraints holds the solution information for the constraints
OptimizationSolutionStatus * status
status is a pointer to an OptimizationSolutionStatus object associated with this optimization solutio...
std::string message
a message associated with this solution
int numberOfSubstatuses
the number of substatus objects
OptimizationSolutionSubstatus ** substatus
a pointer to an array of substatus objects
std::string description
a description of the solution status type
std::string type
the type of solution status
std::string description
a description of the solution substatus
std::string type
the type of the solution substatus
int idx
idx is the index on the constraint
std::string name
optional name
std::string value
value is a value associated with the constraint indexed by idx, for example value might be the value ...
std::string conType
type of the values in the con array
int numberOfEnumerations
the number of distinct values for this particular type of result
std::string description
a brief description of the type of result
std::string enumType
type of the values in the enumeration array
int numberOfCon
the number of constraints which have values for this particular type of result
std::string name
the name of the result the user is defining
OtherOptionOrResultEnumeration ** enumeration
std::string type
type of the result value (integer, double, boolean, string)
std::string value
this element allows a specific value associated with this particular type of result
std::string matrixType
the type of matrixVar
OtherOptionOrResultEnumeration ** enumeration
the enumeration.
int numberOfEnumerations
number of levels in an enumeration associated with this result
std::string enumType
the type of the enumeration
std::string name
Gives a name to this result.
OSMatrixWithMatrixVarIdx ** matrixVar
the list of matrices and their values
int numberOfMatrixVar
number of matrix variables affected by or associated with this result
std::string description
other data elements are optional
std::string value
value is a value associated with an objective function indexed by idx
int idx
idx is the index on a objective function
std::string name
optional name
std::string value
this element allows a specific value associated with this particular type of result
std::string objType
type of the values in the obj array
int numberOfEnumerations
the number of distinct values for this particular type of result
std::string description
a brief description of the type of result
std::string enumType
type of the values in the enumeration array
OtherOptionOrResultEnumeration ** enumeration
int numberOfObj
the number of objectives which have values for this particular type of result
std::string type
type of the result value (integer, double, boolean, string)
std::string name
the name of the result the user is defining
std::string name
the name of the other result
std::string description
the description of the other result
std::string value
the value of the other result
int numberOfOtherResults
the number of other results
OtherResult ** other
the array of other results
std::string name
the name of the result the user is defining
std::string * item
an array of items (string-valued)
std::string description
a brief description of the type of result
std::string value
the value associated with the result the user is defining
std::string category
this element allows a specific category to be associated with this particular type of result
int numberOfItems
the number of items contained in this otherSolutionResult
int numberOfOtherSolutionResults
the number of elements in the pointer of OtherSolutionResult objects
OtherSolutionResult ** otherSolutionResult
otherSolutionResult is a pointer to an array of OtherSolutionResult objects
SolverOutput ** solverOutput
solverOutput is a pointer to an array of SolverOutput objects
int numberOfSolverOutputs
the number of elements in the pointer of SolverOutput objects
std::string value
value holds a general value associated with a variable, for example, rather than the value of a varia...
int idx
the index of a variable in the solution
std::string name
optional name
int numberOfEnumerations
the number of distinct values for this particular type of result
std::string value
this element allows a specific value associated with this particular type of result
std::string varType
type of the values in the var array
std::string enumType
type of the values in the enumeration array
std::string type
type of the result value (integer, double, boolean, string)
std::string description
a brief description of the type of result
OtherOptionOrResultEnumeration ** enumeration
std::string name
the name of the result the user is defining
int numberOfVar
the number of variables which have values for this particular type of result
double serviceUtilization
service utilization
int totalJobsSoFar
total jobs processed so far
int currentJobCount
the number of jobs currently running
OtherResults * otherResults
a pointer to the OtherResults class
std::string currentState
a string describing the current state of the service
std::string timeServiceStarted
the time when the service was started
int numberOfItems
the number of items contained in this otherSolutionResult
std::string category
this element allows a specific category to be associated with this particular type of result
std::string name
the name of the result the user is defining
std::string * item
an array of items (string-valued)
std::string description
a brief description of the type of result
std::string unit
the unit in which storage capacity is measured
double value
the number of units of storage capacity
std::string description
additional description about the storage
OtherResults * otherResults
a pointer to the OtherResults class
std::string systemInformation
a string containing some basic system information
StorageCapacity * availableMemory
a pointer to the MemorySize class
CPUNumber * availableCPUNumber
a pointer to the CPUNumber class
StorageCapacity * availableDiskSpace
a pointer to the DiskSpace class
CPUSpeed * availableCPUSpeed
a pointer to the CPUSpeed class
std::string category
The category of time (total/input/preprocessing/optimization/postprocessing/output/other)
std::string description
Further description on the timer used.
std::string type
The type of timer used (cpuTime/elapsedTime/other)
std::string unit
the unit in which time is measured
double value
the number of units
int idx
idx is the index on variable in the solution
std::string name
optional name
std::string name
optional name
int idx
idx is the index on variable in the solution
OtherVariableResult ** other
a pointer to an array of other pointer objects for variables
BasisStatus * basisStatus
a pointer to a BasisStatus object
int numberOfOtherVariableResults
the number of types of variable results other than the value of the variable
VariableValues * values
a pointer to a VariableValues object
VariableValuesString * valuesString
a pointer to a VariableValuesString object
VarValue ** var
a vector of VarValue objects, there will be one for each variable in the solution
int numberOfVar
the number of variable values that are in the solution
VarValueString ** var
a vector of VarValueString objects, there will be one for each variable in the solution
int numberOfVar
the number of string-valued variable values that are in the solution
#define OS_SCHEMA_VERSION
@ ENUM_OUTPUT_LEVEL_trace
@ ENUM_OUTPUT_AREA_OSrLwriter