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{
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 };
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 };
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 };
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 };
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 };
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 };
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 };
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 };
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 };
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 };
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 };
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 };
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 };
00819
00820
00832 class VarValue{
00833 public:
00834
00836 int idx;
00837
00838
00839
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 };
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 };
00923
00924
00936 class VarValueString{
00937 public:
00938
00940 int idx;
00941
00942
00943
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 };
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 };
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 };
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
01120
01121
01122
01123 OtherVarResult** var;
01124
01125
01126
01127
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 };
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 };
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 };
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 };
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 };
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
01414
01415
01416
01417 OtherObjResult** obj;
01418
01419
01420
01421
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 };
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 };
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 };
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 };
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 };
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
01713
01714
01715
01716 OtherConResult** con;
01717
01718
01719
01720
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 };
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 };
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 };
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 };
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 };
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 };
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 };
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 };
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
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