00001
00016 #ifndef OSOPTION_H
00017 #define OSOPTION_H
00018
00019 #include <string>
00020 #include <vector>
00021 #include "OSGeneral.h"
00022 #include "OSMathUtil.h"
00023
00024
00025
00026
00027
00028
00040 class InstanceLocationOption
00041 {
00042
00043 public:
00045 std::string locationType;
00046
00048 std::string value;
00049
00054 InstanceLocationOption();
00055
00060 ~InstanceLocationOption();
00061
00066 bool IsEqual(InstanceLocationOption *that);
00067
00075 bool setRandom(double density, bool conformant);
00076
00082 bool deepCopyFrom(InstanceLocationOption *that);
00083 };
00084
00085
00097 class ContactOption
00098 {
00099
00100 public:
00102 std::string transportType;
00103
00105 std::string value;
00106
00111 ContactOption();
00116 ~ContactOption();
00117
00122 bool IsEqual(ContactOption *that);
00123
00131 bool setRandom(double density, bool conformant);
00132
00138 bool deepCopyFrom(ContactOption *that);
00139 };
00140
00141
00153 class OtherOption
00154 {
00155
00156 public:
00158 std::string name;
00159
00161 std::string value;
00162
00164 std::string description;
00165
00170 OtherOption();
00175 ~OtherOption();
00176
00181 bool IsEqual(OtherOption *that);
00182
00190 bool setRandom(double density, bool conformant);
00191
00197 bool deepCopyFrom(OtherOption *that);
00198 };
00199
00200
00212 class OtherOptions
00213 {
00214
00215 public:
00217 int numberOfOtherOptions;
00218
00220 OtherOption **other;
00221
00226 OtherOptions();
00231 ~OtherOptions();
00232
00237 bool IsEqual(OtherOptions *that);
00238
00246 bool setRandom(double density, bool conformant);
00247
00253 bool deepCopyFrom(OtherOptions *that);
00254
00261 bool setOther(int numberOfOptions, OtherOption** other);
00262
00270 bool addOther(std::string name, std::string value, std::string description);
00271 };
00272
00273
00285 class GeneralOption
00286 {
00287
00288 public:
00289
00291 std::string serviceURI;
00292
00294 std::string serviceName;
00295
00297 std::string instanceName;
00298
00300 InstanceLocationOption *instanceLocation;
00301
00303 std::string jobID;
00304
00306 std::string solverToInvoke;
00307
00309 std::string license;
00310
00312 std::string userName;
00313
00315 std::string password;
00316
00318 ContactOption *contact;
00319
00321 OtherOptions *otherOptions;
00322
00327 GeneralOption();
00332 ~GeneralOption();
00333
00338 bool IsEqual(GeneralOption *that);
00339
00347 bool setRandom(double density, bool conformant);
00348
00354 bool deepCopyFrom(GeneralOption *that);
00355 };
00356
00370 class MinDiskSpace
00371 {
00372
00373 public:
00375 std::string unit;
00376
00378 std::string description;
00379
00381 double value;
00382
00383
00388 MinDiskSpace();
00393 ~MinDiskSpace();
00394
00399 bool IsEqual(MinDiskSpace *that);
00400 };
00401
00415 class MinMemorySize
00416 {
00417
00418 public:
00420 std::string unit;
00421
00423 std::string description;
00424
00426 double value;
00427
00428
00433 MinMemorySize();
00438 ~MinMemorySize();
00439
00444 bool IsEqual(MinMemorySize *that);
00445 };
00446
00460 class MinCPUSpeed
00461 {
00462
00463 public:
00465 std::string unit;
00466
00468 std::string description;
00469
00471 double value;
00472
00473
00478 MinCPUSpeed();
00483 ~MinCPUSpeed();
00484
00489 bool IsEqual(MinCPUSpeed *that);
00490 };
00491
00505 class MinCPUNumber
00506 {
00507
00508 public:
00510 std::string description;
00511
00513 int value;
00514
00515
00520 MinCPUNumber();
00525 ~MinCPUNumber();
00526
00531 bool IsEqual(MinCPUNumber *that);
00532 };
00533
00534
00546 class SystemOption
00547 {
00548
00549 public:
00551 StorageCapacity *minDiskSpace;
00552
00554 StorageCapacity *minMemorySize;
00555
00557 CPUSpeed *minCPUSpeed;
00558
00560 CPUNumber *minCPUNumber;
00561
00563 OtherOptions *otherOptions;
00564
00569 SystemOption();
00574 ~SystemOption();
00575
00580 bool IsEqual(SystemOption *that);
00581
00589 bool setRandom(double density, bool conformant);
00590
00596 bool deepCopyFrom(SystemOption *that);
00597 };
00598
00599
00611 class ServiceOption
00612 {
00613
00614 public:
00616 std::string type;
00617
00619 OtherOptions *otherOptions;
00620
00625 ServiceOption();
00630 ~ServiceOption();
00631
00636 bool IsEqual(ServiceOption *that);
00637
00645 bool setRandom(double density, bool conformant);
00646
00652 bool deepCopyFrom(ServiceOption *that);
00653 };
00654
00655
00669 class MaxTime
00670 {
00671
00672 public:
00674 std::string unit;
00675
00677 double value;
00678
00679
00684 MaxTime();
00689 ~MaxTime();
00690
00695 bool IsEqual(MaxTime *that);
00696 };
00697
00698
00710 class JobDependencies
00711 {
00712
00713 public:
00715 int numberOfJobIDs;
00716
00718 std::string *jobID;
00719
00724 JobDependencies();
00729 ~JobDependencies();
00730
00735 bool IsEqual(JobDependencies *that);
00736
00744 bool setRandom(double density, bool conformant);
00745
00751 bool deepCopyFrom(JobDependencies *that);
00752
00759 bool setJobID(int numberOfJobIDs, std::string *jobID);
00760
00766 bool addJobID(std::string jobID);
00767 };
00768
00769
00781 class DirectoriesAndFiles
00782 {
00783
00784 public:
00786 int numberOfPaths;
00787
00789 std::string *path;
00790
00795 DirectoriesAndFiles();
00800 ~DirectoriesAndFiles();
00801
00806 bool IsEqual(DirectoriesAndFiles *that);
00807
00815 bool setRandom(double density, bool conformant);
00816
00822 bool deepCopyFrom(DirectoriesAndFiles *that);
00823
00830 bool setPath(int numberOfPaths, std::string *path);
00836 bool addPath(std::string path);
00837 };
00838
00839
00840
00852 class PathPair
00853 {
00854
00855 public:
00857 std::string from;
00858
00860 std::string to;
00861
00863 bool makeCopy;
00864
00869 PathPair();
00874 ~PathPair();
00875
00880 bool IsEqual(PathPair *that);
00881
00889 bool setRandom(double density, bool conformant);
00890
00896 bool deepCopyFrom(PathPair *that);
00897 };
00898
00899
00911 class PathPairs
00912 {
00913
00914 public:
00916 int numberOfPathPairs;
00917
00919 PathPair **pathPair;
00920
00925 PathPairs();
00930 ~PathPairs();
00931
00936 bool IsEqual(PathPairs *that);
00937
00945 bool setRandom(double density, bool conformant);
00946
00952 bool deepCopyFrom(PathPairs *that);
00953
00960 bool setPathPair(int numberOfPathPairs, PathPair **pathPair);
00961
00970 bool setPathPair(std::string *from, std::string *to, bool *makeCopy, int numberOfPathPairs);
00971
00979 bool addPathPair(std::string fromPath, std::string toPath, bool makeCopy);
00980 };
00981
00982
00994 class Processes
00995 {
00996
00997 public:
00999 int numberOfProcesses;
01000
01002 std::string *process;
01003
01008 Processes();
01013 ~Processes();
01014
01019 bool IsEqual(Processes *that);
01020
01028 bool setRandom(double density, bool conformant);
01029
01035 bool deepCopyFrom(Processes *that);
01036
01043 bool setProcess(int numberOfProcesses, std::string *process);
01044
01050 bool addProcess(std::string process);
01051 };
01052
01053
01065 class JobOption
01066 {
01067
01068 public:
01070 TimeSpan *maxTime;
01071
01073 std::string requestedStartTime;
01074
01076 JobDependencies *dependencies;
01077
01079 DirectoriesAndFiles *requiredDirectories;
01080
01082 DirectoriesAndFiles *requiredFiles;
01083
01085 DirectoriesAndFiles *directoriesToMake;
01086
01088 DirectoriesAndFiles *filesToMake;
01089
01091 PathPairs *inputDirectoriesToMove;
01092
01094 PathPairs *inputFilesToMove;
01095
01097 PathPairs *outputFilesToMove;
01098
01100 PathPairs *outputDirectoriesToMove;
01101
01103 DirectoriesAndFiles *filesToDelete;
01104
01106 DirectoriesAndFiles *directoriesToDelete;
01107
01109 Processes *processesToKill;
01110
01112 OtherOptions *otherOptions;
01113
01118 JobOption();
01123 ~JobOption();
01124
01129 bool IsEqual(JobOption *that);
01130
01138 bool setRandom(double density, bool conformant);
01139
01145 bool deepCopyFrom(JobOption *that);
01146 };
01147
01148
01160 class InitVarValue
01161 {
01162
01163 public:
01165 int idx;
01166
01168 std::string name;
01169
01171 double value;
01172
01177 InitVarValue();
01182 ~InitVarValue();
01183
01188 bool IsEqual(InitVarValue *that);
01189
01197 bool setRandom(double density, bool conformant);
01198
01204 bool deepCopyFrom(InitVarValue *that);
01205 };
01206
01207
01219 class InitVariableValues
01220 {
01221
01222 public:
01224 int numberOfVar;
01225
01227 InitVarValue **var;
01228
01233 InitVariableValues();
01238 ~InitVariableValues();
01239
01244 bool IsEqual(InitVariableValues *that);
01245
01253 bool setRandom(double density, bool conformant);
01254
01260 bool deepCopyFrom(InitVariableValues *that);
01261
01268 bool setVar(int numberOfVar, InitVarValue **var);
01269
01277 bool setVar(int numberOfVar, InitVarValue **var, ENUM_COMBINE_ARRAYS disp);
01278
01279
01288 bool setVar(int numberOfVar, int *idx, double *value, std::string *name);
01289
01296 bool addVar(int idx, double value);
01297
01306 bool addVar(int numberOfVar, InitVarValue **var);
01307 };
01308
01309
01321 class InitVarValueString
01322 {
01323
01324 public:
01326 int idx;
01327
01329 std::string name;
01330
01332 std::string value;
01333
01338 InitVarValueString();
01343 ~InitVarValueString();
01344
01349 bool IsEqual(InitVarValueString *that);
01350
01358 bool setRandom(double density, bool conformant);
01359
01365 bool deepCopyFrom(InitVarValueString *that);
01366 };
01367
01368
01380 class InitVariableValuesString
01381 {
01382
01383 public:
01385 int numberOfVar;
01386
01388 InitVarValueString **var;
01389
01394 InitVariableValuesString();
01399 ~InitVariableValuesString();
01400
01405 bool IsEqual(InitVariableValuesString *that);
01406
01414 bool setRandom(double density, bool conformant);
01415
01421 bool deepCopyFrom(InitVariableValuesString *that);
01422
01429 bool setVar(int numberOfVar, InitVarValueString **var);
01430
01438 bool setVar(int numberOfVar, InitVarValueString **var, ENUM_COMBINE_ARRAYS disp);
01439
01440
01449 bool setVar(int numberOfVar, int *idx, std::string *value, std::string* name);
01450
01457 bool addVar(int idx, std::string value);
01458
01467 bool addVar(int numberOfVar, InitVarValueString **var);
01468 };
01469
01482 class InitBasStatus
01483 {
01484
01485 public:
01487 int idx;
01488
01490 std::string value;
01491
01497 InitBasStatus();
01502 ~InitBasStatus();
01503
01508 bool IsEqual(InitBasStatus *that);
01509
01517 bool setRandom(double density, bool conformant);
01518
01524 bool deepCopyFrom(InitBasStatus *that);
01525 };
01526
01527
01541 class InitialBasisStatus
01542 {
01543
01544 public:
01546 int numberOfVar;
01547
01549 InitBasStatus **var;
01550
01555 InitialBasisStatus();
01560 ~InitialBasisStatus();
01561
01566 bool IsEqual(InitialBasisStatus *that);
01567
01575 bool setRandom(double density, bool conformant);
01576
01582 bool deepCopyFrom(InitialBasisStatus *that);
01583
01590 bool setVar(int numberOfVar, InitBasStatus **var);
01591
01598 bool addVar(int idx, std::string value);
01599 };
01600
01612 class BranchingWeight
01613 {
01614
01615 public:
01617 int idx;
01618
01620 std::string name;
01621
01623 double value;
01624
01629 BranchingWeight();
01634 ~BranchingWeight();
01635
01640 bool IsEqual(BranchingWeight *that);
01641
01649 bool setRandom(double density, bool conformant);
01650
01656 bool deepCopyFrom(BranchingWeight *that);
01657 };
01658
01659
01660
01672 class IntegerVariableBranchingWeights
01673 {
01674
01675 public:
01677 int numberOfVar;
01678
01680 BranchingWeight **var;
01681
01686 IntegerVariableBranchingWeights();
01691 ~IntegerVariableBranchingWeights();
01692
01697 bool IsEqual(IntegerVariableBranchingWeights *that);
01698
01706 bool setRandom(double density, bool conformant);
01707
01713 bool deepCopyFrom(IntegerVariableBranchingWeights *that);
01714
01721 bool setVar(int numberOfVar, BranchingWeight **var);
01722
01730 bool setVar(int numberOfVar, BranchingWeight **var, ENUM_COMBINE_ARRAYS disp);
01731
01740 bool setVar(int numberOfVar, int *idx, double *value, std::string* name);
01741
01748 bool addVar(int idx, double value);
01749
01758 bool addVar(int numberOfVar, BranchingWeight **var);
01759 };
01760
01776 class SOSWeights
01777 {
01778
01779 public:
01781 int sosIdx;
01782
01784 double groupWeight;
01785
01787 int numberOfVar;
01788
01790 BranchingWeight **var;
01791
01796 SOSWeights();
01801 ~SOSWeights();
01802
01807 bool IsEqual(SOSWeights *that);
01808
01816 bool setRandom(double density, bool conformant);
01817
01823 bool deepCopyFrom(SOSWeights *that);
01824
01831 bool setVar(int numberOfVar, BranchingWeight **var);
01832
01839 bool addVar(int idx, double value);
01840 };
01841
01842
01854 class SOSVariableBranchingWeights
01855 {
01856
01857 public:
01859 int numberOfSOS;
01860
01862 SOSWeights **sos;
01863
01868 SOSVariableBranchingWeights();
01873 ~SOSVariableBranchingWeights();
01874
01879 bool IsEqual(SOSVariableBranchingWeights *that);
01880
01888 bool setRandom(double density, bool conformant);
01889
01895 bool deepCopyFrom(SOSVariableBranchingWeights *that);
01896
01904 bool setSOS(int numberOfSOS, SOSWeights **sos);
01914 bool addSOS(int sosIdx, int nvar, double weight, int* idx, double* value, std::string* name);
01915 };
01916
01928 class OtherVarOption
01929 {
01930
01931 public:
01933 int idx;
01934
01936 std::string name;
01937
01939 std::string value;
01940
01942 std::string lbValue;
01943
01945 std::string ubValue;
01946
01951 OtherVarOption();
01956 ~OtherVarOption();
01957
01962 bool IsEqual(OtherVarOption *that);
01963
01971 bool setRandom(double density, bool conformant);
01972
01978 bool deepCopyFrom(OtherVarOption *that);
01979 };
01980
01981
01990 class OtherVariableOption
01991 {
01992
01993 public:
01995 int numberOfVar;
01996
01998 int numberOfEnumerations;
01999
02001 std::string name;
02002
02004 std::string value;
02005
02007 std::string solver;
02008
02010 std::string category;
02011
02013 std::string type;
02014
02016 std::string description;
02017
02019 OtherVarOption **var;
02020
02022 std::string varType;
02023
02024
02025
02026
02027
02028 OtherOptionEnumeration** enumeration;
02029
02031 std::string enumType;
02032
02037 OtherVariableOption();
02042 ~OtherVariableOption();
02043
02048 bool IsEqual(OtherVariableOption *that);
02049
02057 bool setRandom(double density, bool conformant);
02058
02064 bool deepCopyFrom(OtherVariableOption *that);
02065
02072 bool setVar(int numberOfVar, OtherVarOption **var);
02073
02082 bool addVar(int idx, std::string value, std::string lbValue, std::string ubValue);
02083 };
02084
02085
02097 class VariableOption
02098 {
02099
02100 public:
02102 int numberOfOtherVariableOptions;
02103
02105 InitVariableValues *initialVariableValues;
02106
02108 InitVariableValuesString *initialVariableValuesString;
02109
02111 BasisStatus *initialBasisStatus;
02112
02114 IntegerVariableBranchingWeights *integerVariableBranchingWeights;
02115
02117 SOSVariableBranchingWeights *sosVariableBranchingWeights;
02118
02120 OtherVariableOption **other;
02121
02126 VariableOption();
02131 ~VariableOption();
02132
02137 bool IsEqual(VariableOption *that);
02138
02146 bool setRandom(double density, bool conformant);
02147
02153 bool deepCopyFrom(VariableOption *that);
02154
02161 bool setOther(int numberOfOptions, OtherVariableOption **other);
02162
02168 bool addOther(OtherVariableOption *other);
02169 };
02170
02171
02183 class InitObjValue
02184 {
02185
02186 public:
02188 int idx;
02189
02191 std::string name;
02192
02194 double value;
02195
02200 InitObjValue();
02205 ~InitObjValue();
02206
02211 bool IsEqual(InitObjValue *that);
02212
02220 bool setRandom(double density, bool conformant);
02221
02227 bool deepCopyFrom(InitObjValue *that);
02228 };
02229
02230
02242 class InitObjectiveValues
02243 {
02244
02245 public:
02247 int numberOfObj;
02248
02250 InitObjValue **obj;
02251
02256 InitObjectiveValues();
02261 ~InitObjectiveValues();
02262
02267 bool IsEqual(InitObjectiveValues *that);
02268
02276 bool setRandom(double density, bool conformant);
02277
02283 bool deepCopyFrom(InitObjectiveValues *that);
02284
02291 bool setObj(int numberOfObj, InitObjValue **obj);
02292
02300 bool setObj(int numberOfObj, InitObjValue **obj, ENUM_COMBINE_ARRAYS disp);
02301
02302
02311 bool setObj(int numberOfObj, int *idx, double *value, std::string *name);
02312
02319 bool addObj(int idx, double value);
02320
02329 bool addObj(int numberOfObj, InitObjValue **obj);
02330 };
02331
02332
02344 class InitObjBound
02345 {
02346
02347 public:
02349 int idx;
02350
02352 std::string name;
02353
02355 double lbValue;
02356
02358 double ubValue;
02359
02364 InitObjBound();
02369 ~InitObjBound();
02370
02375 bool IsEqual(InitObjBound *that);
02376
02384 bool setRandom(double density, bool conformant);
02385
02391 bool deepCopyFrom(InitObjBound *that);
02392 };
02393
02394
02406 class InitObjectiveBounds
02407 {
02408
02409 public:
02411 int numberOfObj;
02412
02414 InitObjBound **obj;
02415
02420 InitObjectiveBounds();
02425 ~InitObjectiveBounds();
02426
02431 bool IsEqual(InitObjectiveBounds *that);
02432
02440 bool setRandom(double density, bool conformant);
02441
02447 bool deepCopyFrom(InitObjectiveBounds *that);
02448
02455 bool setObj(int numberOfObj, InitObjBound **obj);
02456
02464 bool setObj(int numberOfObj, InitObjBound **obj, ENUM_COMBINE_ARRAYS disp);
02465
02466
02476 bool setObj(int numberOfObj, int *idx, double *lbValue, double *ubValue, std::string *name);
02477
02485 bool addObj(int idx, double lbValue, double ubValue);
02486
02495 bool addObj(int numberOfObj, InitObjBound **obj);
02496 };
02497
02498
02510 class OtherObjOption
02511 {
02512
02513 public:
02515 int idx;
02516
02518 std::string name;
02519
02521 std::string value;
02522
02523
02525 std::string lbValue;
02526
02528 std::string ubValue;
02533 OtherObjOption();
02538 ~OtherObjOption();
02539
02544 bool IsEqual(OtherObjOption *that);
02545
02553 bool setRandom(double density, bool conformant);
02554
02560 bool deepCopyFrom(OtherObjOption *that);
02561 };
02562
02563
02575 class OtherObjectiveOption
02576 {
02577
02578 public:
02580 int numberOfObj;
02581
02583 int numberOfEnumerations;
02584
02586 std::string name;
02587
02589 std::string value;
02590
02592 std::string solver;
02593
02595 std::string category;
02596
02598 std::string type;
02599
02601 std::string description;
02602
02604 OtherObjOption **obj;
02605
02607 std::string objType;
02608
02609
02610
02611
02612
02613 OtherOptionEnumeration** enumeration;
02614
02616 std::string enumType;
02617
02622 OtherObjectiveOption();
02627 ~OtherObjectiveOption();
02628
02633 bool IsEqual(OtherObjectiveOption *that);
02634
02642 bool setRandom(double density, bool conformant);
02643
02649 bool deepCopyFrom(OtherObjectiveOption *that);
02650
02657 bool setObj(int numberOfObj, OtherObjOption **obj);
02658
02667 bool addObj(int idx, std::string value, std::string lbValue, std::string ubValue);
02668 };
02669
02670
02682 class ObjectiveOption
02683 {
02684
02685 public:
02687 int numberOfOtherObjectiveOptions;
02688
02690 InitObjectiveValues *initialObjectiveValues;
02691
02693 InitObjectiveBounds *initialObjectiveBounds;
02694
02696 BasisStatus *initialBasisStatus;
02697
02699 OtherObjectiveOption **other;
02700
02705 ObjectiveOption();
02710 ~ObjectiveOption();
02711
02716 bool IsEqual(ObjectiveOption *that);
02717
02725 bool setRandom(double density, bool conformant);
02726
02732 bool deepCopyFrom(ObjectiveOption *that);
02733
02740 bool setOther(int numberOfOptions, OtherObjectiveOption **other);
02741
02747 bool addOther(OtherObjectiveOption *other);
02748 };
02749
02750
02762 class InitConValue
02763 {
02764
02765 public:
02767 int idx;
02768
02770 std::string name;
02771
02773 double value;
02774
02779 InitConValue();
02784 ~InitConValue();
02785
02790 bool IsEqual(InitConValue *that);
02791
02799 bool setRandom(double density, bool conformant);
02800
02806 bool deepCopyFrom(InitConValue *that);
02807 };
02808
02809
02821 class InitConstraintValues
02822 {
02823
02824 public:
02826 int numberOfCon;
02827
02829 InitConValue **con;
02830
02835 InitConstraintValues();
02840 ~InitConstraintValues();
02841
02846 bool IsEqual(InitConstraintValues *that);
02847
02855 bool setRandom(double density, bool conformant);
02856
02862 bool deepCopyFrom(InitConstraintValues *that);
02863
02870 bool setCon(int numberOfCon, InitConValue **con);
02871
02879 bool setCon(int numberOfCon, InitConValue **con, ENUM_COMBINE_ARRAYS disp);
02880
02881
02890 bool setCon(int numberOfCon, int *idx, double *value, std::string *name);
02891
02898 bool addCon(int idx, double value);
02899
02908 bool addCon(int numberOfCon, InitConValue **con);
02909 };
02910
02911
02923 class InitDualVarValue
02924 {
02925
02926 public:
02928 int idx;
02929
02931 std::string name;
02932
02934 double lbDualValue;
02935
02937 double ubDualValue;
02938
02943 InitDualVarValue();
02944
02949 ~InitDualVarValue();
02950
02955 bool IsEqual(InitDualVarValue *that);
02956
02964 bool setRandom(double density, bool conformant);
02965
02971 bool deepCopyFrom(InitDualVarValue *that);
02972 };
02973
02974
02986 class InitDualVariableValues
02987 {
02988
02989 public:
02991 int numberOfCon;
02992
02994 InitDualVarValue **con;
02995
03000 InitDualVariableValues();
03005 ~InitDualVariableValues();
03006
03011 bool IsEqual(InitDualVariableValues *that);
03012
03020 bool setRandom(double density, bool conformant);
03021
03027 bool deepCopyFrom(InitDualVariableValues *that);
03028
03035 bool setCon(int numberOfCon, InitDualVarValue **con);
03036
03044 bool setCon(int numberOfCon, InitDualVarValue **con, ENUM_COMBINE_ARRAYS disp);
03045
03046
03056 bool setCon(int numberOfCon, int *idx, double *lbValue, double *ubValue, std::string *name);
03057
03065 bool addCon(int idx, double lbDualValue, double ubDualValue);
03066
03075 bool addCon(int numberOfCon, InitDualVarValue **con);
03076 };
03077
03078
03090 class OtherConOption
03091 {
03092
03093 public:
03095 int idx;
03096
03098 std::string name;
03099
03101 std::string value;
03102
03104 std::string lbValue;
03105
03107 std::string ubValue;
03108
03113 OtherConOption();
03118 ~OtherConOption();
03119
03124 bool IsEqual(OtherConOption *that);
03125
03133 bool setRandom(double density, bool conformant);
03134
03140 bool deepCopyFrom(OtherConOption *that);
03141 };
03142
03143
03155 class OtherConstraintOption
03156 {
03157
03158 public:
03160 int numberOfCon;
03161
03163 int numberOfEnumerations;
03164
03166 std::string name;
03167
03169 std::string value;
03170
03172 std::string solver;
03173
03175 std::string category;
03176
03178 std::string type;
03179
03181 std::string description;
03182
03184 OtherConOption **con;
03185
03187 std::string conType;
03188
03189
03190
03191
03192
03193 OtherOptionEnumeration** enumeration;
03194
03196 std::string enumType;
03197
03202 OtherConstraintOption();
03207 ~OtherConstraintOption();
03208
03213 bool IsEqual(OtherConstraintOption *that);
03214
03222 bool setRandom(double density, bool conformant);
03223
03229 bool deepCopyFrom(OtherConstraintOption *that);
03230
03237 bool setCon(int numberOfCon, OtherConOption **con);
03238
03247 bool addCon(int idx, std::string value, std::string lbValue, std::string ubValue);
03248 };
03249
03250
03262 class ConstraintOption
03263 {
03264
03265 public:
03267 int numberOfOtherConstraintOptions;
03268
03270 InitConstraintValues *initialConstraintValues;
03271
03273 InitDualVariableValues *initialDualValues;
03274
03276 BasisStatus *initialBasisStatus;
03277
03279 OtherConstraintOption **other;
03280
03285 ConstraintOption();
03290 ~ConstraintOption();
03291
03296 bool IsEqual(ConstraintOption *that);
03297
03305 bool setRandom(double density, bool conformant);
03306
03312 bool deepCopyFrom(ConstraintOption *that);
03313
03320 bool setOther(int numberOfOptions, OtherConstraintOption **other);
03321
03327 bool addOther(OtherConstraintOption *other);
03328 };
03329
03330
03342 class SolverOption
03343 {
03344
03345 public:
03347 std::string name;
03348
03350 std::string value;
03351
03353 std::string solver;
03354
03356 std::string category;
03357
03359 std::string type;
03360
03362 std::string description;
03363
03365 int numberOfItems;
03366
03368 std::string* item;
03369
03374 SolverOption();
03379 ~SolverOption();
03380
03385 bool IsEqual(SolverOption *that);
03386
03394 bool setRandom(double density, bool conformant);
03395
03401 bool deepCopyFrom(SolverOption *that);
03402 };
03403
03404
03416 class SolverOptions
03417 {
03418
03419 public:
03421 int numberOfSolverOptions;
03422
03424 SolverOption **solverOption;
03425
03430 SolverOptions();
03435 ~SolverOptions();
03436
03441 bool IsEqual(SolverOptions *that);
03442
03450 bool setRandom(double density, bool conformant);
03451
03457 bool deepCopyFrom(SolverOptions *that);
03458
03465 bool setSolverOptions(int numberOfOptions, SolverOption **solverOption);
03466
03477 bool addSolverOption(std::string name, std::string value, std::string solver,
03478 std::string category, std::string type, std::string description);
03479 };
03480
03481
03493 class OptimizationOption
03494 {
03495
03496 public:
03498 int numberOfVariables;
03499
03501 int numberOfObjectives;
03502
03504 int numberOfConstraints;
03505
03507 VariableOption *variables;
03508
03510 ObjectiveOption *objectives;
03511
03513 ConstraintOption *constraints;
03514
03516 SolverOptions *solverOptions;
03521 OptimizationOption();
03526 ~OptimizationOption();
03527
03532 bool IsEqual(OptimizationOption *that);
03533
03541 bool setRandom(double density, bool conformant);
03542
03548 bool deepCopyFrom(OptimizationOption *that);
03549 };
03550
03551
03562 class OSOption
03563 {
03564
03565 public:
03566
03574 GeneralFileHeader *optionHeader;
03578 GeneralOption *general;
03582 SystemOption *system;
03586 ServiceOption *service;
03590 JobOption *job;
03594 OptimizationOption *optimization;
03595
03600 OSOption();
03605 ~OSOption();
03606
03616 bool setOptionHeader(std::string name, std::string source,
03617 std::string fileCreator, std::string description, std::string licence);
03618
03619 private:
03623 double* m_mdInitVarValuesDense;
03624
03628 std::string* m_mdInitVarValuesStringDense;
03629
03633 int* m_mdInitBasisStatusDense;
03634
03638 double* m_mdIntegerVariableBranchingWeightsDense;
03639
03643 double* m_mdInitObjValuesDense;
03644
03648 double* m_mdInitObjLowerBoundsDense;
03649
03653 double* m_mdInitObjUpperBoundsDense;
03654
03658 double* m_mdInitConValuesDense;
03659
03664 double* m_mdInitDualVarLowerBoundsDense;
03665
03670 double* m_mdInitDualVarUpperBoundsDense;
03671
03672 public:
03676 bool IsEqual(OSOption *that);
03677
03684 bool setRandom(double density, bool conformant);
03685
03691 bool deepCopyFrom(OSOption *that);
03692
03693 public:
03694
03695
03696
03700 std::string getFileName();
03701
03705 std::string getFileSource();
03706
03710 std::string getFileDescription();
03711
03715 std::string getFileCreator();
03716
03720 std::string getFileLicence();
03721
03725 std::string getServiceURI();
03726
03730 std::string getServiceName();
03731
03735 std::string getInstanceName();
03736
03740 std::string getInstanceLocation();
03741
03745 std::string getInstanceLocationType();
03746
03751 std::string getJobID();
03752
03756 std::string getSolverToInvoke();
03757
03761 std::string getLicense();
03762
03766 std::string getUserName();
03767
03771 std::string getPassword();
03772
03776 std::string getContact();
03777
03781 std::string getContactTransportType();
03782
03786 std::string getMinDiskSpaceUnit();
03787
03791 std::string getMinDiskSpaceDescription();
03792
03796 std::string getMinMemoryUnit();
03797
03801 std::string getMinMemoryDescription();
03802
03806 std::string getMinCPUSpeedUnit();
03807
03811 std::string getMinCPUSpeedDescription();
03812
03816 std::string getMinCPUNumberDescription();
03817
03821 std::string getServiceType();
03822
03826 std::string getMaxTimeUnit();
03827
03831 std::string getRequestedStartTime();
03832
03836 std::string getOptionStr(std::string optionName);
03837
03841 double getMinDiskSpace();
03842
03846 double getMinMemorySize();
03847
03851 double getMinCPUSpeed();
03852
03856 double getMaxTime();
03857
03861 double getOptionDbl(std::string optionName);
03862
03866 int getMinCPUNumber();
03867
03871 int getNumberOfOtherGeneralOptions();
03872
03876 int getNumberOfOtherSystemOptions();
03877
03881 int getNumberOfOtherServiceOptions();
03882
03886 int getNumberOfOtherJobOptions();
03887
03891 int getNumberOfJobDependencies();
03892
03896 int getNumberOfRequiredDirectories();
03897
03901 int getNumberOfRequiredFiles();
03902
03906 int getNumberOfDirectoriesToMake();
03907
03911 int getNumberOfFilesToMake();
03912
03916 int getNumberOfInputDirectoriesToMove();
03917
03921 int getNumberOfInputFilesToMove();
03922
03926 int getNumberOfOutputDirectoriesToMove();
03927
03931 int getNumberOfOutputFilesToMove();
03932
03936 int getNumberOfFilesToDelete();
03937
03941 int getNumberOfDirectoriesToDelete();
03942
03946 int getNumberOfProcessesToKill();
03947
03951 int getNumberOfVariables();
03952
03956 int getNumberOfObjectives();
03957
03961 int getNumberOfConstraints();
03962
03968 int getNumberOfInitVarValues();
03969
03975 int getNumberOfInitVarValuesString();
03976
03982 int getNumberOfIntegerVariableBranchingWeights();
03983
03989 int getNumberOfSOS();
03990
03996 int getNumberOfSOSVarBranchingWeights(int iSOS);
03997
04003 int getNumberOfOtherVariableOptions();
04004
04010 int getNumberOfInitObjValues();
04011
04017 int getNumberOfInitObjBounds();
04018
04024 int getNumberOfOtherObjectiveOptions();
04025
04031 int getNumberOfInitConValues();
04032
04038 int getNumberOfInitDualVarValues();
04039
04045 int getNumberOfOtherConstraintOptions();
04046
04052 int getNumberOfSolverOptions();
04053
04057 int getOptionInt(std::string optionName);
04058
04059
04067 OtherOption** getOtherGeneralOptions();
04068
04076 OtherOption** getOtherSystemOptions();
04077
04085 OtherOption** getOtherServiceOptions();
04086
04094 OtherOption** getOtherJobOptions();
04095
04103 OtherOption** getOtherOptions(std::string elementName);
04104
04105
04113 OtherOption** getAllOtherOptions();
04114
04121 std::string* getJobDependencies();
04122
04130 std::string* getRequiredDirectories();
04131
04139 std::string* getRequiredFiles();
04140
04148 std::string* getDirectoriesToMake();
04149
04157 std::string* getFilesToMake();
04158
04166 PathPair** getInputDirectoriesToMove();
04167
04175 PathPair** getInputFilesToMove();
04176
04184 PathPair** getOutputDirectoriesToMove();
04185
04193 PathPair** getOutputFilesToMove();
04194
04202 std::string* getDirectoriesToDelete();
04203
04211 std::string* getFilesToDelete();
04212
04220 std::string* getProcessesToKill();
04221
04229 InitVarValue** getInitVarValuesSparse();
04230
04238 double* getInitVarValuesDense();
04239
04248 double* getInitVarValuesDense(int numberOfVariables);
04249
04257 InitVarValueString** getInitVarValuesStringSparse();
04258
04266 std::string *getInitVarValuesStringDense();
04267
04276 std::string *getInitVarValuesStringDense(int numberOfVariables);
04277
04285 InitBasStatus** getInitBasisStatusSparse();
04286
04294 std::string *getInitBasisStatusDense();
04295
04304 int* getVariableInitialBasisStatusDense(int numberOfVariables);
04305
04316 int getNumberOfInitialBasisElements(int type, int status);
04317
04329 bool getInitialBasisElements(int type, int status, int* elem);
04330
04338 BranchingWeight** getIntegerVariableBranchingWeightsSparse();
04339
04347 double* getIntegerVariableBranchingWeightsDense();
04348
04357 double* getIntegerVariableBranchingWeightsDense(int numberOfVariables);
04358
04366 SOSWeights** getSOSVariableBranchingWeightsSparse();
04367
04376 std::vector<OtherVariableOption*> getOtherVariableOptions(std::string solver_name);
04377
04385 OtherVariableOption* getOtherVariableOption(int optionNumber);
04386
04393 OtherVariableOption** getAllOtherVariableOptions();
04394
04402 InitObjValue** getInitObjValuesSparse();
04403
04411 double *getInitObjValuesDense();
04412
04421 double *getInitObjValuesDense(int numberOfObjectives);
04422
04430 InitObjBound** getInitObjBoundsSparse();
04431
04439 double *getInitObjLowerBoundsDense();
04440
04449 double *getInitObjLowerBoundsDense(int numberOfObjectives);
04450
04458 double *getInitObjUpperBoundsDense();
04459
04468 double *getInitObjUpperBoundsDense(int numberOfObjectives);
04469
04478 int* getObjectiveInitialBasisStatusDense(int numberOfObjectives);
04479
04487 std::vector<OtherObjectiveOption*> getOtherObjectiveOptions(std::string solver_name);
04488
04496 OtherObjectiveOption* getOtherObjectiveOption(int optionNumber);
04497
04504 OtherObjectiveOption** getAllOtherObjectiveOptions();
04505
04513 InitConValue** getInitConValuesSparse();
04514
04522 double *getInitConValuesDense();
04523
04532 double *getInitConValuesDense(int numberOfConstraints);
04533
04541 InitDualVarValue** getInitDualVarValuesSparse();
04542
04550 double *getInitDualVarLowerBoundsDense();
04551
04560 double *getInitDualVarLowerBoundsDense(int numberOfConstraints);
04561
04562
04570 double *getInitDualVarUpperBoundsDense();
04571
04580 double *getInitDualVarUpperBoundsDense(int numberOfConstraints);
04581
04590 int* getSlackVariableInitialBasisStatusDense(int numberOfConstraints);
04591
04599 std::vector<OtherConstraintOption*> getOtherConstraintOptions(std::string solver_name);
04600
04608 OtherConstraintOption* getOtherConstraintOption(int optionNumber);
04609
04616 OtherConstraintOption** getAllOtherConstraintOptions();
04617
04626 std::vector<SolverOption*> getSolverOptions( std::string solver_name);
04627
04628
04640 std::vector<SolverOption*> getSolverOptions( std::string solver_name, bool getFreeOptions);
04641
04648 SolverOption** getAllSolverOptions();
04649
04650
04651
04652
04653
04657 bool setServiceURI( std::string serviceURI);
04658
04662 bool setServiceName( std::string serviceName);
04663
04667 bool setInstanceName( std::string instanceName);
04668
04672 bool setInstanceLocation( std::string instanceLocation);
04673
04678 bool setInstanceLocation( std::string instanceLocation, std::string locationType);
04679
04683 bool setInstanceLocationType( std::string locationType);
04684
04688 bool setJobID( std::string jobID);
04689
04693 bool setSolverToInvoke( std::string solverToInvoke);
04694
04698 bool setLicense( std::string license);
04699
04703 bool setUserName( std::string userName);
04704
04708 bool setPassword( std::string password);
04709
04713 bool setContact( std::string contact);
04714
04719 bool setContact( std::string contact, std::string transportType);
04720
04724 bool setContactTransportType( std::string transportType);
04725
04731 bool setOtherGeneralOptions(int numberOfOptions, OtherOption** other);
04732
04739 bool setAnOtherGeneralOption(std::string name, std::string value, std::string description);
04740
04747 bool setMinDiskSpace(std::string unit, std::string description, double value);
04748
04752 bool setMinDiskSpace(double value);
04753
04754 bool setMinDiskSpaceUnit(std::string unit);
04755
04762 bool setMinMemorySize(std::string unit, std::string description, double value);
04763
04767 bool setMinMemorySize(double value);
04768
04769 bool setMinMemoryUnit(std::string unit);
04770
04777 bool setMinCPUSpeed(std::string unit, std::string description, double value);
04778
04782 bool setMinCPUSpeed(double value);
04783
04784 bool setMinCPUSpeedUnit(std::string unit);
04785
04791 bool setMinCPUNumber( int number, std::string description);
04792
04796 bool setMinCPUNumber( int number);
04797
04798 bool setOtherSystemOptions(int numberOfOptions, OtherOption** other);
04799
04800 bool setAnOtherSystemOption(std::string name, std::string value, std::string description);
04801
04802
04803 bool setServiceType( std::string serviceType);
04804
04805 bool setOtherServiceOptions(int numberOfOptions, OtherOption** other);
04806
04807 bool setAnOtherServiceOption(std::string name, std::string value, std::string description);
04808
04809
04810 bool setMaxTime(double value, std::string unit);
04811
04812 bool setMaxTime(double value);
04813
04814 bool setMaxTimeUnit(std::string unit);
04815
04816 bool setRequestedStartTime(std::string time);
04817
04818 bool setJobDependencies(int numberOfDependencies, std::string* jobDependencies);
04819 bool setAnotherJobDependency(std::string jobID);
04820
04821 bool setRequiredDirectories(int numberOfPaths, std::string* paths);
04822 bool setAnotherRequiredDirectory(std::string path);
04823
04824 bool setRequiredFiles(int numberOfPaths, std::string* paths);
04825 bool setAnotherRequiredFile(std::string path);
04826
04827 bool setDirectoriesToMake(int numberOfPaths, std::string* paths);
04828 bool setAnotherDirectoryToMake(std::string path);
04829
04830 bool setFilesToMake(int numberOfPaths, std::string* paths);
04831 bool setAnotherFileToMake(std::string path);
04832
04850 bool setPathPairs(int object, std::string *from, std::string *to, bool *makeCopy, int numberOfPathPairs);
04851
04852 bool setInputDirectoriesToMove(int numberOfPathPairs, PathPair** pathPair);
04853 bool setAnotherInputDirectoryToMove(std::string fromPath, std::string toPath, bool makeCopy);
04854
04855 bool setInputFilesToMove(int numberOfPathPairs, PathPair** pathPair);
04856 bool setAnotherInputFileToMove(std::string fromPath, std::string toPath, bool makeCopy);
04857
04858 bool setOutputFilesToMove(int numberOfPathPairs, PathPair** pathPair);
04859 bool setAnotherOutputFileToMove(std::string fromPath, std::string toPath, bool makeCopy);
04860
04861 bool setOutputDirectoriesToMove(int numberOfPathPairs, PathPair** pathPair);
04862 bool setAnotherOutputDirectoryToMove(std::string fromPath, std::string toPath, bool makeCopy);
04863
04864 bool setFilesToDelete(int numberOfPaths, std::string* paths);
04865 bool setAnotherFileToDelete(std::string path);
04866
04867 bool setDirectoriesToDelete(int numberOfPaths, std::string* paths);
04868 bool setAnotherDirectoryToDelete(std::string path);
04869
04870 bool setProcessesToKill(int numberOfProcesses, std::string* processes);
04871 bool setAnotherProcessToKill(std::string process);
04872
04873 bool setOtherJobOptions(int numberOfOptions, OtherOption** other);
04874 bool setAnOtherJobOption(std::string name, std::string value, std::string description);
04875
04876
04877 bool setNumberOfVariables(int numberOfVariables);
04878
04879 bool setNumberOfObjectives(int numberOfObjectives);
04880
04881 bool setNumberOfConstraints(int numberOfConstraints);
04882
04883 bool setInitVarValues(int numberOfVar, int* idx, double* value, std::string* name);
04884 bool setInitVarValuesSparse(int numberOfVar, InitVarValue** var);
04885 bool setInitVarValuesSparse(int numberOfVar, InitVarValue** var, ENUM_COMBINE_ARRAYS disp);
04886 bool setInitVarValuesDense(int numberOfVar, double *value);
04887 bool setAnotherInitVarValue(int idx, double value);
04888
04889 bool setInitVarValuesString(int numberOfVar, int* idx, std::string* value, std::string* name);
04890 bool setInitVarValuesStringSparse(int numberOfVar, InitVarValueString** var);
04891 bool setInitVarValuesStringSparse(int numberOfVar, InitVarValueString** var, ENUM_COMBINE_ARRAYS disp);
04892 bool setInitVarValuesStringDense(int numberOfVar, std::string *value);
04893 bool setAnotherInitVarValueString(int idx, std::string value);
04894
04895 bool setInitBasisStatus(int object, int status, int *i, int ni);
04896 bool setInitBasisStatusSparse(int numberOfVar, InitBasStatus** var);
04897 bool setInitBasisStatusSparse(int numberOfVar, InitBasStatus** var, ENUM_COMBINE_ARRAYS disp);
04898 bool setInitBasisStatusDense(int numberOfVar, std::string *var);
04899
04908 bool setAnotherInitBasisStatus(int type, int idx, int status);
04909
04910 bool setIntegerVariableBranchingWeights(int numberOfVar, int* idx, double* value, std::string* name);
04911 bool setIntegerVariableBranchingWeightsSparse(int numberOfVar, BranchingWeight** var);
04912 bool setIntegerVariableBranchingWeightsSparse(int numberOfVar, BranchingWeight** var, ENUM_COMBINE_ARRAYS disp);
04913 bool setIntegerVariableBranchingWeightsDense(int numberOfVar, double *value);
04914 bool setAnotherIntegerVariableBranchingWeight(int idx, double value);
04915
04916 bool setSOSVariableBranchingWeights(int numberOfSOS, SOSWeights** sos);
04917 bool setAnotherSOSVariableBranchingWeight(int sosIdx, int nvar, double weight, int* idx, double* value, std::string* name);
04918
04919 bool setNumberOfOtherVariableOptions(int numberOfOther);
04920 bool setOtherVariableOptions(int numberOfVar, OtherVariableOption** var);
04921 bool setAnOtherVariableOption(OtherVariableOption* varOption);
04922
04938 bool setOtherVariableOptionAttributes(int iOther, int numberOfVar,
04939 int numberOfEnumerations, std::string name,
04940 std::string value, std::string solver,
04941 std::string category, std::string type,
04942 std::string varType, std::string enumType,
04943 std::string description);
04944
04945
04958 bool setOtherOptionEnumeration(int object, int otherOptionNumber, int enumerationNumber,
04959 int numberOfEl, std::string value, std::string description, int* idxArray);
04960
04971 bool setOtherVariableOptionVar(int otherOptionNumber, int varNumber,
04972 int idx, std::string name, std::string value, std::string lbValue, std::string ubValue);
04973
04974 bool setInitObjValues(int numberOfObj, int* idx, double* value, std::string* name);
04975 bool setInitObjValuesSparse(int numberOfObj, InitObjValue** obj);
04976 bool setInitObjValuesSparse(int numberOfObj, InitObjValue** obj, ENUM_COMBINE_ARRAYS disp);
04977 bool setInitObjValuesDense(int numberOfObj, double *value);
04978 bool setAnotherInitObjValue(int idx, double value);
04979
04980 bool setInitObjBounds(int numberOfObj, int* idx, double* lbValue, double* ubValue, std::string* name);
04981 bool setInitObjBoundsSparse(int numberOfObj, InitObjBound** obj);
04982 bool setInitObjBoundsSparse(int numberOfObj, InitObjBound** obj, ENUM_COMBINE_ARRAYS disp);
04983 bool setInitObjBoundsDense(int numberOfObj, double *lb, double *ub);
04984 bool setAnotherInitObjBound(int idx, double lbValue, double ubValue);
04985
04986 bool setNumberOfOtherObjectiveOptions(int numberOfOther);
04987 bool setOtherObjectiveOptions(int numberOfObj, OtherObjectiveOption** obj);
04988
04989 bool setAnOtherObjectiveOption(OtherObjectiveOption* objOption);
04990
05006 bool setOtherObjectiveOptionAttributes(int iOther, int numberOfObj,
05007 int numberOfEnumerations, std::string name,
05008 std::string value, std::string solver,
05009 std::string category, std::string type,
05010 std::string objType, std::string enumType,
05011 std::string description);
05012
05013
05025 bool setOtherObjectiveOptionObj(int otherOptionNumber, int objNumber,
05026 int idx, std::string name, std::string value, std::string lbValue, std::string ubValue);
05027
05028 bool setInitConValues(int numberOfCon, int* idx, double* value, std::string* name);
05029 bool setInitConValuesSparse(int numberOfCon, InitConValue** con);
05030 bool setInitConValuesSparse(int numberOfCon, InitConValue** con, ENUM_COMBINE_ARRAYS disp);
05031 bool setInitConValuesDense(int numberOfCon, double *value);
05032 bool setAnotherInitConValue(int idx, double value);
05033
05034 bool setInitDualValues(int numberOfCon, int* idx, double* lbValue, double* ubValue, std::string* name);
05035 bool setInitDualVarValuesSparse(int numberOfCon, InitDualVarValue** con);
05036 bool setInitDualVarValuesSparse(int numberOfCon, InitDualVarValue** con, ENUM_COMBINE_ARRAYS disp);
05037 bool setInitDualVarValuesDense(int numberOfCon, double *lb, double *ub);
05038 bool setAnotherInitDualVarValue(int idx, double lbValue, double ubValue);
05039
05040 bool setNumberOfOtherConstraintOptions(int numberOfOther);
05041 bool setOtherConstraintOptions(int numberOfOptions, OtherConstraintOption** other);
05042
05043 bool setAnOtherConstraintOption(OtherConstraintOption* optionValue);
05044
05060 bool setOtherConstraintOptionAttributes(int iOther, int numberOfCon,
05061 int numberOfEnumerations, std::string name,
05062 std::string value, std::string solver,
05063 std::string category, std::string type,
05064 std::string conType, std::string enumType,
05065 std::string description);
05066
05067
05079 bool setOtherConstraintOptionCon(int otherOptionNumber, int conNumber,
05080 int idx, std::string name, std::string value, std::string lbValue, std::string ubValue);
05081
05082 bool setNumberOfSolverOptions(int numberOfOptions);
05083
05097 bool setSolverOptionContent(int iOption, int numberOfItems,
05098 std::string name,
05099 std::string value, std::string solver,
05100 std::string category, std::string type,
05101 std::string description, std::string *itemList);
05102
05103 bool setSolverOptions(int numberOfSolverOptions, SolverOption** solverOption);
05104 bool setAnotherSolverOption(std::string name, std::string value, std::string solver,
05105 std::string category, std::string type, std::string description);
05106
05107
05108 bool setOptionInt(std::string optionName, int optionValue);
05109
05110 bool setOptionStr(std::string optionName, std::string optionValue);
05111
05112 bool setOptionDbl(std::string optionName, double value);
05113
05114 };
05115
05116 #endif