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 type;
01147
01149 std::string description;
01150
01151
01152
01153
01154
01155 OtherVarResult** var;
01156
01158 std::string varType;
01159
01160
01161
01162
01163
01164 OtherOptionEnumeration** enumeration;
01165
01167 std::string enumType;
01168
01173 OtherVariableResult();
01174
01179 ~OtherVariableResult();
01180
01185 bool IsEqual(OtherVariableResult *that);
01186
01194 bool setRandom(double density, bool conformant);
01195
01196 };
01197
01198
01210 class VariableSolution
01211 {
01212 public:
01213
01217 int numberOfOtherVariableResults;
01218
01220 VariableValues *values;
01221
01223 VariableValuesString *valuesString;
01224
01226 BasisStatus *basisStatus;
01227
01231 OtherVariableResult** other;
01232
01237 VariableSolution();
01238
01243 ~VariableSolution();
01244
01249 bool IsEqual(VariableSolution *that);
01250
01258 bool setRandom(double density, bool conformant);
01259
01260 };
01261
01262
01274 class ObjValue
01275 {
01276 public:
01277
01279 int idx;
01280
01282 std::string name;
01283
01285 double value;
01286
01291 ObjValue();
01292
01297 ~ObjValue();
01298
01303 bool IsEqual(ObjValue *that);
01304
01312 bool setRandom(double density, bool conformant);
01313 };
01314
01325 class ObjectiveValues
01326 {
01327 public:
01328
01331 int numberOfObj;
01332
01337 ObjValue** obj;
01338
01343 ObjectiveValues();
01344
01349 ~ObjectiveValues();
01350
01355 bool IsEqual(ObjectiveValues *that);
01356
01364 bool setRandom(double density, bool conformant);
01365
01366 };
01367
01368
01380 class OtherObjResult
01381 {
01382 public:
01383
01385 int idx;
01386
01388 std::string name;
01389
01393 std::string value;
01394
01399 OtherObjResult();
01400
01405 ~OtherObjResult();
01406
01411 bool IsEqual(OtherObjResult *that);
01412
01420 bool setRandom(double density, bool conformant);
01421
01422 };
01423
01424
01436 class OtherObjectiveResult
01437 {
01438 public:
01439
01443 int numberOfObj;
01444
01448 int numberOfEnumerations;
01449
01451 std::string name;
01452
01456 std::string value;
01457
01459 std::string type;
01460
01462 std::string description;
01463
01464
01465
01466
01467
01468 OtherObjResult** obj;
01469
01471 std::string objType;
01472
01473
01474
01475
01476
01477 OtherOptionEnumeration** enumeration;
01478
01480 std::string enumType;
01481
01486 OtherObjectiveResult();
01487
01492 ~OtherObjectiveResult();
01493
01498 bool IsEqual(OtherObjectiveResult *that);
01499
01507 bool setRandom(double density, bool conformant);
01508
01509 };
01510
01511
01512
01524 class ObjectiveSolution
01525 {
01526 public:
01527
01531 int numberOfOtherObjectiveResults;
01532
01534 ObjectiveValues *values;
01535
01537 BasisStatus *basisStatus;
01538
01542 OtherObjectiveResult** other;
01543
01548 ObjectiveSolution();
01549
01554 ~ObjectiveSolution();
01555
01560 bool IsEqual(ObjectiveSolution *that);
01561
01569 bool setRandom(double density, bool conformant);
01570
01571 };
01572
01573
01574
01585 class DualVarValue
01586 {
01587 public:
01588
01590 int idx;
01591
01593 std::string name;
01594
01598 double value;
01599
01604 DualVarValue();
01605
01610 ~DualVarValue();
01611
01616 bool IsEqual(DualVarValue *that);
01617
01625 bool setRandom(double density, bool conformant);
01626
01627 };
01628
01629
01630
01641 class DualVariableValues
01642 {
01643 public:
01644
01647 int numberOfCon;
01648
01653 DualVarValue** con;
01654
01659 DualVariableValues();
01660
01665 ~DualVariableValues();
01666
01671 bool IsEqual(DualVariableValues *that);
01672
01680 bool setRandom(double density, bool conformant);
01681
01682 };
01683
01684
01696 class OtherConResult
01697 {
01698 public:
01699
01701 int idx;
01702
01704 std::string name;
01705
01711 std::string value;
01712
01717 OtherConResult();
01718
01723 ~OtherConResult();
01724
01729 bool IsEqual(OtherConResult *that);
01730
01738 bool setRandom(double density, bool conformant);
01739
01740 };
01741
01742
01754 class OtherConstraintResult
01755 {
01756 public:
01757
01761 int numberOfCon;
01762
01766 int numberOfEnumerations;
01767
01769 std::string name;
01770
01774 std::string value;
01775
01777 std::string type;
01778
01780 std::string description;
01781
01782
01783
01784
01785
01786
01787 OtherConResult** con;
01788
01790 std::string conType;
01791
01792
01793
01794
01795
01796 OtherOptionEnumeration** enumeration;
01797
01799 std::string enumType;
01800
01805 OtherConstraintResult();
01806
01811 ~OtherConstraintResult();
01812
01817 bool IsEqual(OtherConstraintResult *that);
01818
01826 bool setRandom(double density, bool conformant);
01827
01828 };
01829
01830
01842 class ConstraintSolution
01843 {
01844
01845 public:
01846
01850 int numberOfOtherConstraintResults;
01851
01853 DualVariableValues *dualValues;
01854
01856 BasisStatus *basisStatus;
01857
01861 OtherConstraintResult** other;
01862
01867 ConstraintSolution();
01868
01873 ~ConstraintSolution();
01874
01879 bool IsEqual(ConstraintSolution *that);
01880
01888 bool setRandom(double density, bool conformant);
01889
01890 };
01891
01892
01893
01894
01906 class OtherSolutionResult
01907 {
01908 public:
01909
01911 std::string name;
01912
01914 std::string value;
01915
01919 std::string category;
01920
01922 std::string description;
01923
01926 int numberOfItems;
01927
01930 std::string *item;
01931
01936 OtherSolutionResult();
01937
01942 ~OtherSolutionResult();
01943
01948 bool IsEqual(OtherSolutionResult *that);
01949
01957 bool setRandom(double density, bool conformant);
01958
01959 };
01960
01961
01962
01963
01975 class OtherSolutionResults
01976 {
01977 public:
01978
01980 int numberOfOtherSolutionResults;
01981
01985 OtherSolutionResult **otherSolutionResult;
01986
01991 OtherSolutionResults();
01992
01997 ~OtherSolutionResults();
01998
02003 bool IsEqual(OtherSolutionResults *that);
02004
02012 bool setRandom(double density, bool conformant);
02013
02014 };
02015
02016
02017
02033 class OptimizationSolution
02034 {
02035 public:
02036
02040 int targetObjectiveIdx;
02041
02045 std::string targetObjectiveName;
02046
02048 bool weightedObjectives;
02049
02053 OptimizationSolutionStatus *status;
02054
02056 std::string message;
02057
02061 VariableSolution *variables;
02062
02066 ObjectiveSolution *objectives;
02067
02071 ConstraintSolution *constraints;
02072
02076 OtherSolutionResults *otherSolutionResults;
02077
02082 OptimizationSolution();
02083
02088 ~OptimizationSolution();
02089
02094 bool IsEqual(OptimizationSolution *that);
02095
02103 bool setRandom(double density, bool conformant);
02104
02105 };
02106
02107
02119 class SolverOutput
02120 {
02121 public:
02122
02124 std::string name;
02125
02129 std::string category;
02130
02132 std::string description;
02133
02136 int numberOfItems;
02137
02140 std::string *item;
02141
02146 SolverOutput();
02147
02152 ~SolverOutput();
02153
02158 bool IsEqual(SolverOutput *that);
02159
02167 bool setRandom(double density, bool conformant);
02168
02169 };
02170
02171
02172
02184 class OtherSolverOutput
02185 {
02186 public:
02187
02190 int numberOfSolverOutputs;
02191
02194 SolverOutput **solverOutput;
02195
02200 OtherSolverOutput();
02201
02206 ~OtherSolverOutput();
02207
02212 bool IsEqual(OtherSolverOutput *that);
02213
02221 bool setRandom(double density, bool conformant);
02222
02223 };
02224
02225
02226
02238 class OptimizationResult
02239 {
02240 public:
02241
02245 int numberOfSolutions;
02246
02250 int numberOfVariables;
02251
02255 int numberOfObjectives;
02256
02260 int numberOfConstraints;
02261
02265 OptimizationSolution **solution;
02266
02270 OtherSolverOutput *otherSolverOutput;
02271
02276 OptimizationResult();
02277
02282 ~OptimizationResult();
02283
02288 bool IsEqual(OptimizationResult *that);
02289
02297 bool setRandom(double density, bool conformant);
02298
02299 };
02300
02301
02302
02313 class OSResult
02314 {
02315
02316 public:
02317
02321 GeneralFileHeader *resultHeader;
02322
02326 GeneralResult *general;
02327
02331 SystemResult *system;
02332
02336 ServiceResult *service;
02337
02341 JobResult *job;
02342
02346 OptimizationResult *optimization;
02347
02352 OSResult();
02353
02358 ~OSResult();
02359
02360
02371 bool setResultHeader(std::string name, std::string source,
02372 std::string fileCreator, std::string description, std::string licence);
02373
02374 public:
02375
02379 int m_iVariableNumber;
02380
02384 int m_iObjectiveNumber;
02385
02389 int m_iConstraintNumber;
02390
02394 int m_iNumberOfOtherVariableResults;
02395
02399 double *m_mdPrimalValues;
02400
02404 double *m_mdDualValues;
02405
02406
02407 std::vector<IndexValuePair*> primalVals;
02408
02409 std::vector<IndexValuePair*> dualVals;
02410
02411
02412 public:
02417 bool IsEqual(OSResult *that);
02418
02419
02427 bool setRandom(double density, bool conformant);
02428
02429
02430
02431 public:
02432
02438 GeneralStatus* getGeneralStatus();
02439
02446 std::string getGeneralStatusType();
02447
02453 std::string getGeneralStatusDescription();
02454
02460 int getNumberOfGeneralSubstatuses();
02461
02468 std::string getGeneralSubstatusName(int i);
02469
02476 std::string getGeneralSubstatusDescription(int i);
02477
02483 std::string getGeneralMessage();
02484
02490 std::string getServiceName();
02491
02497 std::string getServiceURI();
02498
02504 std::string getInstanceName();
02505
02511 std::string getJobID();
02512
02518 std::string getSolverInvoked();
02519
02525 std::string getTimeStamp();
02526
02532 int getNumberOfOtherGeneralResults();
02533
02540 std::string getOtherGeneralResultName(int idx);
02541
02542
02543 std::string getOtherGeneralResultValue(int idx);
02544
02545 std::string getOtherGeneralResultDescription(int idx);
02546
02547 std::string getSystemInformation();
02548
02549 std::string getAvailableDiskSpaceUnit();
02550
02551 std::string getAvailableDiskSpaceDescription();
02552
02553 double getAvailableDiskSpaceValue();
02554
02555 std::string getAvailableMemoryUnit();
02556
02557 std::string getAvailableMemoryDescription();
02558
02559 double getAvailableMemoryValue();
02560
02561 std::string getAvailableCPUSpeedUnit();
02562
02563 std::string getAvailableCPUSpeedDescription();
02564
02565 double getAvailableCPUSpeedValue();
02566
02567 std::string getAvailableCPUNumberDescription();
02568
02569 int getAvailableCPUNumberValue();
02570
02571 int getNumberOfOtherSystemResults();
02572
02573 std::string getOtherSystemResultName(int idx);
02574
02575 std::string getOtherSystemResultValue(int idx);
02576
02577 std::string getOtherSystemResultDescription(int idx);
02578
02579 std::string getCurrentState();
02580
02581 int getCurrentJobCount();
02582
02583 int getTotalJobsSoFar();
02584
02585 std::string getTimeServiceStarted();
02586
02587 double getServiceUtilization();
02588
02589 int getNumberOfOtherServiceResults();
02590
02591 std::string getOtherServiceResultName(int idx);
02592
02593 std::string getOtherServiceResultValue(int idx);
02594
02595 std::string getOtherServiceResultDescription(int idx);
02596
02597 std::string getJobStatus();
02598
02599 std::string getJobSubmitTime();
02600
02601 std::string getScheduledStartTime();
02602
02603 std::string getActualStartTime();
02604
02605 std::string getJobEndTime();
02606
02612 int getTimeNumber();
02613
02620 double getTimeValue();
02621
02622
02623 int getNumberOfTimes();
02624
02625 std::string getTimingInfoUnit(int idx);
02626
02627 std::string getTimingInfoType(int idx);
02628
02629 std::string getTimingInfoCategory(int idx);
02630
02631 std::string getTimingInfoDescription(int idx);
02632
02633 double getTimingInfoValue(int idx);
02634
02635 std::string getUsedDiskSpaceUnit();
02636
02637 std::string getUsedDiskSpaceDescription();
02638
02639 double getUsedDiskSpaceValue();
02640
02641 std::string getUsedMemoryUnit();
02642
02643 std::string getUsedMemoryDescription();
02644
02645 double getUsedMemoryValue();
02646
02647 std::string getUsedCPUSpeedUnit();
02648
02649 std::string getUsedCPUSpeedDescription();
02650
02651 double getUsedCPUSpeedValue();
02652
02653 std::string getUsedCPUNumberDescription();
02654
02655 int getUsedCPUNumberValue();
02656
02657 int getNumberOfOtherJobResults();
02658
02659 std::string getOtherJobResultName(int idx);
02660
02661 std::string getOtherJobResultValue(int idx);
02662
02663 std::string getOtherJobResultDescription(int idx);
02664
02670 int getVariableNumber();
02671
02677 int getObjectiveNumber();
02678
02684 int getConstraintNumber();
02685
02691 int getSolutionNumber();
02692
02693
02702 OptimizationSolutionStatus* getSolutionStatus( int solIdx);
02703
02713 std::string getSolutionStatusType(int solIdx);
02714
02721 std::string getSolutionStatusDescription(int solIdx);
02722
02723
02724 int getNumberOfSolutionSubstatuses(int solIdx);
02725
02726 std::string getSolutionSubstatusType(int solIdx, int substatusIdx);
02727
02728 std::string getSolutionSubstatusDescription(int solIdx, int substatusIdx);
02729
02730 int getSolutionTargetObjectiveIdx(int solIdx);
02731
02732 std::string getSolutionTargetObjectiveName(int solIdx);
02733
02740 bool getSolutionWeightedObjectives(int solIdx);
02741
02748 std::string getSolutionMessage(int solIdx);
02749
02750
02751 int getNumberOfPrimalVariableValues(int solIdx);
02752
02753 int getNumberOfVarValues(int solIdx);
02754
02755 int getVarValueIdx(int solIdx, int varIdx);
02756
02757 std::string getVarValueName(int solIdx, int varIdx);
02758
02759 double getVarValue(int solIdx, int varIdx);
02760
02767 std::vector<IndexValuePair*> getOptimalPrimalVariableValues(int solIdx);
02768
02769
02770 int getNumberOfVarValuesString(int solIdx);
02771
02772 int getVarValueStringIdx(int solIdx, int varIdx);
02773
02774 std::string getVarValueStringName(int solIdx, int varIdx);
02775
02776 std::string getVarValueString(int solIdx, int varIdx);
02777
02786 int getBasisStatusNumberOfEl(int solIdx, int object, int status);
02787
02797 int getBasisStatusEl(int solIdx, int object, int status, int j);
02798
02799
02813 int getBasisInformationDense(int solIdx, int object, int* resultArray, int dim);
02814
02820 int getNumberOfOtherVariableResults( int solIdx);
02821
02827 int getAnOtherVariableResultNumberOfVar(int solIdx, int iOther);
02828
02829
02830 std::string getOtherVariableResultName(int solIdx, int otherIdx);
02831
02832 std::string getOtherVariableResultType(int solIdx, int otherIdx);
02833
02834 std::string getOtherVariableResultValue(int solIdx, int otherIdx);
02835
02836 std::string getOtherVariableResultDescription(int solIdx, int otherIdx);
02837
02838 int getOtherVariableResultNumberOfVar(int solIdx, int otherIdx);
02839
02840 int getOtherVariableResultNumberOfEnumerations(int solIdx, int otherIdx);
02841
02842 int getOtherVariableResultVarIdx(int solIdx, int otherIdx, int varIdx);
02843
02844 std::string getOtherVariableResultVar(int solIdx, int otherIdx, int varIdx);
02845
02853 std::string getOtherVariableResultArrayType(int solIdx,int otherIdx);
02854
02862 std::string getOtherVariableResultEnumerationValue(int solIdx,int otherIdx, int enumIdx);
02863
02871 std::string getOtherVariableResultEnumerationDescription(int solIdx,int otherIdx, int enumIdx);
02872
02880 int getOtherVariableResultEnumerationNumberOfEl(int solIdx, int otherIdx, int enumIdx);
02881
02890 int getOtherVariableResultEnumerationEl(int solIdx,int otherIdx, int enumIdx, int j);
02891
02904 int getOtherVariableResultArrayDense(int solIdx, int otherIdx, std::string* resultArray, int dim);
02905
02906
02907
02908 int getNumberOfObjValues(int solIdx);
02909
02910 int getObjValueIdx(int solIdx, int objIdx);
02911
02912 std::string getObjValueName(int solIdx, int objIdx);
02913
02914 double getObjValue(int solIdx, int objIdx);
02915
02923 double getOptimalObjValue(int objIdx, int solIdx);
02924
02925
02926 int getNumberOfOtherObjectiveResults(int solIdx);
02927
02928 std::string getOtherObjectiveResultName(int solIdx, int otherIdx);
02929
02930 std::string getOtherObjectiveResultType(int solIdx, int otherIdx);
02931
02932 std::string getOtherObjectiveResultValue(int solIdx, int otherIdx);
02933
02934 std::string getOtherObjectiveResultDescription(int solIdx, int otherIdx);
02935
02936 int getOtherObjectiveResultNumberOfObj(int solIdx, int otherIdx);
02937
02938 int getOtherObjectiveResultNumberOfEnumerations(int solIdx, int otherIdx);
02939
02940 int getOtherObjectiveResultObjIdx(int solIdx, int otherIdx, int objIdx);
02941
02942 std::string getOtherObjectiveResultObj(int solIdx, int otherIdx, int objIdx);
02943
02951 std::string getOtherObjectiveResultArrayType(int solIdx,int otherIdx);
02952
02960 std::string getOtherObjectiveResultEnumerationValue(int solIdx,int otherIdx, int enumIdx);
02961
02969 std::string getOtherObjectiveResultEnumerationDescription(int solIdx,int otherIdx, int enumIdx);
02970
02978 int getOtherObjectiveResultEnumerationNumberOfEl(int solIdx,int otherIdx, int enumIdx);
02979
02988 int getOtherObjectiveResultEnumerationEl(int solIdx,int otherIdx, int enumIdx, int j);
02989
03002 int getOtherObjectiveResultArrayDense(int solIdx, int otherIdx, std::string* resultArray, int dim);
03003
03004
03005
03006 int getNumberOfDualValues(int solIdx);
03007
03008 int getDualValueIdx(int solIdx, int conIdx);
03009
03010 std::string getDualValueName(int solIdx, int objIdx);
03011
03012 double getDualValue(int solIdx, int conIdx);
03013
03020 std::vector<IndexValuePair*> getOptimalDualVariableValues(int solIdx);
03021
03022
03023 int getNumberOfOtherConstraintResults(int solIdx);
03024
03025 std::string getOtherConstraintResultName(int solIdx, int otherIdx);
03026
03027 std::string getOtherConstraintResultType(int solIdx, int otherIdx);
03028
03029 std::string getOtherConstraintResultValue(int solIdx, int otherIdx);
03030
03031 std::string getOtherConstraintResultDescription(int solIdx, int otherIdx);
03032
03033 int getOtherConstraintResultNumberOfCon(int solIdx, int otherIdx);
03034
03035 int getOtherConstraintResultNumberOfEnumerations(int solIdx, int otherIdx);
03036
03037 int getOtherConstraintResultConIdx(int solIdx, int otherIdx, int conIdx);
03038
03039 std::string getOtherConstraintResultCon(int solIdx, int otherIdx, int conIdx);
03040
03041
03049 std::string getOtherConstraintResultArrayType(int solIdx,int otherIdx);
03050
03058 std::string getOtherConstraintResultEnumerationValue(int solIdx,int otherIdx, int enumIdx);
03059
03067 std::string getOtherConstraintResultEnumerationDescription(int solIdx,int otherIdx, int enumIdx);
03068
03076 int getOtherConstraintResultEnumerationNumberOfEl(int solIdx,int otherIdx, int enumIdx);
03077
03086 int getOtherConstraintResultEnumerationEl(int solIdx,int otherIdx, int enumIdx, int j);
03087
03100 int getOtherConstraintResultArrayDense(int solIdx, int otherIdx, std::string* resultArray, int dim);
03101
03102
03103
03104
03105 int getNumberOfOtherSolutionResults(int solIdx);
03106
03107 std::string getOtherSolutionResultName(int solIdx, int otherIdx);
03108
03109 std::string getOtherSolutionResultValue(int solIdx, int otherIdx);
03110
03111 std::string getOtherSolutionResultCategory(int solIdx, int otherIdx);
03112
03113 std::string getOtherSolutionResultDescription(int solIdx, int otherIdx);
03114
03115 int getOtherSolutionResultNumberOfItems(int solIdx, int otherIdx);
03116
03117 std::string getOtherSolutionResultItem(int solIdx, int otherIdx, int itemIdx);
03118
03119 int getNumberOfSolverOutputs();
03120
03121 std::string getSolverOutputName(int otherIdx);
03122
03123 std::string getSolverOutputCategory(int otherIdx);
03124
03125 std::string getSolverOutputDescription(int otherIdx);
03126
03127 int getSolverOutputNumberOfItems(int otherIdx);
03128
03129 std::string getSolverOutputItem(int otherIdx, int itemIdx);
03130
03131
03132
03133
03140 bool setGeneralStatus(GeneralStatus *status);
03141
03149 bool setGeneralStatusType(std::string type);
03150
03157 bool setNumberOfGeneralSubstatuses(int num);
03158
03165 bool setGeneralStatusDescription(std::string description);
03166
03174 bool setGeneralSubstatusName(int idx, std::string name);
03175
03183 bool setGeneralSubstatusDescription(int idx, std::string description);
03184
03191 bool setGeneralMessage(std::string message);
03192
03199 bool setServiceName(std::string serviceName);
03200
03207 bool setServiceURI(std::string serviceURI);
03208
03215 bool setInstanceName(std::string instanceName);
03216
03223 bool setJobID(std::string jobID);
03224
03231 bool setSolverInvoked(std::string solverInvoked);
03232
03239 bool setTimeStamp(std::string timeStamp);
03240
03247 bool setNumberOfOtherGeneralResults(int num);
03248
03256 bool setOtherGeneralResultName(int idx, std::string name);
03257
03265 bool setOtherGeneralResultValue(int idx, std::string value);
03266
03274 bool setOtherGeneralResultDescription(int idx, std::string description);
03275
03282 bool setSystemInformation(std::string systemInformation);
03283
03290 bool setAvailableDiskSpaceUnit(std::string unit);
03291
03298 bool setAvailableDiskSpaceDescription(std::string description);
03299
03306 bool setAvailableDiskSpaceValue(double value);
03307
03314 bool setAvailableMemoryUnit(std::string unit);
03315
03322 bool setAvailableMemoryDescription(std::string description);
03323
03330 bool setAvailableMemoryValue(double value);
03331
03338 bool setAvailableCPUSpeedUnit(std::string unit);
03339
03346 bool setAvailableCPUSpeedDescription(std::string description);
03347
03354 bool setAvailableCPUSpeedValue(double value);
03355
03362 bool setAvailableCPUNumberDescription(std::string description);
03363
03370 bool setAvailableCPUNumberValue(int value);
03371
03378 bool setNumberOfOtherSystemResults(int num);
03379
03387 bool setOtherSystemResultName(int idx, std::string name);
03388
03396 bool setOtherSystemResultValue(int idx, std::string value);
03397
03405 bool setOtherSystemResultDescription(int idx, std::string description);
03406
03413 bool setCurrentState(std::string currentState);
03414
03421 bool setCurrentJobCount(int jobCount);
03422
03429 bool setTotalJobsSoFar(int number);
03430
03437 bool setTimeServiceStarted(std::string startTime);
03438
03446 bool setServiceUtilization(double value);
03447
03448
03455 bool setNumberOfOtherServiceResults(int num);
03456
03464 bool setOtherServiceResultName(int idx, std::string name);
03465
03473 bool setOtherServiceResultValue(int idx, std::string value);
03474
03482 bool setOtherServiceResultDescription(int idx, std::string description);
03483
03484
03491 bool setJobStatus(std::string status);
03492
03499 bool setJobSubmitTime(std::string submitTime);
03500
03507 bool setScheduledStartTime(std::string scheduledStartTime);
03508
03515 bool setActualStartTime(std::string actualStartTime);
03516
03523 bool setJobEndTime(std::string endTime);
03524
03525
03532 bool setTime(double time);
03533
03544 bool addTimingInformation(std::string type, std::string category,
03545 std::string unit, std::string description, double value);
03546
03559 bool setTimingInformation(int idx, std::string type, std::string category,
03560 std::string unit, std::string description, double value);
03561
03568 bool setNumberOfTimes(int numberOfTimes);
03569
03576 bool setTimeNumber(int timeNumber);
03577
03584 bool setUsedDiskSpaceUnit(std::string unit);
03585
03592 bool setUsedDiskSpaceDescription(std::string description);
03593
03600 bool setUsedDiskSpaceValue(double value);
03601
03608 bool setUsedMemoryUnit(std::string unit);
03609
03616 bool setUsedMemoryDescription(std::string description);
03617
03624 bool setUsedMemoryValue(double value);
03625
03632 bool setUsedCPUSpeedUnit(std::string unit);
03633
03640 bool setUsedCPUSpeedDescription(std::string description);
03641
03648 bool setUsedCPUSpeedValue(double value);
03649
03656 bool setUsedCPUNumberDescription(std::string description);
03657
03664 bool setUsedCPUNumberValue(int value);
03665
03672 bool setNumberOfOtherJobResults(int num);
03673
03681 bool setOtherJobResultName(int idx, std::string name);
03682
03690 bool setOtherJobResultValue(int idx, std::string value);
03691
03699 bool setOtherJobResultDescription(int idx, std::string description);
03700
03701
03708 bool setVariableNumber(int variableNumber);
03709
03716 bool setObjectiveNumber(int objectiveNumber);
03717
03724 bool setConstraintNumber(int constraintNumber);
03725
03738 bool setSolutionNumber(int number);
03739
03740
03753 bool setSolutionStatus(int solIdx, std::string type, std::string description);
03754
03762 bool setSolutionStatusType(int solIdx, std::string type);
03763
03771 bool setNumberOfSolutionSubstatuses(int solIdx, int num);
03772
03780 bool setSolutionStatusDescription(int solIdx, std::string description);
03781
03790 bool setSolutionSubstatusType(int solIdx, int substatusIdx, std::string type);
03791
03800 bool setSolutionSubstatusDescription(int solIdx, int substatusIdx, std::string description);
03801
03802
03815 bool setSolutionTargetObjectiveIdx(int solIdx, int objectiveIdx);
03816
03828 bool setSolutionTargetObjectiveName(int solIdx, std::string objectiveName);
03829
03839 bool setSolutionWeightedObjectives(int solIdx, bool weightedObjectives);
03840
03852 bool setSolutionMessage(int solIdx, std::string msg);
03853
03863 bool setNumberOfPrimalVariableValues(int solIdx, int n);
03864
03875 bool setPrimalVariableValuesSparse(int solIdx, std::vector<IndexValuePair*> x);
03876
03886 bool setPrimalVariableValuesDense(int solIdx, double *x);
03887
03897 bool setNumberOfVarValues(int solIdx, int numberOfVar);
03898
03911 bool setVarValue(int solIdx, int number, int idx, std::string name, double val);
03912
03922 bool setNumberOfVarValuesString(int solIdx, int numberOfVar);
03923
03936 bool setVarValueString(int solIdx, int number, int idx, std::string name, std::string str);
03937
03938
03954 bool setBasisStatus(int solIdx, int object, int status, int *i, int ni);
03955
03972 bool setNumberOfOtherVariableResults(int solIdx, int numberOfOtherVariableResults);
03973
03991 bool setAnOtherVariableResultSparse(int solIdx, int otherIdx, std::string name, std::string value, std::string description, int *idx, std::string *s, int n);
03992
04016 bool setAnOtherVariableResultSparse(int solIdx, int otherIdx, std::string name, std::string value, std::string description, int *idx, std::string *s, int n, std::string type, std::string varType, std::string enumType);
04017
04033 bool setAnOtherVariableResultDense(int solIdx, int otherIdx, std::string name, std::string value, std::string description, std::string *s);
04034
04056 bool setAnOtherVariableResultDense(int solIdx, int otherIdx, std::string name, std::string value, std::string description, std::string *s, std::string type, std::string varType, std::string enumType);
04057
04071 bool setOtherVariableResultNumberOfVar(int solIdx, int otherIdx, int numberOfVar);
04072
04086 bool setOtherVariableResultNumberOfEnumerations(int solIdx, int otherIdx, int numberOfEnumerations);
04087
04101 bool setOtherVariableResultName(int solIdx, int otherIdx, std::string name);
04102
04116 bool setOtherVariableResultType(int solIdx, int otherIdx, std::string type);
04117
04131 bool setOtherVariableResultVarType(int solIdx, int otherIdx, std::string varType);
04132
04146 bool setOtherVariableResultEnumType(int solIdx, int otherIdx, std::string enumType);
04147
04161 bool setOtherVariableResultValue(int solIdx, int otherIdx, std::string value);
04162
04176 bool setOtherVariableResultDescription(int solIdx, int otherIdx, std::string description);
04177
04192 bool setOtherVariableResultVarIdx(int solIdx, int otherIdx, int varIdx, int idx);
04193
04208 bool setOtherVariableResultVarName(int solIdx, int otherIdx, int varIdx, std::string name);
04209
04224 bool setOtherVariableResultVar(int solIdx, int otherIdx, int varIdx, std::string value);
04225
04245 bool setOtherOptionEnumeration(int solIdx, int otherIdx, int object, int enumIdx, std::string value, std::string description, int *i, int ni);
04246
04263 bool setNumberOfOtherObjectiveResults(int solIdx, int numberOfOtherObjectiveResults);
04264
04274 bool setNumberOfObjValues(int solIdx, int numberOfObj);
04275
04285 bool setNumberOfObjectiveValues(int solIdx, int n);
04286
04287
04303 bool setObjectiveValuesSparse(int solIdx, std::vector<IndexValuePair*> x);
04304
04319 bool setObjectiveValuesDense(int solIdx, double *objectiveValues);
04320
04333 bool setObjValue(int solIdx, int number, int idx, std::string name, double val);
04334
04348 bool setOtherObjectiveResultNumberOfObj(int solIdx, int otherIdx, int numberOfObj);
04349
04363 bool setOtherObjectiveResultNumberOfEnumerations(int solIdx, int otherIdx, int numberOfObj);
04364
04378 bool setOtherObjectiveResultName(int solIdx, int otherIdx, std::string name);
04379
04393 bool setOtherObjectiveResultType(int solIdx, int otherIdx, std::string type);
04394
04408 bool setOtherObjectiveResultObjType(int solIdx, int otherIdx, std::string objType);
04409
04423 bool setOtherObjectiveResultEnumType(int solIdx, int otherIdx, std::string enumType);
04424
04438 bool setOtherObjectiveResultValue(int solIdx, int otherIdx, std::string value);
04439
04454 bool setOtherObjectiveResultDescription(int solIdx, int otherIdx, std::string description);
04455
04470 bool setOtherObjectiveResultObjIdx(int solIdx, int otherIdx, int objIdx, int idx);
04471
04486 bool setOtherObjectiveResultObjName(int solIdx, int otherIdx, int objIdx, std::string name);
04487
04502 bool setOtherObjectiveResultObj(int solIdx, int otherIdx, int objIdx, std::string value);
04503
04520 bool setNumberOfOtherConstraintResults(int solIdx, int numberOfOtherConstraintResults);
04521
04531 bool setNumberOfDualValues(int solIdx, int numberOfCon);
04532
04533
04543 bool setNumberOfDualVariableValues(int solIdx, int n);
04544
04545
04556 bool setDualVariableValuesSparse(int solIdx, std::vector<IndexValuePair*> x);
04557
04558
04567 bool setDualVariableValuesDense(int solIdx, double *y);
04568
04578 bool setConstraintValuesDense(int solIdx, double *constraintValues);
04579
04592 bool setDualValue(int solIdx, int number, int idx, std::string name, double val);
04593
04607 bool setOtherConstraintResultNumberOfCon(int solIdx, int otherIdx, int numberOfCon);
04608
04622 bool setOtherConstraintResultNumberOfEnumerations(int solIdx, int otherIdx, int numberOfCon);
04623
04637 bool setOtherConstraintResultName(int solIdx, int otherIdx, std::string name);
04638
04652 bool setOtherConstraintResultType(int solIdx, int otherIdx, std::string type);
04653
04667 bool setOtherConstraintResultConType(int solIdx, int otherIdx, std::string conType);
04668
04682 bool setOtherConstraintResultEnumType(int solIdx, int otherIdx, std::string enumType);
04683
04697 bool setOtherConstraintResultValue(int solIdx, int otherIdx, std::string value);
04698
04712 bool setOtherConstraintResultDescription(int solIdx, int otherIdx, std::string description);
04713
04728 bool setOtherConstraintResultConIdx(int solIdx, int otherIdx, int conIdx, int idx);
04729
04744 bool setOtherConstraintResultConName(int solIdx, int otherIdx, int conIdx, std::string name);
04745
04760 bool setOtherConstraintResultCon(int solIdx, int otherIdx, int conIdx, std::string value);
04761
04780 bool setNumberOfOtherSolutionResults(int solIdx, int numberOfOtherSolutionResults);
04781
04791 bool setOtherSolutionResultName(int solIdx, int otherIdx, std::string name);
04792
04803 bool setOtherSolutionResultValue(int solIdx, int otherIdx, std::string value);
04804
04814 bool setOtherSolutionResultCategory(int solIdx, int otherIdx, std::string category);
04815
04825 bool setOtherSolutionResultDescription(int solIdx, int otherIdx, std::string description);
04826
04836 bool setOtherSolutionResultNumberOfItems(int solIdx, int otherIdx, int numberOfItems);
04837
04848 bool setOtherSolutionResultItem(int solIdx, int otherIdx, int itemIdx, std::string item);
04849
04862 bool setAnOtherSolutionResult(int solIdx, std::string name, std::string value, std::string category,
04863 std::string description, int numberOfItems, std::string* item);
04864
04873 bool setNumberOfSolverOutputs(int numberOfSolverOutputs);
04874
04882 bool setSolverOutputName(int otherIdx, std::string name);
04883
04891 bool setSolverOutputCategory(int otherIdx, std::string category);
04892
04900 bool setSolverOutputDescription(int otherIdx, std::string description);
04901
04910 bool setSolverOutputNumberOfItems(int otherIdx, int numberOfItems);
04911
04920 bool setSolverOutputItem(int otherIdx, int itemIdx, std::string item);
04921
04922
04923 };
04924 #endif
04925