/home/coin/SVN-release/OS-2.3.5/OS/src/OSCommonInterfaces/OSResult.h

Go to the documentation of this file.
00001 /* $Id: OSResult.h 4120 2011-03-30 06:28:16Z kmartin $ */
00016 #ifndef OSRESULT_H
00017 #define OSRESULT_H
00018 #include <string>
00019 #include <vector>
00020 #include "OSGeneral.h"
00021 
00022 //#define DEBUG
00023 
00024 
00029 struct IndexStringPair{
00033         int idx;
00034 
00037         std::string value;
00038                 
00039 };
00040 
00041 
00053 class GeneralSubstatus {
00054 
00055 public:
00056  
00058         std::string name;
00059 
00061         std::string description;
00062 
00067         GeneralSubstatus();
00072         ~GeneralSubstatus();
00073 
00078         bool IsEqual(GeneralSubstatus *that);
00079 
00087         bool setRandom(double density, bool conformant);
00088                 
00089 };//GeneralSubstatus
00090 
00091 
00103 class GeneralStatus {
00104 
00105 public:
00106  
00108         int numberOfSubstatuses;
00109 
00111         std::string type;
00112         
00114         std::string description;
00115         
00117         GeneralSubstatus **substatus;
00118 
00123         GeneralStatus();
00128         ~GeneralStatus();
00129 
00134         bool IsEqual(GeneralStatus *that);
00135 
00143         bool setRandom(double density, bool conformant);
00144                 
00145 };//GeneralStatus
00146 
00147 
00159 class OtherResult {
00160 
00161 public:
00162  
00164         std::string name;
00165 
00167         std::string value;
00168 
00170         std::string description;
00171         
00176         OtherResult();
00181         ~OtherResult();
00182 
00187         bool IsEqual(OtherResult *that);
00188 
00196         bool setRandom(double density, bool conformant);
00197                 
00198 };//OtherResult
00199 
00200 
00212 class OtherResults {
00213 
00214 public:
00215  
00217         int numberOfOtherResults;
00218 
00220         OtherResult** other;
00221 
00226         OtherResults();
00231         ~OtherResults();
00232 
00237         bool IsEqual(OtherResults *that);
00238 
00246         bool setRandom(double density, bool conformant);
00247                 
00248 };//OtherResults
00249 
00261 class GeneralResult{
00262 public:
00263 
00266         GeneralStatus *generalStatus;
00267         
00270         std::string message;
00271         
00275         std::string serviceURI;
00276         
00280         std::string serviceName;
00281         
00284         std::string instanceName;
00285         
00289         std::string jobID;
00290         
00293         std::string solverInvoked;
00294         
00297         std::string timeStamp;
00298                 
00301         OtherResults *otherResults;
00302 
00303 
00308         GeneralResult();
00313         ~GeneralResult();
00314 
00319         bool IsEqual(GeneralResult *that);
00320 
00328         bool setRandom(double density, bool conformant);
00329 };//class GeneralResult
00330 
00331 
00343 class SystemResult{
00344 public:
00345                 
00347         std::string systemInformation;
00348 
00351         StorageCapacity *availableDiskSpace;
00352 
00355         StorageCapacity *availableMemory;
00356 
00359         CPUSpeed *availableCPUSpeed;
00360 
00363         CPUNumber *availableCPUNumber;
00364 
00367         OtherResults *otherResults;
00368 
00373         SystemResult();
00378         ~SystemResult();
00379 
00384         bool IsEqual(SystemResult *that);
00385 
00393         bool setRandom(double density, bool conformant);
00394 };//class SystemResult
00395 
00396 
00408 class ServiceResult{
00409 public:
00410         
00412         std::string currentState;
00413         
00415         int currentJobCount;
00416         
00418         int totalJobsSoFar;
00419         
00421         std::string timeServiceStarted;
00422 
00424         double serviceUtilization;
00425 
00428         OtherResults *otherResults;
00429 
00434         ServiceResult();
00439         ~ServiceResult();
00440 
00445         bool IsEqual(ServiceResult *that);
00446 
00454         bool setRandom(double density, bool conformant);
00455 };//class ServiceResult
00456 
00457 #if 0
00458 
00470 class Time{
00471 public:
00472 
00476         std::string type;
00477 
00481         std::string category;
00482 
00486         std::string unit;
00487 
00491         std::string description;
00492 
00496         double value;
00497 
00502         Time();
00507         ~Time();
00508 
00513         bool IsEqual(Time *that);
00514 
00522         bool setRandom(double density, bool conformant);
00523 };//class Time
00524 #endif
00525 
00537 class TimeMeasurement : public TimeSpan{
00538 public:
00539 
00543         std::string type;
00544 
00548         std::string category;
00549 
00553         std::string description;
00554 
00559         TimeMeasurement();
00564         ~TimeMeasurement();
00565 
00570         bool IsEqual(TimeMeasurement *that);
00571 
00579         bool setRandom(double density, bool conformant);
00580 };//class TimeMeasurement
00581 
00582 
00594 class TimingInformation{
00595 public:
00596 
00601         int numberOfTimes;
00602 
00607         TimeMeasurement** time;
00608 
00613         TimingInformation();
00618         ~TimingInformation();
00619 
00624         bool IsEqual(TimingInformation *that);
00625 
00633         bool setRandom(double density, bool conformant);
00634 };//class TimingInformation
00635 
00636 
00648 class JobResult{
00649 public:
00650         
00652         std::string status;
00653 
00655         std::string submitTime;
00656 
00658         std::string scheduledStartTime;
00659 
00661         std::string actualStartTime;
00662 
00664         std::string endTime;
00665 
00667         TimingInformation* timingInformation;
00668 
00671         StorageCapacity *usedDiskSpace;
00672 
00675         StorageCapacity *usedMemory;
00676 
00679         CPUSpeed *usedCPUSpeed;
00680 
00683         CPUNumber *usedCPUNumber;
00684 
00687         OtherResults *otherResults;
00688 
00693         JobResult();
00698         ~JobResult();
00699 
00704         bool IsEqual(JobResult *that);
00705 
00713         bool setRandom(double density, bool conformant);
00714 };//class JobResult
00715 
00716 
00717 
00718 
00730 class OptimizationSolutionSubstatus {
00731 public:
00732         
00734         std::string type;
00735         
00737         std::string description;
00738                 
00742         OptimizationSolutionSubstatus();
00747         ~OptimizationSolutionSubstatus();
00748 
00753         bool IsEqual(OptimizationSolutionSubstatus *that);
00754 
00762         bool setRandom(double density, bool conformant);
00763                 
00764 };//OptimizationSolutionSubstatus
00765 
00766 
00778 class OptimizationSolutionStatus {
00779 public:
00780         
00782         int numberOfSubstatuses;
00783 
00785         std::string type;
00786         
00788         std::string description;
00789         
00791         OptimizationSolutionSubstatus** substatus;
00792 
00796         OptimizationSolutionStatus();
00801         ~OptimizationSolutionStatus();
00802 
00807         bool IsEqual(OptimizationSolutionStatus *that);
00808 
00816         bool setRandom(double density, bool conformant);
00817                 
00818 };//OptimizationSolutionStatus
00819 
00820 
00832 class VarValue{
00833 public:
00834 
00836         int idx;
00837         
00838         /* value is the value of the variable indexed by idx
00839          * in the solution
00840          */     
00841         double value;
00842 
00847         VarValue();
00852         ~VarValue();
00853 
00858         bool IsEqual(VarValue *that);
00859 
00867         bool setRandom(double density, bool conformant);
00868 
00869 };// class VarValue
00870 
00871 
00882 class VariableValues{
00883 public:
00884 
00887         int numberOfVar;
00888 
00892         VarValue** var;
00893 
00894         
00899         VariableValues();
00900         
00905         ~VariableValues();
00906 
00911         bool IsEqual(VariableValues *that);
00912 
00920         bool setRandom(double density, bool conformant);
00921 
00922 };// class VariableValues
00923 
00924 
00936 class VarValueString{
00937 public:
00938 
00940         int idx;
00941         
00942         /* value is the value of the variable indexed by idx
00943          * in the solution
00944          */     
00945         std::string value;
00946 
00951         VarValueString();
00952 
00957         ~VarValueString();
00958 
00963         bool IsEqual(VarValueString *that);
00964 
00972         bool setRandom(double density, bool conformant);
00973 
00974 };// class VarValueString
00975 
00976 
00987 class VariableValuesString{
00988 public:
00989 
00992         int numberOfVar;
00993 
00997         VarValueString** var;
00998 
00999         
01004         VariableValuesString();
01005         
01010         ~VariableValuesString();
01011 
01016         bool IsEqual(VariableValuesString *that);
01017 
01025         bool setRandom(double density, bool conformant);
01026 
01027 };// class VariableValuesString
01028 
01029 
01040 class OtherVarResult {
01041 public:
01042         
01044         int idx;
01045         
01052         std::string value;
01053         
01058         OtherVarResult();
01063         ~OtherVarResult();
01064 
01069         bool IsEqual(OtherVarResult *that);
01070 
01078         bool setRandom(double density, bool conformant);
01079         
01080 };//OtherVarResult
01081 
01082 
01083 
01095 class OtherVariableResult {
01096 public:
01097 
01101         int numberOfVar;
01102 
01106         int numberOfEnumerations;
01107 
01109         std::string name;
01110 
01114         std::string value;
01115         
01117         std::string description;
01118         
01119         /* a pointer to OtherVarResult objects that will
01120          * give for each variable the index and value for 
01121          * this user defined variable result
01122          */
01123         OtherVarResult** var;
01124         
01125         /* a pointer to OtherOptionEnumeration objects that will
01126          * give for each distinct value the set of indices for 
01127          * this user defined variable result
01128          */
01129         OtherOptionEnumeration** enumeration;
01130 
01135         OtherVariableResult();
01136         
01141         ~OtherVariableResult();
01142 
01147         bool IsEqual(OtherVariableResult *that);
01148 
01156         bool setRandom(double density, bool conformant);
01157         
01158 };//OtherVariableResult
01159 
01160 
01172 class VariableSolution{
01173 public:
01174 
01178         int numberOfOtherVariableResults;
01179 
01181         VariableValues *values;
01182         
01184         VariableValuesString *valuesString;
01185         
01187         BasisStatus *basisStatus;
01188 
01192         OtherVariableResult** other;
01193 
01198         VariableSolution();
01199         
01204         ~VariableSolution();
01205 
01210         bool IsEqual(VariableSolution *that);
01211 
01219         bool setRandom(double density, bool conformant);
01220 
01221 };// class VariableSolution
01222 
01223 
01235 class ObjValue {
01236 public: 
01237 
01239         int idx;
01240         
01242         double value;
01243         
01248         ObjValue();
01249 
01254         ~ObjValue();
01255 
01260         bool IsEqual(ObjValue *that);
01261 
01269         bool setRandom(double density, bool conformant);
01270 };//ObjValue
01271 
01282 class ObjectiveValues {
01283 public:
01284 
01287         int numberOfObj;
01288 
01293         ObjValue** obj;
01294         
01299         ObjectiveValues();
01300         
01305         ~ObjectiveValues();
01306 
01311         bool IsEqual(ObjectiveValues *that);
01312 
01320         bool setRandom(double density, bool conformant);
01321         
01322 };//ObjectiveValues
01323 
01324 
01336 class OtherObjResult {
01337 public:
01338         
01340         int idx;
01341         
01342         
01346         std::string value;
01347         
01352         OtherObjResult();
01353 
01358         ~OtherObjResult();
01359 
01364         bool IsEqual(OtherObjResult *that);
01365 
01373         bool setRandom(double density, bool conformant);
01374         
01375 };//OtherObjResult
01376 
01377 
01389 class OtherObjectiveResult {
01390 public:
01391 
01395         int numberOfObj;
01396 
01400         int numberOfEnumerations;
01401 
01403         std::string name;
01404         
01408         std::string value;
01409 
01411         std::string description;
01412 
01413         /* a pointer to OtherObjResult objects that will
01414          * give for each objective function the index and 
01415          * value for this user defined objective function result
01416          */     
01417         OtherObjResult** obj;
01418         
01419         /* a pointer to OtherOptionEnumeration objects that will
01420          * give for each distinct value the set of indices for 
01421          * this user defined variable result
01422          */
01423         OtherOptionEnumeration** enumeration;
01424 
01429         OtherObjectiveResult();
01430         
01435         ~OtherObjectiveResult();
01436 
01441         bool IsEqual(OtherObjectiveResult *that);
01442 
01450         bool setRandom(double density, bool conformant);
01451         
01452 };//OtherObjectiveResult
01453 
01454 
01455 
01467 class ObjectiveSolution {
01468 public:
01469 
01473         int numberOfOtherObjectiveResults;
01474         
01476         ObjectiveValues *values;
01477 
01479         BasisStatus *basisStatus;
01480 
01484         OtherObjectiveResult** other; 
01485 
01490         ObjectiveSolution();
01491         
01496         ~ObjectiveSolution();
01497 
01502         bool IsEqual(ObjectiveSolution *that);
01503 
01511         bool setRandom(double density, bool conformant);
01512 
01513 };//ObjectiveSolution
01514 
01515 
01516 
01527 class DualVarValue {
01528 public: 
01529 
01531         int idx;
01532 
01536         double value;
01537         
01542         DualVarValue();
01543 
01548         ~DualVarValue();
01549 
01554         bool IsEqual(DualVarValue *that);
01555 
01563         bool setRandom(double density, bool conformant);
01564         
01565 };//DualVarValue
01566 
01567 
01568 
01579 class DualVariableValues {
01580 public:
01581 
01584         int numberOfCon;
01585 
01590         DualVarValue** con;
01591         
01596         DualVariableValues();
01597         
01602         ~DualVariableValues();
01603 
01608         bool IsEqual(DualVariableValues *that);
01609 
01617         bool setRandom(double density, bool conformant);
01618         
01619 };//DualVariableValues
01620 
01621 
01633 class OtherConResult {
01634 public:
01635         
01637         int idx;
01638         
01644         std::string value;
01645         
01650         OtherConResult();
01651 
01656         ~OtherConResult();
01657 
01662         bool IsEqual(OtherConResult *that);
01663 
01671         bool setRandom(double density, bool conformant);
01672         
01673 };//OtherConResult
01674 
01675 
01687 class OtherConstraintResult {
01688 public:
01689 
01693         int numberOfCon;
01694 
01698         int numberOfEnumerations;
01699 
01701         std::string name;
01702 
01706         std::string value;
01707         
01709         std::string description;
01710         
01711         
01712         /* a vector of OtherConResult objects that will
01713          * give for each constraint the index and 
01714          * value for this user defined objective function result
01715          */     
01716         OtherConResult** con;
01717 
01718         /* a pointer to OtherOptionEnumeration objects that will
01719          * give for each distinct value the set of indices for 
01720          * this user defined variable result
01721          */
01722         OtherOptionEnumeration** enumeration;
01723 
01728         OtherConstraintResult();
01729         
01734         ~OtherConstraintResult();
01735 
01740         bool IsEqual(OtherConstraintResult *that);
01741 
01749         bool setRandom(double density, bool conformant);
01750         
01751 };//OtherConstraintResult
01752 
01753 
01765 class ConstraintSolution {
01766 
01767 public:
01768 
01772         int numberOfOtherConstraintResults;
01773         
01775         DualVariableValues *dualValues;
01776         
01778         BasisStatus *basisStatus;
01779 
01783         OtherConstraintResult** other;
01784         
01789         ConstraintSolution();
01790         
01795         ~ConstraintSolution();
01796 
01801         bool IsEqual(ConstraintSolution *that);
01802 
01810         bool setRandom(double density, bool conformant);
01811         
01812 };//ConstraintSolution
01813 
01814 
01815 
01816 
01828 class OtherSolutionResult {
01829 public:
01830 
01832         std::string name;
01833         
01837         std::string category;
01838 
01840         std::string description;
01841 
01844         int numberOfItems;
01845 
01848         std::string *item;
01849 
01854         OtherSolutionResult();
01855         
01860         ~OtherSolutionResult();
01861 
01866         bool IsEqual(OtherSolutionResult *that);
01867 
01875         bool setRandom(double density, bool conformant);
01876         
01877 };//OtherSolutionResult
01878 
01879 
01880 
01881 
01893 class OtherSolutionResults {
01894 public:
01895 
01897         int numberOfOtherSolutionResults;
01898         
01902         OtherSolutionResult **otherSolutionResult;
01903 
01908         OtherSolutionResults();
01909         
01914         ~OtherSolutionResults();
01915 
01920         bool IsEqual(OtherSolutionResults *that);
01921 
01929         bool setRandom(double density, bool conformant);
01930         
01931 };//OtherSolutionResults
01932 
01933         
01934 
01946 class OptimizationSolution{
01947 public:
01948 
01952         int targetObjectiveIdx;
01953 
01955         bool weightedObjectives;
01956 
01960         OptimizationSolutionStatus *status;
01961         
01963         std::string message;
01964         
01968         VariableSolution *variables;
01969         
01973         ObjectiveSolution *objectives;
01974         
01978         ConstraintSolution *constraints;
01979         
01983         OtherSolutionResults *otherSolutionResults;
01984 
01989         OptimizationSolution();
01990 
01995         ~OptimizationSolution();
01996 
02001         bool IsEqual(OptimizationSolution *that);
02002 
02010         bool setRandom(double density, bool conformant);
02011 
02012 };// class OptimizationSolution
02013 
02014 
02026 class SolverOutput {
02027 public:
02028 
02030         std::string name;
02031         
02035         std::string category;
02036 
02038         std::string description;
02039 
02042         int numberOfItems;
02043 
02046         std::string *item;
02047 
02052         SolverOutput();
02053         
02058         ~SolverOutput();
02059 
02064         bool IsEqual(SolverOutput *that);
02065 
02073         bool setRandom(double density, bool conformant);
02074         
02075 };//SolverOutput
02076 
02077 
02078 
02090 class OtherSolverOutput {
02091 public:
02092 
02095         int numberOfSolverOutputs;
02096         
02099         SolverOutput **solverOutput;
02100 
02105         OtherSolverOutput();
02106         
02111         ~OtherSolverOutput();
02112 
02117         bool IsEqual(OtherSolverOutput *that);
02118 
02126         bool setRandom(double density, bool conformant);
02127         
02128 };//OtherSolverOutput
02129 
02130 
02131 
02143 class OptimizationResult{
02144 public:
02145         
02149         int numberOfSolutions;
02150 
02154         int numberOfVariables;
02155         
02159         int numberOfObjectives;
02160 
02164     int numberOfConstraints;
02165 
02169         OptimizationSolution **solution;
02170 
02174         OtherSolverOutput *otherSolverOutput;
02175         
02180         OptimizationResult();
02181 
02186         ~OptimizationResult();
02187 
02192         bool IsEqual(OptimizationResult *that);
02193 
02201         bool setRandom(double density, bool conformant);
02202 
02203 };// class OptimizationResult
02204 
02205 
02206 
02217 class OSResult{
02218 
02219 public:
02220 
02224         GeneralFileHeader *resultHeader;
02225 
02229         GeneralResult *general;
02230 
02234         SystemResult *system;
02235 
02239         ServiceResult *service;
02240 
02244         JobResult *job;
02245 
02249         OptimizationResult *optimization;
02250 
02255         OSResult(); 
02256 
02261         ~OSResult();
02262 
02263 
02273         bool setResultHeader(std::string name, std::string source, 
02274                            std::string fileCreator, std::string description, std::string licence);
02275 
02276 public: 
02277         
02281         int m_iVariableNumber;
02282         
02286         int m_iObjectiveNumber;
02287         
02291         int m_iConstraintNumber;
02292         
02296         int m_iNumberOfOtherVariableResults;
02297         
02301         double *m_mdPrimalValues;
02302         
02306         double *m_mdDualValues;
02307         
02308         
02309         std::vector<IndexValuePair*>  primalVals;
02310         
02311         std::vector<IndexValuePair*>  dualVals;
02312         
02313 
02314 public:
02319         bool IsEqual(OSResult *that);
02320 
02321 
02329         bool setRandom(double density, bool conformant);
02330         
02331 
02332 
02333 public:
02334 
02340         GeneralStatus* getGeneralStatus();
02341         
02348         std::string getGeneralStatusType();
02349         
02355         std::string getGeneralStatusDescription();
02356         
02362         int getNumberOfGeneralSubstatuses();
02363 
02370         std::string getGeneralSubstatusName(int i);
02371         
02378         std::string getGeneralSubstatusDescription(int i);
02379 
02385         std::string getGeneralMessage();
02386 
02392         std::string getServiceName();
02393         
02399         std::string getServiceURI();
02400         
02406         std::string getInstanceName();
02407         
02413         std::string getJobID(); 
02414         
02420         std::string getSolverInvoked();
02421         
02427         std::string getTimeStamp();
02428 
02434         int getNumberOfOtherGeneralResults();
02435 
02442         std::string getOtherGeneralResultName(int idx);
02443 
02444 /* */   std::string getOtherGeneralResultValue(int idx);
02445 /* */   std::string getOtherGeneralResultDescription(int idx);
02446 /* */   std::string getSystemInformation();
02447 /* */   std::string getAvailableDiskSpaceUnit();
02448 /* */   std::string getAvailableDiskSpaceDescription();
02449 /* */   double getAvailableDiskSpaceValue();
02450 /* */   std::string getAvailableMemoryUnit();
02451 /* */   std::string getAvailableMemoryDescription();
02452 /* */   double getAvailableMemoryValue();
02453 /* */   std::string getAvailableCPUSpeedUnit();
02454 /* */   std::string getAvailableCPUSpeedDescription();
02455 /* */   double getAvailableCPUSpeedValue();
02456 /* */   std::string getAvailableCPUNumberDescription();
02457 /* */   int getAvailableCPUNumberValue();
02458 /* */   int getNumberOfOtherSystemResults();
02459 /* */   std::string getOtherSystemResultName(int idx);
02460 /* */   std::string getOtherSystemResultValue(int idx);
02461 /* */   std::string getOtherSystemResultDescription(int idx);
02462 /* */   std::string getCurrentState();
02463 /* */   int getCurrentJobCount();
02464 /* */   int getTotalJobsSoFar();
02465 /* */   std::string getTimeServiceStarted();
02466 /* */   double getServiceUtilization();
02467 /* */   int getNumberOfOtherServiceResults();
02468 /* */   std::string getOtherServiceResultName(int idx);
02469 /* */   std::string getOtherServiceResultValue(int idx);
02470 /* */   std::string getOtherServiceResultDescription(int idx);
02471 /* */   std::string getJobStatus();
02472 /* */   std::string getJobSubmitTime();
02473 /* */   std::string getScheduledStartTime();
02474 /* */   std::string getActualStartTime();
02475 /* */   std::string getJobEndTime();
02476 
02482         int getTimeNumber();
02483 
02490         double getTimeValue();
02491 
02492 /* */   int getNumberOfTimes();
02493 /* */   std::string getTimingInfoUnit(int idx);
02494 /* */   std::string getTimingInfoType(int idx);
02495 /* */   std::string getTimingInfoCategory(int idx);
02496 /* */   std::string getTimingInfoDescription(int idx);
02497 /* */   double getTimingInfoValue(int idx);
02498 /* */   std::string getUsedDiskSpaceUnit();
02499 /* */   std::string getUsedDiskSpaceDescription();
02500 /* */   double getUsedDiskSpaceValue();
02501 /* */   std::string getUsedMemoryUnit();
02502 /* */   std::string getUsedMemoryDescription();
02503 /* */   double getUsedMemoryValue();
02504 /* */   std::string getUsedCPUSpeedUnit();
02505 /* */   std::string getUsedCPUSpeedDescription();
02506 /* */   double getUsedCPUSpeedValue();
02507 /* */   std::string getUsedCPUNumberDescription();
02508 /* */   int getUsedCPUNumberValue();
02509 /* */   int getNumberOfOtherJobResults();
02510 /* */   std::string getOtherJobResultName(int idx);
02511 /* */   std::string getOtherJobResultValue(int idx);
02512 /* */   std::string getOtherJobResultDescription(int idx);
02513         
02519         int getVariableNumber();
02520         
02526         int getObjectiveNumber();
02527         
02533         int getConstraintNumber();
02534         
02540         int getSolutionNumber();        
02541         
02542 
02551         OptimizationSolutionStatus* getSolutionStatus( int solIdx);
02552 
02562         std::string getSolutionStatusType(int solIdx);
02563 
02570         std::string getSolutionStatusDescription(int solIdx);
02571 
02572         /* */   int getNumberOfSolutionSubstatuses(int solIdx);
02573 /* */   std::string getSolutionSubstatusType(int solIdx, int substatusIdx);
02574 /* */   std::string getSolutionSubstatusDescription(int solIdx, int substatusIdx);
02575 /* */   int getSolutionTargetObjectiveIdx(int solIdx);
02576 
02583         bool getSolutionWeightedObjectives(int solIdx);
02584 
02591         std::string getSolutionMessage(int solIdx);
02592         
02593 /* */   int getNumberOfPrimalVariableValues(int solIdx);
02594 /* */   int getNumberOfVarValues(int solIdx);
02595 /* */   int getVarValueIdx(int solIdx, int varIdx);
02596 /* */   double getVarValue(int solIdx, int varIdx);
02597 
02604         std::vector<IndexValuePair*> getOptimalPrimalVariableValues(int solIdx);
02605 
02606 /* */   int getNumberOfVarValuesString(int solIdx);
02607 /* */   int getVarValueStringIdx(int solIdx, int varIdx);
02608 /* */   std::string getVarValueString(int solIdx, int varIdx);
02609 
02618         int getBasisStatusNumberOfEl(int solIdx, int object, int status);
02619 
02629         int getBasisStatusEl(int solIdx, int object, int status, int j);
02630         
02636         int getNumberOfOtherVariableResults( int solIdx);
02637         
02643         int getAnOtherVariableResultNumberOfVar(int solIdx, int iOther);
02644 
02645 /* */   std::string getOtherVariableResultName(int solIdx, int otherIdx);
02646 /* */   std::string getOtherVariableResultValue(int solIdx, int otherIdx);
02647 /* */   std::string getOtherVariableResultDescription(int solIdx, int otherIdx);
02648 /* */   int getOtherVariableResultNumberOfVar(int solIdx, int otherIdx);
02649 /* */   int getOtherVariableResultNumberOfEnumerations(int solIdx, int otherIdx);
02650 /* */   int getOtherVariableResultVarIdx(int solIdx, int otherIdx, int varIdx);
02651 /* */   std::string getOtherVariableResultVar(int solIdx, int otherIdx, int varIdx);
02652 
02660         std::string getOtherVariableResultEnumerationValue(int solIdx,int otherIdx, int enumIdx);
02661 
02669         std::string getOtherVariableResultEnumerationDescription(int solIdx,int otherIdx, int enumIdx);
02670 
02678         int  getOtherVariableResultEnumerationNumberOfEl(int solIdx,int otherIdx, int enumIdx);
02679 
02688         int getOtherVariableResultEnumerationEl(int solIdx,int otherIdx, int enumIdx, int j);
02689 
02690 /* */   int getNumberOfObjValues(int solIdx);
02691 /* */   int getObjValueIdx(int solIdx, int objIdx);
02692 /* */   double getObjValue(int solIdx, int objIdx);
02693 
02701         double getOptimalObjValue(int objIdx, int solIdx);
02702 
02703 /* */   int getNumberOfOtherObjectiveResults(int solIdx);
02704 /* */   std::string getOtherObjectiveResultName(int solIdx, int otherIdx);
02705 /* */   std::string getOtherObjectiveResultValue(int solIdx, int otherIdx);
02706 /* */   std::string getOtherObjectiveResultDescription(int solIdx, int otherIdx);
02707 /* */   int getOtherObjectiveResultNumberOfObj(int solIdx, int otherIdx);
02708 /* */   int getOtherObjectiveResultNumberOfEnumerations(int solIdx, int otherIdx);
02709 /* */   int getOtherObjectiveResultObjIdx(int solIdx, int otherIdx, int objIdx);
02710 /* */   std::string getOtherObjectiveResultObj(int solIdx, int otherIdx, int objIdx);
02711 
02719         std::string getOtherObjectiveResultEnumerationValue(int solIdx,int otherIdx, int enumIdx);
02720 
02728         std::string getOtherObjectiveResultEnumerationDescription(int solIdx,int otherIdx, int enumIdx);
02729 
02737         int  getOtherObjectiveResultEnumerationNumberOfEl(int solIdx,int otherIdx, int enumIdx);
02738 
02747         int getOtherObjectiveResultEnumerationEl(int solIdx,int otherIdx, int enumIdx, int j);
02748 
02749 
02750 /* */   int getNumberOfDualValues(int solIdx);
02751 /* */   int getDualValueIdx(int solIdx, int conIdx);
02752 /* */   double getDualValue(int solIdx, int conIdx);
02753 
02760         std::vector<IndexValuePair*> getOptimalDualVariableValues(int solIdx);
02761 
02762 /* */   int getNumberOfOtherConstraintResults(int solIdx);
02763 /* */   std::string getOtherConstraintResultName(int solIdx, int otherIdx);
02764 /* */   std::string getOtherConstraintResultValue(int solIdx, int otherIdx);
02765 /* */   std::string getOtherConstraintResultDescription(int solIdx, int otherIdx);
02766 /* */   int getOtherConstraintResultNumberOfCon(int solIdx, int otherIdx);
02767 /* */   int getOtherConstraintResultNumberOfEnumerations(int solIdx, int otherIdx);
02768 /* */   int getOtherConstraintResultConIdx(int solIdx, int otherIdx, int conIdx);
02769 /* */   std::string getOtherConstraintResultCon(int solIdx, int otherIdx, int conIdx);
02770 
02771 
02779         std::string getOtherConstraintResultEnumerationValue(int solIdx,int otherIdx, int enumIdx);
02780 
02788         std::string getOtherConstraintResultEnumerationDescription(int solIdx,int otherIdx, int enumIdx);
02789 
02797         int  getOtherConstraintResultEnumerationNumberOfEl(int solIdx,int otherIdx, int enumIdx);
02798 
02807         int getOtherConstraintResultEnumerationEl(int solIdx,int otherIdx, int enumIdx, int j);
02808 
02809 
02810 
02811 /* */   int getNumberOfOtherSolutionResults(int solIdx);
02812 /* */   std::string getOtherSolutionResultName(int solIdx, int otherIdx);
02813 /* */   std::string getOtherSolutionResultCategory(int solIdx, int otherIdx);
02814 /* */   std::string getOtherSolutionResultDescription(int solIdx, int otherIdx);
02815 /* */   int getOtherSolutionResultNumberOfItems(int solIdx, int otherIdx);
02816 /* */   std::string getOtherSolutionResultItem(int solIdx, int otherIdx, int itemIdx);
02817 /* */   int getNumberOfSolverOutputs();
02818 /* */   std::string getSolverOutputName(int otherIdx);
02819 /* */   std::string getSolverOutputCategory(int otherIdx);
02820 /* */   std::string getSolverOutputDescription(int otherIdx);
02821 /* */   int getSolverOutputNumberOfItems(int otherIdx);
02822 /* */   std::string getSolverOutputItem(int otherIdx, int itemIdx);
02823 
02824         // set() methods
02825         //
02826         
02833         bool setGeneralStatus(GeneralStatus *status);
02834                         
02842         bool setGeneralStatusType(std::string type);    
02843         
02850         bool setNumberOfGeneralSubstatuses(int num);
02851 
02858         bool setGeneralStatusDescription(std::string description);
02859 
02867         bool setGeneralSubstatusName(int idx, std::string name);        
02868         
02876         bool setGeneralSubstatusDescription(int idx, std::string description);
02877 
02884         bool setGeneralMessage(std::string message);
02885 
02892         bool setServiceName(std::string serviceName);
02893         
02900         bool setServiceURI(std::string serviceURI);     
02901         
02908         bool setInstanceName(std::string instanceName);
02909                 
02916         bool setJobID(std::string jobID);
02917                 
02924         bool setSolverInvoked(std::string solverInvoked);
02925         
02932         bool setTimeStamp(std::string timeStamp);
02933 
02940         bool setNumberOfOtherGeneralResults(int num);
02941 
02949         bool setOtherGeneralResultName(int idx, std::string name);      
02950         
02958         bool setOtherGeneralResultValue(int idx, std::string value);    
02959         
02967         bool setOtherGeneralResultDescription(int idx, std::string description);        
02968 
02975         bool setSystemInformation(std::string systemInformation);
02976 
02983         bool setAvailableDiskSpaceUnit(std::string unit);
02984 
02991         bool setAvailableDiskSpaceDescription(std::string description);
02992 
02999         bool setAvailableDiskSpaceValue(double value);
03000 
03007         bool setAvailableMemoryUnit(std::string unit);
03008 
03015         bool setAvailableMemoryDescription(std::string description);
03016 
03023         bool setAvailableMemoryValue(double value);
03024 
03031         bool setAvailableCPUSpeedUnit(std::string unit);
03032 
03039         bool setAvailableCPUSpeedDescription(std::string description);
03040 
03047         bool setAvailableCPUSpeedValue(double value);
03048 
03055         bool setAvailableCPUNumberDescription(std::string description);
03056 
03063         bool setAvailableCPUNumberValue(int value);
03064 
03071         bool setNumberOfOtherSystemResults(int num);
03072 
03080         bool setOtherSystemResultName(int idx, std::string name);       
03081         
03089         bool setOtherSystemResultValue(int idx, std::string value);     
03090         
03098         bool setOtherSystemResultDescription(int idx, std::string description); 
03099 
03106         bool setCurrentState(std::string currentState);
03107 
03114         bool setCurrentJobCount(int jobCount);
03115 
03122         bool setTotalJobsSoFar(int number);
03123 
03130         bool setTimeServiceStarted(std::string startTime);
03131 
03138         bool setServiceUtilization(double value);
03139 
03140 
03147         bool setNumberOfOtherServiceResults(int num);
03148 
03156         bool setOtherServiceResultName(int idx, std::string name);      
03157         
03165         bool setOtherServiceResultValue(int idx, std::string value);    
03166         
03174         bool setOtherServiceResultDescription(int idx, std::string description);        
03175 
03176         
03183         bool setJobStatus(std::string status);
03184         
03191         bool setJobSubmitTime(std::string submitTime);
03192         
03199         bool setScheduledStartTime(std::string scheduledStartTime);
03200         
03207         bool setActualStartTime(std::string actualStartTime);
03208         
03215         bool setJobEndTime(std::string endTime);
03216 
03217 
03224         bool setTime(double time);
03225 
03236         bool addTimingInformation(std::string type, std::string category,
03237                                                           std::string unit, std::string description, double value);
03238 
03251         bool setTimingInformation(int idx, std::string type, std::string category, 
03252                                                           std::string unit, std::string description, double value);
03253 
03260         bool setNumberOfTimes(int numberOfTimes);
03261         
03268         bool setTimeNumber(int timeNumber);
03269 
03276         bool setUsedDiskSpaceUnit(std::string unit);
03277 
03284         bool setUsedDiskSpaceDescription(std::string description);
03285 
03292         bool setUsedDiskSpaceValue(double value);
03293 
03300         bool setUsedMemoryUnit(std::string unit);
03301 
03308         bool setUsedMemoryDescription(std::string description);
03309 
03316         bool setUsedMemoryValue(double value);
03317 
03324         bool setUsedCPUSpeedUnit(std::string unit);
03325 
03332         bool setUsedCPUSpeedDescription(std::string description);
03333 
03340         bool setUsedCPUSpeedValue(double value);
03341 
03348         bool setUsedCPUNumberDescription(std::string description);
03349 
03356         bool setUsedCPUNumberValue(int value);
03357 
03364         bool setNumberOfOtherJobResults(int num);
03365 
03373         bool setOtherJobResultName(int idx, std::string name);  
03374         
03382         bool setOtherJobResultValue(int idx, std::string value);        
03383         
03391         bool setOtherJobResultDescription(int idx, std::string description);    
03392 
03393 
03400         bool setVariableNumber(int variableNumber);
03401         
03408         bool setObjectiveNumber(int objectiveNumber);
03409         
03416         bool setConstraintNumber(int constraintNumber);
03417                 
03430         bool setSolutionNumber(int number);
03431         
03432         
03445         bool setSolutionStatus(int solIdx, std::string type, std::string description);
03446                         
03454         bool setSolutionStatusType(int solIdx, std::string type);       
03455         
03463         bool setNumberOfSolutionSubstatuses(int solIdx, int num);
03464 
03472         bool setSolutionStatusDescription(int solIdx, std::string description);
03473 
03482         bool setSolutionSubstatusType(int solIdx, int substatusIdx, std::string type);  
03483         
03492         bool setSolutionSubstatusDescription(int solIdx, int substatusIdx, std::string description);
03493 
03494 
03507         bool setSolutionTargetObjectiveIdx(int solIdx, int objectiveIdx);
03508         
03518         bool setSolutionWeightedObjectives(int solIdx, bool weightedObjectives);
03519 
03531         bool setSolutionMessage(int solIdx, std::string msg);
03532 
03542         bool setNumberOfPrimalVariableValues(int solIdx, int n);
03543         
03554         bool setPrimalVariableValuesSparse(int solIdx, std::vector<IndexValuePair*> x);
03555 
03565         bool setPrimalVariableValuesDense(int solIdx, double *x);
03566 
03576         bool setNumberOfVarValues(int solIdx, int numberOfVar);
03577 
03589         bool setVarValue(int solIdx, int number, int idx, double val);
03590 
03600         bool setNumberOfVarValuesString(int solIdx, int numberOfVar);
03601 
03613         bool setVarValueString(int solIdx, int number, int idx, std::string str);
03614 
03615 
03630         bool setBasisStatus(int solIdx, int object, int status, int *i, int ni);
03631 
03648         bool setNumberOfOtherVariableResults(int solIdx, int numberOfOtherVariableResults);
03649                 
03667         bool setAnOtherVariableResultSparse(int solIdx, int otherIdx, std::string name, std::string value, std::string description, int *idx,  std::string *s, int n);
03668 
03684         bool setAnOtherVariableResultDense(int solIdx, int otherIdx, std::string name, std::string value, std::string description, std::string *s);
03685         
03699         bool setOtherVariableResultNumberOfVar(int solIdx, int otherIdx, int numberOfVar);
03700         
03714         bool setOtherVariableResultNumberOfEnumerations(int solIdx, int otherIdx, int numberOfEnumerations);
03715 
03729         bool setOtherVariableResultName(int solIdx, int otherIdx, std::string name);
03730 
03744         bool setOtherVariableResultValue(int solIdx, int otherIdx, std::string value);
03745 
03759         bool setOtherVariableResultDescription(int solIdx, int otherIdx, std::string description);
03760 
03775         bool setOtherVariableResultVarIdx(int solIdx, int otherIdx, int varIdx, int idx);
03776 
03791         bool setOtherVariableResultVar(int solIdx, int otherIdx, int varIdx, std::string value);
03792 
03812         bool setOtherOptionEnumeration(int solIdx, int otherIdx, int object, int enumIdx, std::string value, std::string description, int *i, int ni);
03813 
03830         bool setNumberOfOtherObjectiveResults(int solIdx, int numberOfOtherObjectiveResults);
03831 
03841         bool setNumberOfObjValues(int solIdx, int numberOfObj);
03842 
03852         bool setNumberOfObjectiveValues(int solIdx, int n);
03853 
03854         
03870         bool setObjectiveValuesSparse(int solIdx, std::vector<IndexValuePair*> x);
03871         
03886         bool setObjectiveValuesDense(int solIdx, double *objectiveValues);
03887 
03899         bool setObjValue(int solIdx, int number, int idx, double val);
03900 
03914         bool setOtherObjectiveResultNumberOfObj(int solIdx, int otherIdx, int numberOfObj);
03915 
03929         bool setOtherObjectiveResultNumberOfEnumerations(int solIdx, int otherIdx, int numberOfObj);
03930 
03944         bool setOtherObjectiveResultName(int solIdx, int otherIdx, std::string name);
03945 
03959         bool setOtherObjectiveResultValue(int solIdx, int otherIdx, std::string value);
03960 
03974         bool setOtherObjectiveResultDescription(int solIdx, int otherIdx, std::string description);
03975 
03990         bool setOtherObjectiveResultObjIdx(int solIdx, int otherIdx, int objIdx, int idx);
03991 
04006         bool setOtherObjectiveResultObj(int solIdx, int otherIdx, int objIdx, std::string value);
04007 
04024         bool setNumberOfOtherConstraintResults(int solIdx, int numberOfOtherConstraintResults);
04025 
04035         bool setNumberOfDualValues(int solIdx, int numberOfCon);
04036 
04037 
04047         bool setNumberOfDualVariableValues(int solIdx, int n);
04048                 
04049 
04060         bool setDualVariableValuesSparse(int solIdx, std::vector<IndexValuePair*> x);
04061 
04062 
04071         bool setDualVariableValuesDense(int solIdx, double *y);
04072         
04082         bool setConstraintValuesDense(int solIdx, double *constraintValues);
04083 
04084 
04085 
04097         bool setDualValue(int solIdx, int number, int idx, double val);
04098 
04112         bool setOtherConstraintResultNumberOfCon(int solIdx, int otherIdx, int numberOfCon);
04113         
04127         bool setOtherConstraintResultNumberOfEnumerations(int solIdx, int otherIdx, int numberOfCon);
04128 
04142         bool setOtherConstraintResultName(int solIdx, int otherIdx, std::string name);
04143 
04157         bool setOtherConstraintResultValue(int solIdx, int otherIdx, std::string value);
04158 
04172         bool setOtherConstraintResultDescription(int solIdx, int otherIdx, std::string description);
04173 
04188         bool setOtherConstraintResultConIdx(int solIdx, int otherIdx, int conIdx, int idx);
04189 
04204         bool setOtherConstraintResultCon(int solIdx, int otherIdx, int conIdx, std::string value);
04205 
04223         bool setNumberOfOtherSolutionResults(int solIdx, int numberOfOtherSolutionResults);
04224 
04234         bool setOtherSolutionResultName(int solIdx, int otherIdx, std::string name);
04235 
04245         bool setOtherSolutionResultCategory(int solIdx, int otherIdx, std::string category);
04246 
04256         bool setOtherSolutionResultDescription(int solIdx, int otherIdx, std::string description);
04257 
04267         bool setOtherSolutionResultNumberOfItems(int solIdx, int otherIdx, int numberOfItems);
04268 
04279         bool setOtherSolutionResultItem(int solIdx, int otherIdx, int itemIdx, std::string item);
04280 
04289         bool setNumberOfSolverOutputs(int numberOfSolverOutputs);
04290 
04298         bool setSolverOutputName(int otherIdx, std::string name);
04299 
04307         bool setSolverOutputCategory(int otherIdx, std::string category);
04308 
04316         bool setSolverOutputDescription(int otherIdx, std::string description);
04317 
04326         bool setSolverOutputNumberOfItems(int otherIdx, int numberOfItems);
04327 
04336         bool setSolverOutputItem(int otherIdx, int itemIdx, std::string item);
04337 
04338 
04339 };
04340 #endif
04341 

Generated on Thu Mar 31 03:13:07 2011 by  doxygen 1.4.7