00001
00015 #ifndef OSOPTION_H
00016 #define OSOPTION_H
00017
00018 #include <string>
00019 #include <vector>
00020 #include "OSGeneral.h"
00021 #include "OSMathUtil.h"
00022
00023
00024
00025
00026
00027
00039 class InstanceLocationOption
00040 {
00041
00042 public:
00044 std::string locationType;
00045
00047 std::string value;
00048
00053 InstanceLocationOption();
00054
00059 ~InstanceLocationOption();
00060
00065 bool IsEqual(InstanceLocationOption *that);
00066
00074 bool setRandom(double density, bool conformant);
00075
00081 bool deepCopyFrom(InstanceLocationOption *that);
00082 };
00083
00084
00096 class ContactOption
00097 {
00098
00099 public:
00101 std::string transportType;
00102
00104 std::string value;
00105
00110 ContactOption();
00115 ~ContactOption();
00116
00121 bool IsEqual(ContactOption *that);
00122
00130 bool setRandom(double density, bool conformant);
00131
00137 bool deepCopyFrom(ContactOption *that);
00138 };
00139
00140
00152 class OtherOption
00153 {
00154
00155 public:
00157 std::string name;
00158
00160 std::string value;
00161
00163 std::string description;
00164
00169 OtherOption();
00174 ~OtherOption();
00175
00180 bool IsEqual(OtherOption *that);
00181
00189 bool setRandom(double density, bool conformant);
00190
00196 bool deepCopyFrom(OtherOption *that);
00197 };
00198
00199
00211 class OtherOptions
00212 {
00213
00214 public:
00216 int numberOfOtherOptions;
00217
00219 OtherOption **other;
00220
00225 OtherOptions();
00230 ~OtherOptions();
00231
00236 bool IsEqual(OtherOptions *that);
00237
00245 bool setRandom(double density, bool conformant);
00246
00252 bool deepCopyFrom(OtherOptions *that);
00253
00260 bool setOther(int numberOfOptions, OtherOption** other);
00261
00269 bool addOther(std::string name, std::string value, std::string description);
00270 };
00271
00272
00284 class GeneralOption
00285 {
00286
00287 public:
00288
00290 std::string serviceURI;
00291
00293 std::string serviceName;
00294
00296 std::string instanceName;
00297
00299 InstanceLocationOption *instanceLocation;
00300
00302 std::string jobID;
00303
00305 std::string solverToInvoke;
00306
00308 std::string license;
00309
00311 std::string userName;
00312
00314 std::string password;
00315
00317 ContactOption *contact;
00318
00320 OtherOptions *otherOptions;
00321
00326 GeneralOption();
00331 ~GeneralOption();
00332
00337 bool IsEqual(GeneralOption *that);
00338
00346 bool setRandom(double density, bool conformant);
00347
00353 bool deepCopyFrom(GeneralOption *that);
00354 };
00355
00369 class MinDiskSpace
00370 {
00371
00372 public:
00374 std::string unit;
00375
00377 std::string description;
00378
00380 double value;
00381
00382
00387 MinDiskSpace();
00392 ~MinDiskSpace();
00393
00398 bool IsEqual(MinDiskSpace *that);
00399 };
00400
00414 class MinMemorySize
00415 {
00416
00417 public:
00419 std::string unit;
00420
00422 std::string description;
00423
00425 double value;
00426
00427
00432 MinMemorySize();
00437 ~MinMemorySize();
00438
00443 bool IsEqual(MinMemorySize *that);
00444 };
00445
00459 class MinCPUSpeed
00460 {
00461
00462 public:
00464 std::string unit;
00465
00467 std::string description;
00468
00470 double value;
00471
00472
00477 MinCPUSpeed();
00482 ~MinCPUSpeed();
00483
00488 bool IsEqual(MinCPUSpeed *that);
00489 };
00490
00504 class MinCPUNumber
00505 {
00506
00507 public:
00509 std::string description;
00510
00512 int value;
00513
00514
00519 MinCPUNumber();
00524 ~MinCPUNumber();
00525
00530 bool IsEqual(MinCPUNumber *that);
00531 };
00532
00533
00545 class SystemOption
00546 {
00547
00548 public:
00550 StorageCapacity *minDiskSpace;
00551
00553 StorageCapacity *minMemorySize;
00554
00556 CPUSpeed *minCPUSpeed;
00557
00559 CPUNumber *minCPUNumber;
00560
00562 OtherOptions *otherOptions;
00563
00568 SystemOption();
00573 ~SystemOption();
00574
00579 bool IsEqual(SystemOption *that);
00580
00588 bool setRandom(double density, bool conformant);
00589
00595 bool deepCopyFrom(SystemOption *that);
00596 };
00597
00598
00610 class ServiceOption
00611 {
00612
00613 public:
00615 std::string type;
00616
00618 OtherOptions *otherOptions;
00619
00624 ServiceOption();
00629 ~ServiceOption();
00630
00635 bool IsEqual(ServiceOption *that);
00636
00644 bool setRandom(double density, bool conformant);
00645
00651 bool deepCopyFrom(ServiceOption *that);
00652 };
00653
00654
00668 class MaxTime
00669 {
00670
00671 public:
00673 std::string unit;
00674
00676 double value;
00677
00678
00683 MaxTime();
00688 ~MaxTime();
00689
00694 bool IsEqual(MaxTime *that);
00695 };
00696
00697
00709 class JobDependencies
00710 {
00711
00712 public:
00714 int numberOfJobIDs;
00715
00717 std::string *jobID;
00718
00723 JobDependencies();
00728 ~JobDependencies();
00729
00734 bool IsEqual(JobDependencies *that);
00735
00743 bool setRandom(double density, bool conformant);
00744
00750 bool deepCopyFrom(JobDependencies *that);
00751
00758 bool setJobID(int numberOfJobIDs, std::string *jobID);
00759
00765 bool addJobID(std::string jobID);
00766 };
00767
00768
00780 class DirectoriesAndFiles
00781 {
00782
00783 public:
00785 int numberOfPaths;
00786
00788 std::string *path;
00789
00794 DirectoriesAndFiles();
00799 ~DirectoriesAndFiles();
00800
00805 bool IsEqual(DirectoriesAndFiles *that);
00806
00814 bool setRandom(double density, bool conformant);
00815
00821 bool deepCopyFrom(DirectoriesAndFiles *that);
00822
00829 bool setPath(int numberOfPaths, std::string *path);
00835 bool addPath(std::string path);
00836 };
00837
00838
00839
00851 class PathPair
00852 {
00853
00854 public:
00856 std::string from;
00857
00859 std::string to;
00860
00862 bool makeCopy;
00863
00868 PathPair();
00873 ~PathPair();
00874
00879 bool IsEqual(PathPair *that);
00880
00888 bool setRandom(double density, bool conformant);
00889
00895 bool deepCopyFrom(PathPair *that);
00896 };
00897
00898
00910 class PathPairs
00911 {
00912
00913 public:
00915 int numberOfPathPairs;
00916
00918 PathPair **pathPair;
00919
00924 PathPairs();
00929 ~PathPairs();
00930
00935 bool IsEqual(PathPairs *that);
00936
00944 bool setRandom(double density, bool conformant);
00945
00951 bool deepCopyFrom(PathPairs *that);
00952
00959 bool setPathPair(int numberOfPathPairs, PathPair **pathPair);
00960
00969 bool setPathPair(std::string *from, std::string *to, bool *makeCopy, int numberOfPathPairs);
00970
00978 bool addPathPair(std::string fromPath, std::string toPath, bool makeCopy);
00979 };
00980
00981
00993 class Processes
00994 {
00995
00996 public:
00998 int numberOfProcesses;
00999
01001 std::string *process;
01002
01007 Processes();
01012 ~Processes();
01013
01018 bool IsEqual(Processes *that);
01019
01027 bool setRandom(double density, bool conformant);
01028
01034 bool deepCopyFrom(Processes *that);
01035
01042 bool setProcess(int numberOfProcesses, std::string *process);
01043
01049 bool addProcess(std::string process);
01050 };
01051
01052
01064 class JobOption
01065 {
01066
01067 public:
01069 TimeSpan *maxTime;
01070
01072 std::string requestedStartTime;
01073
01075 JobDependencies *dependencies;
01076
01078 DirectoriesAndFiles *requiredDirectories;
01079
01081 DirectoriesAndFiles *requiredFiles;
01082
01084 DirectoriesAndFiles *directoriesToMake;
01085
01087 DirectoriesAndFiles *filesToMake;
01088
01090 PathPairs *inputDirectoriesToMove;
01091
01093 PathPairs *inputFilesToMove;
01094
01096 PathPairs *outputFilesToMove;
01097
01099 PathPairs *outputDirectoriesToMove;
01100
01102 DirectoriesAndFiles *filesToDelete;
01103
01105 DirectoriesAndFiles *directoriesToDelete;
01106
01108 Processes *processesToKill;
01109
01111 OtherOptions *otherOptions;
01112
01117 JobOption();
01122 ~JobOption();
01123
01128 bool IsEqual(JobOption *that);
01129
01137 bool setRandom(double density, bool conformant);
01138
01144 bool deepCopyFrom(JobOption *that);
01145 };
01146
01147
01159 class InitVarValue
01160 {
01161
01162 public:
01164 int idx;
01165
01167 std::string name;
01168
01170 double value;
01171
01176 InitVarValue();
01181 ~InitVarValue();
01182
01187 bool IsEqual(InitVarValue *that);
01188
01196 bool setRandom(double density, bool conformant);
01197
01203 bool deepCopyFrom(InitVarValue *that);
01204 };
01205
01206
01218 class InitVariableValues
01219 {
01220
01221 public:
01223 int numberOfVar;
01224
01226 InitVarValue **var;
01227
01232 InitVariableValues();
01237 ~InitVariableValues();
01238
01243 bool IsEqual(InitVariableValues *that);
01244
01252 bool setRandom(double density, bool conformant);
01253
01259 bool deepCopyFrom(InitVariableValues *that);
01260
01267 bool setVar(int numberOfVar, InitVarValue **var);
01268
01276 bool setVar(int numberOfVar, InitVarValue **var, ENUM_COMBINE_ARRAYS disp);
01277
01278
01287 bool setVar(int numberOfVar, int *idx, double *value, std::string *name);
01288
01295 bool addVar(int idx, double value);
01296
01305 bool addVar(int numberOfVar, InitVarValue **var);
01306 };
01307
01308
01320 class InitVarValueString
01321 {
01322
01323 public:
01325 int idx;
01326
01328 std::string name;
01329
01331 std::string value;
01332
01337 InitVarValueString();
01342 ~InitVarValueString();
01343
01348 bool IsEqual(InitVarValueString *that);
01349
01357 bool setRandom(double density, bool conformant);
01358
01364 bool deepCopyFrom(InitVarValueString *that);
01365 };
01366
01367
01379 class InitVariableValuesString
01380 {
01381
01382 public:
01384 int numberOfVar;
01385
01387 InitVarValueString **var;
01388
01393 InitVariableValuesString();
01398 ~InitVariableValuesString();
01399
01404 bool IsEqual(InitVariableValuesString *that);
01405
01413 bool setRandom(double density, bool conformant);
01414
01420 bool deepCopyFrom(InitVariableValuesString *that);
01421
01428 bool setVar(int numberOfVar, InitVarValueString **var);
01429
01437 bool setVar(int numberOfVar, InitVarValueString **var, ENUM_COMBINE_ARRAYS disp);
01438
01439
01448 bool setVar(int numberOfVar, int *idx, std::string *value, std::string* name);
01449
01456 bool addVar(int idx, std::string value);
01457
01466 bool addVar(int numberOfVar, InitVarValueString **var);
01467 };
01468
01481 class InitBasStatus
01482 {
01483
01484 public:
01486 int idx;
01487
01489 std::string value;
01490
01496 InitBasStatus();
01501 ~InitBasStatus();
01502
01507 bool IsEqual(InitBasStatus *that);
01508
01516 bool setRandom(double density, bool conformant);
01517
01523 bool deepCopyFrom(InitBasStatus *that);
01524 };
01525
01526
01540 class InitialBasisStatus
01541 {
01542
01543 public:
01545 int numberOfVar;
01546
01548 InitBasStatus **var;
01549
01554 InitialBasisStatus();
01559 ~InitialBasisStatus();
01560
01565 bool IsEqual(InitialBasisStatus *that);
01566
01574 bool setRandom(double density, bool conformant);
01575
01581 bool deepCopyFrom(InitialBasisStatus *that);
01582
01589 bool setVar(int numberOfVar, InitBasStatus **var);
01590
01597 bool addVar(int idx, std::string value);
01598 };
01599
01611 class BranchingWeight
01612 {
01613
01614 public:
01616 int idx;
01617
01619 std::string name;
01620
01622 double value;
01623
01628 BranchingWeight();
01633 ~BranchingWeight();
01634
01639 bool IsEqual(BranchingWeight *that);
01640
01648 bool setRandom(double density, bool conformant);
01649
01655 bool deepCopyFrom(BranchingWeight *that);
01656 };
01657
01658
01659
01671 class IntegerVariableBranchingWeights
01672 {
01673
01674 public:
01676 int numberOfVar;
01677
01679 BranchingWeight **var;
01680
01685 IntegerVariableBranchingWeights();
01690 ~IntegerVariableBranchingWeights();
01691
01696 bool IsEqual(IntegerVariableBranchingWeights *that);
01697
01705 bool setRandom(double density, bool conformant);
01706
01712 bool deepCopyFrom(IntegerVariableBranchingWeights *that);
01713
01720 bool setVar(int numberOfVar, BranchingWeight **var);
01721
01729 bool setVar(int numberOfVar, BranchingWeight **var, ENUM_COMBINE_ARRAYS disp);
01730
01739 bool setVar(int numberOfVar, int *idx, double *value, std::string* name);
01740
01747 bool addVar(int idx, double value);
01748
01757 bool addVar(int numberOfVar, BranchingWeight **var);
01758 };
01759
01775 class SOSWeights
01776 {
01777
01778 public:
01780 int sosIdx;
01781
01783 double groupWeight;
01784
01786 int numberOfVar;
01787
01789 BranchingWeight **var;
01790
01795 SOSWeights();
01800 ~SOSWeights();
01801
01806 bool IsEqual(SOSWeights *that);
01807
01815 bool setRandom(double density, bool conformant);
01816
01822 bool deepCopyFrom(SOSWeights *that);
01823
01830 bool setVar(int numberOfVar, BranchingWeight **var);
01831
01838 bool addVar(int idx, double value);
01839 };
01840
01841
01853 class SOSVariableBranchingWeights
01854 {
01855
01856 public:
01858 int numberOfSOS;
01859
01861 SOSWeights **sos;
01862
01867 SOSVariableBranchingWeights();
01872 ~SOSVariableBranchingWeights();
01873
01878 bool IsEqual(SOSVariableBranchingWeights *that);
01879
01887 bool setRandom(double density, bool conformant);
01888
01894 bool deepCopyFrom(SOSVariableBranchingWeights *that);
01895
01903 bool setSOS(int numberOfSOS, SOSWeights **sos);
01913 bool addSOS(int sosIdx, int nvar, double weight, int* idx, double* value, std::string* name);
01914 };
01915
01927 class OtherVarOption
01928 {
01929
01930 public:
01932 int idx;
01933
01935 std::string name;
01936
01938 std::string value;
01939
01941 std::string lbValue;
01942
01944 std::string ubValue;
01945
01950 OtherVarOption();
01955 ~OtherVarOption();
01956
01961 bool IsEqual(OtherVarOption *that);
01962
01970 bool setRandom(double density, bool conformant);
01971
01977 bool deepCopyFrom(OtherVarOption *that);
01978 };
01979
01980
01989 class OtherVariableOption
01990 {
01991
01992 public:
01994 int numberOfVar;
01995
01997 int numberOfEnumerations;
01998
02000 std::string name;
02001
02003 std::string value;
02004
02006 std::string solver;
02007
02009 std::string category;
02010
02012 std::string type;
02013
02015 std::string description;
02016
02018 OtherVarOption **var;
02019
02021 std::string varType;
02022
02023
02024
02025
02026
02027 OtherOptionOrResultEnumeration** enumeration;
02028
02030 std::string enumType;
02031
02036 OtherVariableOption();
02041 ~OtherVariableOption();
02042
02047 bool IsEqual(OtherVariableOption *that);
02048
02056 bool setRandom(double density, bool conformant);
02057
02063 bool deepCopyFrom(OtherVariableOption *that);
02064
02071 bool setVar(int numberOfVar, OtherVarOption **var);
02072
02081 bool addVar(int idx, std::string value, std::string lbValue, std::string ubValue);
02082 };
02083
02084
02096 class VariableOption
02097 {
02098
02099 public:
02101 int numberOfOtherVariableOptions;
02102
02104 InitVariableValues *initialVariableValues;
02105
02107 InitVariableValuesString *initialVariableValuesString;
02108
02110 BasisStatus *initialBasisStatus;
02111
02113 IntegerVariableBranchingWeights *integerVariableBranchingWeights;
02114
02116 SOSVariableBranchingWeights *sosVariableBranchingWeights;
02117
02119 OtherVariableOption **other;
02120
02125 VariableOption();
02130 ~VariableOption();
02131
02136 bool IsEqual(VariableOption *that);
02137
02145 bool setRandom(double density, bool conformant);
02146
02152 bool deepCopyFrom(VariableOption *that);
02153
02160 bool setOther(int numberOfOptions, OtherVariableOption **other);
02161
02167 bool addOther(OtherVariableOption *other);
02168 };
02169
02170
02182 class InitObjValue
02183 {
02184
02185 public:
02187 int idx;
02188
02190 std::string name;
02191
02193 double value;
02194
02199 InitObjValue();
02204 ~InitObjValue();
02205
02210 bool IsEqual(InitObjValue *that);
02211
02219 bool setRandom(double density, bool conformant);
02220
02226 bool deepCopyFrom(InitObjValue *that);
02227 };
02228
02229
02241 class InitObjectiveValues
02242 {
02243
02244 public:
02246 int numberOfObj;
02247
02249 InitObjValue **obj;
02250
02255 InitObjectiveValues();
02260 ~InitObjectiveValues();
02261
02266 bool IsEqual(InitObjectiveValues *that);
02267
02275 bool setRandom(double density, bool conformant);
02276
02282 bool deepCopyFrom(InitObjectiveValues *that);
02283
02290 bool setObj(int numberOfObj, InitObjValue **obj);
02291
02299 bool setObj(int numberOfObj, InitObjValue **obj, ENUM_COMBINE_ARRAYS disp);
02300
02301
02310 bool setObj(int numberOfObj, int *idx, double *value, std::string *name);
02311
02318 bool addObj(int idx, double value);
02319
02328 bool addObj(int numberOfObj, InitObjValue **obj);
02329 };
02330
02331
02343 class InitObjBound
02344 {
02345
02346 public:
02348 int idx;
02349
02351 std::string name;
02352
02354 double lbValue;
02355
02357 double ubValue;
02358
02363 InitObjBound();
02368 ~InitObjBound();
02369
02374 bool IsEqual(InitObjBound *that);
02375
02383 bool setRandom(double density, bool conformant);
02384
02390 bool deepCopyFrom(InitObjBound *that);
02391 };
02392
02393
02405 class InitObjectiveBounds
02406 {
02407
02408 public:
02410 int numberOfObj;
02411
02413 InitObjBound **obj;
02414
02419 InitObjectiveBounds();
02424 ~InitObjectiveBounds();
02425
02430 bool IsEqual(InitObjectiveBounds *that);
02431
02439 bool setRandom(double density, bool conformant);
02440
02446 bool deepCopyFrom(InitObjectiveBounds *that);
02447
02454 bool setObj(int numberOfObj, InitObjBound **obj);
02455
02463 bool setObj(int numberOfObj, InitObjBound **obj, ENUM_COMBINE_ARRAYS disp);
02464
02465
02475 bool setObj(int numberOfObj, int *idx, double *lbValue, double *ubValue, std::string *name);
02476
02484 bool addObj(int idx, double lbValue, double ubValue);
02485
02494 bool addObj(int numberOfObj, InitObjBound **obj);
02495 };
02496
02497
02509 class OtherObjOption
02510 {
02511
02512 public:
02514 int idx;
02515
02517 std::string name;
02518
02520 std::string value;
02521
02522
02524 std::string lbValue;
02525
02527 std::string ubValue;
02532 OtherObjOption();
02537 ~OtherObjOption();
02538
02543 bool IsEqual(OtherObjOption *that);
02544
02552 bool setRandom(double density, bool conformant);
02553
02559 bool deepCopyFrom(OtherObjOption *that);
02560 };
02561
02562
02574 class OtherObjectiveOption
02575 {
02576
02577 public:
02579 int numberOfObj;
02580
02582 int numberOfEnumerations;
02583
02585 std::string name;
02586
02588 std::string value;
02589
02591 std::string solver;
02592
02594 std::string category;
02595
02597 std::string type;
02598
02600 std::string description;
02601
02603 OtherObjOption **obj;
02604
02606 std::string objType;
02607
02608
02609
02610
02611
02612 OtherOptionOrResultEnumeration** enumeration;
02613
02615 std::string enumType;
02616
02621 OtherObjectiveOption();
02626 ~OtherObjectiveOption();
02627
02632 bool IsEqual(OtherObjectiveOption *that);
02633
02641 bool setRandom(double density, bool conformant);
02642
02648 bool deepCopyFrom(OtherObjectiveOption *that);
02649
02656 bool setObj(int numberOfObj, OtherObjOption **obj);
02657
02666 bool addObj(int idx, std::string value, std::string lbValue, std::string ubValue);
02667 };
02668
02669
02681 class ObjectiveOption
02682 {
02683
02684 public:
02686 int numberOfOtherObjectiveOptions;
02687
02689 InitObjectiveValues *initialObjectiveValues;
02690
02692 InitObjectiveBounds *initialObjectiveBounds;
02693
02695 BasisStatus *initialBasisStatus;
02696
02698 OtherObjectiveOption **other;
02699
02704 ObjectiveOption();
02709 ~ObjectiveOption();
02710
02715 bool IsEqual(ObjectiveOption *that);
02716
02724 bool setRandom(double density, bool conformant);
02725
02731 bool deepCopyFrom(ObjectiveOption *that);
02732
02739 bool setOther(int numberOfOptions, OtherObjectiveOption **other);
02740
02741
02742
02748 bool addOther(OtherObjectiveOption *other);
02749 };
02750
02751
02763 class InitConValue
02764 {
02765
02766 public:
02768 int idx;
02769
02771 std::string name;
02772
02774 double value;
02775
02780 InitConValue();
02785 ~InitConValue();
02786
02791 bool IsEqual(InitConValue *that);
02792
02800 bool setRandom(double density, bool conformant);
02801
02807 bool deepCopyFrom(InitConValue *that);
02808 };
02809
02810
02822 class InitConstraintValues
02823 {
02824
02825 public:
02827 int numberOfCon;
02828
02830 InitConValue **con;
02831
02836 InitConstraintValues();
02841 ~InitConstraintValues();
02842
02847 bool IsEqual(InitConstraintValues *that);
02848
02856 bool setRandom(double density, bool conformant);
02857
02863 bool deepCopyFrom(InitConstraintValues *that);
02864
02871 bool setCon(int numberOfCon, InitConValue **con);
02872
02880 bool setCon(int numberOfCon, InitConValue **con, ENUM_COMBINE_ARRAYS disp);
02881
02882
02891 bool setCon(int numberOfCon, int *idx, double *value, std::string *name);
02892
02899 bool addCon(int idx, double value);
02900
02909 bool addCon(int numberOfCon, InitConValue **con);
02910 };
02911
02912
02924 class InitDualVarValue
02925 {
02926
02927 public:
02929 int idx;
02930
02932 std::string name;
02933
02935 double lbDualValue;
02936
02938 double ubDualValue;
02939
02944 InitDualVarValue();
02945
02950 ~InitDualVarValue();
02951
02956 bool IsEqual(InitDualVarValue *that);
02957
02965 bool setRandom(double density, bool conformant);
02966
02972 bool deepCopyFrom(InitDualVarValue *that);
02973 };
02974
02975
02987 class InitDualVariableValues
02988 {
02989
02990 public:
02992 int numberOfCon;
02993
02995 InitDualVarValue **con;
02996
03001 InitDualVariableValues();
03006 ~InitDualVariableValues();
03007
03012 bool IsEqual(InitDualVariableValues *that);
03013
03021 bool setRandom(double density, bool conformant);
03022
03028 bool deepCopyFrom(InitDualVariableValues *that);
03029
03036 bool setCon(int numberOfCon, InitDualVarValue **con);
03037
03045 bool setCon(int numberOfCon, InitDualVarValue **con, ENUM_COMBINE_ARRAYS disp);
03046
03047
03057 bool setCon(int numberOfCon, int *idx, double *lbValue, double *ubValue, std::string *name);
03058
03066 bool addCon(int idx, double lbDualValue, double ubDualValue);
03067
03076 bool addCon(int numberOfCon, InitDualVarValue **con);
03077 };
03078
03079
03091 class OtherConOption
03092 {
03093
03094 public:
03096 int idx;
03097
03099 std::string name;
03100
03102 std::string value;
03103
03105 std::string lbValue;
03106
03108 std::string ubValue;
03109
03114 OtherConOption();
03119 ~OtherConOption();
03120
03125 bool IsEqual(OtherConOption *that);
03126
03134 bool setRandom(double density, bool conformant);
03135
03141 bool deepCopyFrom(OtherConOption *that);
03142 };
03143
03144
03156 class OtherConstraintOption
03157 {
03158
03159 public:
03161 int numberOfCon;
03162
03164 int numberOfEnumerations;
03165
03167 std::string name;
03168
03170 std::string value;
03171
03173 std::string solver;
03174
03176 std::string category;
03177
03179 std::string type;
03180
03182 std::string description;
03183
03185 OtherConOption **con;
03186
03188 std::string conType;
03189
03190
03191
03192
03193
03194 OtherOptionOrResultEnumeration** enumeration;
03195
03197 std::string enumType;
03198
03203 OtherConstraintOption();
03208 ~OtherConstraintOption();
03209
03214 bool IsEqual(OtherConstraintOption *that);
03215
03223 bool setRandom(double density, bool conformant);
03224
03230 bool deepCopyFrom(OtherConstraintOption *that);
03231
03238 bool setCon(int numberOfCon, OtherConOption **con);
03239
03248 bool addCon(int idx, std::string value, std::string lbValue, std::string ubValue);
03249 };
03250
03251
03263 class ConstraintOption
03264 {
03265
03266 public:
03268 int numberOfOtherConstraintOptions;
03269
03271 InitConstraintValues *initialConstraintValues;
03272
03274 InitDualVariableValues *initialDualValues;
03275
03277 BasisStatus *initialBasisStatus;
03278
03280 OtherConstraintOption **other;
03281
03286 ConstraintOption();
03291 ~ConstraintOption();
03292
03297 bool IsEqual(ConstraintOption *that);
03298
03306 bool setRandom(double density, bool conformant);
03307
03313 bool deepCopyFrom(ConstraintOption *that);
03314
03321 bool setOther(int numberOfOptions, OtherConstraintOption **other);
03322
03323
03329 bool addOther(OtherConstraintOption *other);
03330 };
03331
03332
03344 class SolverOption
03345 {
03346
03347 public:
03349 std::string name;
03350
03352 std::string value;
03353
03355 std::string solver;
03356
03358 std::string category;
03359
03361 std::string type;
03362
03364 std::string description;
03365
03367 int numberOfItems;
03368
03370 std::string* item;
03371
03376 SolverOption();
03381 ~SolverOption();
03382
03387 bool IsEqual(SolverOption *that);
03388
03396 bool setRandom(double density, bool conformant);
03397
03403 bool deepCopyFrom(SolverOption *that);
03404 };
03405
03406
03418 class SolverOptions
03419 {
03420
03421 public:
03423 int numberOfSolverOptions;
03424
03426 SolverOption **solverOption;
03427
03432 SolverOptions();
03437 ~SolverOptions();
03438
03443 bool IsEqual(SolverOptions *that);
03444
03452 bool setRandom(double density, bool conformant);
03453
03459 bool deepCopyFrom(SolverOptions *that);
03460
03467 bool setSolverOptions(int numberOfOptions, SolverOption **solverOption);
03468
03479 bool addSolverOption(std::string name, std::string value, std::string solver,
03480 std::string category, std::string type, std::string description);
03481 };
03482
03483
03495 class OptimizationOption
03496 {
03497
03498 public:
03500 int numberOfVariables;
03501
03503 int numberOfObjectives;
03504
03506 int numberOfConstraints;
03507
03509 VariableOption *variables;
03510
03512 ObjectiveOption *objectives;
03513
03515 ConstraintOption *constraints;
03516
03518 SolverOptions *solverOptions;
03523 OptimizationOption();
03528 ~OptimizationOption();
03529
03534 bool IsEqual(OptimizationOption *that);
03535
03543 bool setRandom(double density, bool conformant);
03544
03550 bool deepCopyFrom(OptimizationOption *that);
03551 };
03552
03553
03564 class OSOption
03565 {
03566
03567 public:
03568
03576 GeneralFileHeader *optionHeader;
03580 GeneralOption *general;
03584 SystemOption *system;
03588 ServiceOption *service;
03592 JobOption *job;
03596 OptimizationOption *optimization;
03597
03602 OSOption();
03607 ~OSOption();
03608
03618 bool setHeader(std::string name, std::string source,
03619 std::string description, std::string fileCreator, std::string licence);
03620
03621 private:
03625 double* m_mdInitVarValuesDense;
03626
03630 std::string* m_mdInitVarValuesStringDense;
03631
03635 int* m_mdInitBasisStatusDense;
03636
03640 double* m_mdIntegerVariableBranchingWeightsDense;
03641
03645 double* m_mdInitObjValuesDense;
03646
03650 double* m_mdInitObjLowerBoundsDense;
03651
03655 double* m_mdInitObjUpperBoundsDense;
03656
03660 double* m_mdInitConValuesDense;
03661
03666 double* m_mdInitDualVarLowerBoundsDense;
03667
03672 double* m_mdInitDualVarUpperBoundsDense;
03673
03674 public:
03678 bool IsEqual(OSOption *that);
03679
03686 bool setRandom(double density, bool conformant);
03687
03693 bool deepCopyFrom(OSOption *that);
03694
03695 public:
03696
03697
03698
03702 std::string getFileName();
03703
03707 std::string getFileSource();
03708
03712 std::string getFileDescription();
03713
03717 std::string getFileCreator();
03718
03722 std::string getFileLicence();
03723
03727 std::string getServiceURI();
03728
03732 std::string getServiceName();
03733
03737 std::string getInstanceName();
03738
03742 std::string getInstanceLocation();
03743
03747 std::string getInstanceLocationType();
03748
03753 std::string getJobID();
03754
03758 std::string getSolverToInvoke();
03759
03763 std::string getLicense();
03764
03768 std::string getUserName();
03769
03773 std::string getPassword();
03774
03778 std::string getContact();
03779
03783 std::string getContactTransportType();
03784
03788 std::string getMinDiskSpaceUnit();
03789
03793 std::string getMinDiskSpaceDescription();
03794
03798 std::string getMinMemoryUnit();
03799
03803 std::string getMinMemoryDescription();
03804
03808 std::string getMinCPUSpeedUnit();
03809
03813 std::string getMinCPUSpeedDescription();
03814
03818 std::string getMinCPUNumberDescription();
03819
03823 std::string getServiceType();
03824
03828 std::string getMaxTimeUnit();
03829
03833 std::string getRequestedStartTime();
03834
03838 std::string getOptionStr(std::string optionName);
03839
03843 double getMinDiskSpace();
03844
03848 double getMinMemorySize();
03849
03853 double getMinCPUSpeed();
03854
03858 double getMaxTime();
03859
03863 double getOptionDbl(std::string optionName);
03864
03868 int getMinCPUNumber();
03869
03873 int getNumberOfOtherGeneralOptions();
03874
03878 int getNumberOfOtherSystemOptions();
03879
03883 int getNumberOfOtherServiceOptions();
03884
03888 int getNumberOfOtherJobOptions();
03889
03893 int getNumberOfJobDependencies();
03894
03898 int getNumberOfRequiredDirectories();
03899
03903 int getNumberOfRequiredFiles();
03904
03908 int getNumberOfDirectoriesToMake();
03909
03913 int getNumberOfFilesToMake();
03914
03918 int getNumberOfInputDirectoriesToMove();
03919
03923 int getNumberOfInputFilesToMove();
03924
03928 int getNumberOfOutputDirectoriesToMove();
03929
03933 int getNumberOfOutputFilesToMove();
03934
03938 int getNumberOfFilesToDelete();
03939
03943 int getNumberOfDirectoriesToDelete();
03944
03948 int getNumberOfProcessesToKill();
03949
03953 int getNumberOfVariables();
03954
03958 int getNumberOfObjectives();
03959
03963 int getNumberOfConstraints();
03964
03970 int getNumberOfInitVarValues();
03971
03977 int getNumberOfInitVarValuesString();
03978
03985 int getNumberOfIntegerVariableBranchingWeights();
03986
03992 int getNumberOfSOS();
03993
03999 int getNumberOfSOSVarBranchingWeights(int iSOS);
04000
04006 int getNumberOfOtherVariableOptions();
04007
04013 int getNumberOfInitObjValues();
04014
04020 int getNumberOfInitObjBounds();
04021
04027 int getNumberOfOtherObjectiveOptions();
04028
04034 int getNumberOfInitConValues();
04035
04041 int getNumberOfInitDualVarValues();
04042
04048 int getNumberOfOtherConstraintOptions();
04049
04055 int getNumberOfSolverOptions();
04056
04060 int getOptionInt(std::string optionName);
04061
04062
04070 OtherOption** getOtherGeneralOptions();
04071
04079 OtherOption** getOtherSystemOptions();
04080
04088 OtherOption** getOtherServiceOptions();
04089
04097 OtherOption** getOtherJobOptions();
04098
04106 OtherOption** getOtherOptions(std::string elementName);
04107
04108
04116 OtherOption** getAllOtherOptions();
04117
04124 std::string* getJobDependencies();
04125
04133 std::string* getRequiredDirectories();
04134
04142 std::string* getRequiredFiles();
04143
04151 std::string* getDirectoriesToMake();
04152
04160 std::string* getFilesToMake();
04161
04169 PathPair** getInputDirectoriesToMove();
04170
04178 PathPair** getInputFilesToMove();
04179
04187 PathPair** getOutputDirectoriesToMove();
04188
04196 PathPair** getOutputFilesToMove();
04197
04205 std::string* getDirectoriesToDelete();
04206
04214 std::string* getFilesToDelete();
04215
04223 std::string* getProcessesToKill();
04224
04232 InitVarValue** getInitVarValuesSparse();
04233
04241 double* getInitVarValuesDense();
04242
04251 double* getInitVarValuesDense(int numberOfVariables);
04252
04260 InitVarValueString** getInitVarValuesStringSparse();
04261
04269 std::string *getInitVarValuesStringDense();
04270
04279 std::string *getInitVarValuesStringDense(int numberOfVariables);
04280
04288 InitBasStatus** getInitBasisStatusSparse();
04289
04297 std::string *getInitBasisStatusDense();
04298
04307 int* getVariableInitialBasisStatusDense(int numberOfVariables);
04308
04319 int getNumberOfInitialBasisElements(int type, int status);
04320
04332 bool getInitialBasisElements(int type, int status, int* elem);
04333
04341 BranchingWeight** getIntegerVariableBranchingWeightsSparse();
04342
04350 double* getIntegerVariableBranchingWeightsDense();
04351
04360 double* getIntegerVariableBranchingWeightsDense(int numberOfVariables);
04361
04369 SOSWeights** getSOSVariableBranchingWeightsSparse();
04370
04379 std::vector<OtherVariableOption*> getOtherVariableOptions(std::string solver_name);
04380
04388 OtherVariableOption* getOtherVariableOption(int optionNumber);
04389
04396 OtherVariableOption** getAllOtherVariableOptions();
04397
04405 InitObjValue** getInitObjValuesSparse();
04406
04414 double *getInitObjValuesDense();
04415
04424 double *getInitObjValuesDense(int numberOfObjectives);
04425
04433 InitObjBound** getInitObjBoundsSparse();
04434
04442 double *getInitObjLowerBoundsDense();
04443
04452 double *getInitObjLowerBoundsDense(int numberOfObjectives);
04453
04461 double *getInitObjUpperBoundsDense();
04462
04471 double *getInitObjUpperBoundsDense(int numberOfObjectives);
04472
04481 int* getObjectiveInitialBasisStatusDense(int numberOfObjectives);
04482
04490 std::vector<OtherObjectiveOption*> getOtherObjectiveOptions(std::string solver_name);
04491
04499 OtherObjectiveOption* getOtherObjectiveOption(int optionNumber);
04500
04507 OtherObjectiveOption** getAllOtherObjectiveOptions();
04508
04516 InitConValue** getInitConValuesSparse();
04517
04525 double *getInitConValuesDense();
04526
04535 double *getInitConValuesDense(int numberOfConstraints);
04536
04544 InitDualVarValue** getInitDualVarValuesSparse();
04545
04553 double *getInitDualVarLowerBoundsDense();
04554
04563 double *getInitDualVarLowerBoundsDense(int numberOfConstraints);
04564
04565
04573 double *getInitDualVarUpperBoundsDense();
04574
04583 double *getInitDualVarUpperBoundsDense(int numberOfConstraints);
04584
04593 int* getSlackVariableInitialBasisStatusDense(int numberOfConstraints);
04594
04602 std::vector<OtherConstraintOption*> getOtherConstraintOptions(std::string solver_name);
04603
04611 OtherConstraintOption* getOtherConstraintOption(int optionNumber);
04612
04619 OtherConstraintOption** getAllOtherConstraintOptions();
04620
04629 std::vector<SolverOption*> getSolverOptions( std::string solver_name);
04630
04631
04643 std::vector<SolverOption*> getSolverOptions( std::string solver_name, bool getFreeOptions);
04644
04651 SolverOption** getAllSolverOptions();
04652
04653
04654
04655
04656
04660 bool setServiceURI( std::string serviceURI);
04661
04665 bool setServiceName( std::string serviceName);
04666
04670 bool setInstanceName( std::string instanceName);
04671
04675 bool setInstanceLocation( std::string instanceLocation);
04676
04681 bool setInstanceLocation( std::string instanceLocation, std::string locationType);
04682
04686 bool setInstanceLocationType( std::string locationType);
04687
04691 bool setJobID( std::string jobID);
04692
04696 bool setSolverToInvoke( std::string solverToInvoke);
04697
04701 bool setLicense( std::string license);
04702
04706 bool setUserName( std::string userName);
04707
04711 bool setPassword( std::string password);
04712
04716 bool setContact( std::string contact);
04717
04722 bool setContact( std::string contact, std::string transportType);
04723
04727 bool setContactTransportType( std::string transportType);
04728
04734 bool setOtherGeneralOptions(int numberOfOptions, OtherOption** other);
04735
04742 bool setAnOtherGeneralOption(std::string name, std::string value, std::string description);
04743
04750 bool setMinDiskSpace(std::string unit, std::string description, double value);
04751
04755 bool setMinDiskSpace(double value);
04756
04757 bool setMinDiskSpaceUnit(std::string unit);
04758
04765 bool setMinMemorySize(std::string unit, std::string description, double value);
04766
04770 bool setMinMemorySize(double value);
04771
04772 bool setMinMemoryUnit(std::string unit);
04773
04780 bool setMinCPUSpeed(std::string unit, std::string description, double value);
04781
04785 bool setMinCPUSpeed(double value);
04786
04787 bool setMinCPUSpeedUnit(std::string unit);
04788
04794 bool setMinCPUNumber( int number, std::string description);
04795
04799 bool setMinCPUNumber( int number);
04800
04801 bool setOtherSystemOptions(int numberOfOptions, OtherOption** other);
04802
04803 bool setAnOtherSystemOption(std::string name, std::string value, std::string description);
04804
04805
04806 bool setServiceType( std::string serviceType);
04807
04808 bool setOtherServiceOptions(int numberOfOptions, OtherOption** other);
04809
04810 bool setAnOtherServiceOption(std::string name, std::string value, std::string description);
04811
04812
04813 bool setMaxTime(double value, std::string unit);
04814
04815 bool setMaxTime(double value);
04816
04817 bool setMaxTimeUnit(std::string unit);
04818
04819 bool setRequestedStartTime(std::string time);
04820
04821 bool setJobDependencies(int numberOfDependencies, std::string* jobDependencies);
04822 bool setAnotherJobDependency(std::string jobID);
04823
04824 bool setRequiredDirectories(int numberOfPaths, std::string* paths);
04825 bool setAnotherRequiredDirectory(std::string path);
04826
04827 bool setRequiredFiles(int numberOfPaths, std::string* paths);
04828 bool setAnotherRequiredFile(std::string path);
04829
04830 bool setDirectoriesToMake(int numberOfPaths, std::string* paths);
04831 bool setAnotherDirectoryToMake(std::string path);
04832
04833 bool setFilesToMake(int numberOfPaths, std::string* paths);
04834 bool setAnotherFileToMake(std::string path);
04835
04853 bool setPathPairs(int object, std::string *from, std::string *to, bool *makeCopy, int numberOfPathPairs);
04854
04855 bool setInputDirectoriesToMove(int numberOfPathPairs, PathPair** pathPair);
04856 bool setAnotherInputDirectoryToMove(std::string fromPath, std::string toPath, bool makeCopy);
04857
04858 bool setInputFilesToMove(int numberOfPathPairs, PathPair** pathPair);
04859 bool setAnotherInputFileToMove(std::string fromPath, std::string toPath, bool makeCopy);
04860
04861 bool setOutputFilesToMove(int numberOfPathPairs, PathPair** pathPair);
04862 bool setAnotherOutputFileToMove(std::string fromPath, std::string toPath, bool makeCopy);
04863
04864 bool setOutputDirectoriesToMove(int numberOfPathPairs, PathPair** pathPair);
04865 bool setAnotherOutputDirectoryToMove(std::string fromPath, std::string toPath, bool makeCopy);
04866
04867 bool setFilesToDelete(int numberOfPaths, std::string* paths);
04868 bool setAnotherFileToDelete(std::string path);
04869
04870 bool setDirectoriesToDelete(int numberOfPaths, std::string* paths);
04871 bool setAnotherDirectoryToDelete(std::string path);
04872
04873 bool setProcessesToKill(int numberOfProcesses, std::string* processes);
04874 bool setAnotherProcessToKill(std::string process);
04875
04876 bool setOtherJobOptions(int numberOfOptions, OtherOption** other);
04877 bool setAnOtherJobOption(std::string name, std::string value, std::string description);
04878
04879
04880 bool setNumberOfVariables(int numberOfVariables);
04881
04882 bool setNumberOfObjectives(int numberOfObjectives);
04883
04884 bool setNumberOfConstraints(int numberOfConstraints);
04885
04886 bool setInitVarValues(int numberOfVar, int* idx, double* value, std::string* name);
04887 bool setInitVarValuesSparse(int numberOfVar, InitVarValue** var);
04888 bool setInitVarValuesSparse(int numberOfVar, InitVarValue** var, ENUM_COMBINE_ARRAYS disp);
04889 bool setInitVarValuesDense(int numberOfVar, double *value);
04890 bool setAnotherInitVarValue(int idx, double value);
04891
04892 bool setInitVarValuesString(int numberOfVar, int* idx, std::string* value, std::string* name);
04893 bool setInitVarValuesStringSparse(int numberOfVar, InitVarValueString** var);
04894 bool setInitVarValuesStringSparse(int numberOfVar, InitVarValueString** var, ENUM_COMBINE_ARRAYS disp);
04895 bool setInitVarValuesStringDense(int numberOfVar, std::string *value);
04896 bool setAnotherInitVarValueString(int idx, std::string value);
04897
04898 bool setInitBasisStatus(int object, int status, int *i, int ni);
04899 bool setInitBasisStatusSparse(int numberOfVar, InitBasStatus** var);
04900 bool setInitBasisStatusSparse(int numberOfVar, InitBasStatus** var, ENUM_COMBINE_ARRAYS disp);
04901 bool setInitBasisStatusDense(int numberOfVar, std::string *var);
04902
04911 bool setAnotherInitBasisStatus(int type, int idx, int status);
04912
04913 bool setIntegerVariableBranchingWeights(int numberOfVar, int* idx, double* value, std::string* name);
04914 bool setIntegerVariableBranchingWeightsSparse(int numberOfVar, BranchingWeight** var);
04915 bool setIntegerVariableBranchingWeightsSparse(int numberOfVar, BranchingWeight** var, ENUM_COMBINE_ARRAYS disp);
04916 bool setIntegerVariableBranchingWeightsDense(int numberOfVar, double *value);
04917 bool setAnotherIntegerVariableBranchingWeight(int idx, double value);
04918
04919 bool setSOSVariableBranchingWeights(int numberOfSOS, SOSWeights** sos);
04920 bool setAnotherSOSVariableBranchingWeight(int sosIdx, int nvar, double weight, int* idx, double* value, std::string* name);
04921
04922 bool setNumberOfOtherVariableOptions(int numberOfOther);
04923 bool setOtherVariableOptions(int numberOfVar, OtherVariableOption** var);
04924 bool setAnOtherVariableOption(OtherVariableOption* varOption);
04925
04941 bool setOtherVariableOptionAttributes(int iOther, int numberOfVar,
04942 int numberOfEnumerations, std::string name,
04943 std::string value, std::string solver,
04944 std::string category, std::string type,
04945 std::string varType, std::string enumType,
04946 std::string description);
04947
04948
04961 bool setOtherOptionOrResultEnumeration(int object, int otherOptionNumber, int enumerationNumber,
04962 int numberOfEl, std::string value, std::string description, int* idxArray);
04963
04974 bool setOtherVariableOptionVar(int otherOptionNumber, int varNumber,
04975 int idx, std::string name, std::string value, std::string lbValue, std::string ubValue);
04976
04977 bool setInitObjValues(int numberOfObj, int* idx, double* value, std::string* name);
04978 bool setInitObjValuesSparse(int numberOfObj, InitObjValue** obj);
04979 bool setInitObjValuesSparse(int numberOfObj, InitObjValue** obj, ENUM_COMBINE_ARRAYS disp);
04980 bool setInitObjValuesDense(int numberOfObj, double *value);
04981 bool setAnotherInitObjValue(int idx, double value);
04982
04983 bool setInitObjBounds(int numberOfObj, int* idx, double* lbValue, double* ubValue, std::string* name);
04984 bool setInitObjBoundsSparse(int numberOfObj, InitObjBound** obj);
04985 bool setInitObjBoundsSparse(int numberOfObj, InitObjBound** obj, ENUM_COMBINE_ARRAYS disp);
04986 bool setInitObjBoundsDense(int numberOfObj, double *lb, double *ub);
04987 bool setAnotherInitObjBound(int idx, double lbValue, double ubValue);
04988
04989 bool setNumberOfOtherObjectiveOptions(int numberOfOther);
04990 bool setOtherObjectiveOptions(int numberOfObj, OtherObjectiveOption** obj);
04991
04992 bool setAnOtherObjectiveOption(OtherObjectiveOption* objOption);
04993
05009 bool setOtherObjectiveOptionAttributes(int iOther, int numberOfObj,
05010 int numberOfEnumerations, std::string name,
05011 std::string value, std::string solver,
05012 std::string category, std::string type,
05013 std::string objType, std::string enumType,
05014 std::string description);
05015
05016
05028 bool setOtherObjectiveOptionObj(int otherOptionNumber, int objNumber,
05029 int idx, std::string name, std::string value, std::string lbValue, std::string ubValue);
05030
05031 bool setInitConValues(int numberOfCon, int* idx, double* value, std::string* name);
05032 bool setInitConValuesSparse(int numberOfCon, InitConValue** con);
05033 bool setInitConValuesSparse(int numberOfCon, InitConValue** con, ENUM_COMBINE_ARRAYS disp);
05034 bool setInitConValuesDense(int numberOfCon, double *value);
05035 bool setAnotherInitConValue(int idx, double value);
05036
05037 bool setInitDualValues(int numberOfCon, int* idx, double* lbValue, double* ubValue, std::string* name);
05038 bool setInitDualVarValuesSparse(int numberOfCon, InitDualVarValue** con);
05039 bool setInitDualVarValuesSparse(int numberOfCon, InitDualVarValue** con, ENUM_COMBINE_ARRAYS disp);
05040 bool setInitDualVarValuesDense(int numberOfCon, double *lb, double *ub);
05041 bool setAnotherInitDualVarValue(int idx, double lbValue, double ubValue);
05042
05043 bool setNumberOfOtherConstraintOptions(int numberOfOther);
05044 bool setOtherConstraintOptions(int numberOfOptions, OtherConstraintOption** other);
05045
05046 bool setAnOtherConstraintOption(OtherConstraintOption* optionValue);
05047
05063 bool setOtherConstraintOptionAttributes(int iOther, int numberOfCon,
05064 int numberOfEnumerations, std::string name,
05065 std::string value, std::string solver,
05066 std::string category, std::string type,
05067 std::string conType, std::string enumType,
05068 std::string description);
05069
05070
05082 bool setOtherConstraintOptionCon(int otherOptionNumber, int conNumber,
05083 int idx, std::string name, std::string value, std::string lbValue, std::string ubValue);
05084
05085 bool setNumberOfSolverOptions(int numberOfOptions);
05086
05100 bool setSolverOptionContent(int iOption, int numberOfItems,
05101 std::string name,
05102 std::string value, std::string solver,
05103 std::string category, std::string type,
05104 std::string description, std::string *itemList);
05105
05106 bool setSolverOptions(int numberOfSolverOptions, SolverOption** solverOption);
05107 bool setAnotherSolverOption(std::string name, std::string value, std::string solver,
05108 std::string category, std::string type, std::string description);
05109
05110
05111 bool setOptionInt(std::string optionName, int optionValue);
05112
05113 bool setOptionStr(std::string optionName, std::string optionValue);
05114
05115 bool setOptionDbl(std::string optionName, double value);
05116
05117 };
05118
05119 #endif