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

Go to the documentation of this file.
00001 /* $Id: OSResult.h 3172 2010-02-05 04:59:24Z Gassmann $ */
00018 #ifndef OSRESULT_H
00019 #define OSRESULT_H
00020 #include <string>
00021 #include <vector>
00022 #include "OSDataStructures.h"
00023 
00024 //#define DEBUG
00025 
00026 
00031 struct IndexStringPair{
00035         int idx;
00036 
00039         std::string value;
00040                 
00041 };
00042 
00043 
00055 class GeneralSubstatus {
00056 
00057 public:
00058  
00060         std::string name;
00061 
00063         std::string description;
00064 
00069         GeneralSubstatus();
00074         ~GeneralSubstatus();
00075 
00080         bool IsEqual(GeneralSubstatus *that);
00081                 
00082 };//GeneralSubstatus
00083 
00084 
00096 class GeneralStatus {
00097 
00098 public:
00099  
00101         int numberOfSubstatuses;
00102 
00104         std::string type;
00105         
00107         std::string description;
00108         
00110         GeneralSubstatus **substatus;
00111 
00116         GeneralStatus();
00121         ~GeneralStatus();
00122 
00127         bool IsEqual(GeneralStatus *that);
00128                 
00129 };//GeneralStatus
00130 
00131 
00143 class OtherResult {
00144 
00145 public:
00146  
00148         std::string name;
00149 
00151         std::string value;
00152 
00154         std::string description;
00155         
00160         OtherResult();
00165         ~OtherResult();
00166 
00171         bool IsEqual(OtherResult *that);
00172                 
00173 };//OtherResult
00174 
00175 
00187 class OtherResults {
00188 
00189 public:
00190  
00192         int numberOfOtherResults;
00193 
00195         OtherResult** other;
00196 
00201         OtherResults();
00206         ~OtherResults();
00207 
00212         bool IsEqual(OtherResults *that);
00213                 
00214 };//OtherResults
00215 
00227 class GeneralResult{
00228 public:
00229 
00232         GeneralStatus *generalStatus;
00233         
00236         std::string message;
00237         
00241         std::string serviceURI;
00242         
00246         std::string serviceName;
00247         
00250         std::string instanceName;
00251         
00255         std::string jobID;
00256         
00259         std::string solverInvoked;
00260         
00263         std::string timeStamp;
00264                 
00267         OtherResults *otherResults;
00268 
00269 
00274         GeneralResult();
00279         ~GeneralResult();
00280 
00285         bool IsEqual(GeneralResult *that);
00286 };//class GeneralResult
00287 
00288 
00300 class DiskSpace {
00301 
00302 public:
00303  
00305         std::string unit;
00306 
00308         std::string description;
00309 
00311         double value;
00312 
00317         DiskSpace();
00322         ~DiskSpace();
00323 
00328         bool IsEqual(DiskSpace *that);
00329                 
00330 };//DiskSpace
00331 
00332 
00344 class MemorySize {
00345 
00346 public:
00347  
00349         std::string unit;
00350 
00352         std::string description;
00353 
00355         double value;
00356 
00361         MemorySize();
00366         ~MemorySize();
00367 
00372         bool IsEqual(MemorySize *that);
00373                 
00374 };//MemorySize
00375 
00376 
00388 class CPUSpeed {
00389 
00390 public:
00391  
00393         std::string unit;
00394 
00396         std::string description;
00397 
00399         double value;
00400 
00405         CPUSpeed();
00410         ~CPUSpeed();
00411 
00416         bool IsEqual(CPUSpeed *that);
00417                 
00418 };//CPUSpeed
00419 
00420 
00421 
00433 class CPUNumber {
00434 
00435 public:
00436  
00438         std::string description;
00439 
00441         int value;
00442 
00447         CPUNumber();
00452         ~CPUNumber();
00453 
00458         bool IsEqual(CPUNumber *that);
00459                 
00460 };//CPUNumber
00461 
00462 
00474 class SystemResult{
00475 public:
00476                 
00478         std::string systemInformation;
00479 
00482         DiskSpace *availableDiskSpace;
00483 
00486         MemorySize *availableMemory;
00487 
00490         CPUSpeed *availableCPUSpeed;
00491 
00494         CPUNumber *availableCPUNumber;
00495 
00498         OtherResults *otherResults;
00499 
00504         SystemResult();
00509         ~SystemResult();
00510 
00515         bool IsEqual(SystemResult *that);
00516 };//class SystemResult
00517 
00518 
00530 class ServiceResult{
00531 public:
00532         
00534         std::string currentState;
00535         
00537         int currentJobCount;
00538         
00540         int totalJobsSoFar;
00541         
00543         std::string timeServiceStarted;
00544 
00546         double serviceUtilization;
00547 
00550         OtherResults *otherResults;
00551 
00556         ServiceResult();
00561         ~ServiceResult();
00562 
00567         bool IsEqual(ServiceResult *that);
00568 };//class ServiceResult
00569 
00570 
00582 class Time{
00583 public:
00584 
00588         std::string type;
00589 
00593         std::string category;
00594 
00598         std::string unit;
00599 
00603         std::string description;
00604 
00608         double value;
00609 
00614         Time();
00619         ~Time();
00620 
00625         bool IsEqual(Time *that);
00626 };//class Time
00627 
00628 
00640 class TimingInformation{
00641 public:
00642 
00647         int numberOfTimes;
00648 
00653         Time** time;
00654 
00659         TimingInformation();
00664         ~TimingInformation();
00665 
00670         bool IsEqual(TimingInformation *that);
00671 };//class TimingInformation
00672 
00673 
00685 class JobResult{
00686 public:
00687         
00689         std::string status;
00690 
00692         std::string submitTime;
00693 
00695         std::string scheduledStartTime;
00696 
00698         std::string actualStartTime;
00699 
00701         std::string endTime;
00702 
00704         TimingInformation* timingInformation;
00705 
00708         DiskSpace *usedDiskSpace;
00709 
00712         MemorySize *usedMemory;
00713 
00716         CPUSpeed *usedCPUSpeed;
00717 
00720         CPUNumber *usedCPUNumber;
00721 
00724         OtherResults *otherResults;
00725 
00730         JobResult();
00735         ~JobResult();
00736 
00741         bool IsEqual(JobResult *that);
00742 };//class JobResult
00743 
00744 
00745 
00746 
00758 class OptimizationSolutionSubstatus {
00759 public:
00760         
00762         std::string type;
00763         
00765         std::string description;
00766                 
00770         OptimizationSolutionSubstatus();
00775         ~OptimizationSolutionSubstatus();
00776 
00781         bool IsEqual(OptimizationSolutionSubstatus *that);
00782                 
00783 };//OptimizationSolutionSubstatus
00784 
00785 
00797 class OptimizationSolutionStatus {
00798 public:
00799         
00801         int numberOfSubstatuses;
00802 
00804         std::string type;
00805         
00807         std::string description;
00808         
00810         OptimizationSolutionSubstatus** substatus;
00811 
00815         OptimizationSolutionStatus();
00820         ~OptimizationSolutionStatus();
00821 
00826         bool IsEqual(OptimizationSolutionStatus *that);
00827                 
00828 };//OptimizationSolutionStatus
00829 
00830 
00842 class VarValue{
00843 public:
00844 
00846         int idx;
00847         
00848         /* value is the value of the variable indexed by idx
00849          * in the solution
00850          */     
00851         double value;
00852 
00857         VarValue();
00862         ~VarValue();
00863 
00868         bool IsEqual(VarValue *that);
00869 
00870 };// class VarValue
00871 
00872 
00883 class VariableValues{
00884 public:
00885 
00888         int numberOfVar;
00889 
00893         VarValue** var;
00894 
00895         
00900         VariableValues();
00901         
00906         ~VariableValues();
00907 
00912         bool IsEqual(VariableValues *that);
00913 
00914 };// class VariableValues
00915 
00916 
00928 class VarValueString{
00929 public:
00930 
00932         int idx;
00933         
00934         /* value is the value of the variable indexed by idx
00935          * in the solution
00936          */     
00937         std::string value;
00938 
00943         VarValueString();
00944 
00949         ~VarValueString();
00950 
00955         bool IsEqual(VarValueString *that);
00956 
00957 };// class VarValueString
00958 
00959 
00970 class VariableValuesString{
00971 public:
00972 
00975         int numberOfVar;
00976 
00980         VarValueString** var;
00981 
00982         
00987         VariableValuesString();
00988         
00993         ~VariableValuesString();
00994 
00999         bool IsEqual(VariableValuesString *that);
01000 
01001 };// class VariableValuesString
01002 
01003 
01015 class BasStatus{
01016 public:
01017 
01019         int idx;
01020         
01021         /* value is the value of the variable indexed by idx
01022          * in the solution
01023          */     
01024         std::string value;
01025 
01030         BasStatus();
01031 
01036         ~BasStatus();
01037 
01042         bool IsEqual(BasStatus *that);
01043 
01044 };// class BasStatus
01045 
01046 
01057 class BasisStatus{
01058 public:
01059 
01062         int numberOfVar;
01063 
01067         BasStatus** var;
01068 
01069         
01074         BasisStatus();
01075         
01080         ~BasisStatus();
01081 
01086         bool IsEqual(BasisStatus *that);
01087 
01088 };// class BasisStatus
01089 
01100 class OtherVarResult {
01101 public:
01102         
01104         int idx;
01105         
01112         std::string value;
01113         
01118         OtherVarResult();
01123         ~OtherVarResult();
01124 
01129         bool IsEqual(OtherVarResult *that);
01130         
01131 };//OtherVarResult
01132 
01133 
01134 
01146 class OtherVariableResult {
01147 public:
01148 
01152         int numberOfVar;
01153 
01157         std::string value;
01158 
01160         std::string name;
01161         
01163         std::string description;
01164         
01165         /* a pointer to OtherVarResult objects that will
01166          * give for each variable the index and value for 
01167          * this user defined variable result
01168          */
01169         OtherVarResult** var;
01170 
01175         OtherVariableResult();
01176         
01181         ~OtherVariableResult();
01182 
01187         bool IsEqual(OtherVariableResult *that);
01188         
01189 };//OtherVariableResult
01190 
01191 
01203 class VariableSolution{
01204 public:
01205 
01209         int numberOfOtherVariableResults;
01210 
01212         VariableValues *values;
01213         
01215         VariableValuesString *valuesString;
01216         
01218         BasisStatus *basisStatus;
01219 
01223         OtherVariableResult** other;
01224 
01229         VariableSolution();
01230         
01235         ~VariableSolution();
01236 
01241         bool IsEqual(VariableSolution *that);
01242 
01243 };// class VariableSolution
01244 
01245 
01257 class ObjValue {
01258 public: 
01259 
01261         int idx;
01262         
01264         double value;
01265         
01270         ObjValue();
01271 
01276         ~ObjValue();
01277 
01282         bool IsEqual(ObjValue *that);
01283 };//ObjValue
01284 
01295 class ObjectiveValues {
01296 public:
01297 
01300         int numberOfObj;
01301 
01306         ObjValue** obj;
01307         
01312         ObjectiveValues();
01313         
01318         ~ObjectiveValues();
01319 
01324         bool IsEqual(ObjectiveValues *that);
01325         
01326 };//ObjectiveValues
01327 
01328 
01340 class OtherObjResult {
01341 public:
01342         
01344         int idx;
01345         
01346         
01350         std::string value;
01351         
01356         OtherObjResult();
01357 
01362         ~OtherObjResult();
01363 
01368         bool IsEqual(OtherObjResult *that);
01369         
01370 };//OtherObjResult
01371 
01372 
01384 class OtherObjectiveResult {
01385 public:
01386 
01390         int numberOfObj;
01391 
01393         std::string name;
01394         
01398         std::string value;
01399 
01401         std::string description;
01402 
01403         /* a pointer to OtherObjResult objects that will
01404          * give for each objective function the index and 
01405          * value for this user defined objective function result
01406          */     
01407         OtherObjResult** obj;
01408         
01413         OtherObjectiveResult();
01414         
01419         ~OtherObjectiveResult();
01420 
01425         bool IsEqual(OtherObjectiveResult *that);
01426         
01427 };//OtherObjectiveResult
01428 
01429 
01430 
01442 class ObjectiveSolution {
01443 public:
01444 
01448         int numberOfOtherObjectiveResults;
01449         
01451         ObjectiveValues *values;
01452 
01456         OtherObjectiveResult** other; 
01457 
01462         ObjectiveSolution();
01463         
01468         ~ObjectiveSolution();
01469 
01474         bool IsEqual(ObjectiveSolution *that);
01475 
01476 };//ObjectiveSolution
01477 
01478 
01479 
01490 class DualVarValue {
01491 public: 
01492 
01494         int idx;
01495 
01500         //double lbValue;
01501         
01502         
01507         //double ubValue;
01508         
01512         double value;
01513         
01518         DualVarValue();
01519 
01524         ~DualVarValue();
01525 
01530         bool IsEqual(DualVarValue *that);
01531         
01532 };//DualVarValue
01533 
01534 
01535 
01546 class DualVariableValues {
01547 public:
01548 
01551         int numberOfCon;
01552 
01557         DualVarValue** con;
01558         
01563         DualVariableValues();
01564         
01569         ~DualVariableValues();
01570 
01575         bool IsEqual(DualVariableValues *that);
01576         
01577 };//DualVariableValues
01578 
01579 
01591 class OtherConResult {
01592 public:
01593         
01595         int idx;
01596         
01602         std::string value;
01603         
01608         OtherConResult();
01609 
01614         ~OtherConResult();
01615 
01620         bool IsEqual(OtherConResult *that);
01621         
01622 };//OtherConResult
01623 
01624 
01636 class OtherConstraintResult {
01637 public:
01638 
01642         int numberOfCon;
01643 
01645         std::string name;
01646 
01650         std::string value;
01651         
01653         std::string description;
01654         
01655         
01656         /* a vector of OtherConResult objects that will
01657          * give for each constraint the index and 
01658          * value for this user defined objective function result
01659          */     
01660         OtherConResult** con;
01661 
01666         OtherConstraintResult();
01667         
01672         ~OtherConstraintResult();
01673 
01678         bool IsEqual(OtherConstraintResult *that);
01679         
01680 };//OtherConstraintResult
01681 
01682 
01694 class ConstraintSolution {
01695 
01696 public:
01697 
01701         int numberOfOtherConstraintResults;
01702         
01704         DualVariableValues *dualValues;
01705         
01709         OtherConstraintResult** other;
01710         
01715         ConstraintSolution();
01716         
01721         ~ConstraintSolution();
01722 
01727         bool IsEqual(ConstraintSolution *that);
01728         
01729 };//ConstraintSolution
01730 
01731 
01732 
01733 
01745 class OtherSolutionResult {
01746 public:
01747 
01749         std::string name;
01750         
01754         std::string category;
01755 
01757         std::string description;
01758 
01761         int numberOfItems;
01762 
01765         std::string *item;
01766 
01771         OtherSolutionResult();
01772         
01777         ~OtherSolutionResult();
01778 
01783         bool IsEqual(OtherSolutionResult *that);
01784         
01785 };//OtherSolutionResult
01786 
01787 
01788 
01789 
01801 class OtherSolutionResults {
01802 public:
01803 
01805         int numberOfOtherSolutionResults;
01806         
01810         OtherSolutionResult **otherSolutionResult;
01811 
01816         OtherSolutionResults();
01817         
01822         ~OtherSolutionResults();
01823 
01828         bool IsEqual(OtherSolutionResults *that);
01829         
01830 };//OtherSolutionResults
01831 
01832         
01833 
01845 class OptimizationSolution{
01846 public:
01847 
01851         int targetObjectiveIdx;
01852 
01854         bool weightedObjectives;
01855 
01859         OptimizationSolutionStatus *status;
01860         
01862         std::string message;
01863         
01867         VariableSolution *variables;
01868         
01872         ObjectiveSolution *objectives;
01873         
01877         ConstraintSolution *constraints;
01878         
01882         OtherSolutionResults *otherSolutionResults;
01883 
01888         OptimizationSolution();
01889 
01894         ~OptimizationSolution();
01895 
01900         bool IsEqual(OptimizationSolution *that);
01901 
01902 };// class OptimizationSolution
01903 
01904 
01916 class SolverOutput {
01917 public:
01918 
01920         std::string name;
01921         
01925         std::string category;
01926 
01928         std::string description;
01929 
01932         int numberOfItems;
01933 
01936         std::string *item;
01937 
01942         SolverOutput();
01943         
01948         ~SolverOutput();
01949 
01954         bool IsEqual(SolverOutput *that);
01955         
01956 };//SolverOutput
01957 
01958 
01959 
01971 class OtherSolverOutput {
01972 public:
01973 
01976         int numberOfSolverOutputs;
01977         
01980         SolverOutput **solverOutput;
01981 
01986         OtherSolverOutput();
01987         
01992         ~OtherSolverOutput();
01993 
01998         bool IsEqual(OtherSolverOutput *that);
01999         
02000 };//OtherSolverOutput
02001 
02002 
02003 
02015 class OptimizationResult{
02016 public:
02017         
02021         int numberOfSolutions;
02022 
02026         int numberOfVariables;
02027         
02031         int numberOfObjectives;
02032 
02036     int numberOfConstraints;
02037 
02041         OptimizationSolution **solution;
02042 
02046         OtherSolverOutput *otherSolverOutput;
02047         
02052         OptimizationResult();
02053 
02058         ~OptimizationResult();
02059 
02064         bool IsEqual(OptimizationResult *that);
02065 
02066 };// class OptimizationResult
02067 
02068 
02069 
02080 class OSResult{
02081 
02082 public:
02083 
02087         GeneralResult *general;
02088 
02092         SystemResult *system;
02093 
02097         ServiceResult *service;
02098 
02102         JobResult *job;
02103 
02107         OptimizationResult *optimization;
02108 
02113         OSResult(); 
02114 
02119         ~OSResult();
02120 
02121 public: 
02122         
02126         int m_iVariableNumber;
02127         
02131         int m_iObjectiveNumber;
02132         
02136         int m_iConstraintNumber;
02137         
02141         int m_iNumberOfOtherVariableResults;
02142         
02146         double *m_mdPrimalValues;
02147         
02151         double *m_mdDualValues;
02152         
02153         
02154         std::vector<IndexValuePair*>  primalVals;
02155         
02156         std::vector<IndexValuePair*>  dualVals;
02157         
02158 
02159 public:
02164         bool IsEqual(OSResult *that);
02165 
02166         
02167 
02168 
02169 public:
02170 
02176         GeneralStatus* getGeneralStatus();
02177         
02184         std::string getGeneralStatusType();
02185         
02191         std::string getGeneralStatusDescription();
02192         
02198         int getNumberOfGeneralSubstatuses();
02199 
02206         std::string getGeneralSubstatusName(int i);
02207         
02214         std::string getGeneralSubstatusDescription(int i);
02215 
02221         std::string getGeneralMessage();
02222 
02228         std::string getServiceName();
02229         
02235         std::string getServiceURI();
02236         
02242         std::string getInstanceName();
02243         
02249         std::string getJobID(); 
02250         
02256         std::string getSolverInvoked();
02257         
02263         std::string getTimeStamp();
02264 
02270         int getNumberOfOtherGeneralResults();
02271 
02278         std::string getOtherGeneralResultName(int idx);
02279 
02280 /* */   std::string getOtherGeneralResultValue(int idx);
02281 /* */   std::string getOtherGeneralResultDescription(int idx);
02282 /* */   std::string getSystemInformation();
02283 /* */   std::string getAvailableDiskSpaceUnit();
02284 /* */   std::string getAvailableDiskSpaceDescription();
02285 /* */   double getAvailableDiskSpaceValue();
02286 /* */   std::string getAvailableMemoryUnit();
02287 /* */   std::string getAvailableMemoryDescription();
02288 /* */   double getAvailableMemoryValue();
02289 /* */   std::string getAvailableCPUSpeedUnit();
02290 /* */   std::string getAvailableCPUSpeedDescription();
02291 /* */   double getAvailableCPUSpeedValue();
02292 /* */   std::string getAvailableCPUNumberDescription();
02293 /* */   int getAvailableCPUNumberValue();
02294 /* */   int getNumberOfOtherSystemResults();
02295 /* */   std::string getOtherSystemResultName(int idx);
02296 /* */   std::string getOtherSystemResultValue(int idx);
02297 /* */   std::string getOtherSystemResultDescription(int idx);
02298 /* */   std::string getCurrentState();
02299 /* */   int getCurrentJobCount();
02300 /* */   int getTotalJobsSoFar();
02301 /* */   std::string getTimeServiceStarted();
02302 /* */   double getServiceUtilization();
02303 /* */   int getNumberOfOtherServiceResults();
02304 /* */   std::string getOtherServiceResultName(int idx);
02305 /* */   std::string getOtherServiceResultValue(int idx);
02306 /* */   std::string getOtherServiceResultDescription(int idx);
02307 /* */   std::string getJobStatus();
02308 /* */   std::string getJobSubmitTime();
02309 /* */   std::string getScheduledStartTime();
02310 /* */   std::string getActualStartTime();
02311 /* */   std::string getJobEndTime();
02312 
02318         int getTimeNumber();
02319 
02326         double getTimeValue();
02327 
02328 /* */   int getNumberOfTimes();
02329 /* */   std::string getTimingInfoUnit(int idx);
02330 /* */   std::string getTimingInfoType(int idx);
02331 /* */   std::string getTimingInfoCategory(int idx);
02332 /* */   std::string getTimingInfoDescription(int idx);
02333 /* */   double getTimingInfoValue(int idx);
02334 /* */   std::string getUsedDiskSpaceUnit();
02335 /* */   std::string getUsedDiskSpaceDescription();
02336 /* */   double getUsedDiskSpaceValue();
02337 /* */   std::string getUsedMemoryUnit();
02338 /* */   std::string getUsedMemoryDescription();
02339 /* */   double getUsedMemoryValue();
02340 /* */   std::string getUsedCPUSpeedUnit();
02341 /* */   std::string getUsedCPUSpeedDescription();
02342 /* */   double getUsedCPUSpeedValue();
02343 /* */   std::string getUsedCPUNumberDescription();
02344 /* */   int getUsedCPUNumberValue();
02345 /* */   int getNumberOfOtherJobResults();
02346 /* */   std::string getOtherJobResultName(int idx);
02347 /* */   std::string getOtherJobResultValue(int idx);
02348 /* */   std::string getOtherJobResultDescription(int idx);
02349         
02355         int getVariableNumber();
02356         
02362         int getObjectiveNumber();
02363         
02369         int getConstraintNumber();
02370         
02376         int getSolutionNumber();        
02377         
02378 
02387         OptimizationSolutionStatus* getSolutionStatus( int solIdx);
02388 
02398         std::string getSolutionStatusType(int solIdx);
02399 
02406         std::string getSolutionStatusDescription(int solIdx);
02407 
02408         /* */   int getNumberOfSolutionSubstatuses(int solIdx);
02409 /* */   std::string getSolutionSubstatusType(int solIdx, int substatusIdx);
02410 /* */   std::string getSolutionSubstatusDescription(int solIdx, int substatusIdx);
02411 /* */   int getSolutionTargetObjectiveIdx(int solIdx);
02412 
02419         bool getSolutionWeightedObjectives(int solIdx);
02420 
02427         std::string getSolutionMessage(int solIdx);
02428         
02429 /* */   int getNumberOfPrimalVariableValues(int solIdx);
02430 /* */   int getNumberOfVarValues(int solIdx);
02431 /* */   int getVarValueIdx(int solIdx, int varIdx);
02432 /* */   double getVarValue(int solIdx, int varIdx);
02433 
02440         std::vector<IndexValuePair*> getOptimalPrimalVariableValues(int solIdx);
02441 
02442 /* */   int getNumberOfVarValuesString(int solIdx);
02443 /* */   int getVarValueStringIdx(int solIdx, int varIdx);
02444 /* */   std::string getVarValueString(int solIdx, int varIdx);
02445 /* */   int getNumberOfBasisVar(int solIdx);
02446 /* */   int getBasisVarIdx(int solIdx, int varIdx);
02447 /* */   std::string getBasisVar(int solIdx, int varIdx);
02448         
02454         int getNumberOfOtherVariableResults( int solIdx);
02455         
02461         int getAnOtherVariableResultNumberOfVar(int solIdx, int iOther);
02462 
02463 /* */   std::string getOtherVariableResultName(int solIdx, int otherIdx);
02464 /* */   std::string getOtherVariableResultValue(int solIdx, int otherIdx);
02465 /* */   std::string getOtherVariableResultDescription(int solIdx, int otherIdx);
02466 /* */   int getOtherVariableResultNumberOfVar(int solIdx, int otherIdx);
02467 /* */   int getOtherVariableResultVarIdx(int solIdx, int otherIdx, int varIdx);
02468 /* */   std::string getOtherVariableResultVar(int solIdx, int otherIdx, int varIdx);
02469 /* */   int getNumberOfObjValues(int solIdx);
02470 /* */   int getObjValueIdx(int solIdx, int objIdx);
02471 /* */   double getObjValue(int solIdx, int objIdx);
02472 
02480         double getOptimalObjValue(int objIdx, int solIdx);
02481 
02482 /* */   int getNumberOfOtherObjectiveResults(int solIdx);
02483 /* */   std::string getOtherObjectiveResultName(int solIdx, int otherIdx);
02484 /* */   std::string getOtherObjectiveResultValue(int solIdx, int otherIdx);
02485 /* */   std::string getOtherObjectiveResultDescription(int solIdx, int otherIdx);
02486 /* */   int getOtherObjectiveResultNumberOfObj(int solIdx, int otherIdx);
02487 /* */   int getOtherObjectiveResultObjIdx(int solIdx, int otherIdx, int objIdx);
02488 /* */   std::string getOtherObjectiveResultObj(int solIdx, int otherIdx, int objIdx);
02489 /* */   int getNumberOfDualValues(int solIdx);
02490 /* */   int getDualValueIdx(int solIdx, int conIdx);
02491 /* */   double getDualValue(int solIdx, int conIdx);
02492 
02499         std::vector<IndexValuePair*> getOptimalDualVariableValues(int solIdx);
02500 
02501 /* */   int getNumberOfOtherConstraintResults(int solIdx);
02502 /* */   std::string getOtherConstraintResultName(int solIdx, int otherIdx);
02503 /* */   std::string getOtherConstraintResultValue(int solIdx, int otherIdx);
02504 /* */   std::string getOtherConstraintResultDescription(int solIdx, int otherIdx);
02505 /* */   int getOtherConstraintResultNumberOfCon(int solIdx, int otherIdx);
02506 /* */   int getOtherConstraintResultConIdx(int solIdx, int otherIdx, int conIdx);
02507 /* */   std::string getOtherConstraintResultCon(int solIdx, int otherIdx, int conIdx);
02508 /* */   int getNumberOfOtherSolutionResults(int solIdx);
02509 /* */   std::string getOtherSolutionResultName(int solIdx, int otherIdx);
02510 /* */   std::string getOtherSolutionResultCategory(int solIdx, int otherIdx);
02511 /* */   std::string getOtherSolutionResultDescription(int solIdx, int otherIdx);
02512 /* */   int getOtherSolutionResultNumberOfItems(int solIdx, int otherIdx);
02513 /* */   std::string getOtherSolutionResultItem(int solIdx, int otherIdx, int itemIdx);
02514 /* */   int getNumberOfSolverOutputs();
02515 /* */   std::string getSolverOutputName(int otherIdx);
02516 /* */   std::string getSolverOutputCategory(int otherIdx);
02517 /* */   std::string getSolverOutputDescription(int otherIdx);
02518 /* */   int getSolverOutputNumberOfItems(int otherIdx);
02519 /* */   std::string getSolverOutputItem(int otherIdx, int itemIdx);
02520 
02521         // set() methods
02522         //
02523         
02530         bool setGeneralStatus(GeneralStatus *status);
02531                         
02539         bool setGeneralStatusType(std::string type);    
02540         
02547         bool setNumberOfGeneralSubstatuses(int num);
02548 
02555         bool setGeneralStatusDescription(std::string description);
02556 
02564         bool setGeneralSubstatusName(int idx, std::string name);        
02565         
02573         bool setGeneralSubstatusDescription(int idx, std::string description);
02574 
02581         bool setGeneralMessage(std::string message);
02582 
02589         bool setServiceName(std::string serviceName);
02590         
02597         bool setServiceURI(std::string serviceURI);     
02598         
02605         bool setInstanceName(std::string instanceName);
02606                 
02613         bool setJobID(std::string jobID);
02614                 
02621         bool setSolverInvoked(std::string solverInvoked);
02622         
02629         bool setTimeStamp(std::string timeStamp);
02630 
02637         bool setNumberOfOtherGeneralResults(int num);
02638 
02646         bool setOtherGeneralResultName(int idx, std::string name);      
02647         
02655         bool setOtherGeneralResultValue(int idx, std::string value);    
02656         
02664         bool setOtherGeneralResultDescription(int idx, std::string description);        
02665 
02672         bool setSystemInformation(std::string systemInformation);
02673 
02680         bool setAvailableDiskSpaceUnit(std::string unit);
02681 
02688         bool setAvailableDiskSpaceDescription(std::string description);
02689 
02696         bool setAvailableDiskSpaceValue(double value);
02697 
02704         bool setAvailableMemoryUnit(std::string unit);
02705 
02712         bool setAvailableMemoryDescription(std::string description);
02713 
02720         bool setAvailableMemoryValue(double value);
02721 
02728         bool setAvailableCPUSpeedUnit(std::string unit);
02729 
02736         bool setAvailableCPUSpeedDescription(std::string description);
02737 
02744         bool setAvailableCPUSpeedValue(double value);
02745 
02752         bool setAvailableCPUNumberDescription(std::string description);
02753 
02760         bool setAvailableCPUNumberValue(int value);
02761 
02768         bool setNumberOfOtherSystemResults(int num);
02769 
02777         bool setOtherSystemResultName(int idx, std::string name);       
02778         
02786         bool setOtherSystemResultValue(int idx, std::string value);     
02787         
02795         bool setOtherSystemResultDescription(int idx, std::string description); 
02796 
02803         bool setCurrentState(std::string currentState);
02804 
02811         bool setCurrentJobCount(int jobCount);
02812 
02819         bool setTotalJobsSoFar(int number);
02820 
02827         bool setTimeServiceStarted(std::string startTime);
02828 
02835         bool setServiceUtilization(double value);
02836 
02837 
02844         bool setNumberOfOtherServiceResults(int num);
02845 
02853         bool setOtherServiceResultName(int idx, std::string name);      
02854         
02862         bool setOtherServiceResultValue(int idx, std::string value);    
02863         
02871         bool setOtherServiceResultDescription(int idx, std::string description);        
02872 
02873         
02880         bool setJobStatus(std::string status);
02881         
02888         bool setJobSubmitTime(std::string submitTime);
02889         
02896         bool setScheduledStartTime(std::string scheduledStartTime);
02897         
02904         bool setActualStartTime(std::string actualStartTime);
02905         
02912         bool setJobEndTime(std::string endTime);
02913 
02914 
02921         bool setTime(double time);
02922 
02933         bool addTimingInformation(std::string type, std::string category,
02934                                                           std::string unit, std::string description, double value);
02935 
02948         bool setTimingInformation(int idx, std::string type, std::string category, 
02949                                                           std::string unit, std::string description, double value);
02950 
02957         bool setNumberOfTimes(int numberOfTimes);
02958         
02965         bool setTimeNumber(int timeNumber);
02966 
02973         bool setUsedDiskSpaceUnit(std::string unit);
02974 
02981         bool setUsedDiskSpaceDescription(std::string description);
02982 
02989         bool setUsedDiskSpaceValue(double value);
02990 
02997         bool setUsedMemoryUnit(std::string unit);
02998 
03005         bool setUsedMemoryDescription(std::string description);
03006 
03013         bool setUsedMemoryValue(double value);
03014 
03021         bool setUsedCPUSpeedUnit(std::string unit);
03022 
03029         bool setUsedCPUSpeedDescription(std::string description);
03030 
03037         bool setUsedCPUSpeedValue(double value);
03038 
03045         bool setUsedCPUNumberDescription(std::string description);
03046 
03053         bool setUsedCPUNumberValue(int value);
03054 
03061         bool setNumberOfOtherJobResults(int num);
03062 
03070         bool setOtherJobResultName(int idx, std::string name);  
03071         
03079         bool setOtherJobResultValue(int idx, std::string value);        
03080         
03088         bool setOtherJobResultDescription(int idx, std::string description);    
03089 
03090 
03097         bool setVariableNumber(int variableNumber);
03098         
03105         bool setObjectiveNumber(int objectiveNumber);
03106         
03113         bool setConstraintNumber(int constraintNumber);
03114                 
03127         bool setSolutionNumber(int number);
03128         
03129         
03142         bool setSolutionStatus(int solIdx, std::string type, std::string description);
03143                         
03151         bool setSolutionStatusType(int solIdx, std::string type);       
03152         
03160         bool setNumberOfSolutionSubstatuses(int solIdx, int num);
03161 
03169         bool setSolutionStatusDescription(int solIdx, std::string description);
03170 
03179         bool setSolutionSubstatusType(int solIdx, int substatusIdx, std::string type);  
03180         
03189         bool setSolutionSubstatusDescription(int solIdx, int substatusIdx, std::string description);
03190 
03191 
03204         bool setSolutionTargetObjectiveIdx(int solIdx, int objectiveIdx);
03205         
03215         bool setSolutionWeightedObjectives(int solIdx, bool weightedObjectives);
03216 
03228         bool setSolutionMessage(int solIdx, std::string msg);
03229 
03239         bool setNumberOfPrimalVariableValues(int solIdx, int n);
03240         
03251         bool setPrimalVariableValuesSparse(int solIdx, std::vector<IndexValuePair*> x);
03252 
03262         bool setPrimalVariableValuesDense(int solIdx, double *x);
03263 
03273         bool setNumberOfVarValues(int solIdx, int numberOfVar);
03274 
03286         bool setVarValue(int solIdx, int number, int idx, double val);
03287 
03297         bool setNumberOfVarValuesString(int solIdx, int numberOfVar);
03298 
03310         bool setVarValueString(int solIdx, int number, int idx, std::string str);
03311 
03321         bool setNumberOfBasisVar(int solIdx, int numberOfVar);
03322 
03334         bool setBasisVar(int solIdx, int number, int idx, std::string str);
03335 
03352         bool setNumberOfOtherVariableResults(int solIdx, int numberOfOtherVariableResults);
03353                 
03371         bool setAnOtherVariableResultSparse(int solIdx, int otherIdx, std::string name, std::string value, std::string description, int *idx,  std::string *s, int n);
03372 
03388         bool setAnOtherVariableResultDense(int solIdx, int otherIdx, std::string name, std::string value, std::string description, std::string *s);
03389         
03403         bool setOtherVariableResultNumberOfVar(int solIdx, int otherIdx, int numberOfVar);
03404 
03418         bool setOtherVariableResultName(int solIdx, int otherIdx, std::string name);
03419 
03433         bool setOtherVariableResultValue(int solIdx, int otherIdx, std::string value);
03434 
03448         bool setOtherVariableResultDescription(int solIdx, int otherIdx, std::string description);
03449 
03464         bool setOtherVariableResultVarIdx(int solIdx, int otherIdx, int varIdx, int idx);
03465 
03480         bool setOtherVariableResultVar(int solIdx, int otherIdx, int varIdx, std::string value);
03481 
03498         bool setNumberOfOtherObjectiveResults(int solIdx, int numberOfOtherObjectiveResults);
03499 
03509         bool setNumberOfObjValues(int solIdx, int numberOfObj);
03510 
03520         bool setNumberOfObjectiveValues(int solIdx, int n);
03521 
03522         
03538         bool setObjectiveValuesSparse(int solIdx, std::vector<IndexValuePair*> x);
03539         
03554         bool setObjectiveValuesDense(int solIdx, double *objectiveValues);
03555 
03567         bool setObjValue(int solIdx, int number, int idx, double val);
03568 
03582         bool setOtherObjectiveResultNumberOfObj(int solIdx, int otherIdx, int numberOfObj);
03583 
03597         bool setOtherObjectiveResultName(int solIdx, int otherIdx, std::string name);
03598 
03612         bool setOtherObjectiveResultValue(int solIdx, int otherIdx, std::string value);
03613 
03627         bool setOtherObjectiveResultDescription(int solIdx, int otherIdx, std::string description);
03628 
03643         bool setOtherObjectiveResultObjIdx(int solIdx, int otherIdx, int objIdx, int idx);
03644 
03659         bool setOtherObjectiveResultObj(int solIdx, int otherIdx, int objIdx, std::string value);
03660 
03677         bool setNumberOfOtherConstraintResults(int solIdx, int numberOfOtherConstraintResults);
03678 
03688         bool setNumberOfDualValues(int solIdx, int numberOfCon);
03689 
03690 
03700         bool setNumberOfDualVariableValues(int solIdx, int n);
03701                 
03702 
03713         bool setDualVariableValuesSparse(int solIdx, std::vector<IndexValuePair*> x);
03714 
03715 
03724         bool setDualVariableValuesDense(int solIdx, double *y);
03725         
03735         bool setConstraintValuesDense(int solIdx, double *constraintValues);
03736 
03737 
03738 
03750         bool setDualValue(int solIdx, int number, int idx, double val);
03751 
03765         bool setOtherConstraintResultNumberOfCon(int solIdx, int otherIdx, int numberOfCon);
03766 
03780         bool setOtherConstraintResultName(int solIdx, int otherIdx, std::string name);
03781 
03795         bool setOtherConstraintResultValue(int solIdx, int otherIdx, std::string value);
03796 
03810         bool setOtherConstraintResultDescription(int solIdx, int otherIdx, std::string description);
03811 
03826         bool setOtherConstraintResultConIdx(int solIdx, int otherIdx, int conIdx, int idx);
03827 
03842         bool setOtherConstraintResultCon(int solIdx, int otherIdx, int conIdx, std::string value);
03843 
03861         bool setNumberOfOtherSolutionResults(int solIdx, int numberOfOtherSolutionResults);
03862 
03872         bool setOtherSolutionResultName(int solIdx, int otherIdx, std::string name);
03873 
03883         bool setOtherSolutionResultCategory(int solIdx, int otherIdx, std::string category);
03884 
03894         bool setOtherSolutionResultDescription(int solIdx, int otherIdx, std::string description);
03895 
03905         bool setOtherSolutionResultNumberOfItems(int solIdx, int otherIdx, int numberOfItems);
03906 
03917         bool setOtherSolutionResultItem(int solIdx, int otherIdx, int itemIdx, std::string item);
03918 
03927         bool setNumberOfSolverOutputs(int numberOfSolverOutputs);
03928 
03936         bool setSolverOutputName(int otherIdx, std::string name);
03937 
03945         bool setSolverOutputCategory(int otherIdx, std::string category);
03946 
03954         bool setSolverOutputDescription(int otherIdx, std::string description);
03955 
03964         bool setSolverOutputNumberOfItems(int otherIdx, int numberOfItems);
03965 
03974         bool setSolverOutputItem(int otherIdx, int itemIdx, std::string item);
03975 
03976 
03977 };
03978 #endif

Generated on Thu Aug 5 03:02:59 2010 by  doxygen 1.4.7