00001
00016 #ifndef OSRESULT_H
00017 #define OSRESULT_H
00018 #include <string>
00019 #include <vector>
00020 #include "OSGeneral.h"
00021
00022
00023
00024
00029 struct IndexStringPair
00030 {
00034 int idx;
00035
00038 std::string value;
00039
00040 };
00041
00042
00054 class GeneralSubstatus
00055 {
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
00089 bool setRandom(double density, bool conformant);
00090
00091 };
00092
00093
00105 class GeneralStatus
00106 {
00107
00108 public:
00109
00111 int numberOfSubstatuses;
00112
00114 std::string type;
00115
00117 std::string description;
00118
00120 GeneralSubstatus **substatus;
00121
00126 GeneralStatus();
00131 ~GeneralStatus();
00132
00137 bool IsEqual(GeneralStatus *that);
00138
00146 bool setRandom(double density, bool conformant);
00147
00148 };
00149
00150
00162 class OtherResult
00163 {
00164
00165 public:
00166
00168 std::string name;
00169
00171 std::string value;
00172
00174 std::string description;
00175
00180 OtherResult();
00185 ~OtherResult();
00186
00191 bool IsEqual(OtherResult *that);
00192
00200 bool setRandom(double density, bool conformant);
00201
00202 };
00203
00204
00216 class OtherResults
00217 {
00218
00219 public:
00220
00222 int numberOfOtherResults;
00223
00225 OtherResult** other;
00226
00231 OtherResults();
00236 ~OtherResults();
00237
00242 bool IsEqual(OtherResults *that);
00243
00251 bool setRandom(double density, bool conformant);
00252
00253 };
00254
00266 class GeneralResult
00267 {
00268 public:
00269
00272 GeneralStatus *generalStatus;
00273
00276 std::string message;
00277
00281 std::string serviceURI;
00282
00286 std::string serviceName;
00287
00290 std::string instanceName;
00291
00295 std::string jobID;
00296
00299 std::string solverInvoked;
00300
00303 std::string timeStamp;
00304
00307 OtherResults *otherResults;
00308
00309
00314 GeneralResult();
00319 ~GeneralResult();
00320
00325 bool IsEqual(GeneralResult *that);
00326
00334 bool setRandom(double density, bool conformant);
00335 };
00336
00337
00349 class SystemResult
00350 {
00351 public:
00352
00354 std::string systemInformation;
00355
00358 StorageCapacity *availableDiskSpace;
00359
00362 StorageCapacity *availableMemory;
00363
00366 CPUSpeed *availableCPUSpeed;
00367
00370 CPUNumber *availableCPUNumber;
00371
00374 OtherResults *otherResults;
00375
00380 SystemResult();
00385 ~SystemResult();
00386
00391 bool IsEqual(SystemResult *that);
00392
00400 bool setRandom(double density, bool conformant);
00401 };
00402
00403
00415 class ServiceResult
00416 {
00417 public:
00418
00420 std::string currentState;
00421
00423 int currentJobCount;
00424
00426 int totalJobsSoFar;
00427
00429 std::string timeServiceStarted;
00430
00432 double serviceUtilization;
00433
00436 OtherResults *otherResults;
00437
00442 ServiceResult();
00447 ~ServiceResult();
00448
00453 bool IsEqual(ServiceResult *that);
00454
00462 bool setRandom(double density, bool conformant);
00463 };
00464
00465 #if 0
00466
00478 class Time
00479 {
00480 public:
00481
00485 std::string type;
00486
00490 std::string category;
00491
00495 std::string unit;
00496
00500 std::string description;
00501
00505 double value;
00506
00511 Time();
00516 ~Time();
00517
00522 bool IsEqual(Time *that);
00523
00531 bool setRandom(double density, bool conformant);
00532 };
00533 #endif
00534
00546 class TimeMeasurement : public TimeSpan
00547 {
00548 public:
00549
00553 std::string type;
00554
00558 std::string category;
00559
00563 std::string description;
00564
00569 TimeMeasurement();
00574 ~TimeMeasurement();
00575
00580 bool IsEqual(TimeMeasurement *that);
00581
00589 bool setRandom(double density, bool conformant);
00590 };
00591
00592
00604 class TimingInformation
00605 {
00606 public:
00607
00612 int numberOfTimes;
00613
00618 TimeMeasurement** time;
00619
00624 TimingInformation();
00629 ~TimingInformation();
00630
00635 bool IsEqual(TimingInformation *that);
00636
00644 bool setRandom(double density, bool conformant);
00645 };
00646
00647
00659 class JobResult
00660 {
00661 public:
00662
00664 std::string status;
00665
00667 std::string submitTime;
00668
00670 std::string scheduledStartTime;
00671
00673 std::string actualStartTime;
00674
00676 std::string endTime;
00677
00679 TimingInformation* timingInformation;
00680
00683 StorageCapacity *usedDiskSpace;
00684
00687 StorageCapacity *usedMemory;
00688
00691 CPUSpeed *usedCPUSpeed;
00692
00695 CPUNumber *usedCPUNumber;
00696
00699 OtherResults *otherResults;
00700
00705 JobResult();
00710 ~JobResult();
00711
00716 bool IsEqual(JobResult *that);
00717
00725 bool setRandom(double density, bool conformant);
00726 };
00727
00728
00729
00730
00742 class OptimizationSolutionSubstatus
00743 {
00744 public:
00745
00747 std::string type;
00748
00750 std::string description;
00751
00755 OptimizationSolutionSubstatus();
00760 ~OptimizationSolutionSubstatus();
00761
00766 bool IsEqual(OptimizationSolutionSubstatus *that);
00767
00775 bool setRandom(double density, bool conformant);
00776
00777 };
00778
00779
00791 class OptimizationSolutionStatus
00792 {
00793 public:
00794
00796 int numberOfSubstatuses;
00797
00799 std::string type;
00800
00802 std::string description;
00803
00805 OptimizationSolutionSubstatus** substatus;
00806
00810 OptimizationSolutionStatus();
00815 ~OptimizationSolutionStatus();
00816
00821 bool IsEqual(OptimizationSolutionStatus *that);
00822
00830 bool setRandom(double density, bool conformant);
00831
00832 };
00833
00834
00846 class VarValue
00847 {
00848 public:
00849
00851 int idx;
00852
00854 std::string name;
00855
00856
00857
00858
00859 double value;
00860
00865 VarValue();
00870 ~VarValue();
00871
00876 bool IsEqual(VarValue *that);
00877
00885 bool setRandom(double density, bool conformant);
00886
00887 };
00888
00889
00900 class VariableValues
00901 {
00902 public:
00903
00906 int numberOfVar;
00907
00911 VarValue** var;
00912
00913
00918 VariableValues();
00919
00924 ~VariableValues();
00925
00930 bool IsEqual(VariableValues *that);
00931
00939 bool setRandom(double density, bool conformant);
00940
00941 };
00942
00943
00955 class VarValueString
00956 {
00957 public:
00958
00960 int idx;
00961
00963 std::string name;
00964
00965
00966
00967
00968 std::string value;
00969
00974 VarValueString();
00975
00980 ~VarValueString();
00981
00986 bool IsEqual(VarValueString *that);
00987
00995 bool setRandom(double density, bool conformant);
00996
00997 };
00998
00999
01010 class VariableValuesString
01011 {
01012 public:
01013
01016 int numberOfVar;
01017
01021 VarValueString** var;
01022
01023
01028 VariableValuesString();
01029
01034 ~VariableValuesString();
01035
01040 bool IsEqual(VariableValuesString *that);
01041
01049 bool setRandom(double density, bool conformant);
01050
01051 };
01052
01053
01064 class OtherVarResult
01065 {
01066 public:
01067
01069 int idx;
01070
01072 std::string name;
01073
01080 std::string value;
01081
01086 OtherVarResult();
01091 ~OtherVarResult();
01092
01097 bool IsEqual(OtherVarResult *that);
01098
01106 bool setRandom(double density, bool conformant);
01107
01108 };
01109
01110
01111
01123 class OtherVariableResult
01124 {
01125 public:
01126
01130 int numberOfVar;
01131
01135 int numberOfEnumerations;
01136
01138 std::string name;
01139
01143 std::string value;
01144
01146 std::string description;
01147
01148
01149
01150
01151
01152 OtherVarResult** var;
01153
01154
01155
01156
01157
01158 OtherOptionEnumeration** enumeration;
01159
01164 OtherVariableResult();
01165
01170 ~OtherVariableResult();
01171
01176 bool IsEqual(OtherVariableResult *that);
01177
01185 bool setRandom(double density, bool conformant);
01186
01187 };
01188
01189
01201 class VariableSolution
01202 {
01203 public:
01204
01208 int numberOfOtherVariableResults;
01209
01211 VariableValues *values;
01212
01214 VariableValuesString *valuesString;
01215
01217 BasisStatus *basisStatus;
01218
01222 OtherVariableResult** other;
01223
01228 VariableSolution();
01229
01234 ~VariableSolution();
01235
01240 bool IsEqual(VariableSolution *that);
01241
01249 bool setRandom(double density, bool conformant);
01250
01251 };
01252
01253
01265 class ObjValue
01266 {
01267 public:
01268
01270 int idx;
01271
01273 std::string name;
01274
01276 double value;
01277
01282 ObjValue();
01283
01288 ~ObjValue();
01289
01294 bool IsEqual(ObjValue *that);
01295
01303 bool setRandom(double density, bool conformant);
01304 };
01305
01316 class ObjectiveValues
01317 {
01318 public:
01319
01322 int numberOfObj;
01323
01328 ObjValue** obj;
01329
01334 ObjectiveValues();
01335
01340 ~ObjectiveValues();
01341
01346 bool IsEqual(ObjectiveValues *that);
01347
01355 bool setRandom(double density, bool conformant);
01356
01357 };
01358
01359
01371 class OtherObjResult
01372 {
01373 public:
01374
01376 int idx;
01377
01379 std::string name;
01380
01384 std::string value;
01385
01390 OtherObjResult();
01391
01396 ~OtherObjResult();
01397
01402 bool IsEqual(OtherObjResult *that);
01403
01411 bool setRandom(double density, bool conformant);
01412
01413 };
01414
01415
01427 class OtherObjectiveResult
01428 {
01429 public:
01430
01434 int numberOfObj;
01435
01439 int numberOfEnumerations;
01440
01442 std::string name;
01443
01447 std::string value;
01448
01450 std::string description;
01451
01452
01453
01454
01455
01456 OtherObjResult** obj;
01457
01458
01459
01460
01461
01462 OtherOptionEnumeration** enumeration;
01463
01468 OtherObjectiveResult();
01469
01474 ~OtherObjectiveResult();
01475
01480 bool IsEqual(OtherObjectiveResult *that);
01481
01489 bool setRandom(double density, bool conformant);
01490
01491 };
01492
01493
01494
01506 class ObjectiveSolution
01507 {
01508 public:
01509
01513 int numberOfOtherObjectiveResults;
01514
01516 ObjectiveValues *values;
01517
01519 BasisStatus *basisStatus;
01520
01524 OtherObjectiveResult** other;
01525
01530 ObjectiveSolution();
01531
01536 ~ObjectiveSolution();
01537
01542 bool IsEqual(ObjectiveSolution *that);
01543
01551 bool setRandom(double density, bool conformant);
01552
01553 };
01554
01555
01556
01567 class DualVarValue
01568 {
01569 public:
01570
01572 int idx;
01573
01575 std::string name;
01576
01580 double value;
01581
01586 DualVarValue();
01587
01592 ~DualVarValue();
01593
01598 bool IsEqual(DualVarValue *that);
01599
01607 bool setRandom(double density, bool conformant);
01608
01609 };
01610
01611
01612
01623 class DualVariableValues
01624 {
01625 public:
01626
01629 int numberOfCon;
01630
01635 DualVarValue** con;
01636
01641 DualVariableValues();
01642
01647 ~DualVariableValues();
01648
01653 bool IsEqual(DualVariableValues *that);
01654
01662 bool setRandom(double density, bool conformant);
01663
01664 };
01665
01666
01678 class OtherConResult
01679 {
01680 public:
01681
01683 int idx;
01684
01686 std::string name;
01687
01693 std::string value;
01694
01699 OtherConResult();
01700
01705 ~OtherConResult();
01706
01711 bool IsEqual(OtherConResult *that);
01712
01720 bool setRandom(double density, bool conformant);
01721
01722 };
01723
01724
01736 class OtherConstraintResult
01737 {
01738 public:
01739
01743 int numberOfCon;
01744
01748 int numberOfEnumerations;
01749
01751 std::string name;
01752
01756 std::string value;
01757
01759 std::string description;
01760
01761
01762
01763
01764
01765
01766 OtherConResult** con;
01767
01768
01769
01770
01771
01772 OtherOptionEnumeration** enumeration;
01773
01778 OtherConstraintResult();
01779
01784 ~OtherConstraintResult();
01785
01790 bool IsEqual(OtherConstraintResult *that);
01791
01799 bool setRandom(double density, bool conformant);
01800
01801 };
01802
01803
01815 class ConstraintSolution
01816 {
01817
01818 public:
01819
01823 int numberOfOtherConstraintResults;
01824
01826 DualVariableValues *dualValues;
01827
01829 BasisStatus *basisStatus;
01830
01834 OtherConstraintResult** other;
01835
01840 ConstraintSolution();
01841
01846 ~ConstraintSolution();
01847
01852 bool IsEqual(ConstraintSolution *that);
01853
01861 bool setRandom(double density, bool conformant);
01862
01863 };
01864
01865
01866
01867
01879 class OtherSolutionResult
01880 {
01881 public:
01882
01884 std::string name;
01885
01889 std::string category;
01890
01892 std::string description;
01893
01896 int numberOfItems;
01897
01900 std::string *item;
01901
01906 OtherSolutionResult();
01907
01912 ~OtherSolutionResult();
01913
01918 bool IsEqual(OtherSolutionResult *that);
01919
01927 bool setRandom(double density, bool conformant);
01928
01929 };
01930
01931
01932
01933
01945 class OtherSolutionResults
01946 {
01947 public:
01948
01950 int numberOfOtherSolutionResults;
01951
01955 OtherSolutionResult **otherSolutionResult;
01956
01961 OtherSolutionResults();
01962
01967 ~OtherSolutionResults();
01968
01973 bool IsEqual(OtherSolutionResults *that);
01974
01982 bool setRandom(double density, bool conformant);
01983
01984 };
01985
01986
01987
01999 class OptimizationSolution
02000 {
02001 public:
02002
02006 int targetObjectiveIdx;
02007
02011 std::string targetObjectiveName;
02012
02014 bool weightedObjectives;
02015
02019 OptimizationSolutionStatus *status;
02020
02022 std::string message;
02023
02027 VariableSolution *variables;
02028
02032 ObjectiveSolution *objectives;
02033
02037 ConstraintSolution *constraints;
02038
02042 OtherSolutionResults *otherSolutionResults;
02043
02048 OptimizationSolution();
02049
02054 ~OptimizationSolution();
02055
02060 bool IsEqual(OptimizationSolution *that);
02061
02069 bool setRandom(double density, bool conformant);
02070
02071 };
02072
02073
02085 class SolverOutput
02086 {
02087 public:
02088
02090 std::string name;
02091
02095 std::string category;
02096
02098 std::string description;
02099
02102 int numberOfItems;
02103
02106 std::string *item;
02107
02112 SolverOutput();
02113
02118 ~SolverOutput();
02119
02124 bool IsEqual(SolverOutput *that);
02125
02133 bool setRandom(double density, bool conformant);
02134
02135 };
02136
02137
02138
02150 class OtherSolverOutput
02151 {
02152 public:
02153
02156 int numberOfSolverOutputs;
02157
02160 SolverOutput **solverOutput;
02161
02166 OtherSolverOutput();
02167
02172 ~OtherSolverOutput();
02173
02178 bool IsEqual(OtherSolverOutput *that);
02179
02187 bool setRandom(double density, bool conformant);
02188
02189 };
02190
02191
02192
02204 class OptimizationResult
02205 {
02206 public:
02207
02211 int numberOfSolutions;
02212
02216 int numberOfVariables;
02217
02221 int numberOfObjectives;
02222
02226 int numberOfConstraints;
02227
02231 OptimizationSolution **solution;
02232
02236 OtherSolverOutput *otherSolverOutput;
02237
02242 OptimizationResult();
02243
02248 ~OptimizationResult();
02249
02254 bool IsEqual(OptimizationResult *that);
02255
02263 bool setRandom(double density, bool conformant);
02264
02265 };
02266
02267
02268
02279 class OSResult
02280 {
02281
02282 public:
02283
02287 GeneralFileHeader *resultHeader;
02288
02292 GeneralResult *general;
02293
02297 SystemResult *system;
02298
02302 ServiceResult *service;
02303
02307 JobResult *job;
02308
02312 OptimizationResult *optimization;
02313
02318 OSResult();
02319
02324 ~OSResult();
02325
02326
02336 bool setResultHeader(std::string name, std::string source,
02337 std::string fileCreator, std::string description, std::string licence);
02338
02339 public:
02340
02344 int m_iVariableNumber;
02345
02349 int m_iObjectiveNumber;
02350
02354 int m_iConstraintNumber;
02355
02359 int m_iNumberOfOtherVariableResults;
02360
02364 double *m_mdPrimalValues;
02365
02369 double *m_mdDualValues;
02370
02371
02372 std::vector<IndexValuePair*> primalVals;
02373
02374 std::vector<IndexValuePair*> dualVals;
02375
02376
02377 public:
02382 bool IsEqual(OSResult *that);
02383
02384
02392 bool setRandom(double density, bool conformant);
02393
02394
02395
02396 public:
02397
02403 GeneralStatus* getGeneralStatus();
02404
02411 std::string getGeneralStatusType();
02412
02418 std::string getGeneralStatusDescription();
02419
02425 int getNumberOfGeneralSubstatuses();
02426
02433 std::string getGeneralSubstatusName(int i);
02434
02441 std::string getGeneralSubstatusDescription(int i);
02442
02448 std::string getGeneralMessage();
02449
02455 std::string getServiceName();
02456
02462 std::string getServiceURI();
02463
02469 std::string getInstanceName();
02470
02476 std::string getJobID();
02477
02483 std::string getSolverInvoked();
02484
02490 std::string getTimeStamp();
02491
02497 int getNumberOfOtherGeneralResults();
02498
02505 std::string getOtherGeneralResultName(int idx);
02506
02507
02508 std::string getOtherGeneralResultValue(int idx);
02509
02510 std::string getOtherGeneralResultDescription(int idx);
02511
02512 std::string getSystemInformation();
02513
02514 std::string getAvailableDiskSpaceUnit();
02515
02516 std::string getAvailableDiskSpaceDescription();
02517
02518 double getAvailableDiskSpaceValue();
02519
02520 std::string getAvailableMemoryUnit();
02521
02522 std::string getAvailableMemoryDescription();
02523
02524 double getAvailableMemoryValue();
02525
02526 std::string getAvailableCPUSpeedUnit();
02527
02528 std::string getAvailableCPUSpeedDescription();
02529
02530 double getAvailableCPUSpeedValue();
02531
02532 std::string getAvailableCPUNumberDescription();
02533
02534 int getAvailableCPUNumberValue();
02535
02536 int getNumberOfOtherSystemResults();
02537
02538 std::string getOtherSystemResultName(int idx);
02539
02540 std::string getOtherSystemResultValue(int idx);
02541
02542 std::string getOtherSystemResultDescription(int idx);
02543
02544 std::string getCurrentState();
02545
02546 int getCurrentJobCount();
02547
02548 int getTotalJobsSoFar();
02549
02550 std::string getTimeServiceStarted();
02551
02552 double getServiceUtilization();
02553
02554 int getNumberOfOtherServiceResults();
02555
02556 std::string getOtherServiceResultName(int idx);
02557
02558 std::string getOtherServiceResultValue(int idx);
02559
02560 std::string getOtherServiceResultDescription(int idx);
02561
02562 std::string getJobStatus();
02563
02564 std::string getJobSubmitTime();
02565
02566 std::string getScheduledStartTime();
02567
02568 std::string getActualStartTime();
02569
02570 std::string getJobEndTime();
02571
02577 int getTimeNumber();
02578
02585 double getTimeValue();
02586
02587
02588 int getNumberOfTimes();
02589
02590 std::string getTimingInfoUnit(int idx);
02591
02592 std::string getTimingInfoType(int idx);
02593
02594 std::string getTimingInfoCategory(int idx);
02595
02596 std::string getTimingInfoDescription(int idx);
02597
02598 double getTimingInfoValue(int idx);
02599
02600 std::string getUsedDiskSpaceUnit();
02601
02602 std::string getUsedDiskSpaceDescription();
02603
02604 double getUsedDiskSpaceValue();
02605
02606 std::string getUsedMemoryUnit();
02607
02608 std::string getUsedMemoryDescription();
02609
02610 double getUsedMemoryValue();
02611
02612 std::string getUsedCPUSpeedUnit();
02613
02614 std::string getUsedCPUSpeedDescription();
02615
02616 double getUsedCPUSpeedValue();
02617
02618 std::string getUsedCPUNumberDescription();
02619
02620 int getUsedCPUNumberValue();
02621
02622 int getNumberOfOtherJobResults();
02623
02624 std::string getOtherJobResultName(int idx);
02625
02626 std::string getOtherJobResultValue(int idx);
02627
02628 std::string getOtherJobResultDescription(int idx);
02629
02635 int getVariableNumber();
02636
02642 int getObjectiveNumber();
02643
02649 int getConstraintNumber();
02650
02656 int getSolutionNumber();
02657
02658
02667 OptimizationSolutionStatus* getSolutionStatus( int solIdx);
02668
02678 std::string getSolutionStatusType(int solIdx);
02679
02686 std::string getSolutionStatusDescription(int solIdx);
02687
02688
02689 int getNumberOfSolutionSubstatuses(int solIdx);
02690
02691 std::string getSolutionSubstatusType(int solIdx, int substatusIdx);
02692
02693 std::string getSolutionSubstatusDescription(int solIdx, int substatusIdx);
02694
02695 int getSolutionTargetObjectiveIdx(int solIdx);
02696
02697 std::string getSolutionTargetObjectiveName(int solIdx);
02698
02705 bool getSolutionWeightedObjectives(int solIdx);
02706
02713 std::string getSolutionMessage(int solIdx);
02714
02715
02716 int getNumberOfPrimalVariableValues(int solIdx);
02717
02718 int getNumberOfVarValues(int solIdx);
02719
02720 int getVarValueIdx(int solIdx, int varIdx);
02721
02722 std::string getVarValueName(int solIdx, int varIdx);
02723
02724 double getVarValue(int solIdx, int varIdx);
02725
02732 std::vector<IndexValuePair*> getOptimalPrimalVariableValues(int solIdx);
02733
02734
02735 int getNumberOfVarValuesString(int solIdx);
02736
02737 int getVarValueStringIdx(int solIdx, int varIdx);
02738
02739 std::string getVarValueStringName(int solIdx, int varIdx);
02740
02741 std::string getVarValueString(int solIdx, int varIdx);
02742
02751 int getBasisStatusNumberOfEl(int solIdx, int object, int status);
02752
02762 int getBasisStatusEl(int solIdx, int object, int status, int j);
02763
02769 int getNumberOfOtherVariableResults( int solIdx);
02770
02776 int getAnOtherVariableResultNumberOfVar(int solIdx, int iOther);
02777
02778
02779 std::string getOtherVariableResultName(int solIdx, int otherIdx);
02780
02781 std::string getOtherVariableResultValue(int solIdx, int otherIdx);
02782
02783 std::string getOtherVariableResultDescription(int solIdx, int otherIdx);
02784
02785 int getOtherVariableResultNumberOfVar(int solIdx, int otherIdx);
02786
02787 int getOtherVariableResultNumberOfEnumerations(int solIdx, int otherIdx);
02788
02789 int getOtherVariableResultVarIdx(int solIdx, int otherIdx, int varIdx);
02790
02791 std::string getOtherVariableResultVar(int solIdx, int otherIdx, int varIdx);
02792
02800 std::string getOtherVariableResultEnumerationValue(int solIdx,int otherIdx, int enumIdx);
02801
02809 std::string getOtherVariableResultEnumerationDescription(int solIdx,int otherIdx, int enumIdx);
02810
02818 int getOtherVariableResultEnumerationNumberOfEl(int solIdx,int otherIdx, int enumIdx);
02819
02828 int getOtherVariableResultEnumerationEl(int solIdx,int otherIdx, int enumIdx, int j);
02829
02830
02831 int getNumberOfObjValues(int solIdx);
02832
02833 int getObjValueIdx(int solIdx, int objIdx);
02834
02835 std::string getObjValueName(int solIdx, int objIdx);
02836
02837 double getObjValue(int solIdx, int objIdx);
02838
02846 double getOptimalObjValue(int objIdx, int solIdx);
02847
02848
02849 int getNumberOfOtherObjectiveResults(int solIdx);
02850
02851 std::string getOtherObjectiveResultName(int solIdx, int otherIdx);
02852
02853 std::string getOtherObjectiveResultValue(int solIdx, int otherIdx);
02854
02855 std::string getOtherObjectiveResultDescription(int solIdx, int otherIdx);
02856
02857 int getOtherObjectiveResultNumberOfObj(int solIdx, int otherIdx);
02858
02859 int getOtherObjectiveResultNumberOfEnumerations(int solIdx, int otherIdx);
02860
02861 int getOtherObjectiveResultObjIdx(int solIdx, int otherIdx, int objIdx);
02862
02863 std::string getOtherObjectiveResultObj(int solIdx, int otherIdx, int objIdx);
02864
02872 std::string getOtherObjectiveResultEnumerationValue(int solIdx,int otherIdx, int enumIdx);
02873
02881 std::string getOtherObjectiveResultEnumerationDescription(int solIdx,int otherIdx, int enumIdx);
02882
02890 int getOtherObjectiveResultEnumerationNumberOfEl(int solIdx,int otherIdx, int enumIdx);
02891
02900 int getOtherObjectiveResultEnumerationEl(int solIdx,int otherIdx, int enumIdx, int j);
02901
02902
02903
02904 int getNumberOfDualValues(int solIdx);
02905
02906 int getDualValueIdx(int solIdx, int conIdx);
02907
02908 std::string getDualValueName(int solIdx, int objIdx);
02909
02910 double getDualValue(int solIdx, int conIdx);
02911
02918 std::vector<IndexValuePair*> getOptimalDualVariableValues(int solIdx);
02919
02920
02921 int getNumberOfOtherConstraintResults(int solIdx);
02922
02923 std::string getOtherConstraintResultName(int solIdx, int otherIdx);
02924
02925 std::string getOtherConstraintResultValue(int solIdx, int otherIdx);
02926
02927 std::string getOtherConstraintResultDescription(int solIdx, int otherIdx);
02928
02929 int getOtherConstraintResultNumberOfCon(int solIdx, int otherIdx);
02930
02931 int getOtherConstraintResultNumberOfEnumerations(int solIdx, int otherIdx);
02932
02933 int getOtherConstraintResultConIdx(int solIdx, int otherIdx, int conIdx);
02934
02935 std::string getOtherConstraintResultCon(int solIdx, int otherIdx, int conIdx);
02936
02937
02945 std::string getOtherConstraintResultEnumerationValue(int solIdx,int otherIdx, int enumIdx);
02946
02954 std::string getOtherConstraintResultEnumerationDescription(int solIdx,int otherIdx, int enumIdx);
02955
02963 int getOtherConstraintResultEnumerationNumberOfEl(int solIdx,int otherIdx, int enumIdx);
02964
02973 int getOtherConstraintResultEnumerationEl(int solIdx,int otherIdx, int enumIdx, int j);
02974
02975
02976
02977
02978 int getNumberOfOtherSolutionResults(int solIdx);
02979
02980 std::string getOtherSolutionResultName(int solIdx, int otherIdx);
02981
02982 std::string getOtherSolutionResultCategory(int solIdx, int otherIdx);
02983
02984 std::string getOtherSolutionResultDescription(int solIdx, int otherIdx);
02985
02986 int getOtherSolutionResultNumberOfItems(int solIdx, int otherIdx);
02987
02988 std::string getOtherSolutionResultItem(int solIdx, int otherIdx, int itemIdx);
02989
02990 int getNumberOfSolverOutputs();
02991
02992 std::string getSolverOutputName(int otherIdx);
02993
02994 std::string getSolverOutputCategory(int otherIdx);
02995
02996 std::string getSolverOutputDescription(int otherIdx);
02997
02998 int getSolverOutputNumberOfItems(int otherIdx);
02999
03000 std::string getSolverOutputItem(int otherIdx, int itemIdx);
03001
03002
03003
03004
03011 bool setGeneralStatus(GeneralStatus *status);
03012
03020 bool setGeneralStatusType(std::string type);
03021
03028 bool setNumberOfGeneralSubstatuses(int num);
03029
03036 bool setGeneralStatusDescription(std::string description);
03037
03045 bool setGeneralSubstatusName(int idx, std::string name);
03046
03054 bool setGeneralSubstatusDescription(int idx, std::string description);
03055
03062 bool setGeneralMessage(std::string message);
03063
03070 bool setServiceName(std::string serviceName);
03071
03078 bool setServiceURI(std::string serviceURI);
03079
03086 bool setInstanceName(std::string instanceName);
03087
03094 bool setJobID(std::string jobID);
03095
03102 bool setSolverInvoked(std::string solverInvoked);
03103
03110 bool setTimeStamp(std::string timeStamp);
03111
03118 bool setNumberOfOtherGeneralResults(int num);
03119
03127 bool setOtherGeneralResultName(int idx, std::string name);
03128
03136 bool setOtherGeneralResultValue(int idx, std::string value);
03137
03145 bool setOtherGeneralResultDescription(int idx, std::string description);
03146
03153 bool setSystemInformation(std::string systemInformation);
03154
03161 bool setAvailableDiskSpaceUnit(std::string unit);
03162
03169 bool setAvailableDiskSpaceDescription(std::string description);
03170
03177 bool setAvailableDiskSpaceValue(double value);
03178
03185 bool setAvailableMemoryUnit(std::string unit);
03186
03193 bool setAvailableMemoryDescription(std::string description);
03194
03201 bool setAvailableMemoryValue(double value);
03202
03209 bool setAvailableCPUSpeedUnit(std::string unit);
03210
03217 bool setAvailableCPUSpeedDescription(std::string description);
03218
03225 bool setAvailableCPUSpeedValue(double value);
03226
03233 bool setAvailableCPUNumberDescription(std::string description);
03234
03241 bool setAvailableCPUNumberValue(int value);
03242
03249 bool setNumberOfOtherSystemResults(int num);
03250
03258 bool setOtherSystemResultName(int idx, std::string name);
03259
03267 bool setOtherSystemResultValue(int idx, std::string value);
03268
03276 bool setOtherSystemResultDescription(int idx, std::string description);
03277
03284 bool setCurrentState(std::string currentState);
03285
03292 bool setCurrentJobCount(int jobCount);
03293
03300 bool setTotalJobsSoFar(int number);
03301
03308 bool setTimeServiceStarted(std::string startTime);
03309
03316 bool setServiceUtilization(double value);
03317
03318
03325 bool setNumberOfOtherServiceResults(int num);
03326
03334 bool setOtherServiceResultName(int idx, std::string name);
03335
03343 bool setOtherServiceResultValue(int idx, std::string value);
03344
03352 bool setOtherServiceResultDescription(int idx, std::string description);
03353
03354
03361 bool setJobStatus(std::string status);
03362
03369 bool setJobSubmitTime(std::string submitTime);
03370
03377 bool setScheduledStartTime(std::string scheduledStartTime);
03378
03385 bool setActualStartTime(std::string actualStartTime);
03386
03393 bool setJobEndTime(std::string endTime);
03394
03395
03402 bool setTime(double time);
03403
03414 bool addTimingInformation(std::string type, std::string category,
03415 std::string unit, std::string description, double value);
03416
03429 bool setTimingInformation(int idx, std::string type, std::string category,
03430 std::string unit, std::string description, double value);
03431
03438 bool setNumberOfTimes(int numberOfTimes);
03439
03446 bool setTimeNumber(int timeNumber);
03447
03454 bool setUsedDiskSpaceUnit(std::string unit);
03455
03462 bool setUsedDiskSpaceDescription(std::string description);
03463
03470 bool setUsedDiskSpaceValue(double value);
03471
03478 bool setUsedMemoryUnit(std::string unit);
03479
03486 bool setUsedMemoryDescription(std::string description);
03487
03494 bool setUsedMemoryValue(double value);
03495
03502 bool setUsedCPUSpeedUnit(std::string unit);
03503
03510 bool setUsedCPUSpeedDescription(std::string description);
03511
03518 bool setUsedCPUSpeedValue(double value);
03519
03526 bool setUsedCPUNumberDescription(std::string description);
03527
03534 bool setUsedCPUNumberValue(int value);
03535
03542 bool setNumberOfOtherJobResults(int num);
03543
03551 bool setOtherJobResultName(int idx, std::string name);
03552
03560 bool setOtherJobResultValue(int idx, std::string value);
03561
03569 bool setOtherJobResultDescription(int idx, std::string description);
03570
03571
03578 bool setVariableNumber(int variableNumber);
03579
03586 bool setObjectiveNumber(int objectiveNumber);
03587
03594 bool setConstraintNumber(int constraintNumber);
03595
03608 bool setSolutionNumber(int number);
03609
03610
03623 bool setSolutionStatus(int solIdx, std::string type, std::string description);
03624
03632 bool setSolutionStatusType(int solIdx, std::string type);
03633
03641 bool setNumberOfSolutionSubstatuses(int solIdx, int num);
03642
03650 bool setSolutionStatusDescription(int solIdx, std::string description);
03651
03660 bool setSolutionSubstatusType(int solIdx, int substatusIdx, std::string type);
03661
03670 bool setSolutionSubstatusDescription(int solIdx, int substatusIdx, std::string description);
03671
03672
03685 bool setSolutionTargetObjectiveIdx(int solIdx, int objectiveIdx);
03686
03698 bool setSolutionTargetObjectiveName(int solIdx, std::string objectiveName);
03699
03709 bool setSolutionWeightedObjectives(int solIdx, bool weightedObjectives);
03710
03722 bool setSolutionMessage(int solIdx, std::string msg);
03723
03733 bool setNumberOfPrimalVariableValues(int solIdx, int n);
03734
03745 bool setPrimalVariableValuesSparse(int solIdx, std::vector<IndexValuePair*> x);
03746
03756 bool setPrimalVariableValuesDense(int solIdx, double *x);
03757
03767 bool setNumberOfVarValues(int solIdx, int numberOfVar);
03768
03781 bool setVarValue(int solIdx, int number, int idx, std::string name, double val);
03782
03792 bool setNumberOfVarValuesString(int solIdx, int numberOfVar);
03793
03806 bool setVarValueString(int solIdx, int number, int idx, std::string name, std::string str);
03807
03808
03823 bool setBasisStatus(int solIdx, int object, int status, int *i, int ni);
03824
03841 bool setNumberOfOtherVariableResults(int solIdx, int numberOfOtherVariableResults);
03842
03860 bool setAnOtherVariableResultSparse(int solIdx, int otherIdx, std::string name, std::string value, std::string description, int *idx, std::string *s, int n);
03861
03877 bool setAnOtherVariableResultDense(int solIdx, int otherIdx, std::string name, std::string value, std::string description, std::string *s);
03878
03892 bool setOtherVariableResultNumberOfVar(int solIdx, int otherIdx, int numberOfVar);
03893
03907 bool setOtherVariableResultNumberOfEnumerations(int solIdx, int otherIdx, int numberOfEnumerations);
03908
03922 bool setOtherVariableResultName(int solIdx, int otherIdx, std::string name);
03923
03937 bool setOtherVariableResultValue(int solIdx, int otherIdx, std::string value);
03938
03952 bool setOtherVariableResultDescription(int solIdx, int otherIdx, std::string description);
03953
03968 bool setOtherVariableResultVarIdx(int solIdx, int otherIdx, int varIdx, int idx);
03969
03984 bool setOtherVariableResultVarName(int solIdx, int otherIdx, int varIdx, std::string name);
03985
04000 bool setOtherVariableResultVar(int solIdx, int otherIdx, int varIdx, std::string value);
04001
04021 bool setOtherOptionEnumeration(int solIdx, int otherIdx, int object, int enumIdx, std::string value, std::string description, int *i, int ni);
04022
04039 bool setNumberOfOtherObjectiveResults(int solIdx, int numberOfOtherObjectiveResults);
04040
04050 bool setNumberOfObjValues(int solIdx, int numberOfObj);
04051
04061 bool setNumberOfObjectiveValues(int solIdx, int n);
04062
04063
04079 bool setObjectiveValuesSparse(int solIdx, std::vector<IndexValuePair*> x);
04080
04095 bool setObjectiveValuesDense(int solIdx, double *objectiveValues);
04096
04109 bool setObjValue(int solIdx, int number, int idx, std::string name, double val);
04110
04124 bool setOtherObjectiveResultNumberOfObj(int solIdx, int otherIdx, int numberOfObj);
04125
04139 bool setOtherObjectiveResultNumberOfEnumerations(int solIdx, int otherIdx, int numberOfObj);
04140
04154 bool setOtherObjectiveResultName(int solIdx, int otherIdx, std::string name);
04155
04169 bool setOtherObjectiveResultValue(int solIdx, int otherIdx, std::string value);
04170
04184 bool setOtherObjectiveResultDescription(int solIdx, int otherIdx, std::string description);
04185
04200 bool setOtherObjectiveResultObjIdx(int solIdx, int otherIdx, int objIdx, int idx);
04201
04216 bool setOtherObjectiveResultObjName(int solIdx, int otherIdx, int objIdx, std::string name);
04217
04232 bool setOtherObjectiveResultObj(int solIdx, int otherIdx, int objIdx, std::string value);
04233
04250 bool setNumberOfOtherConstraintResults(int solIdx, int numberOfOtherConstraintResults);
04251
04261 bool setNumberOfDualValues(int solIdx, int numberOfCon);
04262
04263
04273 bool setNumberOfDualVariableValues(int solIdx, int n);
04274
04275
04286 bool setDualVariableValuesSparse(int solIdx, std::vector<IndexValuePair*> x);
04287
04288
04297 bool setDualVariableValuesDense(int solIdx, double *y);
04298
04308 bool setConstraintValuesDense(int solIdx, double *constraintValues);
04309
04310
04311
04324 bool setDualValue(int solIdx, int number, int idx, std::string name, double val);
04325
04339 bool setOtherConstraintResultNumberOfCon(int solIdx, int otherIdx, int numberOfCon);
04340
04354 bool setOtherConstraintResultNumberOfEnumerations(int solIdx, int otherIdx, int numberOfCon);
04355
04369 bool setOtherConstraintResultName(int solIdx, int otherIdx, std::string name);
04370
04384 bool setOtherConstraintResultValue(int solIdx, int otherIdx, std::string value);
04385
04399 bool setOtherConstraintResultDescription(int solIdx, int otherIdx, std::string description);
04400
04415 bool setOtherConstraintResultConIdx(int solIdx, int otherIdx, int conIdx, int idx);
04416
04431 bool setOtherConstraintResultConName(int solIdx, int otherIdx, int conIdx, std::string name);
04432
04447 bool setOtherConstraintResultCon(int solIdx, int otherIdx, int conIdx, std::string value);
04448
04466 bool setNumberOfOtherSolutionResults(int solIdx, int numberOfOtherSolutionResults);
04467
04477 bool setOtherSolutionResultName(int solIdx, int otherIdx, std::string name);
04478
04488 bool setOtherSolutionResultCategory(int solIdx, int otherIdx, std::string category);
04489
04499 bool setOtherSolutionResultDescription(int solIdx, int otherIdx, std::string description);
04500
04510 bool setOtherSolutionResultNumberOfItems(int solIdx, int otherIdx, int numberOfItems);
04511
04522 bool setOtherSolutionResultItem(int solIdx, int otherIdx, int itemIdx, std::string item);
04523
04532 bool setNumberOfSolverOutputs(int numberOfSolverOutputs);
04533
04541 bool setSolverOutputName(int otherIdx, std::string name);
04542
04550 bool setSolverOutputCategory(int otherIdx, std::string category);
04551
04559 bool setSolverOutputDescription(int otherIdx, std::string description);
04560
04569 bool setSolverOutputNumberOfItems(int otherIdx, int numberOfItems);
04570
04579 bool setSolverOutputItem(int otherIdx, int itemIdx, std::string item);
04580
04581
04582 };
04583 #endif
04584