=================== P A R A M E T E R S =================== This file is a list of the parameters for customizing Space-Time Module and GUI, which are defined in the "db/params.txt" file. -= General =- Debug mode ("debugMode"): A boolean value that specifies whether we use Space-Time Module and GUI for internal work or for a release. When enabled, the system may use unfinished features and provide additional debugging information. Stand-alone mode ("standAloneMode"): A boolean value that specifies whether we use Space-Time Module and GUI separately or as part of Radar. When enabled, the system does not communicate with Radar. Training mode ("trainMode"): A boolean value that specifies whether the system is in the training mode. When enabled, the system runs "war games"; when disabled, it runs actual tests. Minimal score ("minScore"): The minimal allowed score, which must be between -5.0 and 0; note that the maximal allowed score is always 1.0. Backup frequency ("backupFreq"): The minimal time (in seconds) between backups of the system state. The system writes a backup of its state when it no longer matcher the previous backup and the time since the previous backup is at least "backupFreq." When the system exits, optimizes, or publishes, it updates the backup even if the time since the previous backup is less than "backupFreq." Backup delay ("backupDelay"): The minimal time (in seconds) between the last modification of the worldstate and the backup of the system state. We require this delay to ensure that the system has processed all necessary changes after the last modification of the worldstate , and thus the worldstate is consistent. When the system exits, optimizes, or publishes, it updates the backup even if the time since the last modification is less than "backupDelay." -= Optimizer =- Moving penalty ("movingPenalty"): The moving penalty used for every event during the optimization. If it is negative, the system sets the moving penalty of every event to this value. Note that the system divides this value by 100 before using it in the computation, and that the system doubles this penalty when changing both room and start time of an event. For example, if this value is -50, the system subtracts 0.5 from the event score when changing either its room or start time, and 1.0 when changing both its room and start time. If the movingPenalty parameter is 0, the system does not use moving penalties. If it is positive, the system ignores it, and uses the penalties specified in the STP world model. Optimization time ("optTime"): Limit in seconds on the time of constructing a schedule. Optimization steps ("optSteps"): Limit on the number of passes through the main loop of Optimizer. Weight scaling ("weightScaling"): A boolean value that specifies whether Optimizer scales preference weights. When enabled, Optimizer ensures that the sum of preference weights in an event is 1.0. When disabled, Optimizer uses the given weights without scaling them. Start granularity ("startGranularity"): The granularity of possible start times of events, in fifteen-minute increments, which must be a positive integer. For example, if it is 1, then all start times are divisible by 15 minutes; if it is 4, then all events start on an hour. Duration granularity ("durationGranularity"): The granularity of possible event durations, in fifteen-minute increments, which must be a positive integer. For example, if it is 4, then all durations are divisible by an hour. Score for service preferences ("serviceScore"): The score assigned to the service-property preferences, which cannot be satisfied during the optimization. It represent the optimizer's assumption about likely score after applying Vendor Optimizer to satisfy these preferences. Acceptable event score ("acceptableEventScore"): The minimal acceptable event score. If the score for an event in the initial schedule is no smaller than this parameter, Optimizer does not consider re-scheduling it. The use of this parameter prevents excessive re-scheduling. Minimal event gain ("minEventGain"): The minimal acceptable gain from scheduling an event, as opposed to rejecting it. If the score for a scheduled event in some time slots are smaller than "minScore + minEventGain", Optimizer does not consider these time slots. Minimal unlock gain ("minUnlockGain"): The minimal acceptable gain from unlocking and re-scheduling a partially locked event, as opposed to leaving it in its current slot. If the system can increase the score of a partially locked event by minUnlockGain, it unlocks this event. Note that the system neven unlocks a fully locked event. Conditional allocations ("conditionalAllocations"): A boolean value that specifies whether Optimizer can violate hard preferences with nonzero probability. When enabled, Optimizer scores hard-preference violations as "minScore" rather than "unacceptable." This parameter is currenty ignored by the system, and Optimizer never violates hard constraints. -= Vendor Optimizer =- Vendor Optimizer ("vendorOptimizer"): A boolean value that specifies whether the system should use Vendor Optimizer. Automated order placement ("autoOrdering"): A nominal value that specifies whether the system should place the selected vendor orders automatically through the vendor portal. If this value is "none", the system only displays suggested orders, and the user has to place them manually. If it is "partial", the display of suggested orders includes buttons for their automated placement; the user has to select among suggest orders and click respective buttons, and the system places these selected orders. Finally, if it is "full", the system automatically places all selected orders displaying them. Granularity of discretizing PUDs during the generation of resource functions ("resourceFuncGranularity"): If the system needs to discretize a PUD when generating a resource function, this parameter determines the maximal number of points in a discretized PUD. Order-placement delay ("autoOrderFreq"): The delay in milliseconds between automated order-placement requests to Vendor Portal. If the delay is too small, it causes problems in Vendor Portal. -= API =- Default rules ("defaultRules"): A nominal value that specifies the version of the default-rule mechanism. If this value is "none", the system does not use default rules. If it is "slow", the system uses the old slow implementation of default rules. If it is "fast", the system uses the new fast implementation. Maximal priority ("maxPriority"): The maximal priority of default rules, which is a positive integer. If the user explicitly specifies a room or event propertiy, its priority is "maxPriority + 1." On the other hand, the properties generated by default rules have priorities between 0 and maxPriority. Inherited priority ("inheritedPriority"): The priority of values inherited in the room and event hierarchies, which is a natural number. It is used for resolving conflicts between inheritance and default rules. Granularity of discretizing PUDs during the default-rule application ("defaultRuleGranularity"): If the system needs to discretize input PUDs during the application of a default rule, this parameter limits the number of discrete alternatives. Specifically, if the system needs to discretize k input variables, then it discretizes each variable into n points, where n^k <= defaultRuleGranularity < n^(k+1). Maximal score loss ("maxScoreLoss"): The maximal acceptable loss of schedule score due to manual changes. If the score of the best known schedule is "maxScore," and the score of the current schedule is at least "maxScore - maximalLoss", GUI does not suggest re-optimization. -= Integrated Elicitor =- Number of questions ("numQuestions"): Limit on the number of questions; if the system generates more questions, it asks the specified number of the most important questions. Hidden questions ("hiddenQuestions"): A boolean value that specifies whether the system should elicit the values of hidden variables. When enabled, the system asks about all variables; when disabled, it ignores hidden variables. Elicitation of room properties in the training mode ("trainRoomProps"): A boolean value that specifies whether the system should elicit room properties in the training mode. Elicitation of event weights in the training mode ("trainEventWeights"): A boolean value that specifies whether the system should elicit event weights in the training mode. Elicitation of event properties in the training mode ("trainEventProps"): A boolean variable that specifies whether the system should elicit event properties in the training mode. Elicitation of preference weights in the training mode ("trainPrefWeights"): A boolean value that specifies whether the system should elicit preference weights in the training mode. Elicitation of preference functions in the training mode ("trainPrefFunctions"): A boolean value that specifies whether the system should elicit preference functions in the training mode. Elicitation of user weights in the training mode ("trainUserWeights"): A boolean value that specifies whether the system should elicit user weights in the training mode. Elicitation of vendor costs in the training mode ("trainServices"): A boolean value that specifies whether the system should elicit information about vendors and costs in the training mode. Elicitation of room properties in the test mode ("testRoomProps"): A boolean value that specifies whether the system should elicit room properties in the test mode. Elicitation of event weights in the test mode ("testEventWeights"): A boolean value that specifies whether the system should elicit event weights in the test mode. Elicitation of event properties in the test mode ("testEventProps"): A boolean value that specifies whether the system should elicit event properties in the test mode. Elicitation of preference weights in the test mode ("testPrefWeights"): A boolean value that specifies whether the system should elicit preference weights in the test mode. Elicitation of preference functions in the test mode ("testPrefFunctions"): A boolean value that specifies whether the system should elicit preference functions in the test mode. Elicitation of user weights in the test mode ("testUserWeights"): A boolean value that specifies whether the system should elicit user weights in the test mode. Elicitation of vendor costs in the test mode ("testServices"): A boolean value that specifies whether the system should elicit information about vendors and costs in the test mode. -= Search Elicitor =- Search Elicitor ("searchElicitor"): A boolean value that specifies whether the system should use Search Elicitor. Minimal Search Utility ("minSearchUtility"): The minimal utility of useful questions, based on the estimates of Search Elicitor. If the estimated utility is lower, the system does not ask the question. High Search Utility ("highSearchUtility"): The utility of "important" questions, based on the estimates of Search Elicitor. If the estimated utility is not lower, the system considers the question important. Input size in the real-time mode ("fastQuestionEvalNum"): The number of questions evaluated by Search Elicitor in the real-time mode. Schedule-improvement time in the real-time mode ("fastImproveTime"): The time limit given to Improver, when Search Elicitor calls it to improve a schedule for a specific answer, in the real-time mode. Per-question time in the real-time mode ("fastQuestionEvalTime"): The time limit for evaluating one question in the real-time mode. When Search Elicitor reaches this limit, it terminates the evaluation of the current question. Utility ratio in the real-time mode ("fastUtilityRatio"): The upper limit on the ratio of the upper utility bound to the lower bound that represents an "accurate" utility estimate in the real-time mode. When the ratio of the upper bound to the lower bound becomes no larger than the utility ratio, Search Elicitor terminates the evaluation of the current question. Input size in the batch mode ("batchQuestionEvalNum"): The number of questions evaluated by Search Elicitor in the batch mode. Schedule-improvement time in the real-time mode ("batchImproveTime"): The time limit given to Improver in the batch mode. Per-question time in the real-time mode ("batchQuestionEvalTime"): The time limit for evaluating one question in the batch mode. Utility ratio in the batch mode ("batchUtilityRatio"): The upper limit on the ratio of the upper utility bound to the lower bound that represents an "accurate" utility estimate in the batch mode. -= Heuristic Elicitor =- Heuristic Elicitor ("heuristicElicitor"): A boolean value that specifies whether the system should use Heuristic Elicitor. Minimal Heuristic Utility ("minHeuristicUtility"): The minimal utility of useful questions, based on the estimates of Heuristic Elicitor. If the estimated utility is lower, the system does not ask the question. Number of alternative schedules ("numAlternativeSchedules"): The number of alternative schedules considered by Heuristic Elicitor, in addition to the current schedule. First, Heuristic Elicitor esimates question utilities based on the current schedule; then, it randomly generates several other schedules, calls Optimizer for partial optimization of each schedule, and estimates utilites for each alternative schedule. Current-schedule weight ("currentScheduleWeight"): After Heuristic Elicitor evaluates questions based on the current schedule and several alternative schedules, it computes the overall utility of each question as the weighted mean of all related utility estimates. When computing this mean, it uses the "current-schedule weight" for the utility estimate based on the current schedule, and the 1.0 weight for each estimate based on an alterantive schedule. Partial optimization time ("partialOptimizeTime"): The time limit for the partial optimization of each alternative schedule. -= Auxiliary Elicitor =- Auxiliary Elicitor ("auxiliaryElicitor"): A boolean value specifying whether the system should use Auxiliary Elicitor. Room-property significances ("roomPropertySignificances"): The "significance weights" of room properties, used in estimating the utility of related questions. When Auxiliary Optimizer determines a room-property utility, it multiples the initial estimate by the respective weight. Auxiliary Learner ("auxiliaryLearner"): A boolean value specifying whether the system should use Auxiliary Learner, which improves the ordering of auxiliary-elicitation questions. -= Vendor and Service-Type Elicitors =- Vendor Elicitor ("vendorElicitor"): A boolean value specifying whether the system should use Vendor Elicitor. Service-Type Elicitor ("serviceTypeElicitor"): A boolean value specifying whether the system should use the Service-Type Elicitor. Maximal length of an item list (maxList): The maximal length of an item list in a sentence generted by Vendor Elicitor, such as "Find the prices of the following items: ...". If the list includes more items, the system divides it into several questions. Maximal length of an "or" item list (maxSentenceList): The maximal length of an "x, y, or z" list in a sentence generated by Vendor Elicitor. If the list includes more elements, the system displays it as a bulleted list rather than an "or" list in the sentence. Vendor URL ("vendorUrl"): A string that specifies a URL link to the Vendor portal, which is displayed for vendors and orders with unknown specific URLs. -= Room-Cost Elicitor =- Room-Cost Elicitor ("roomCostElicitor"): A boolean value specifying whether the system should use Room-Cost Elicitor. Priority of room-cost questions ("roomCostPriority"): A positive integer, which controls the interleaving of room-cost questions with other questions. If it is 1, the system asks the room-cost questions before all other questions. If it is n > 1, then every n-th question is about room costs; that is, the most important room-cost question is n-th amoung the other questions, the second room-cost question is (2n)-th among the other questions, and so on. -= Default Learner =- Default Learner ("defaultLearner"): A boolean value specifying whether the system should learn default values for the nonleaf nodes of room and event hierarchies. Effect Learner ("effectLearner"): A boolean value specifying whether the system should learn the values of "unknown" default-rule effects. Room Clustering ("roomClustering"): A boolean value specifying whether the system should identify clusters of rooms with similar properties, and create the respective new nodes in the room hierarchy. Fraction of Absent Values ("fracAbsentValues"): The maximal percentage of "Absent" values that allows the learning of a default PUD; this percentage is between 0.0 and 1.0. If the percentage of "Absent" values is greater, the system does not generate a PUD for the related default. Fraction of Present Values ("fracPresentValues"): The maximal percentage of non-absent values that allows the system to learn that the default is "Absent"; this percentage is between 0.0 and (1.0 - fracAbsentValues). If the percentage of non-absent values is greater, the system does not learn that the default is "Absent." Weight of inherited values ("weightInheritedValues"): The weight assigned to inherited values during the default learning, which should be between 0.0 and 1.0. It determines the relative impact of inherited values, as compared to explicitly specified values, on the learned defaults. Granularity of learned histograms ("learnedHistoGranularity"): The maximal number of segments in default histograms produced by the learner; these histograms are later converted into default PUDs. Granularity of learned PUDs ("learnedPudGranularity"): The maximal number of segments in default PUDs produced by the learner. If a PUD includes more segments, the system uses its approximation with a smaller number of segments. Room properties for clustering ("roomClusterProps"): A list of rooms properties used in identifying clusters of similar rooms. The clustering algorithm ignores properties that are not in this list. -= GUI =- Friction time ("frictionTime"): The overall time of processing the world model before and after the optimization, not including the optimization time. We use it for estimating the waiting time during the optimization, and displaying the appropriate status bar. -= CM Radar =- CM Radar ("cmRadar"): A nominal value that specifies the version of the CMRadar integration. If this value is "none", the system does not invoke CM Radar. If it is "simple," the system uses the Year 3 version of integration. If it is "optimal", the system uses the bumping optimizer. CM Radar Error Checking ("cmRadarCheck"): A boolean value specifying whether the system checks the consistency of the initial STP file with the CMRadar information about the room availability. If the cmRadar parameter is "optimal", and cmRadarCheck is "true", then the system checks consistency; else, it does not check consistency. Minimal Expected Gain ("minExpectedGain"): Minimal expected gain of room requests; system should not generate requests with smaller gains. Number of room requests ("numRoomRequests"): The limit on the number of room requests sent to CM Radar after rescheduling. -= Other modules =- Directory for the schedule-change files, used by Briefing Assistant ("baChangesPath"): The absolute path to a directory that contains schedule-change files; ST Module generates a new schedule-change file when the user clicks "publish."