18#include "OSParameters.h"
23#include "CoinFinite.hpp"
33 locationType (
"local"),
50 transportType (
"osp"),
85 numberOfOtherOptions(0)
379 requestedStartTime(
"")
694 numberOfEnumerations(0),
741 numberOfOtherVariableOptions(0)
774 if (
other[i] != NULL)
900 numberOfEnumerations(0),
946 numberOfOtherObjectiveOptions (0)
1097 numberOfEnumerations(0),
1123 if (
con[i]!= NULL)
delete con[i];
1143 numberOfOtherConstraintOptions (0)
1205 numberOfSolverOptions(0)
1233 numberOfVariables (-1),
1234 numberOfObjectives (-1),
1235 numberOfConstraints (-1)
1300 if (
job != NULL)
delete job;
1554 if (this->
system != NULL)
1566 if (this->
system != NULL)
1578 if (this->
system != NULL)
1590 if (this->
system != NULL)
1602 if (this->
system != NULL)
1614 if (this->
system != NULL)
1626 if (this->
system != NULL)
1649 if (this->
job != NULL)
1661 if (this->
job != NULL)
1675 if (optionName ==
"serviceURI")
1678 if (optionName ==
"serviceName")
1681 if (optionName ==
"instanceName")
1684 if (optionName ==
"instanceLocation")
1687 if (optionName ==
"instanceLocationType")
1690 if (optionName ==
"jobID")
1693 if (optionName ==
"solverToInvoke")
1696 if (optionName ==
"license")
1699 if (optionName ==
"userName")
1702 if (optionName ==
"password")
1705 if (optionName ==
"contact")
1708 if (optionName ==
"contactTransportType")
1711 if (optionName ==
"minDiskSpaceUnit")
1714 if (optionName ==
"minMemoryUnit")
1717 if (optionName ==
"minCPUSpeedUnit")
1720 if (optionName ==
"serviceType")
1723 if (optionName ==
"maxTimeUnit")
1726 if (optionName ==
"requestedStartTime")
1741 if (this->
system != NULL)
1753 if (this->
system != NULL)
1765 if (this->
system != NULL)
1777 if (this->
job != NULL)
1792 if (optionName ==
"minDiskSpace")
1795 if (optionName ==
"minMemory")
1798 if (optionName ==
"minCPUSpeed")
1801 if (optionName ==
"maxTime")
1816 if (this->
system != NULL)
1839 if (this->
system != NULL)
1863 if (this->
job != NULL)
1875 if (this->
job != NULL)
1887 if (this->
job != NULL)
1899 if (this->
job != NULL)
1911 if (this->
job != NULL)
1923 if (this->
job != NULL)
1935 if (this->
job != NULL)
1947 if (this->
job != NULL)
1959 if (this->
job != NULL)
1971 if (this->
job != NULL)
1983 if (this->
job != NULL)
1995 if (this->
job != NULL)
2007 if (this->
job != NULL)
2224 if (optionName ==
"minCPUNumber")
2227 if (optionName ==
"numberOfOtherGeneralOptions")
2230 if (optionName ==
"numberOfOtherSystemOptions")
2233 if (optionName ==
"numberOfOtherServiceOptions")
2236 if (optionName ==
"numberOfOtherJobOptions")
2239 if (optionName ==
"numberOfJobDependencies")
2242 if (optionName ==
"numberOfRequiredDirectories")
2245 if (optionName ==
"numberOfRequiredFiles")
2248 if (optionName ==
"numberOfDirectoriesToMake")
2251 if (optionName ==
"numberOfFilesToMake")
2254 if (optionName ==
"numberOfInputDirectoriesToMove")
2257 if (optionName ==
"numberOfInputFilesToMove")
2260 if (optionName ==
"numberOfOutputDirectoriesToMove")
2263 if (optionName ==
"numberOfOutputFilesToMove")
2266 if (optionName ==
"numberOfFilesToDelete")
2269 if (optionName ==
"numberOfDirectoriesToDelete")
2272 if (optionName ==
"numberOfProcessesToKill")
2275 if (optionName ==
"numberOfVariables")
2278 if (optionName ==
"numberOfObjectives")
2281 if (optionName ==
"numberOfConstraints")
2284 if (optionName ==
"numberOfInitVarValues")
2287 if (optionName ==
"numberOfInitVarValuesString")
2290 if (optionName ==
"numberOfIntegerVariableBranchingWeights")
2293 if (optionName ==
"numberOfSOS")
2296 if (optionName ==
"numberOfOtherVariableOptions")
2299 if (optionName ==
"numberOfInitObjValues")
2302 if (optionName ==
"numberOfInitObjBounds")
2305 if (optionName ==
"numberOfOtherObjectiveOptions")
2308 if (optionName ==
"numberOfInitConValues")
2311 if (optionName ==
"numberOfInitDualVarValues")
2314 if (optionName ==
"numberOfOtherConstraintOptions")
2317 if (optionName ==
"numberOfSolverOptions")
2346 if (this->
system != NULL)
2372 if (this->
job != NULL)
2388 if (category ==
"general")
2391 if (category ==
"system")
2394 if (category ==
"service")
2397 if (category ==
"job")
2409 int prev_options[4];
2414 for (i = 0; i < 4; i++)
2416 prev_options[i] = 0;
2424 num_options[0] = num_opt;
2428 if (this->
system != NULL)
2433 num_options[1] = num_opt;
2436 prev_options[1] = prev_options[0] + num_options[0];
2443 num_options[2] = num_opt;
2446 prev_options[2] = prev_options[1] + num_options[1];
2448 if (this->
job != NULL)
2453 num_options[3] = num_opt;
2456 prev_options[3] = prev_options[2] + num_options[2];
2458 num_opt = num_options[0] + num_options[1] + num_options[2] + num_options[3];
2461 if (num_options[0] > 0)
2463 for (i = 0; i < num_options[0]; i++)
2469 if (num_options[1] > 0)
2471 for (i = 0; i < num_options[1]; i++)
2477 if (num_options[2] > 0)
2479 for (i = 0; i < num_options[2]; i++)
2485 if (num_options[3] > 0)
2487 for (i = 0; i < num_options[3]; i++)
2493 return optionVector;
2501 std::string* dependenciesVector = NULL;
2502 if (this->
job != NULL)
2507 throw ErrorClass(
"<dependencies> object must be defined before getting the jobIDs");
2510 throw ErrorClass(
"<job> object must be defined before getting the jobIDs");
2512 return dependenciesVector;
2520 std::string* pathVector = NULL;
2521 if (this->
job != NULL)
2526 throw ErrorClass(
"<requiredDirectories> object must be defined before getting the paths");
2529 throw ErrorClass(
"<job> object must be defined before getting the paths");
2538 std::string* pathVector = NULL;
2539 if (this->
job != NULL)
2544 throw ErrorClass(
"<requiredFiles> object must be defined before getting the paths");
2547 throw ErrorClass(
"<job> object must be defined before getting the paths");
2556 std::string* pathVector = NULL;
2557 if (this->
job != NULL)
2562 throw ErrorClass(
"<directoriesToMake> object must be defined before getting the paths");
2565 throw ErrorClass(
"<job> object must be defined before getting the paths");
2574 std::string* pathVector = NULL;
2575 if (this->
job != NULL)
2580 throw ErrorClass(
"<filesToMake> object must be defined before getting the paths");
2583 throw ErrorClass(
"<job> object must be defined before getting the paths");
2593 if (this->
job != NULL)
2598 throw ErrorClass(
"<inputDirectoriesToMove> object must be defined before getting the paths");
2601 throw ErrorClass(
"<job> object must be defined before getting the paths");
2602 return pathPairVector;
2611 if (this->
job != NULL)
2616 throw ErrorClass(
"<inputFilesToMove> object must be defined before getting the paths");
2619 throw ErrorClass(
"<job> object must be defined before getting the paths");
2620 return pathPairVector;
2629 if (this->
job != NULL)
2634 throw ErrorClass(
"<outputFilesToMove> object must be defined before getting the paths");
2637 throw ErrorClass(
"<job> object must be defined before getting the paths");
2638 return pathPairVector;
2647 if (this->
job != NULL)
2652 throw ErrorClass(
"<outputDirectoriesToMove> object must be defined before getting the paths");
2655 throw ErrorClass(
"<job> object must be defined before getting the paths");
2656 return pathPairVector;
2664 std::string* pathVector = NULL;
2665 if (this->
job != NULL)
2670 throw ErrorClass(
"<filesToDelete> object must be defined before getting the paths");
2673 throw ErrorClass(
"<job> object must be defined before getting the paths");
2682 std::string* pathVector = NULL;
2683 if (this->
job != NULL)
2688 throw ErrorClass(
"<directoriesToDelete> object must be defined before getting the paths");
2691 throw ErrorClass(
"<job> object must be defined before getting the paths");
2700 std::string* processes = NULL;
2701 if (this->
job != NULL)
2706 throw ErrorClass(
"<processesToKill> object must be defined before getting the processes");
2709 throw ErrorClass(
"<job> object must be defined before getting the processes");
2729 throw ErrorClass(
"<initialVariableValues> object must be defined before getting the data");
2732 throw ErrorClass(
"<variables> object must be defined before getting the data");
2735 throw ErrorClass(
"<optimization> object must be defined before getting the data");
2736 return initVarVector;
2748 int numberOfVariables;
2750 if (numberOfVariables < 0)
2751 throw ErrorClass(
"\"numberOfVariables\" must be present to use dense methods");
2768 for (i = 0; i < num_var; i++)
2771 if (j >= 0 && j < numberOfVariables)
2775 throw ErrorClass(
"Variable index out of range");
2799 if (numberOfVariables < 0)
2800 throw ErrorClass(
"\"numberOfVariables\" must be present to use dense methods");
2824 for (i = 0; i < num_var; i++)
2827 if (j >= 0 && j < numberOfVariables)
2831 throw ErrorClass(
"Variable index out of range");
2859 throw ErrorClass(
"<initialVariableValuesString> object must be defined before getting the data");
2862 throw ErrorClass(
"<variables> object must be defined before getting the data");
2865 throw ErrorClass(
"<optimization> object must be defined before getting the data");
2866 return initVarVector;
2878 int numberOfVariables;
2880 if (numberOfVariables < 0)
2881 throw ErrorClass(
"\"numberOfVariables\" must be present to use dense methods");
2898 for (i = 0; i < num_var; i++)
2901 if (j >= 0 && j < numberOfVariables)
2905 throw ErrorClass(
"Variable index out of range");
2972 if (numberOfVariables < 0)
2973 throw ErrorClass(
"\"numberOfVariables\" must be set to use dense methods");
2976 throw ErrorClass(
"<optimization> element was never set");
2979 throw ErrorClass(
"<optimization> <variables> element was never set");
2982 throw ErrorClass(
"initial basis was never set");
2997 for (i = 0; i < num_var; i++)
3000 if (j >= 0 && j < numberOfVariables)
3003 throw ErrorClass(
"Variable index out of range");
3010 for (i = 0; i < num_var; i++)
3013 if (j >= 0 && j < numberOfVariables)
3016 throw ErrorClass(
"Variable index out of range");
3026 for (i = 0; i < num_var; i++)
3029 if (j >= 0 && j < numberOfVariables)
3032 throw ErrorClass(
"Variable index out of range");
3039 for (i = 0; i < num_var; i++)
3042 if (j >= 0 && j < numberOfVariables)
3045 throw ErrorClass(
"Variable index out of range");
3052 for (i = 0; i < num_var; i++)
3055 if (j >= 0 && j < numberOfVariables)
3058 throw ErrorClass(
"Variable index out of range");
3076 throw ErrorClass(
"<optimization> element was never set");
3083 throw ErrorClass(
"<optimization> <variables> element was never set");
3086 throw ErrorClass(
"initial basis was never set");
3093 throw ErrorClass(
"<optimization> <objectives> element was never set");
3096 throw ErrorClass(
"initial basis was never set");
3103 throw ErrorClass(
"<optimization> <constraints> element was never set");
3106 throw ErrorClass(
"initial basis was never set");
3111 throw ErrorClass(
"target object not implemented in getNumberOfInitialBasisElements");
3118 throw ErrorClass(
"<optimization> element was never set");
3125 throw ErrorClass(
"<optimization> <variables> element was never set");
3128 throw ErrorClass(
"initial basis was never set");
3135 throw ErrorClass(
"<optimization> <objectives> element was never set");
3138 throw ErrorClass(
"initial basis was never set");
3145 throw ErrorClass(
"<optimization> <constraints> element was never set");
3148 throw ErrorClass(
"initial basis was never set");
3153 throw ErrorClass(
"target object not implemented in getInitialBasisElements");
3174 throw ErrorClass(
"<integerVariableBranchingWeights> object must be defined before getting the data");
3177 throw ErrorClass(
"<variables> object must be defined before getting the data");
3180 throw ErrorClass(
"<optimization> object must be defined before getting the data");
3181 return intVarVector;
3194 int numberOfVariables;
3196 if (numberOfVariables < 0)
3197 throw ErrorClass(
"\"numberOfVariables\" must be present to use dense methods");
3214 for (i = 0; i < num_var; i++)
3217 if (j >= 0 && j < numberOfVariables)
3221 throw ErrorClass(
"Variable index out of range");
3246 if (numberOfVariables < 0)
3247 throw ErrorClass(
"\"numberOfVariables\" must be present to use dense methods");
3264 for (i = 0; i < num_var; i++)
3267 if (j >= 0 && j < numberOfVariables)
3271 throw ErrorClass(
"Variable index out of range");
3299 throw ErrorClass(
"<sosVariableBranchingWeights> object must be defined before getting the data");
3302 throw ErrorClass(
"<variables> object must be defined before getting the data");
3305 throw ErrorClass(
"<optimization> object must be defined before getting the data");
3306 return sosVarVector;
3317 std::vector<OtherVariableOption*> optionsVector;
3325 for(i = 0; i < num_options; i++)
3330 throw ErrorClass(
"<variables> object must be defined before getting the data");
3333 throw ErrorClass(
"<optimization> object must be defined before getting the data");
3334 return optionsVector;
3349 throw ErrorClass(
"<variables> object must be defined before getting the data");
3352 throw ErrorClass(
"<optimization> object must be defined before getting the data");
3353 return optionsVector;
3371 if (optionNumber < 0 || optionNumber >= num_options)
3372 throw ErrorClass(
"optionNumber not in legal range");
3376 throw ErrorClass(
"<variables> object must be defined before getting the data");
3379 throw ErrorClass(
"<optimization> object must be defined before getting the data");
3396 throw ErrorClass(
"<initialObjectiveValues> object must be defined before getting the data");
3399 throw ErrorClass(
"<objectives> object must be defined before getting the data");
3402 throw ErrorClass(
"<optimization> object must be defined before getting the data");
3403 return initObjVector;
3415 int numberOfObjectives;
3417 if (numberOfObjectives < 0)
3418 throw ErrorClass(
"\"numberOfObjectives\" must be present to use dense methods");
3435 for (i = 0; i < num_obj; i++)
3438 if (j < 0 && -j <= numberOfObjectives)
3443 throw ErrorClass(
"Objective index out of range");
3468 if (numberOfObjectives < 0)
3469 throw ErrorClass(
"\"numberOfObjectives\" must be present to use dense methods");
3486 for (i = 0; i < num_obj; i++)
3489 if (j < 0 && -j <= numberOfObjectives)
3494 throw ErrorClass(
"Objective index out of range");
3523 throw ErrorClass(
"<initialObjectiveBounds> object must be defined before getting the data");
3526 throw ErrorClass(
"<objectives> object must be defined before getting the data");
3529 throw ErrorClass(
"<optimization> object must be defined before getting the data");
3530 return initObjBounds;
3542 int numberOfObjectives;
3544 if (numberOfObjectives < 0)
3545 throw ErrorClass(
"\"numberOfObjectives\" must be present to use dense methods");
3562 for (i = 0; i < num_obj; i++)
3565 if (j < 0 && -j <= numberOfObjectives)
3570 throw ErrorClass(
"Objective index out of range");
3595 if (numberOfObjectives < 0)
3596 throw ErrorClass(
"\"numberOfObjectives\" must be present to use dense methods");
3613 for (i = 0; i < num_obj; i++)
3616 if (j < 0 && -j <= numberOfObjectives)
3621 throw ErrorClass(
"Objective index out of range");
3645 int numberOfObjectives;
3647 if (numberOfObjectives < 0)
3648 throw ErrorClass(
"\"numberOfObjectives\" must be present to use dense methods");
3665 for (i = 0; i < num_obj; i++)
3668 if (j < 0 && -j <= numberOfObjectives)
3673 throw ErrorClass(
"Objective index out of range");
3698 if (numberOfObjectives < 0)
3699 throw ErrorClass(
"\"numberOfObjectives\" must be present to use dense methods");
3716 for (i = 0; i < num_obj; i++)
3719 if (j < 0 && -j <= numberOfObjectives)
3724 throw ErrorClass(
"Objective index out of range");
3749 if (numberOfVariables < 0)
3750 throw ErrorClass(
"\"numberOfVariables\" must be present to use dense methods");
3767 for (i = 0; i < num_var; i++)
3770 if (j >= 0 && j < numberOfVariables)
3774 throw ErrorClass(
"Variable index out of range");
3800 if (numberOfObjectives < 0)
3801 throw ErrorClass(
"\"numberOfObjectives\" must be set to use dense methods");
3804 throw ErrorClass(
"<optimization> element was never set");
3807 throw ErrorClass(
"<optimization> <objectives> element was never set");
3810 throw ErrorClass(
"initial basis was never set");
3824 for (i = 0; i < num_obj; i++)
3827 if (j >= 0 || j < -numberOfObjectives)
3828 throw ErrorClass(
"Objective index out of range");
3837 for (i = 0; i < num_obj; i++)
3840 if (j >= 0 || j < -numberOfObjectives)
3841 throw ErrorClass(
"Objective index out of range");
3850 for (i = 0; i < num_obj; i++)
3853 if (j >= 0 || j < -numberOfObjectives)
3854 throw ErrorClass(
"Objective index out of range");
3863 for (i = 0; i < num_obj; i++)
3866 if (j >= 0 || j < -numberOfObjectives)
3867 throw ErrorClass(
"Objective index out of range");
3876 for (i = 0; i < num_obj; i++)
3879 if (j >= 0 || j < -numberOfObjectives)
3880 throw ErrorClass(
"Objective index out of range");
3907 std::vector<OtherObjectiveOption*> optionsVector;
3915 for(i = 0; i < num_options; i++)
3920 throw ErrorClass(
"<objectives> object must be defined before getting the data");
3923 throw ErrorClass(
"<optimization> object must be defined before getting the data");
3924 return optionsVector;
3942 if (optionNumber < 0 || optionNumber >= num_options)
3943 throw ErrorClass(
"optionNumber not in legal range");
3947 throw ErrorClass(
"<objectives> object must be defined before getting the data");
3950 throw ErrorClass(
"<optimization> object must be defined before getting the data");
3965 throw ErrorClass(
"<objectives> object must be defined before getting the data");
3968 throw ErrorClass(
"<optimization> object must be defined before getting the data");
3969 return optionsVector;
3987 throw ErrorClass(
"<initialConstraintValues> object must be defined before getting the data");
3990 throw ErrorClass(
"<constraints> object must be defined before getting the data");
3993 throw ErrorClass(
"<optimization> object must be defined before getting the data");
3994 return initConVector;
4006 int numberOfConstraints;
4008 if (numberOfConstraints < 0)
4009 throw ErrorClass(
"\"numberOfConstraints\" must be present to use dense methods");
4026 for (i = 0; i < num_con; i++)
4029 if (j >= 0 && j < numberOfConstraints)
4033 throw ErrorClass(
"Constraint index out of range");
4057 if (numberOfConstraints < 0)
4058 throw ErrorClass(
"\"numberOfConstraints\" must be present to use dense methods");
4075 for (i = 0; i < num_con; i++)
4078 if (j >= 0 && j < numberOfConstraints)
4082 throw ErrorClass(
"Constraint index out of range");
4110 throw ErrorClass(
"<initialDualValues> object must be defined before getting the data");
4113 throw ErrorClass(
"<constraints> object must be defined before getting the data");
4116 throw ErrorClass(
"<optimization> object must be defined before getting the data");
4117 return initDualVector;
4129 int numberOfConstraints;
4131 if (numberOfConstraints < 0)
4132 throw ErrorClass(
"\"numberOfConstraints\" must be present to use dense methods");
4151 for (i = 0; i < num_con; i++)
4154 if (j >= 0 && j < numberOfConstraints)
4158 throw ErrorClass(
"Constraint index out of range");
4182 if (numberOfConstraints < 0)
4183 throw ErrorClass(
"\"numberOfConstraints\" must be present to use dense methods");
4200 for (i = 0; i < num_con; i++)
4203 if (j >= 0 && j < numberOfConstraints)
4207 throw ErrorClass(
"Constraint index out of range");
4230 int numberOfConstraints;
4232 if (numberOfConstraints < 0)
4233 throw ErrorClass(
"\"numberOfConstraints\" must be present to use dense methods");
4251 for (i = 0; i < num_con; i++)
4254 if (j >= 0 && j < numberOfConstraints)
4258 throw ErrorClass(
"Constraint index out of range");
4282 if (numberOfConstraints < 0)
4283 throw ErrorClass(
"\"numberOfConstraints\" must be present to use dense methods");
4301 for (i = 0; i < num_con; i++)
4304 if (j >= 0 && j < numberOfConstraints)
4308 throw ErrorClass(
"Constraint index out of range");
4333 if (numberOfConstraints < 0)
4334 throw ErrorClass(
"\"numberOfConstraints\" must be set to use dense methods");
4337 throw ErrorClass(
"<optimization> element was never set");
4340 throw ErrorClass(
"<optimization> <constraints> element was never set");
4343 throw ErrorClass(
"initial basis was never set");
4357 for (i = 0; i < num_slack; i++)
4360 if (j >= 0 && j < numberOfConstraints)
4363 throw ErrorClass(
"Constraint index out of range");
4370 for (i = 0; i < num_slack; i++)
4373 if (j >= 0 && j < numberOfConstraints)
4376 throw ErrorClass(
"Constraint index out of range");
4383 for (i = 0; i < num_slack; i++)
4386 if (j >= 0 && j < numberOfConstraints)
4389 throw ErrorClass(
"Constraint index out of range");
4396 for (i = 0; i < num_slack; i++)
4399 if (j >= 0 && j < numberOfConstraints)
4402 throw ErrorClass(
"Constraint index out of range");
4409 for (i = 0; i < num_slack; i++)
4412 if (j >= 0 && j < numberOfConstraints)
4415 throw ErrorClass(
"Constraint index out of range");
4437 std::vector<OtherConstraintOption*> optionsVector;
4445 for(i = 0; i < num_options; i++)
4450 throw ErrorClass(
"<constraints> object must be defined before getting the data");
4453 throw ErrorClass(
"<optimization> object must be defined before getting the data");
4454 return optionsVector;
4469 throw ErrorClass(
"<constraints> object must be defined before getting the data");
4472 throw ErrorClass(
"<optimization> object must be defined before getting the data");
4473 return optionsVector;
4491 if (optionNumber < 0 || optionNumber >= num_options)
4492 throw ErrorClass(
"optionNumber not in legal range");
4496 throw ErrorClass(
"<constraints> object must be defined before getting the data");
4499 throw ErrorClass(
"<optimization> object must be defined before getting the data");
4510 std::vector<SolverOption*> optionsVector;
4518 for(i = 0; i < num_options; i++)
4523 throw ErrorClass(
"<solverOptions> object must be defined before getting the data");
4526 throw ErrorClass(
"<optimization> object must be defined before getting the data");
4527 return optionsVector;
4541 std::vector<SolverOption*> optionsVector;
4549 for (i = 0; i < num_options; i++)
4552 (this->optimization->solverOptions->solverOption[i]->solver ==
"" && getFreeOptions))
4557 throw ErrorClass(
"<solverOptions> object must be defined before getting the data");
4560 throw ErrorClass(
"<optimization> object must be defined before getting the data");
4561 return optionsVector;
4575 throw ErrorClass(
"<solverOptions> object must be defined before getting the data");
4578 throw ErrorClass(
"<optimization> object must be defined before getting the data");
4579 return optionsVector;
4603 if (this->other != NULL)
4604 throw ErrorClass(
"otherOptions array previously used.");
4606 if (numberOfOptions < 0)
4607 throw ErrorClass(
"length of otherOptions array cannot be negative.");
4610 if (numberOfOptions == 0)
4616 for (i = 0; i < numberOfOptions; i++)
4619 *this->other[i] = *
other[i];
4640 throw ErrorClass(
"the name of an option cannot be empty." );
4642 if (this->
other == NULL)
4648 for (i = 0; i < nopt; i++)
4649 temp[i] = this->
other[i];
4651 delete[] this->
other;
4656 temp[ nopt]->
name = name;
4657 temp[ nopt]->
value = value;
4681 if (this->jobID != NULL)
4696 this->jobID[i] =
jobID[i];
4721 if (this->jobID == NULL)
4726 std::string* temp =
new std::string[nopt+1];
4728 for (i = 0; i < nopt; i++)
4729 temp[i] = this->jobID[i];
4731 delete[] this->
jobID;
4756 if (this->path != NULL)
4771 this->path[i] =
path[i];
4796 if (this->path == NULL)
4801 std::string* temp =
new std::string[nopt+1];
4803 for (i = 0; i < nopt; i++)
4804 temp[i] = this->path[i];
4806 delete[] this->
path;
4831 if (this->pathPair != NULL)
4848 this->pathPair[i] =
new PathPair();
4896 if (fromPath.empty() )
4899 if (toPath.empty() )
4909 for (i = 0; i < nopt; i++)
4917 temp[ nopt]->
from = fromPath;
4918 temp[ nopt]->
to = toPath;
4943 if (this->process != NULL)
4958 this->process[i] =
process[i];
4980 throw ErrorClass(
"the name of a process cannot be empty." );
4982 if (this->process == NULL)
4987 std::string* temp =
new std::string[nopt+1];
4989 for (i = 0; i < nopt; i++)
4990 temp[i] = this->process[i];
4996 this->process = temp;
5017 if (this->var != NULL)
5018 throw ErrorClass(
"InitVarValue array previously used.");
5021 throw ErrorClass(
"length of var array cannot be negative.");
5033 *this->var[i] = *
var[i];
5055 if (this->var != NULL)
5058 throw ErrorClass(
"InitVarValue array previously used.");
5067 delete this->var[i];
5068 delete [] this->
var;
5073 throw ErrorClass(
"length of var array cannot be negative.");
5085 *this->var[i] = *
var[i];
5107 if (this->
var != NULL)
5123 this->
var[i]->
idx = idx[i];
5143 throw ErrorClass(
"the index of a variable cannot be negative." );
5145 if (this->
var == NULL)
5151 for (i = 0; i < nopt; i++)
5152 temp[i] = this->
var[i];
5159 temp[ nopt]->
idx = idx;
5160 temp[ nopt]->
value = value;
5184 throw ErrorClass(
"length of var array cannot be negative.");
5192 for (
int i = 0; i < nprev; i++)
5193 temp[i] = this->var[i];
5201 *temp[nprev+i] = *
var[i];
5226 if (this->var != NULL)
5227 throw ErrorClass(
"InitVarValueString array previously used.");
5230 throw ErrorClass(
"length of var array cannot be negative.");
5242 *this->var[i] = *
var[i];
5263 if (this->var != NULL)
5266 throw ErrorClass(
"InitVarValueString array previously used.");
5274 delete this->var[i];
5275 delete [] this->
var;
5280 throw ErrorClass(
"length of var array cannot be negative.");
5292 *this->var[i] = *
var[i];
5313 if (this->
var != NULL)
5330 this->
var[i]->
idx = idx[i];
5350 throw ErrorClass(
"the index of a variable cannot be negative." );
5352 if (this->
var == NULL)
5358 for (i = 0; i < nopt; i++)
5359 temp[i] = this->
var[i];
5366 temp[ nopt]->
idx = idx;
5367 temp[ nopt]->
value = value;
5392 throw ErrorClass(
"length of var array cannot be negative.");
5400 for (
int i = 0; i < nprev; i++)
5401 temp[i] = this->var[i];
5409 *temp[nprev+i] = *
var[i];
5434 if (this->var != NULL)
5435 throw ErrorClass(
"InitBasStatus array previously used.");
5438 throw ErrorClass(
"length of var array cannot be negative.");
5450 *this->var[i] = *
var[i];
5474 throw ErrorClass(
"the index of a variable cannot be negative." );
5475 if (value !=
"atLower" && value !=
"basic" && value !=
"unknown" &&
5476 value !=
"atUpper" && value !=
"superbasic" )
5477 throw ErrorClass(
"Illegal basis status " + value );
5479 if (this->
var == NULL)
5485 for (i = 0; i < nopt; i++)
5486 temp[i] = this->
var[i];
5493 temp[ nopt]->
idx = idx;
5494 temp[ nopt]->
value = value;
5518 if (this->var != NULL)
5534 *this->var[i] = *
var[i];
5555 if (this->var != NULL)
5558 throw ErrorClass(
"BranchingWeight array previously used.");
5566 delete this->var[i];
5567 delete [] this->
var;
5572 throw ErrorClass(
"length of var array cannot be negative.");
5584 *this->var[i] = *
var[i];
5605 if (this->
var != NULL)
5621 this->
var[i]->
idx = idx[i];
5644 throw ErrorClass(
"the index of a variable cannot be negative." );
5646 if (this->
var == NULL)
5652 for (i = 0; i < nopt; i++)
5653 temp[i] = this->
var[i];
5660 temp[ nopt]->
idx = idx;
5661 temp[ nopt]->
value = value;
5685 throw ErrorClass(
"length of var array cannot be negative.");
5693 for (
int i = 0; i < nprev; i++)
5694 temp[i] = this->var[i];
5702 *temp[nprev+i] = *
var[i];
5727 if (this->var != NULL)
5728 throw ErrorClass(
"BranchingWeight array previously used.");
5731 throw ErrorClass(
"length of var array cannot be negative.");
5743 *this->var[i] = *
var[i];
5767 throw ErrorClass(
"the index of a variable cannot be negative." );
5769 if (this->
var == NULL)
5775 for (i = 0; i < nopt; i++)
5776 temp[i] = this->
var[i];
5783 temp[ nopt]->
idx = idx;
5784 temp[ nopt]->
value = value;
5808 if (this->sos != NULL)
5809 throw ErrorClass(
"SOS array previously used.");
5812 throw ErrorClass(
"length of sos array cannot be negative.");
5826 if (
sos[i]->numberOfVar < 0)
5827 throw ErrorClass(
"the number of variables in the SOS cannot be negative.");
5831 if (
sos[i]->numberOfVar > 0)
5837 *this->sos[i]->var[j] = *
sos[i]->
var[j];
5862 throw ErrorClass(
"the index of the SOS cannot be negative." );
5864 throw ErrorClass(
"the number of variables in the SOS cannot be negative." );
5866 if (this->
sos == NULL)
5872 for (i = 0; i < nopt; i++)
5873 temp[i] = this->
sos[i];
5880 temp[ nopt]->
sosIdx = sosIdx;
5884 for (i = 0; i < nvar; i++)
5887 temp[nopt]->
var[i]->
idx = idx[i];
5888 temp[nopt]->
var[i]->
name = name[i];
5889 temp[nopt]->
var[i]->
value = value[i];
5914 if (this->var != NULL)
5915 throw ErrorClass(
"OtherVarOption array previously used.");
5918 throw ErrorClass(
"length of <var> array cannot be negative.");
5929 *this->var[i] = *
var[i];
5955 throw ErrorClass(
"the index of a variable cannot be negative." );
5957 if (this->
var == NULL)
5963 for (i = 0; i < nopt; i++)
5964 temp[i] = this->
var[i];
5971 temp[ nopt]->
idx = idx;
5973 temp[ nopt]->
lbValue = lbValue;
5974 temp[ nopt]->
ubValue = ubValue;
5998 if (this->other != NULL)
5999 throw ErrorClass(
"otherVariableOptions array previously used.");
6001 if (numberOfOptions < 0)
6002 throw ErrorClass(
"length of <other> array cannot be negative.");
6005 if (numberOfOptions == 0)
return true;
6010 for (i = 0; i < numberOfOptions; i++)
6020 if (
other[i]->numberOfVar < 0)
6021 throw ErrorClass(
"the number of variables in otherVariableOption cannot be negative.");
6025 if (
other[i]->numberOfVar > 0)
6031 *this->other[i]->var[j] = *
other[i]->
var[j];
6036 if (this->other[i]->numberOfEnumerations > 0)
6039 for (j = 0; j < this->other[i]->numberOfEnumerations; j++)
6043 other[i]->enumeration[j]->value,
6044 other[i]->enumeration[j]->description,
6045 other[i]->enumeration[j]->el,
6046 other[i]->enumeration[j]->numberOfEl);
6069 if (this->other == NULL)
6075 for (i = 0; i < nopt; i++)
6076 temp[i] = this->other[i];
6078 delete[] this->
other;
6092 throw ErrorClass(
"the number of variables in otherVariableOption cannot be negative.");
6145 if (this->obj != NULL)
6146 throw ErrorClass(
"InitObjValue array previously used.");
6149 throw ErrorClass(
"length of obj array cannot be negative.");
6161 *this->obj[i] = *
obj[i];
6183 if (this->obj != NULL)
6186 throw ErrorClass(
"InitObjValue array previously used.");
6194 delete this->obj[i];
6195 delete [] this->
obj;
6200 throw ErrorClass(
"length of obj array cannot be negative.");
6212 *this->obj[i] = *
obj[i];
6225 if (this->
obj != NULL)
return false;
6238 this->
obj[i]->
idx = idx[i];
6259 throw ErrorClass(
"the index of an objective must be negative." );
6261 if (this->
obj == NULL)
6267 for (i = 0; i < nopt; i++)
6268 temp[i] = this->
obj[i];
6275 temp[ nopt]->
idx = idx;
6276 temp[ nopt]->
value = value;
6300 throw ErrorClass(
"length of obj array cannot be negative.");
6308 for (
int i = 0; i < nprev; i++)
6309 temp[i] = this->obj[i];
6317 *temp[nprev+i] = *
obj[i];
6342 if (this->obj != NULL)
6343 throw ErrorClass(
"InitObjBound array previously used.");
6346 throw ErrorClass(
"length of obj array cannot be negative.");
6358 *this->obj[i] = *
obj[i];
6380 if (this->obj != NULL)
6383 throw ErrorClass(
"InitObjBound array previously used.");
6391 delete this->obj[i];
6392 delete [] this->
obj;
6397 throw ErrorClass(
"length of obj array cannot be negative.");
6409 *this->obj[i] = *
obj[i];
6422 if (this->
obj != NULL)
6438 this->
obj[i]->
idx = idx[i];
6461 throw ErrorClass(
"the index of an objective must be negative." );
6463 if (this->
obj == NULL)
6469 for (i = 0; i < nopt; i++)
6470 temp[i] = this->
obj[i];
6477 temp[ nopt]->
idx = idx;
6478 temp[ nopt]->
lbValue = lbValue;
6479 temp[ nopt]->
ubValue = ubValue;
6503 throw ErrorClass(
"length of obj array cannot be negative.");
6511 for (
int i = 0; i < nprev; i++)
6512 temp[i] = this->obj[i];
6520 *temp[nprev+i] = *
obj[i];
6548 if (this->obj != NULL)
6549 throw ErrorClass(
"OtherObjOption array previously used.");
6552 throw ErrorClass(
"length of <obj> array cannot be negative.");
6564 *this->obj[i] = *
obj[i];
6590 throw ErrorClass(
"the index of an objective must be negative." );
6592 if (this->
obj == NULL)
6598 for (i = 0; i < nopt; i++)
6599 temp[i] = this->
obj[i];
6606 temp[ nopt]->
idx = idx;
6608 temp[ nopt]->
lbValue = lbValue;
6609 temp[ nopt]->
ubValue = ubValue;
6633 if (this->other != NULL)
6634 throw ErrorClass(
"otherObjectiveOptions array previously used.");
6636 if (numberOfOptions < 0)
6637 throw ErrorClass(
"length of <other> array cannot be negative.");
6640 if (numberOfOptions == 0)
return true;
6645 for (i = 0; i < numberOfOptions; i++)
6655 if (
other[i]->numberOfObj < 0)
6656 throw ErrorClass(
"the number of objectives in otherObjectiveOption cannot be negative.");
6660 if (
other[i]->numberOfObj > 0)
6666 *this->other[i]->obj[j] = *
other[i]->
obj[j];
6671 if (this->other[i]->numberOfEnumerations > 0)
6674 for (j = 0; j < this->other[i]->numberOfEnumerations; j++)
6678 other[i]->enumeration[j]->value,
6679 other[i]->enumeration[j]->description,
6680 other[i]->enumeration[j]->el,
6681 other[i]->enumeration[j]->numberOfEl);
6704 if (this->other == NULL)
6710 for (i = 0; i < nopt; i++)
6711 temp[i] = this->other[i];
6713 delete[] this->
other;
6727 throw ErrorClass(
"the number of objectives in otherObjectiveOption cannot be negative.");
6742 throw ErrorClass(
"the number of enumerations in otherObjectiveOption cannot be negative.");
6785 if (this->con != NULL)
6786 throw ErrorClass(
"InitConValue array previously used.");
6789 throw ErrorClass(
"length of con array cannot be negative.");
6801 *this->con[i] = *
con[i];
6823 if (this->con != NULL)
6826 throw ErrorClass(
"InitConValue array previously used.");
6834 delete this->con[i];
6835 delete [] this->
con;
6840 throw ErrorClass(
"length of con array cannot be negative.");
6852 *this->con[i] = *
con[i];
6866 if (this->
con != NULL)
6882 this->
con[i]->
idx = idx[i];
6904 throw ErrorClass(
"the index of a constraint cannot be negative." );
6906 if (this->
con == NULL)
6912 for (i = 0; i < nopt; i++)
6913 temp[i] = this->
con[i];
6920 temp[ nopt]->
idx = idx;
6921 temp[ nopt]->
value = value;
6945 throw ErrorClass(
"length of con array cannot be negative.");
6953 for (
int i = 0; i < nprev; i++)
6954 temp[i] = this->con[i];
6962 *temp[nprev+i] = *
con[i];
6988 if (this->con != NULL)
6989 throw ErrorClass(
"InitDualVarValue array previously used.");
6992 throw ErrorClass(
"length of con array cannot be negative.");
7004 *this->con[i] = *
con[i];
7025 if (this->con != NULL)
7028 throw ErrorClass(
"InitDualVarValue array previously used.");
7036 delete this->con[i];
7037 delete [] this->
con;
7042 throw ErrorClass(
"length of con array cannot be negative.");
7054 *this->con[i] = *
con[i];
7067 if (this->
con != NULL)
7083 this->
con[i]->
idx = idx[i];
7106 throw ErrorClass(
"the index of a constraint cannot be negative." );
7108 if (this->
con == NULL)
7114 for (i = 0; i < nopt; i++)
7115 temp[i] = this->
con[i];
7122 temp[ nopt]->
idx = idx;
7148 throw ErrorClass(
"length of con array cannot be negative.");
7156 for (
int i = 0; i < nprev; i++)
7157 temp[i] = this->con[i];
7165 *temp[nprev+i] = *
con[i];
7190 if (this->con != NULL)
7191 throw ErrorClass(
"OtherConOption array previously used.");
7194 throw ErrorClass(
"length of <con> array cannot be negative.");
7206 *this->con[i] = *
con[i];
7232 throw ErrorClass(
"the index of a variable cannot be negative." );
7234 if (this->
con == NULL)
7240 for (i = 0; i < nopt; i++)
7241 temp[i] = this->
con[i];
7248 temp[ nopt]->
idx = idx;
7250 temp[ nopt]->
lbValue = lbValue;
7251 temp[ nopt]->
ubValue = ubValue;
7275 if (this->other != NULL)
7276 throw ErrorClass(
"otherConstraintOptions array previously used.");
7278 if (numberOfOptions < 0)
7279 throw ErrorClass(
"length of <other> array cannot be negative.");
7282 if (numberOfOptions == 0)
7288 for (i = 0; i < numberOfOptions; i++)
7298 if (
other[i]->numberOfCon < 0)
7299 throw ErrorClass(
"the number of constraints in otherConstraintOption cannot be negative.");
7304 if (
other[i]->numberOfCon > 0)
7311 *this->other[i]->con[j] = *
other[i]->
con[j];
7317 if (this->other[i]->numberOfEnumerations > 0)
7320 for (j = 0; j < this->other[i]->numberOfEnumerations; j++)
7324 other[i]->enumeration[j]->value,
7325 other[i]->enumeration[j]->description,
7326 other[i]->enumeration[j]->el,
7327 other[i]->enumeration[j]->numberOfEl);
7351 if (this->other == NULL)
7357 for (i = 0; i < nopt; i++)
7358 temp[i] = this->other[i];
7360 delete[] this->
other;
7374 throw ErrorClass(
"the number of constraints in otherConstraintOption cannot be negative.");
7390 throw ErrorClass(
"the number of enumerations in otherObjectiveOption cannot be negative.");
7428 if (this->solverOption != NULL)
7429 throw ErrorClass(
"solverOptions array previously used.");
7431 if (numberOfOptions < 0)
7432 throw ErrorClass(
"length of <solverOption> array cannot be negative.");
7435 if (numberOfOptions == 0)
7438 this->solverOption =
new SolverOption*[numberOfOptions];
7441 for (i = 0; i < numberOfOptions; i++)
7457 this->solverOption[i]->item[j] =
solverOption[i]->item[j];
7481 std::string category, std::string type, std::string description)
7488 throw ErrorClass(
"the name of a solver option cannot be empty." );
7496 for (i = 0; i < nopt; i++)
7505 temp[ nopt]->
name = name;
7506 temp[ nopt]->
value = value;
7507 temp[ nopt]->
solver = solver;
7508 temp[ nopt]->
type = type;
7529 std::string description, std::string fileCreator, std::string licence)
7687 throw ErrorClass(
"transport type not recognized.");
7736 if (this->
system == NULL)
7748 if (this->
system == NULL)
7760 if (this->
system == NULL)
7766 throw ErrorClass(
"disk space unit not recognized.");
7783 if (this->
system == NULL)
7795 if (this->
system == NULL)
7807 if (this->
system == NULL)
7813 throw ErrorClass(
"memory size unit not recognized.");
7827 if (this->
system == NULL)
7840 if (this->
system == NULL)
7854 if (this->
system == NULL)
7860 throw ErrorClass(
"CPU speed unit not recognized.");
7874 if (this->
system == NULL)
7884 if (this->
system == NULL)
7895 if (this->
system == NULL)
7913 if (this->
system == NULL)
7933 throw ErrorClass(
"service type not recognized.");
7977 if (this->
job == NULL)
7990 if (this->
job == NULL)
8004 if (this->
job == NULL)
8010 throw ErrorClass(
"time unit not recognized.");
8024 if (this->
job == NULL)
8033 if (this->
job == NULL)
8045 if (this->
job == NULL)
8055 if (this->
job == NULL)
8067 if (this->
job == NULL)
8077 if (this->
job == NULL)
8089 if (this->
job == NULL)
8099 if (this->
job == NULL)
8111 if (this->
job == NULL)
8121 if (this->
job == NULL)
8133 if (this->
job == NULL)
8142 if (numberOfPathPairs < 0)
return false;
8143 if (this->
job == NULL)
8172 throw ErrorClass(
"target object not implemented in setPathPairs");
8180 if (this->
job == NULL)
8192 if (this->
job == NULL)
8202 if (this->
job == NULL)
8214 if (this->
job == NULL)
8224 if (this->
job == NULL)
8236 if (this->
job == NULL)
8246 if (this->
job == NULL)
8258 if (this->
job == NULL)
8268 if (this->
job == NULL)
8280 if (this->
job == NULL)
8290 if (this->
job == NULL)
8302 if (this->
job == NULL)
8312 if (this->
job == NULL)
8324 if (this->
job == NULL)
8334 if (this->
job == NULL)
8351 if (this->
job == NULL)
8444 for (i = 0; i < numberOfVar; i++)
8524 for (i = 0; i < numberOfVar; i++)
8557 for (
int j=0; j<ni; j++)
8570 for (
int j=0; j<ni; j++)
8583 for (
int j=0; j<ni; j++)
8591 throw ErrorClass(
"target object not implemented in setInitBasisStatus");
8607 if (idx < 0)
return false;
8616 if (idx >= 0)
return false;
8625 if (idx < 0)
return false;
8629 throw ErrorClass(
"target object not implemented in setAnotherInitBasisStatus");
8691 for (i = 0; i < numberOfVar; i++)
8752 if (numberOfOther > 0)
8756 for (
int j=0; j < numberOfOther; j++)
8764 int numberOfEnumerations, std::string name,
8765 std::string value, std::string solver,
8766 std::string category, std::string type,
8767 std::string varType, std::string enumType,
8768 std::string description)
8788 if (numberOfVar > 0)
8791 for (
int j=0; j<numberOfVar; j++)
8795 if (numberOfEnumerations > 0)
8798 for (
int j=0; j<numberOfEnumerations; j++)
8805 int numberOfEl, std::string value, std::string description,
int* idxArray)
8808 if (numberOfEl < 0)
return false;
8818 for (
int j=0; j<numberOfEl; j++)
if (idxArray[j] < 0)
return false;
8833 for (
int j=0; j<numberOfEl; j++)
if (idxArray[j] >= 0)
return false;
8848 for (
int j=0; j<numberOfEl; j++)
if (idxArray[j] < 0)
return false;
8858 throw ErrorClass(
"target object not implemented in setOtherOptionOrResultEnumeration");
8864 int idx, std::string name, std::string value, std::string lbValue, std::string ubValue)
8872 if (idx < 0)
return false;
8971 for (i = 0; i < numberOfObj; i++)
9050 for (i = 0; i < numberOfObj; i++)
9070 int idx, std::string name, std::string value, std::string lbValue, std::string ubValue)
9078 if (idx >= 0)
return false;
9101 if (numberOfOther > 0)
9105 for (
int j=0; j < numberOfOther; j++)
9113 int numberOfEnumerations, std::string name,
9114 std::string value, std::string solver,
9115 std::string category, std::string type,
9116 std::string objType, std::string enumType,
9117 std::string description)
9136 if (numberOfObj > 0)
9139 for (
int j=0; j<numberOfObj; j++)
9143 if (numberOfEnumerations > 0)
9146 for (
int j=0; j<numberOfEnumerations; j++)
9238 for (i = 0; i < numberOfCon; i++)
9316 for (i = 0; i < numberOfCon; i++)
9318 if ((lb[i] != 0.0) || (ub[i] != 0.0))
9345 if (numberOfOther > 0)
9349 for (
int j=0; j < numberOfOther; j++)
9357 int numberOfEnumerations, std::string name,
9358 std::string value, std::string solver,
9359 std::string category, std::string type,
9360 std::string conType, std::string enumType,
9361 std::string description)
9379 if (numberOfCon > 0)
9382 for (
int j=0; j<numberOfCon; j++)
9386 if (numberOfEnumerations > 0)
9389 for (
int j=0; j<numberOfEnumerations; j++)
9397 int idx, std::string name, std::string value, std::string lbValue, std::string ubValue)
9405 if (idx < 0)
return false;
9457 for (
int j=0; j < numberOfOptions; j++)
9464 std::string value, std::string solver,
9465 std::string category, std::string type,
9466 std::string description, std::string *itemList)
9482 if (numberOfItems > 0)
9485 for (
int j=0; j<numberOfItems; j++)
9510 std::string category, std::string type, std::string description)
9522 if (optionName ==
"serviceURI")
9525 if (optionName ==
"serviceName")
9528 if (optionName ==
"instanceName")
9531 if (optionName ==
"instanceLocation")
9534 if (optionName ==
"locationType")
9537 if (optionName ==
"jobID")
9538 return this->
setJobID(optionValue);
9540 if (optionName ==
"solverName")
9543 if (optionName ==
"solverToInvoke")
9546 if (optionName ==
"license")
9549 if (optionName ==
"userName")
9552 if (optionName ==
"password")
9555 if (optionName ==
"contact")
9558 if (optionName ==
"transportType")
9561 if (optionName ==
"minDiskSpaceUnit")
9564 if (optionName ==
"minMemoryUnit")
9567 if (optionName ==
"minCPUSpeedUnit")
9570 if (optionName ==
"serviceType")
9573 if (optionName ==
"maxTimeUnit")
9576 if (optionName ==
"requestedStartTime")
9585 if (optionName ==
"minCPUNumber")
9594 if (optionName ==
"minDiskSpaceValue")
9597 if (optionName ==
"minMemoryValue")
9600 if (optionName ==
"minCPUSpeedValue")
9604 if (optionName ==
"maxTime")
9663 std::ostringstream outStr;
9695 same = ((this->
jobID == that->
jobID ) && same);
9708 outStr <<
"jobID: " << this->
jobID <<
" vs. " << that->
jobID << endl;
9710 outStr <<
"license: " << this->
license <<
" vs. " << that->
license << endl;
9711 outStr <<
"userName: " << this->
userName <<
" vs. " << that->
userName << endl;
9712 outStr <<
"password: " << this->
password <<
" vs. " << that->
password << endl;
9775 std::ostringstream outStr;
9808 outStr <<
"service type: " << this->
type <<
" vs. " << that->
type << endl;
9824 std::ostringstream outStr;
9900 std::ostringstream outStr;
9934 outStr <<
"numberOfVariables: "
9946 outStr <<
"numberOfObjectives: "
9958 outStr <<
"numberOfConstraints: "
9980 std::ostringstream outStr;
10014 outStr <<
"value: " << this->
value <<
" vs. " << that->
value << endl;
10026 std::ostringstream outStr;
10060 outStr <<
"value: " << this->
value <<
" vs. " << that->
value << endl;
10072 std::ostringstream outStr;
10122 std::ostringstream outStr;
10151 (this->value != that->
value) ||
10157 outStr <<
"name: " << this->
name <<
" vs. " << that->
name << endl;
10158 outStr <<
"value: " << this->
value <<
" vs. " << that->
value << endl;
10171 std::ostringstream outStr;
10206 outStr <<
"unit: " << this->
unit <<
" vs. " << that->
unit << endl;
10207 outStr <<
"value: " << this->
value <<
" vs. " << that->
value << endl;
10220 std::ostringstream outStr;
10255 outStr <<
"unit: " << this->
unit <<
" vs. " << that->
unit << endl;
10256 outStr <<
"value: " << this->
value <<
" vs. " << that->
value << endl;
10268 std::ostringstream outStr;
10303 outStr <<
"unit: " << this->
unit <<
" vs. " << that->
unit << endl;
10304 outStr <<
"value: " << this->
value <<
" vs. " << that->
value << endl;
10316 std::ostringstream outStr;
10345 (this->value != that->
value) )
10351 outStr <<
"value: " << this->
value <<
" vs. " << that->
value << endl;
10363 std::ostringstream outStr;
10408 outStr <<
"jobID[" << i <<
"]: " << this->
jobID[i] <<
" vs. " << that->
jobID[i] << endl;
10420 std::ostringstream outStr;
10460 if (this->
path[i] != that->
path[i])
10465 outStr <<
"path[" << i <<
"]: \'" << this->
path[i] <<
"\' vs. \'" << that->
path[i] <<
"\'" << endl;
10477 std::ostringstream outStr;
10527 std::ostringstream outStr;
10556 if ((this->
from != that->
from) || (this->to != that->
to) ||
10557 (this->makeCopy != that->
makeCopy))
10562 outStr <<
"from: " << this->
from <<
" vs. " << that->
from << endl;
10563 outStr <<
"to: " << this->
to <<
" vs. " << that->
to << endl;
10564 outStr <<
"makeCopy: " << this->
makeCopy <<
" vs. " << that->
makeCopy << endl;
10576 std::ostringstream outStr;
10621 outStr <<
"process[" << i <<
"]: " << this->
process[i] <<
" vs. " << that->
process[i] << endl;
10634 std::ostringstream outStr;
10691 outStr <<
"other[" << i <<
"]: " << this->
other[i] <<
" vs. " << that->
other[i] << endl;
10704 std::ostringstream outStr;
10753 std::ostringstream outStr;
10781 if ((this->
idx != that->
idx) || this->name != that->
name
10787 outStr <<
"idx: " << this->
idx <<
" vs. " << that->
idx << endl;
10788 outStr <<
"value: " << this->
value <<
" vs. " << that->
value << endl;
10801 std::ostringstream outStr;
10850 std::ostringstream outStr;
10878 if ((this->
idx != that->
idx) || this->name != that->
name || (this->value != that->
value))
10883 outStr <<
"idx: " << this->
idx <<
" vs. " << that->
idx << endl;
10884 outStr <<
"value: " << this->
value <<
" vs. " << that->
value << endl;
10896 std::ostringstream outStr;
10945 std::ostringstream outStr;
10973 if ((this->
idx != that->
idx) || (this->value != that->
value))
10974 if ((this->
value !=
"unknown" && that->
value !=
"") ||
10975 (that->
value !=
"unknown" && this->value !=
"") )
10980 outStr <<
"idx: " << this->
idx <<
" vs. " << that->
idx << endl;
10981 outStr <<
"value: " << this->
value <<
" vs. " << that->
value << endl;
10994 std::ostringstream outStr;
11043 std::ostringstream outStr;
11095 std::ostringstream outStr;
11129 outStr <<
"sosIdx: " << this->
sosIdx <<
" vs. " << that->
sosIdx << endl;
11161 std::ostringstream outStr;
11194 outStr <<
"idx: " << this->
idx <<
" vs. " << that->
idx << endl;
11195 outStr <<
"value: " << this->
value <<
" vs. " << that->
value << endl;
11196 outStr <<
"name: -" << this->
name <<
"- vs. -" << that->
name <<
"-" << endl;
11208 std::ostringstream outStr;
11237 (this->value != that->
value) ||
11238 (this->solver != that->
solver) ||
11239 (this->category != that->
category) ||
11240 (this->type != that->
type) ||
11246 outStr <<
"name: " << this->
name <<
" vs. " << that->
name << endl;
11247 outStr <<
"value: " << this->
value <<
" vs. " << that->
value << endl;
11248 outStr <<
"solver: " << this->
solver <<
" vs. " << that->
solver << endl;
11249 outStr <<
"category: " << this->
category <<
" vs. " << that->
category << endl;
11250 outStr <<
"type: " << this->
type <<
" vs. " << that->
type << endl;
11292 std::ostringstream outStr;
11320 if ((this->
idx != that->
idx) || this->name != that->
name || (this->value != that->
value) ||
11321 (this->lbValue != that->
lbValue) || (this->ubValue != that->
ubValue))
11326 outStr <<
"idx: " << this->
idx <<
" vs. " << that->
idx << endl;
11327 outStr <<
"value: " << this->
value <<
" vs. " << that->
value << endl;
11328 outStr <<
"lbValue: " << this->
lbValue <<
" vs. " << that->
lbValue << endl;
11329 outStr <<
"ubValue: " << this->
ubValue <<
" vs. " << that->
ubValue << endl;
11341 std::ostringstream outStr;
11398 std::ostringstream outStr;
11447 std::ostringstream outStr;
11480 outStr <<
"idx: " << this->
idx <<
" vs. " << that->
idx << endl;
11481 outStr <<
"value: " << this->
value <<
" vs. " << that->
value << endl;
11493 std::ostringstream outStr;
11542 std::ostringstream outStr;
11570 if ((this->
idx != that->
idx) ||
11571 this->name != that->
name ||
11578 outStr <<
"idx: " << this->
idx <<
" vs. " << that->
idx << endl;
11579 outStr <<
"lbValue: " << this->
lbValue <<
" vs. " << that->
lbValue << endl;
11580 outStr <<
"ubValue: " << this->
ubValue <<
" vs. " << that->
ubValue << endl;
11592 std::ostringstream outStr;
11621 (this->value != that->
value) ||
11622 (this->solver != that->
solver) ||
11623 (this->category != that->
category) ||
11624 (this->type != that->
type) ||
11630 outStr <<
"name: " << this->
name <<
" vs. " << that->
name << endl;
11631 outStr <<
"value: " << this->
value <<
" vs. " << that->
value << endl;
11632 outStr <<
"solver: " << this->
solver <<
" vs. " << that->
solver << endl;
11633 outStr <<
"category: " << this->
category <<
" vs. " << that->
category << endl;
11634 outStr <<
"type: " << this->
type <<
" vs. " << that->
type << endl;
11662 std::ostringstream outStr;
11690 if ((this->
idx != that->
idx) || this->name != that->
name || (this->value != that->
value) ||
11691 (this->lbValue != that->
lbValue) || (this->ubValue != that->
ubValue))
11696 outStr <<
"idx: " << this->
idx <<
" vs. " << that->
idx << endl;
11697 outStr <<
"value: " << this->
value <<
" vs. " << that->
value << endl;
11698 outStr <<
"lbValue: " << this->
lbValue <<
" vs. " << that->
lbValue << endl;
11699 outStr <<
"ubValue: " << this->
ubValue <<
" vs. " << that->
ubValue << endl;
11711 std::ostringstream outStr;
11768 std::ostringstream outStr;
11817 std::ostringstream outStr;
11850 outStr <<
"idx: " << this->
idx <<
" vs. " << that->
idx << endl;
11851 outStr <<
"value: " << this->
value <<
" vs. " << that->
value << endl;
11863 std::ostringstream outStr;
11912 std::ostringstream outStr;
11940 if ((this->
idx != that->
idx) || this->name != that->
name ||
11947 outStr <<
"idx: " << this->
idx <<
" vs. " << that->
idx << endl;
11961 std::ostringstream outStr;
11990 (this->value != that->
value) ||
11991 (this->solver != that->
solver) ||
11992 (this->category != that->
category) ||
11993 (this->type != that->
type) ||
11999 outStr <<
"name: " << this->
name <<
" vs. " << that->
name << endl;
12000 outStr <<
"value: " << this->
value <<
" vs. " << that->
value << endl;
12001 outStr <<
"solver: " << this->
solver <<
" vs. " << that->
solver << endl;
12002 outStr <<
"category: " << this->
category <<
" vs. " << that->
category << endl;
12003 outStr <<
"type: " << this->
type <<
" vs. " << that->
type << endl;
12031 std::ostringstream outStr;
12060 if ((this->
idx != that->
idx) || this->name != that->
name || (this->value != that->
value) ||
12061 (this->lbValue != that->
lbValue) || (this->ubValue != that->
ubValue))
12066 outStr <<
"idx: " << this->
idx <<
" vs. " << that->
idx << endl;
12067 outStr <<
"value: " << this->
value <<
" vs. " << that->
value << endl;
12068 outStr <<
"lbValue: " << this->
lbValue <<
" vs. " << that->
lbValue << endl;
12069 outStr <<
"ubValue: " << this->
ubValue <<
" vs. " << that->
ubValue << endl;
12082 std::ostringstream outStr;
12133 std::ostringstream outStr;
12162 (this->value != that->
value) ||
12163 (this->solver != that->
solver) ||
12164 (this->category != that->
category) ||
12165 (this->type != that->
type) ||
12171 outStr <<
"name: " << this->
name <<
" vs. " << that->
name << endl;
12172 outStr <<
"value: " << this->
value <<
" vs. " << that->
value << endl;
12173 outStr <<
"solver: " << this->
solver <<
" vs. " << that->
solver << endl;
12174 outStr <<
"category: " << this->
category <<
" vs. " << that->
category << endl;
12175 outStr <<
"type: " << this->
type <<
" vs. " << that->
type << endl;
12204 if (
OSRand() <= density)
12209 if (
OSRand() <= density)
12214 if (
OSRand() <= density)
12219 if (
OSRand() <= density)
12224 if (
OSRand() <= density)
12229 if (
OSRand() <= density)
12246 if (
OSRand() <= density) this->
jobID =
"random string";
12252 if (
OSRand() <= density)
12257 if (
OSRand() <= density)
12262 if (
OSRand() <= density)
12276 if (
OSRand() <= density)
12281 if (
OSRand() <= density)
12286 if (
OSRand() <= density)
12291 if (
OSRand() <= density)
12296 if (
OSRand() <= density)
12310 if (
OSRand() <= density)
12313 if (conformant) temp = 0.5*temp;
12315 if (temp <= 0.25) this->
type =
"solver";
12316 else if (temp <= 0.50) this->
type =
"agent";
12317 else if (temp <= 0.75) this->
type =
"";
12318 else this->
type =
"spy";
12321 if (
OSRand() <= density)
12338 if (
OSRand() <= density)
12343 if (
OSRand() <= density)
12348 if (
OSRand() <= density)
12353 if (
OSRand() <= density)
12358 if (
OSRand() <= density)
12363 if (
OSRand() <= density)
12368 if (
OSRand() <= density)
12373 if (
OSRand() <= density)
12378 if (
OSRand() <= density)
12383 if (
OSRand() <= density)
12388 if (
OSRand() <= density)
12393 if (
OSRand() <= density)
12398 if (
OSRand() <= density)
12403 if (
OSRand() <= density)
12420 if (
OSRand() <= density)
12425 if (
OSRand() <= density)
12430 if (
OSRand() <= density)
12435 if (
OSRand() <= density)
12449 if (
OSRand() <= density) this->
value =
"http://www.google.com";
12450 if (
OSRand() <= density)
12453 if (conformant) temp = 0.5*temp;
12468 if (
OSRand() <= density) this->
value =
"http://www.google.com";
12469 if (
OSRand() <= density)
12472 if (conformant) temp = 0.5*temp;
12492 else n = (int)(1+4*
OSRand());
12496 for (
int i = 0; i < n; i++)
12510 if (
OSRand() <= density || conformant) this->
name =
"random string";
12511 if (
OSRand() <= density) this->
value =
"random string";
12528 else n = (int)(1+4*
OSRand());
12530 jobID =
new std::string[n];
12531 for (
int i = 0; i < n; i++)
12532 jobID[i] =
"random string";
12547 else n = (int)(1+4*
OSRand());
12550 path =
new std::string[n];
12551 for (
int i = 0; i < n; i++)
12552 path[i] =
"random string";
12567 else n =(int)(1+4*
OSRand());
12570 for (
int i = 0; i < n; i++)
12584 this->
from =
"random string";
12585 this->
to =
"random string";
12600 else n = (int)(1+4*
OSRand());
12602 process =
new std::string[n];
12603 for (
int i = 0; i < n; i++)
12604 process[i] =
"random string";
12614 if (
OSRand() <= density)
12620 if (
OSRand() <= density)
12625 if (
OSRand() <= density)
12630 if (
OSRand() <= density)
12635 if (
OSRand() <= density)
12647 else n = (int)(4*
OSRand());
12650 for (
int i = 0; i < n; i++)
12668 else n = (int)(1+4*
OSRand());
12671 for (
int i = 0; i < n; i++)
12686 if (
OSRand() <= density)
12687 this->
name =
"random string";
12689 if (
OSRand() <= density)
12692 else this->
value = 2.71828;
12708 else n = (int)(1+4*
OSRand());
12711 for (
int i = 0; i < n; i++)
12726 if (
OSRand() <= density) this->
name =
"random string";
12727 if (
OSRand() <= density) this->
value =
"random string";
12743 else n = (int)(1+4*
OSRand());
12746 for (
int i = 0; i < n; i++)
12764 else n = (int)(1+4*
OSRand());
12767 for (
int i = 0; i < n; i++)
12790 else n = (int)(4*
OSRand());
12793 for (
int i = 0; i < n; i++)
12809 if (
OSRand() <= density) this->
name =
"random string";
12811 if (
OSRand() <= density)
12821 this->
name =
"random string";
12822 if (
OSRand() <= density) this->
value =
"random string";
12823 if (
OSRand() <= density) this->
solver =
"random string";
12825 if (
OSRand() <= density) this->
type =
"random string";
12828 if (
OSRand() <= density)
12837 else n = (int)(4*
OSRand());
12840 for (
int i = 0; i < n; i++)
12853 else n = (int)(4*
OSRand());
12856 for (
int i = 0; i < n; i++)
12872 if (
OSRand() <= density) this->
name =
"random string";
12873 if (
OSRand() <= density) this->
value =
"random string";
12884 if (
OSRand() <= density)
12890 if (
OSRand() <= density)
12895 if (
OSRand() <= density)
12901 if (
OSRand() <= density)
12908 else n = (int)(4*
OSRand());
12911 for (
int i = 0; i < n; i++)
12930 else n = (int)(1+4*
OSRand());
12933 for (
int i = 0; i < n; i++)
12949 if (
OSRand() <= density) this->
name =
"random string";
12951 if (
OSRand() <= density)
12954 else this->
value = 2.71828;
12970 else n = (int)(1+4*
OSRand());
12973 for (
int i = 0; i < n; i++)
12989 if (
OSRand() <= density) this->
name =
"random string";
12991 if (
OSRand() <= density)
12994 else this->
lbValue = 2.71828;
12996 else this->
ubValue = 2.71828;
13006 this->
name =
"random string";
13007 if (
OSRand() <= density) this->
value =
"random string";
13008 if (
OSRand() <= density) this->
solver =
"random string";
13010 if (
OSRand() <= density) this->
type =
"random string";
13013 if (
OSRand() <= density)
13022 else n = (int)(4*
OSRand());
13025 for (
int i = 0; i < n; i++)
13038 else n = (int)(4*
OSRand());
13041 for (
int i = 0; i < n; i++)
13057 else this->
idx = -2;
13058 if (
OSRand() <= density) this->
name =
"random string";
13059 if (
OSRand() <= density) this->
value =
"random string";
13070 if (
OSRand() <= density)
13076 if (
OSRand() <= density)
13081 if (
OSRand() <= density)
13087 if (
OSRand() <= density)
13094 else n = (int)(4*
OSRand());
13097 for (
int i = 0; i < n; i++)
13116 else n = (int)(1+4*
OSRand());
13119 for (
int i = 0; i < n; i++)
13134 if (
OSRand() <= density) this->
name =
"random string";
13136 if (
OSRand() <= density)
13140 else this->
value = 2.71828;
13155 else n = (int)(1+4*
OSRand());
13158 for (
int i = 0; i < n; i++)
13173 if (
OSRand() <= density) this->
name =
"random string";
13175 if (
OSRand() <= density)
13190 this->
name =
"random string";
13191 if (
OSRand() <= density) this->
value =
"random string";
13192 if (
OSRand() <= density) this->
solver =
"random string";
13194 if (
OSRand() <= density) this->
type =
"random string";
13197 if (
OSRand() <= density)
13206 else n = (int)(4*
OSRand());
13209 for (
int i = 0; i < n; i++)
13222 else n = (int)(4*
OSRand());
13225 for (
int i = 0; i < n; i++)
13241 if (
OSRand() <= density) this->
name =
"random string";
13242 if (
OSRand() <= density) this->
value =
"random string";
13259 else n = (int)(1+4*
OSRand());
13262 for (
int i = 0; i < n; i++)
13275 if (
OSRand() <= density || conformant) this->
name =
"random string";
13277 if (
OSRand() <= density) this->
value =
"random string";
13278 if (
OSRand() <= density) this->
solver =
"random string";
13280 if (
OSRand() <= density) this->
type =
"random string";
13283 if (
OSRand() <= density)
13290 else n = (int)(4*
OSRand());
13292 item =
new std::string[n];
13293 for (
int i = 0; i < n; i++)
13294 item[i] =
"random string";
13325 if (that->
system != NULL)
13337 if (that->
job != NULL)
13607 if (n < 0)
return false;
13608 if (n == 0)
return true;
13612 for (
int i = 0; i < n; i++)
13644 if (n < 0)
return false;
13645 if (n == 0)
return true;
13647 this->
jobID =
new std::string[n];
13648 for (
int i = 0; i < n; i++)
13664 if (n < 0)
return false;
13665 if (n == 0)
return true;
13667 this->
path =
new std::string[n];
13668 for (
int i = 0; i < n; i++)
13684 if (n < 0)
return false;
13685 if (n == 0)
return true;
13688 for (
int i = 0; i < n; i++)
13704 this->
to = that->
to;
13719 if (n < 0)
return false;
13720 if (n == 0)
return true;
13722 process =
new std::string[n];
13723 for (
int i = 0; i < n; i++)
13769 if (n < 0)
return false;
13770 if (n == 0)
return true;
13773 for (
int i = 0; i < n; i++)
13791 if (n < 0)
return false;
13792 if (n == 0)
return true;
13795 for (
int i = 0; i < n; i++)
13824 if (n < 0)
return false;
13825 if (n == 0)
return true;
13828 for (
int i = 0; i < n; i++)
13857 if (n < 0)
return false;
13858 if (n == 0)
return true;
13861 for (
int i = 0; i < n; i++)
13878 if (n < 0)
return false;
13879 if (n == 0)
return true;
13882 for (
int i = 0; i < n; i++)
13903 if (n < 0)
return false;
13904 if (n == 0)
return true;
13907 for (
int i = 0; i < n; i++)
13946 if (n < 0)
return false;
13950 for (
int i = 0; i < n; i++)
13961 if (n < 0)
return false;
13962 if (n == 0)
return true;
13965 for (
int i = 0; i < n; i++)
14014 if (n < 0)
return false;
14015 if (n == 0)
return true;
14018 for (
int i = 0; i < n; i++)
14035 if (n < 0)
return false;
14036 if (n == 0)
return true;
14039 for (
int i = 0; i < n; i++)
14067 if (n < 0)
return false;
14068 if (n == 0)
return true;
14071 for (
int i = 0; i < n; i++)
14112 if (n < 0)
return false;
14116 for (
int i = 0; i < n; i++)
14127 if (n < 0)
return false;
14131 for (
int i = 0; i < n; i++)
14181 if (n < 0)
return false;
14182 if (n == 0)
return true;
14185 for (
int i = 0; i < n; i++)
14202 if (n < 0)
return false;
14203 if (n == 0)
return true;
14206 for (
int i = 0; i < n; i++)
14234 if (n < 0)
return false;
14235 if (n == 0)
return true;
14238 for (
int i = 0; i < n; i++)
14278 if (n < 0)
return false;
14282 for (
int i = 0; i < n; i++)
14293 if (n < 0)
return false;
14297 for (
int i = 0; i < n; i++)
14329 if (n < 0)
return false;
14330 if (n == 0)
return true;
14333 for (
int i = 0; i < n; i++)
14357 if (n < 0)
return false;
14358 if (n == 0)
return true;
14360 this->
item =
new std::string[n];
14361 for (
int i = 0; i < n; i++)
const OSSmartPtr< OSOutput > osoutput
bool OSIsEqual(double x, double y)
double OSNaN()
returns the value for NaN used in OS
a data structure to represent an LP basis on both input and output
bool IsEqual(BasisStatus *that)
A function to check for the equality of two objects.
bool getIntVector(int status, int *i)
Get the entire array of indices for a particular status.
bool addIdx(int status, int idx)
Add one index to a particular status.
bool setIntVector(int status, int *i, int ni)
Set the indices for a particular status.
int getNumberOfEl(int status)
Get the number of indices for a particular status.
bool setRandom(double density, bool conformant, int iMin, int iMax)
A function to make a random instance of this class.
bool deepCopyFrom(BasisStatus *that)
A function to make a deep copy of an instance of this class.
the BranchingWeight class.
std::string name
optional variable name
bool setRandom(double density, bool conformant)
A function to make a random instance of this class.
bool IsEqual(BranchingWeight *that)
A function to check for the equality of two objects.
double value
branching weight
int idx
index of the variable
~BranchingWeight()
Class destructor.
BranchingWeight()
Default constructor.
bool deepCopyFrom(BranchingWeight *that)
A function to make a deep copy of an instance of this class.
bool deepCopyFrom(CPUNumber *that)
A function to make a deep copy of an instance of this class.
std::string description
additional description about the CPU
bool setRandom(double density, bool conformant)
A function to make a random instance of this class.
int value
the number of CPUs
bool IsEqual(CPUNumber *that)
A function to check for the equality of two objects.
bool deepCopyFrom(CPUSpeed *that)
A function to make a deep copy of an instance of this class.
bool setRandom(double density, bool conformant)
A function to make a random instance of this class.
std::string description
additional description about the CPU speed
std::string unit
the unit in which CPU speed is measured
bool IsEqual(CPUSpeed *that)
A function to check for the equality of two objects.
double value
the CPU speed (expressed in multiples of unit)
the ConstraintOption class.
InitConstraintValues * initialConstraintValues
initial values for the constraints
bool setRandom(double density, bool conformant)
A function to make a random instance of this class.
bool addOther(OtherConstraintOption *other)
A function to add an <other> element.
ConstraintOption()
Default constructor.
bool IsEqual(ConstraintOption *that)
A function to check for the equality of two objects.
bool deepCopyFrom(ConstraintOption *that)
A function to make a deep copy of an instance of this class.
InitDualVariableValues * initialDualValues
initial dual values for the constraints
OtherConstraintOption ** other
other information about the constraints
bool setOther(int numberOfOptions, OtherConstraintOption **other)
A function to set an array of <other> elements.
~ConstraintOption()
Class destructor.
int numberOfOtherConstraintOptions
number of <other> child elements
BasisStatus * initialBasisStatus
initial basis status for the slack variables
the DirectoriesAndFiles class.
int numberOfPaths
the number of <path> children
bool deepCopyFrom(DirectoriesAndFiles *that)
A function to make a deep copy of an instance of this class.
std::string * path
the list of directory and file paths
bool setRandom(double density, bool conformant)
A function to make a random instance of this class.
bool addPath(std::string path)
A function to add a <path> element.
DirectoriesAndFiles()
Default constructor.
bool setPath(int numberOfPaths, std::string *path)
A function to set an array of <path> elements.
bool IsEqual(DirectoriesAndFiles *that)
A function to check for the equality of two objects.
~DirectoriesAndFiles()
Class destructor.
used for throwing exceptions.
std::string errormsg
errormsg is the error that is causing the exception to be thrown
OtherOptions * otherOptions
the list of other general options
InstanceLocationOption * instanceLocation
the location of the instance
std::string license
the license information
std::string serviceURI
the service URI
std::string serviceName
the name of the service
std::string jobID
the job ID
std::string userName
the username
~GeneralOption()
Class destructor.
std::string instanceName
the name of the instance
std::string solverToInvoke
the solver to invoke
bool setRandom(double density, bool conformant)
A function to make a random instance of this class.
bool IsEqual(GeneralOption *that)
A function to check for the equality of two objects.
GeneralOption()
Default constructor.
bool deepCopyFrom(GeneralOption *that)
A function to make a deep copy of an instance of this class.
std::string password
the password
ContactOption * contact
the contact method
bool IsEqual(InitBasStatus *that)
A function to check for the equality of two objects.
~InitBasStatus()
Class destructor.
InitBasStatus()
Default constructor.
std::string value
initial value
bool setRandom(double density, bool conformant)
A function to make a random instance of this class.
double value
initial value
InitConValue()
Default constructor.
std::string name
optional variable name
bool IsEqual(InitConValue *that)
A function to check for the equality of two objects.
~InitConValue()
Class destructor.
bool deepCopyFrom(InitConValue *that)
A function to make a deep copy of an instance of this class.
the InitConstraintValues class.
bool addCon(int idx, double value)
A function to add a <con> element.
~InitConstraintValues()
Class destructor.
InitConValue ** con
initial value for each constraint
bool deepCopyFrom(InitConstraintValues *that)
A function to make a deep copy of an instance of this class.
bool IsEqual(InitConstraintValues *that)
A function to check for the equality of two objects.
bool setRandom(double density, bool conformant)
A function to make a random instance of this class.
bool setCon(int numberOfCon, InitConValue **con)
A function to set an array of <con> elements.
int numberOfCon
number of <con> children
InitConstraintValues()
Default constructor.
the InitDualVarValue class.
std::string name
optional variable name
InitDualVarValue()
Default constructor.
double ubDualValue
initial upper bound
bool deepCopyFrom(InitDualVarValue *that)
A function to make a deep copy of an instance of this class.
double lbDualValue
initial lower bound
~InitDualVarValue()
Class destructor.
bool setRandom(double density, bool conformant)
A function to make a random instance of this class.
bool IsEqual(InitDualVarValue *that)
A function to check for the equality of two objects.
the InitDualVariableValues class.
bool deepCopyFrom(InitDualVariableValues *that)
A function to make a deep copy of an instance of this class.
~InitDualVariableValues()
Class destructor.
bool setRandom(double density, bool conformant)
A function to make a random instance of this class.
int numberOfCon
number of <con> children
bool addCon(int idx, double lbDualValue, double ubDualValue)
A function to add a <con> element.
InitDualVariableValues()
Default constructor.
InitDualVarValue ** con
initial dual values for each constraint
bool IsEqual(InitDualVariableValues *that)
A function to check for the equality of two objects.
bool setCon(int numberOfCon, InitDualVarValue **con)
A function to set an array of <con> elements.
double lbValue
initial lower bound
double ubValue
initial upper bound
bool setRandom(double density, bool conformant)
A function to make a random instance of this class.
bool IsEqual(InitObjBound *that)
A function to check for the equality of two objects.
~InitObjBound()
Class destructor.
std::string name
optional variable name
InitObjBound()
Default constructor.
bool deepCopyFrom(InitObjBound *that)
A function to make a deep copy of an instance of this class.
InitObjValue()
Default constructor.
bool setRandom(double density, bool conformant)
A function to make a random instance of this class.
bool IsEqual(InitObjValue *that)
A function to check for the equality of two objects.
std::string name
optional objective name
bool deepCopyFrom(InitObjValue *that)
A function to make a deep copy of an instance of this class.
~InitObjValue()
Class destructor.
double value
initial value
the InitObjectiveBounds class.
InitObjBound ** obj
initial bounds for each objective
bool setRandom(double density, bool conformant)
A function to make a random instance of this class.
~InitObjectiveBounds()
Class destructor.
bool deepCopyFrom(InitObjectiveBounds *that)
A function to make a deep copy of an instance of this class.
bool setObj(int numberOfObj, InitObjBound **obj)
A function to set an array of <obj> elements.
int numberOfObj
number of <obj> children
bool addObj(int idx, double lbValue, double ubValue)
A function to add a <obj> element.
bool IsEqual(InitObjectiveBounds *that)
A function to check for the equality of two objects.
InitObjectiveBounds()
Default constructor.
the InitObjectiveValues class.
InitObjValue ** obj
initial value for each objective
~InitObjectiveValues()
Class destructor.
bool deepCopyFrom(InitObjectiveValues *that)
A function to make a deep copy of an instance of this class.
InitObjectiveValues()
Default constructor.
int numberOfObj
number of <obj> children
bool addObj(int idx, double value)
A function to add a <obj> element.
bool setObj(int numberOfObj, InitObjValue **obj)
A function to set an array of <obj> elements.
bool setRandom(double density, bool conformant)
A function to make a random instance of this class.
bool IsEqual(InitObjectiveValues *that)
A function to check for the equality of two objects.
bool deepCopyFrom(InitVarValue *that)
A function to make a deep copy of an instance of this class.
InitVarValue()
Default constructor.
bool IsEqual(InitVarValue *that)
A function to check for the equality of two objects.
bool setRandom(double density, bool conformant)
A function to make a random instance of this class.
double value
initial value
std::string name
optional variable name
~InitVarValue()
Class destructor.
the InitVarValueString class.
bool deepCopyFrom(InitVarValueString *that)
A function to make a deep copy of an instance of this class.
bool setRandom(double density, bool conformant)
A function to make a random instance of this class.
std::string value
initial value
~InitVarValueString()
Class destructor.
InitVarValueString()
Default constructor.
std::string name
optional variable name
bool IsEqual(InitVarValueString *that)
A function to check for the equality of two objects.
the InitVariableValues class.
bool IsEqual(InitVariableValues *that)
A function to check for the equality of two objects.
InitVarValue ** var
initial value for each variable
bool setVar(int numberOfVar, InitVarValue **var)
A function to set an array of elements.
bool addVar(int idx, double value)
A function to add a element.
int numberOfVar
number of children
~InitVariableValues()
Class destructor.
InitVariableValues()
Default constructor.
bool deepCopyFrom(InitVariableValues *that)
A function to make a deep copy of an instance of this class.
bool setRandom(double density, bool conformant)
A function to make a random instance of this class.
the InitVariableValuesString class.
bool setRandom(double density, bool conformant)
A function to make a random instance of this class.
bool deepCopyFrom(InitVariableValuesString *that)
A function to make a deep copy of an instance of this class.
bool setVar(int numberOfVar, InitVarValueString **var)
A function to set an array of elements.
~InitVariableValuesString()
Class destructor.
bool addVar(int idx, std::string value)
A function to add a element.
bool IsEqual(InitVariableValuesString *that)
A function to check for the equality of two objects.
InitVarValueString ** var
initial value for each variable
int numberOfVar
number of children
InitVariableValuesString()
Default constructor.
the InitialBasisStatus class.
bool setVar(int numberOfVar, InitBasStatus **var)
A function to set an array of elements.
~InitialBasisStatus()
Class destructor.
InitBasStatus ** var
initial value for each variable
InitialBasisStatus()
Default constructor.
bool IsEqual(InitialBasisStatus *that)
A function to check for the equality of two objects.
bool addVar(int idx, std::string value)
A function to add a element.
int numberOfVar
number of children
the InstanceLocationOption class.
bool deepCopyFrom(InstanceLocationOption *that)
A function to make a deep copy of an instance of this class.
bool setRandom(double density, bool conformant)
A function to make a random instance of this class.
InstanceLocationOption()
Default constructor.
~InstanceLocationOption()
Class destructor.
std::string value
the value of the <instanceLocation> element
std::string locationType
the type of the location
bool IsEqual(InstanceLocationOption *that)
A function to check for the equality of two objects.
the IntegerVariableBranchingWeights class.
BranchingWeight ** var
branching weight for each variable
bool setVar(int numberOfVar, BranchingWeight **var)
A function to set an array of elements.
int numberOfVar
number of children
bool addVar(int idx, double value)
A function to add a element.
bool setRandom(double density, bool conformant)
A function to make a random instance of this class.
bool IsEqual(IntegerVariableBranchingWeights *that)
A function to check for the equality of two objects.
bool deepCopyFrom(IntegerVariableBranchingWeights *that)
A function to make a deep copy of an instance of this class.
IntegerVariableBranchingWeights()
Default constructor.
~IntegerVariableBranchingWeights()
Class destructor.
the JobDependencies class.
bool IsEqual(JobDependencies *that)
A function to check for the equality of two objects.
bool setRandom(double density, bool conformant)
A function to make a random instance of this class.
std::string * jobID
the list of job IDs
bool setJobID(int numberOfJobIDs, std::string *jobID)
A function to set an array of <jobID> elements.
bool deepCopyFrom(JobDependencies *that)
A function to make a deep copy of an instance of this class.
bool addJobID(std::string jobID)
A function to add an <jobID> element.
int numberOfJobIDs
the number of entries in the list of job dependencies
JobDependencies()
Default constructor.
~JobDependencies()
Class destructor.
Processes * processesToKill
processes to kill upon completion
DirectoriesAndFiles * requiredDirectories
directories required to run the job
DirectoriesAndFiles * filesToMake
files to make during the job
bool deepCopyFrom(JobOption *that)
A function to make a deep copy of an instance of this class.
DirectoriesAndFiles * directoriesToDelete
directories to delete upon completion
std::string requestedStartTime
the requested time to start the job
DirectoriesAndFiles * requiredFiles
files required to run the job
DirectoriesAndFiles * filesToDelete
files to delete upon completion
JobDependencies * dependencies
the dependency set
PathPairs * inputFilesToMove
input files to move or copy
TimeSpan * maxTime
the maximum time allowed
bool setRandom(double density, bool conformant)
A function to make a random instance of this class.
JobOption()
Default constructor.
~JobOption()
Class destructor.
PathPairs * outputDirectoriesToMove
output directories to move or copy
bool IsEqual(JobOption *that)
A function to check for the equality of two objects.
PathPairs * inputDirectoriesToMove
input directories to move or copy
PathPairs * outputFilesToMove
output files to move or copy
DirectoriesAndFiles * directoriesToMake
directories to make during the job
OtherOptions * otherOptions
list of other job options
bool IsEqual(MinCPUNumber *that)
A function to check for the equality of two objects.
int value
the minimum number of CPUs required
MinCPUNumber()
Default constructor.
~MinCPUNumber()
Class destructor.
std::string description
additional description about the CPU
double value
the minimum CPU speed required
MinCPUSpeed()
Default constructor.
bool IsEqual(MinCPUSpeed *that)
A function to check for the equality of two objects.
~MinCPUSpeed()
Class destructor.
std::string description
additional description about the CPU speed
std::string unit
the unit in which CPU speed is measured
~MinDiskSpace()
Class destructor.
bool IsEqual(MinDiskSpace *that)
A function to check for the equality of two objects.
MinDiskSpace()
Default constructor.
std::string description
additional description about the disk space
std::string unit
the unit in which disk space is measured
double value
the minimum disk space required
bool IsEqual(MinMemorySize *that)
A function to check for the equality of two objects.
MinMemorySize()
Default constructor.
double value
the minimum memory size required
std::string unit
the unit in which memory size is measured
std::string description
additional description about the memory
~MinMemorySize()
Class destructor.
SolverOption ** getAllSolverOptions()
Get all solver options.
OtherOption ** getAllOtherOptions()
Get the array of all other options associated with the <general>, <system>, <service> and <job> eleme...
bool setInitConValues(int numberOfCon, int *idx, double *value, std::string *name)
double getMinDiskSpace()
Get the minimum required disk space.
std::string getFileCreator()
Get the name of the person who created the file.
bool setAnotherSOSVariableBranchingWeight(int sosIdx, int nvar, double weight, int *idx, double *value, std::string *name)
bool setDirectoriesToDelete(int numberOfPaths, std::string *paths)
bool setInstanceLocationType(std::string locationType)
Set the instance location type.
bool setMinMemorySize(std::string unit, std::string description, double value)
Set the minimum memory size required for the current job.
~OSOption()
Class destructor.
std::string getInstanceLocationType()
Get the location type.
double * getInitConValuesDense()
Get the initial values associated with the constraints in dense form.
std::string * m_mdInitVarValuesStringDense
m_mdInitVarValuesStringDense holds the initial values for string-valued variables
bool setAnOtherConstraintOption(OtherConstraintOption *optionValue)
bool setHeader(std::string name, std::string source, std::string description, std::string fileCreator, std::string licence)
A function to populate an instance of the option header element.
InitDualVarValue ** getInitDualVarValuesSparse()
Get the initial bounds associated with the dual variables in sparse form.
int getMinCPUNumber()
Get the minimum required number of CPUs.
bool setOptionInt(std::string optionName, int optionValue)
std::string * getJobDependencies()
Get the array of job dependencies.
int getNumberOfRequiredDirectories()
Get the number of required directories.
OtherConstraintOption ** getAllOtherConstraintOptions()
Get all <other> constraint options.
bool setMinDiskSpace(std::string unit, std::string description, double value)
Set the minimum disk space required for the current job.
bool setAnotherDirectoryToMake(std::string path)
int getNumberOfDirectoriesToMake()
Get the number of directories to make.
bool setIntegerVariableBranchingWeightsDense(int numberOfVar, double *value)
bool setAnOtherSystemOption(std::string name, std::string value, std::string description)
PathPair ** getOutputFilesToMove()
Get the array of output files to move.
double * m_mdInitDualVarUpperBoundsDense
m_mdInitDualVarUpperBoundsDense holds initial dual values for the upper bound of the constraints in d...
bool setAnotherInitDualVarValue(int idx, double lbValue, double ubValue)
bool setInitVarValues(int numberOfVar, int *idx, double *value, std::string *name)
std::string getFileName()
Get the name of the file.
bool setInitDualValues(int numberOfCon, int *idx, double *lbValue, double *ubValue, std::string *name)
std::string getFileDescription()
Get a description for the file or problem.
BranchingWeight ** getIntegerVariableBranchingWeightsSparse()
Get the integer branching weights in sparse form.
bool setAnOtherJobOption(std::string name, std::string value, std::string description)
bool setInstanceName(std::string instanceName)
Set the instance name.
bool setInitVarValuesStringDense(int numberOfVar, std::string *value)
bool IsEqual(OSOption *that)
A function to check for the equality of two objects.
OptimizationOption * optimization
optimizationOption holds the fifth child of the OSOption specified by the OSoL Schema.
bool setInitObjBoundsSparse(int numberOfObj, InitObjBound **obj)
bool setOtherObjectiveOptions(int numberOfObj, OtherObjectiveOption **obj)
std::string getContactTransportType()
Get the transport type.
int getNumberOfSOS()
Get the number of special ordered sets for which branching weights are provided.
int * m_mdInitBasisStatusDense
m_mdInitBasisStatusDense holds the initial basis status in dense form
bool setServiceURI(std::string serviceURI)
Set the serviceURI.
bool setAnotherInitBasisStatus(int type, int idx, int status)
Set the basis status for another variable, objective or constraint/slack.
bool setSolverToInvoke(std::string solverToInvoke)
Set the solver to be invoked.
bool setFilesToDelete(int numberOfPaths, std::string *paths)
GeneralOption * general
generalOption holds the first child of the OSOption specified by the OSoL Schema.
bool setInputFilesToMove(int numberOfPathPairs, PathPair **pathPair)
double * m_mdInitVarValuesDense
m_mdInitVarValuesDense holds the initial variable values in dense form
int getNumberOfOtherSystemOptions()
Get the number of <other> options in the <system> element.
bool setOtherObjectiveOptionAttributes(int iOther, int numberOfObj, int numberOfEnumerations, std::string name, std::string value, std::string solver, std::string category, std::string type, std::string objType, std::string enumType, std::string description)
Set the attributes for one particular <other> <objective> option.
int getNumberOfOutputDirectoriesToMove()
Get the number of output directories to move.
int getNumberOfInputDirectoriesToMove()
Get the number of input directories to move.
bool setSolverOptionContent(int iOption, int numberOfItems, std::string name, std::string value, std::string solver, std::string category, std::string type, std::string description, std::string *itemList)
Set the attributes for one particular solver option.
double * getInitObjValuesDense()
Get the initial values associated with the objectives in dense form.
bool setInputDirectoriesToMove(int numberOfPathPairs, PathPair **pathPair)
bool setAnotherInitObjBound(int idx, double lbValue, double ubValue)
PathPair ** getOutputDirectoriesToMove()
Get the array of output directories to move.
bool setOtherConstraintOptionCon(int otherOptionNumber, int conNumber, int idx, std::string name, std::string value, std::string lbValue, std::string ubValue)
Set one <con> element associated with an <other> option in the <constraints> element.
bool setInstanceLocation(std::string instanceLocation)
Set the instance location.
int * getSlackVariableInitialBasisStatusDense(int numberOfConstraints)
Get the initial basis status for all slack variables in dense form.
bool setNumberOfOtherConstraintOptions(int numberOfOther)
int * getObjectiveInitialBasisStatusDense(int numberOfObjectives)
Get the initial basis status for all objectives in dense form.
double * getInitDualVarLowerBoundsDense()
Get the initial dual variables associated with the lower bounds in dense form.
bool setMaxTime(double value, std::string unit)
std::string * getDirectoriesToMake()
Get the array of directories to make.
bool setMaxTimeUnit(std::string unit)
std::string getMinCPUSpeedUnit()
Get the CPU speed unit.
bool setInitObjValuesDense(int numberOfObj, double *value)
double * m_mdInitObjValuesDense
m_mdInitObjValuesDense holds initial objective values in dense form
std::string getOptionStr(std::string optionName)
Get any of the string-valued options.
bool setAnotherInitObjValue(int idx, double value)
std::string getSolverToInvoke()
Get the solver name.
std::string getMinCPUSpeedDescription()
Get the CPU speed description.
bool setInitConValuesSparse(int numberOfCon, InitConValue **con)
double * getInitObjLowerBoundsDense()
Get the initial lower bounds associated with the objectives in dense form.
std::vector< OtherConstraintOption * > getOtherConstraintOptions(std::string solver_name)
Get the array of other constraint options.
bool setInitObjValuesSparse(int numberOfObj, InitObjValue **obj)
bool setMinCPUSpeedUnit(std::string unit)
bool setNumberOfOtherObjectiveOptions(int numberOfOther)
OSOption()
Default constructor.
InitObjBound ** getInitObjBoundsSparse()
Get the initial bounds associated with the objectives in sparse form.
bool setJobID(std::string jobID)
Set the job ID.
int getNumberOfRequiredFiles()
Get the number of required files.
bool setOtherJobOptions(int numberOfOptions, OtherOption **other)
int getNumberOfConstraints()
Get the number of constraints in the instance.
std::string getMaxTimeUnit()
Get the time unit.
bool setContact(std::string contact)
Set the contact information.
double getMinCPUSpeed()
Get the minimum required CPU speed.
std::string getJobID()
Get the job ID.
int * getVariableInitialBasisStatusDense(int numberOfVariables)
Get the initial basis status for all variables in dense form.
InitConValue ** getInitConValuesSparse()
Get the initial values associated with the constraints in sparse form.
std::string getMinMemoryDescription()
get the memory description
bool setInitVarValuesStringSparse(int numberOfVar, InitVarValueString **var)
bool setAnotherInputFileToMove(std::string fromPath, std::string toPath, bool makeCopy)
double getMinMemorySize()
Get the minimum required memory.
double * getInitDualVarUpperBoundsDense()
Get the initial dual variables associated with the upper bounds in dense form.
std::string * getRequiredDirectories()
Get the array of required directories.
std::string getServiceType()
Get the service type.
bool setAnOtherGeneralOption(std::string name, std::string value, std::string description)
Add another general option to the <other> option array.
bool setMinMemoryUnit(std::string unit)
bool setOtherServiceOptions(int numberOfOptions, OtherOption **other)
std::string getPassword()
Get the password.
bool setRequiredFiles(int numberOfPaths, std::string *paths)
bool setSolverOptions(int numberOfSolverOptions, SolverOption **solverOption)
bool setNumberOfSolverOptions(int numberOfOptions)
bool setOptionStr(std::string optionName, std::string optionValue)
std::string getMinCPUNumberDescription()
Get the CPU description.
bool deepCopyFrom(OSOption *that)
A function to make a deep copy of an OSOption object.
InitVarValueString ** getInitVarValuesStringSparse()
Get the initial value strings associated with the variables in sparse form.
bool setInitObjBounds(int numberOfObj, int *idx, double *lbValue, double *ubValue, std::string *name)
OtherVariableOption ** getAllOtherVariableOptions()
Get all <other> variable options.
bool setOtherVariableOptionVar(int otherOptionNumber, int varNumber, int idx, std::string name, std::string value, std::string lbValue, std::string ubValue)
Set one element associated with an <other> option in the <variables> element.
std::string getContact()
Get the contact information.
OtherObjectiveOption * getOtherObjectiveOption(int optionNumber)
Get one particular <other> objective option from the array of options.
int getNumberOfInitObjBounds()
Get the number of initial objective bounds.
bool setInitObjValues(int numberOfObj, int *idx, double *value, std::string *name)
bool setOtherVariableOptions(int numberOfVar, OtherVariableOption **var)
int getNumberOfProcessesToKill()
Get the number of processes to kill.
bool setAnotherInitVarValueString(int idx, std::string value)
std::string getLicense()
Get the license string.
OtherOption ** getOtherServiceOptions()
Get the array of other options associated with the <service> element.
int getNumberOfOtherServiceOptions()
Get the number of <other> options in the <service> element.
InitVarValue ** getInitVarValuesSparse()
Get the initial values associated with the variables in sparse form.
bool setAnOtherServiceOption(std::string name, std::string value, std::string description)
bool setInitDualVarValuesSparse(int numberOfCon, InitDualVarValue **con)
bool setOutputDirectoriesToMove(int numberOfPathPairs, PathPair **pathPair)
bool setAnotherProcessToKill(std::string process)
OtherOption ** getOtherGeneralOptions()
Get the array of other options associated with the <general> element.
std::string getMinMemoryUnit()
Get the memory unit.
OtherOption ** getOtherJobOptions()
Get the array of other options associated with the <job> element.
bool setInitVarValuesDense(int numberOfVar, double *value)
bool setAnOtherObjectiveOption(OtherObjectiveOption *objOption)
int getNumberOfInitObjValues()
Get the number of initial objective values.
bool setOptionDbl(std::string optionName, double value)
bool setNumberOfObjectives(int numberOfObjectives)
std::string * getFilesToDelete()
Get the array of files to delete.
PathPair ** getInputFilesToMove()
Get the array of input files to move.
std::string getInstanceName()
Get the instance name.
bool setAnotherInitVarValue(int idx, double value)
bool setInitBasisStatus(int object, int status, int *i, int ni)
PathPair ** getInputDirectoriesToMove()
Get the array of input directories to move.
bool setDirectoriesToMake(int numberOfPaths, std::string *paths)
GeneralFileHeader * optionHeader
OSOption has a header and five other children: general, system, service, job, and optimization.
bool setIntegerVariableBranchingWeightsSparse(int numberOfVar, BranchingWeight **var)
int getNumberOfIntegerVariableBranchingWeights()
Get the number of variables for which integer branching weights are provided.
bool setAnotherOutputDirectoryToMove(std::string fromPath, std::string toPath, bool makeCopy)
int getNumberOfFilesToDelete()
Get the number of files to delete.
int getNumberOfSOSVarBranchingWeights(int iSOS)
Get the number of variables for which branching weights are provided in a particular SOS.
bool setAnotherFileToMake(std::string path)
int getNumberOfDirectoriesToDelete()
Get the number of directories to delete.
std::string * getFilesToMake()
Get the array of files to make.
std::string getMinDiskSpaceDescription()
get the disk space description
std::string getFileSource()
Get the source of the file or problem.
double * m_mdInitConValuesDense
m_mdInitConValuesDense holds initial constraint values in dense form
int getNumberOfInitVarValues()
Get the number of initial variable values.
bool setUserName(std::string userName)
Set the username.
bool setOutputFilesToMove(int numberOfPathPairs, PathPair **pathPair)
int getNumberOfInitialBasisElements(int type, int status)
Get the number of initial basis elements for a particular variable type and basis status.
bool setInitDualVarValuesDense(int numberOfCon, double *lb, double *ub)
bool setFilesToMake(int numberOfPaths, std::string *paths)
bool setAnotherOutputFileToMove(std::string fromPath, std::string toPath, bool makeCopy)
std::vector< OtherObjectiveOption * > getOtherObjectiveOptions(std::string solver_name)
Get the array of other objective options.
bool setAnotherInputDirectoryToMove(std::string fromPath, std::string toPath, bool makeCopy)
bool setNumberOfVariables(int numberOfVariables)
bool setRandom(double density, bool conformant)
A function to make a random instance of this class.
double getOptionDbl(std::string optionName)
Get any of the double-valued options.
double * getInitVarValuesDense()
Get the initial values associated with the variables in dense form.
OtherConstraintOption * getOtherConstraintOption(int optionNumber)
Get one particular <other> constraint option from the array of options.
std::string getServiceURI()
Get the service URI.
bool setAnotherRequiredDirectory(std::string path)
bool setAnotherRequiredFile(std::string path)
bool setOtherSystemOptions(int numberOfOptions, OtherOption **other)
int getNumberOfOtherVariableOptions()
Get the number of other variable options.
ServiceOption * service
serviceOption holds the third child of the OSOption specified by the OSoL Schema.
bool setOtherOptionOrResultEnumeration(int object, int otherOptionNumber, int enumerationNumber, int numberOfEl, std::string value, std::string description, int *idxArray)
Set one enumeration associated with an <other> option in the <variables>, <objectives> or <constraint...
std::string getUserName()
Get the user name.
bool setInitConValuesDense(int numberOfCon, double *value)
double getMaxTime()
Get the maximum allowed time.
OtherOption ** getOtherOptions(std::string elementName)
Get the array of other options associated with any element.
bool setAnOtherVariableOption(OtherVariableOption *varOption)
bool setContactTransportType(std::string transportType)
Set the transport type for contact.
SystemOption * system
systemOption holds the second child of the OSOption specified by the OSoL Schema.
double * getInitObjUpperBoundsDense()
Get the initial upper bounds associated with the objectives in dense form.
int getNumberOfOtherJobOptions()
Get the number of <other> options in the <job> element.
bool setAnotherJobDependency(std::string jobID)
bool setOtherObjectiveOptionObj(int otherOptionNumber, int objNumber, int idx, std::string name, std::string value, std::string lbValue, std::string ubValue)
Set one <obj> element associated with an <other> option in the <objectives> element.
double * m_mdInitObjUpperBoundsDense
m_mdInitObjUpperBoundsDense holds initial upper bounds for the objectives in dense form
OtherObjectiveOption ** getAllOtherObjectiveOptions()
Get all <other> objective options.
bool setMinCPUSpeed(std::string unit, std::string description, double value)
Set the minimum CPU speed required for the current job.
bool setAnotherDirectoryToDelete(std::string path)
bool setMinCPUNumber(int number, std::string description)
Set the minimum number of CPU cores required for the current job.
bool setRequiredDirectories(int numberOfPaths, std::string *paths)
bool setProcessesToKill(int numberOfProcesses, std::string *processes)
bool setServiceName(std::string serviceName)
Set the service name.
int getOptionInt(std::string optionName)
Get any of the integer-valued options.
bool setAnotherFileToDelete(std::string path)
std::string getRequestedStartTime()
Get the requested starting time.
SOSWeights ** getSOSVariableBranchingWeightsSparse()
Get the SOS branching weights in sparse form.
bool setPassword(std::string password)
Set the password.
int getNumberOfInputFilesToMove()
Get the number of input files to move.
int getNumberOfInitDualVarValues()
Get the number of initial dual variable values.
bool setAnotherIntegerVariableBranchingWeight(int idx, double value)
std::vector< SolverOption * > getSolverOptions(std::string solver_name)
Get the options associated with a given solver.
std::string * getProcessesToKill()
Get the array of processes to kill.
std::string getInstanceLocation()
Get the instance location.
bool setOtherGeneralOptions(int numberOfOptions, OtherOption **other)
Set the other general options as an entire array.
std::string * getRequiredFiles()
Get the array of required files.
bool setSOSVariableBranchingWeights(int numberOfSOS, SOSWeights **sos)
int getNumberOfInitVarValuesString()
Get the number of initial variable strings.
int getNumberOfJobDependencies()
Get the number of job dependencies.
bool setInitVarValuesString(int numberOfVar, int *idx, std::string *value, std::string *name)
bool setOtherVariableOptionAttributes(int iOther, int numberOfVar, int numberOfEnumerations, std::string name, std::string value, std::string solver, std::string category, std::string type, std::string varType, std::string enumType, std::string description)
Set the attributes for one particular <other> <variable> option.
bool setNumberOfOtherVariableOptions(int numberOfOther)
int getNumberOfOtherConstraintOptions()
Get the number of other constraint options.
bool setIntegerVariableBranchingWeights(int numberOfVar, int *idx, double *value, std::string *name)
bool setRequestedStartTime(std::string time)
OtherOption ** getOtherSystemOptions()
Get the array of other options associated with the <system> element.
bool setAnotherSolverOption(std::string name, std::string value, std::string solver, std::string category, std::string type, std::string description)
bool setInitObjBoundsDense(int numberOfObj, double *lb, double *ub)
int getNumberOfInitConValues()
Get the number of initial constraint values.
int getNumberOfVariables()
Get the number of variables in the instance.
bool setPathPairs(int object, std::string *from, std::string *to, bool *makeCopy, int numberOfPathPairs)
setPathPairs set a number of path pairs into the OSOption object
double * m_mdInitDualVarLowerBoundsDense
m_mdInitDualVarLowerBoundsDense holds initial dual values for the lower bound of the constraints in d...
int getNumberOfOtherGeneralOptions()
Get the number of <other> options in the <general> element.
int getNumberOfFilesToMake()
Get the number of files to make.
int getNumberOfObjectives()
Get the number of objectives in the instance.
std::string getMinDiskSpaceUnit()
Get the disk space unit.
bool setServiceType(std::string serviceType)
set() options in the <service> element
double * getIntegerVariableBranchingWeightsDense()
Get the integer branching weights in dense form.
bool setLicense(std::string license)
Set the license information.
bool setInitVarValuesSparse(int numberOfVar, InitVarValue **var)
JobOption * job
jobOption holds the fourth child of the OSOption specified by the OSoL Schema.
std::vector< OtherVariableOption * > getOtherVariableOptions(std::string solver_name)
Get the <other> variable options associated with a particular solver.
int getNumberOfSolverOptions()
Get the number of solver options.
bool setMinDiskSpaceUnit(std::string unit)
std::string * getInitVarValuesStringDense()
Get the initial value strings associated with the variables in dense form.
bool setOtherConstraintOptionAttributes(int iOther, int numberOfCon, int numberOfEnumerations, std::string name, std::string value, std::string solver, std::string category, std::string type, std::string conType, std::string enumType, std::string description)
Set the attributes for one particular <other> <constraint> option.
bool setAnotherInitConValue(int idx, double value)
std::string getFileLicence()
Get licence information associated with the file.
int getNumberOfOutputFilesToMove()
Get the number of output files to move.
std::string * getDirectoriesToDelete()
Get the array of directories to delete.
double * m_mdIntegerVariableBranchingWeightsDense
m_mdIntegerVariableBranchingWeightsDense holds the branching weights for integer variables
bool getInitialBasisElements(int type, int status, int *elem)
Get the initial basis elements for a particular variable type and basis status.
bool setNumberOfConstraints(int numberOfConstraints)
std::string getServiceName()
Get the service name.
int getNumberOfOtherObjectiveOptions()
Get the number of other objective options.
double * m_mdInitObjLowerBoundsDense
m_mdInitObjLowerBoundsDense holds initial lower bounds for the objectives in dense form
InitObjValue ** getInitObjValuesSparse()
Get the initial values associated with the objectives in sparse form.
OtherVariableOption * getOtherVariableOption(int optionNumber)
Get one particular <other> variable option from the array of options.
bool setOtherConstraintOptions(int numberOfOptions, OtherConstraintOption **other)
bool setJobDependencies(int numberOfDependencies, std::string *jobDependencies)
the ObjectiveOption class.
bool setRandom(double density, bool conformant)
A function to make a random instance of this class.
int numberOfOtherObjectiveOptions
number of <other> child elements
OtherObjectiveOption ** other
other information about the objectives
InitObjectiveValues * initialObjectiveValues
initial values for the objectives
BasisStatus * initialBasisStatus
initial basis status for the objectives
bool addOther(OtherObjectiveOption *other)
A function to add an <other> element.
bool setOther(int numberOfOptions, OtherObjectiveOption **other)
A function to set an array of <other> elements.
ObjectiveOption()
Default constructor.
bool IsEqual(ObjectiveOption *that)
A function to check for the equality of two objects.
InitObjectiveBounds * initialObjectiveBounds
initial bounds for the objectives
bool deepCopyFrom(ObjectiveOption *that)
A function to make a deep copy of an instance of this class.
~ObjectiveOption()
Class destructor.
the OptimizationOption class.
OptimizationOption()
Default constructor.
VariableOption * variables
the options for the variables
bool setRandom(double density, bool conformant)
A function to make a random instance of this class.
int numberOfConstraints
the number of constraints
ObjectiveOption * objectives
the options for the objectives
SolverOptions * solverOptions
other solver options
~OptimizationOption()
Class destructor.
bool IsEqual(OptimizationOption *that)
A function to check for the equality of two objects.
ConstraintOption * constraints
the options for the constraints
int numberOfObjectives
the number of objectives
int numberOfVariables
the number of variables
bool deepCopyFrom(OptimizationOption *that)
A function to make a deep copy of an instance of this class.
the OtherConOption class.
std::string lbValue
lower bound of the option
~OtherConOption()
Class destructor.
std::string ubValue
upper bound of the option
bool deepCopyFrom(OtherConOption *that)
A function to make a deep copy of an instance of this class.
std::string name
optional variable name
bool IsEqual(OtherConOption *that)
A function to check for the equality of two objects.
bool setRandom(double density, bool conformant)
A function to make a random instance of this class.
std::string value
value of the option
OtherConOption()
Default constructor.
the OtherConstraintOption class.
std::string conType
type of the values in the con array
std::string category
name of the category into which this option falls
std::string name
name of the option
int numberOfCon
number of <con> children
OtherConstraintOption()
Default constructor.
OtherConOption ** con
array of option values
std::string type
type of the option value (integer, double, boolean, string)
OtherOptionOrResultEnumeration ** enumeration
std::string description
description of the option
std::string solver
name of the solver to which this option applies
std::string enumType
type of the values in the enumeration array
~OtherConstraintOption()
Class destructor.
bool setCon(int numberOfCon, OtherConOption **con)
A function to set an array of <con> elements.
bool IsEqual(OtherConstraintOption *that)
A function to check for the equality of two objects.
int numberOfEnumerations
number of <enumeration> child elements
bool deepCopyFrom(OtherConstraintOption *that)
A function to make a deep copy of an instance of this class.
bool addCon(int idx, std::string value, std::string lbValue, std::string ubValue)
A function to add a <con> element.
std::string value
value of the option
bool setRandom(double density, bool conformant)
A function to make a random instance of this class.
the OtherObjOption class.
std::string ubValue
lower bound on the value
std::string lbValue
lower bound on the value
OtherObjOption()
Default constructor.
std::string name
optional variable name
~OtherObjOption()
Class destructor.
bool deepCopyFrom(OtherObjOption *that)
A function to make a deep copy of an instance of this class.
std::string value
value of the option
bool IsEqual(OtherObjOption *that)
A function to check for the equality of two objects.
bool setRandom(double density, bool conformant)
A function to make a random instance of this class.
the OtherObjectiveOption class.
OtherObjOption ** obj
array of option values
int numberOfObj
number of <obj> children
bool addObj(int idx, std::string value, std::string lbValue, std::string ubValue)
A function to add a <obj> element.
std::string name
name of the option
bool IsEqual(OtherObjectiveOption *that)
A function to check for the equality of two objects.
bool deepCopyFrom(OtherObjectiveOption *that)
A function to make a deep copy of an instance of this class.
std::string value
value of the option
std::string solver
name of the solver to which this option applies
int numberOfEnumerations
number of <enumeration> child elements
bool setObj(int numberOfObj, OtherObjOption **obj)
A function to set an array of <obj> elements.
std::string objType
type of the values in the obj array
std::string category
name of the category into which this option falls
~OtherObjectiveOption()
Class destructor.
std::string type
type of the option value (integer, double, boolean, string)
std::string description
description of the option
std::string enumType
type of the values in the enumeration array
OtherObjectiveOption()
Default constructor.
bool setRandom(double density, bool conformant)
A function to make a random instance of this class.
OtherOptionOrResultEnumeration ** enumeration
std::string value
the value of the option
bool IsEqual(OtherOption *that)
A function to check for the equality of two objects.
~OtherOption()
Class destructor.
bool setRandom(double density, bool conformant)
A function to make a random instance of this class.
OtherOption()
Default constructor.
bool deepCopyFrom(OtherOption *that)
A function to make a deep copy of an instance of this class.
std::string description
the description of the option
std::string name
the name of the option
bool setOtherOptionOrResultEnumeration(std::string value, std::string description, int *i, int ni)
Set the indices for a particular level in an enumeration.
bool setRandom(double density, bool conformant, int iMin, int iMax)
A function to make a random instance of this class.
bool addOther(std::string name, std::string value, std::string description)
A function to add an <other> element.
~OtherOptions()
Class destructor.
bool setRandom(double density, bool conformant)
A function to make a random instance of this class.
OtherOption ** other
the list of other options
int numberOfOtherOptions
the number of other options
bool IsEqual(OtherOptions *that)
A function to check for the equality of two objects.
bool deepCopyFrom(OtherOptions *that)
A function to make a deep copy of an instance of this class.
bool setOther(int numberOfOptions, OtherOption **other)
A function to set an array of <other> elements.
OtherOptions()
Default constructor.
the OtherVarOption class.
std::string value
value of the option
std::string ubValue
lower bound on the value
bool setRandom(double density, bool conformant)
A function to make a random instance of this class.
std::string name
optional variable name
~OtherVarOption()
Class destructor.
OtherVarOption()
Default constructor.
bool deepCopyFrom(OtherVarOption *that)
A function to make a deep copy of an instance of this class.
std::string lbValue
lower bound on the value
bool IsEqual(OtherVarOption *that)
A function to check for the equality of two objects.
the OtherVariableOption class.
int numberOfVar
number of child elements
int numberOfEnumerations
number of <enumeration> child elements
std::string type
type of the option value (integer, double, boolean, string)
std::string name
name of the option
std::string solver
name of the solver to which this option applies
OtherVariableOption()
Default constructor.
bool setRandom(double density, bool conformant)
A function to make a random instance of this class.
std::string enumType
type of the values in the enumeration array
~OtherVariableOption()
Class destructor.
bool IsEqual(OtherVariableOption *that)
A function to check for the equality of two objects.
bool deepCopyFrom(OtherVariableOption *that)
A function to make a deep copy of an instance of this class.
OtherOptionOrResultEnumeration ** enumeration
bool setVar(int numberOfVar, OtherVarOption **var)
A function to set an array of elements.
std::string category
name of the category into which this option falls
OtherVarOption ** var
array of option values
bool addVar(int idx, std::string value, std::string lbValue, std::string ubValue)
A function to add a element.
std::string description
description of the option
std::string varType
type of the values in the var array
std::string value
value of the option
bool IsEqual(PathPair *that)
A function to check for the equality of two objects.
std::string from
the file or directory to move/copy from
PathPair()
Default constructor.
bool setRandom(double density, bool conformant)
A function to make a random instance of this class.
~PathPair()
Class destructor.
bool deepCopyFrom(PathPair *that)
A function to make a deep copy of an instance of this class.
bool makeCopy
record whether a copy is to be made
std::string to
the file or directory to move/copy to
PathPair ** pathPair
the list of directory and file paths
bool setPathPair(int numberOfPathPairs, PathPair **pathPair)
A function to set an array of <pathPair> elements.
PathPairs()
Default constructor.
bool addPathPair(std::string fromPath, std::string toPath, bool makeCopy)
A function to add a <pathPair> element.
bool deepCopyFrom(PathPairs *that)
A function to make a deep copy of an instance of this class.
~PathPairs()
Class destructor.
int numberOfPathPairs
the number of <path> children
bool setRandom(double density, bool conformant)
A function to make a random instance of this class.
bool IsEqual(PathPairs *that)
A function to check for the equality of two objects.
std::string * process
the list of processes
bool setProcess(int numberOfProcesses, std::string *process)
A function to set an array of <process> elements.
Processes()
Default constructor.
bool IsEqual(Processes *that)
A function to check for the equality of two objects.
bool setRandom(double density, bool conformant)
A function to make a random instance of this class.
bool deepCopyFrom(Processes *that)
A function to make a deep copy of an instance of this class.
int numberOfProcesses
the number of <process> children
~Processes()
Class destructor.
bool addProcess(std::string process)
A function to add a <process> element.
the SOSVariableBranchingWeights class.
bool deepCopyFrom(SOSVariableBranchingWeights *that)
A function to make a deep copy of an instance of this class.
bool addSOS(int sosIdx, int nvar, double weight, int *idx, double *value, std::string *name)
A function to add an <sos> element.
SOSWeights ** sos
branching weights for the SOS
bool IsEqual(SOSVariableBranchingWeights *that)
A function to check for the equality of two objects.
bool setRandom(double density, bool conformant)
A function to make a random instance of this class.
bool setSOS(int numberOfSOS, SOSWeights **sos)
A function to set an array of <sos> elements.
int numberOfSOS
number of <sos> children
SOSVariableBranchingWeights()
Default constructor.
~SOSVariableBranchingWeights()
Class destructor.
bool deepCopyFrom(SOSWeights *that)
A function to make a deep copy of an instance of this class.
SOSWeights()
Default constructor.
bool addVar(int idx, double value)
A function to add a element.
bool setVar(int numberOfVar, BranchingWeight **var)
A function to set an array of elements.
BranchingWeight ** var
branching weights for individual variables
int sosIdx
index of the SOS (to match the OSiL file)
~SOSWeights()
Class destructor.
bool setRandom(double density, bool conformant)
A function to make a random instance of this class.
int numberOfVar
number of children
double groupWeight
branching weight for the entire SOS
bool IsEqual(SOSWeights *that)
A function to check for the equality of two objects.
ServiceOption()
Default constructor.
std::string type
the service type
bool deepCopyFrom(ServiceOption *that)
A function to make a deep copy of an instance of this class.
bool IsEqual(ServiceOption *that)
A function to check for the equality of two objects.
OtherOptions * otherOptions
the list of other service options
bool setRandom(double density, bool conformant)
A function to make a random instance of this class.
~ServiceOption()
Class destructor.
std::string * item
the list of items of the option
std::string value
the value of the option
bool setRandom(double density, bool conformant)
A function to make a random instance of this class.
bool deepCopyFrom(SolverOption *that)
A function to make a deep copy of an instance of this class.
~SolverOption()
Class destructor.
std::string solver
the solver to which the option applies
std::string description
the description of the option
std::string type
the type of the option value (integer, double, boolean, string)
SolverOption()
Default constructor.
std::string category
the category to which the option belongs
int numberOfItems
the number of items (additional pieces of data) of the option
std::string name
the name of the option
bool IsEqual(SolverOption *that)
A function to check for the equality of two objects.
bool IsEqual(SolverOptions *that)
A function to check for the equality of two objects.
bool addSolverOption(std::string name, std::string value, std::string solver, std::string category, std::string type, std::string description)
A function to add a solver option.
bool setSolverOptions(int numberOfOptions, SolverOption **solverOption)
A function to set an array of solver options.
SolverOptions()
Default constructor.
bool deepCopyFrom(SolverOptions *that)
A function to make a deep copy of an instance of this class.
bool setRandom(double density, bool conformant)
A function to make a random instance of this class.
~SolverOptions()
Class destructor.
SolverOption ** solverOption
the list of solver options
int numberOfSolverOptions
the number of solver options
the StorageCapacity class.
bool deepCopyFrom(StorageCapacity *that)
A function to make a deep copy of an instance of this class.
std::string unit
the unit in which storage capacity is measured
double value
the number of units of storage capacity
std::string description
additional description about the storage
bool setRandom(double density, bool conformant)
A function to make a random instance of this class.
bool IsEqual(StorageCapacity *that)
A function to check for the equality of two objects.
bool setRandom(double density, bool conformant)
A function to make a random instance of this class.
bool deepCopyFrom(SystemOption *that)
A function to make a deep copy of an instance of this class.
StorageCapacity * minDiskSpace
the minimum disk space required
StorageCapacity * minMemorySize
the minimum memory required
CPUSpeed * minCPUSpeed
the minimum CPU speed required
CPUNumber * minCPUNumber
the minimum number of processors required
SystemOption()
Default constructor.
OtherOptions * otherOptions
the list of other system options
~SystemOption()
Class destructor.
bool IsEqual(SystemOption *that)
A function to check for the equality of two objects.
bool IsEqual(TimeSpan *that)
A function to check for the equality of two objects.
std::string unit
the unit in which time is measured
double value
the number of units
bool setRandom(double density, bool conformant)
A function to make a random instance of this class.
bool deepCopyFrom(TimeSpan *that)
A function to make a deep copy of an instance of this class.
the VariableOption class.
BasisStatus * initialBasisStatus
initial basis information
int numberOfOtherVariableOptions
number of <other> child elements
VariableOption()
Default constructor.
~VariableOption()
Class destructor.
bool setOther(int numberOfOptions, OtherVariableOption **other)
A function to set an array of <other> elements.
InitVariableValuesString * initialVariableValuesString
initial values for string-valued variables
bool setRandom(double density, bool conformant)
A function to make a random instance of this class.
bool addOther(OtherVariableOption *other)
A function to add an <other> element.
bool deepCopyFrom(VariableOption *that)
A function to make a deep copy of an instance of this class.
bool IsEqual(VariableOption *that)
A function to check for the equality of two objects.
OtherVariableOption ** other
other variable options
SOSVariableBranchingWeights * sosVariableBranchingWeights
branching weights for SOS variables and groups
InitVariableValues * initialVariableValues
initial values for the variables
IntegerVariableBranchingWeights * integerVariableBranchingWeights
branching weights for integer variables
bool verifyTransportType(std::string type)
bool verifyCPUSpeedUnit(std::string unit)
ENUM_COMBINE_ARRAYS
An enum to streamline set() methods of vectors.
@ ENUM_COMBINE_ARRAYS_throw
@ ENUM_COMBINE_ARRAYS_merge
@ ENUM_COMBINE_ARRAYS_ignore
bool verifyLocationType(std::string type)
@ ENUM_OUTPUT_LEVEL_debug
@ ENUM_OUTPUT_LEVEL_trace
@ ENUM_OUTPUT_LEVEL_error
bool verifyTimeUnit(std::string unit)
@ ENUM_PATHPAIR_output_dir
@ ENUM_PATHPAIR_input_dir
@ ENUM_PATHPAIR_output_file
@ ENUM_PATHPAIR_input_file
@ ENUM_BASIS_STATUS_isFree
@ ENUM_BASIS_STATUS_unknown
@ ENUM_BASIS_STATUS_basic
@ ENUM_BASIS_STATUS_atLower
@ ENUM_BASIS_STATUS_superbasic
@ ENUM_BASIS_STATUS_atUpper
bool verifyServiceType(std::string type)
@ ENUM_OUTPUT_AREA_OSOption
@ ENUM_PROBLEM_COMPONENT_objectives
@ ENUM_PROBLEM_COMPONENT_constraints
@ ENUM_PROBLEM_COMPONENT_variables
bool verifyStorageUnit(std::string unit)