- Main Page
- Namespaces
- Classes
- Files
- Related Pages

- File List
- File Members

# /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