Bookshelf Home | Contents | Index | Search | PDF |
Siebel Field Service Guide > Scheduling and Dispatch > Scheduling Administration >
Scheduling Parameters
Parameter sets hold key information that determines how the ABS and Optimizer operate.
If the scheduling server starts without Optimizer or ABS parameters (see Table 29), the service region is not loaded for the Optimizer or the ABS, respectively. The log files (ApptBook_xxx.log and Optimizer_xxx.log in the log directory on the Siebel server) specify which parameters are missing. Note that if a service region fails to load, the ABS or Optimizer must be restarted. This does not require rebooting the computer.
Table 29. Scheduling Parameters Parameter Required? Value Description Month Start Date Number, 1-28 Determines what day the month starts on. Used for constraints that are defined in terms of months. Most users will set this to 1. The default value is 1. Use Assignment Manager 1/0 Whether to submit the activity to Siebel Assignment Manager to receive a list of engineers capable of performing this work. This should be set to 1 to use the AM, unless all employees in a service region have the same skills or all are eligible to do all the jobs. The default value is 1. Week Start Day Number, 1-7 Determines what day the week starts on. Used for constraints that are defined in terms of weeks. Most users will set this to 1 (Sunday) or 2 (Monday). The default value is 1. ABS - Activity Category Sequence number for the Activity Category LOV. When loading in activities into the ABS, only those with the specified category will be loaded. The default value is all categories. ABS - Activity Status Sequence number for the Activity Status LOV. When loading activities into the ABS, those with the specified status are excluded. Recommended default: Cancelled. ABS - Days to End Yes Number When starting the ABS process, specifies how many days out the ABS should be booking appointments. It is always measured in number of days (not an absolute date) showing how far the schedule runs. Required for ABS. ABS - Days to Start Yes Number When starting the ABS process, this number specifies how many days out the ABS should start booking appointments. It is always measured in number of days, not an absolute date. Required for ABS. ABS - Default Number of Slots Number Specifies how many choices (maximum number of appointment slots) are returned to the user. A higher number of slots gives more flexibility, but may slow the ABS, as it takes longer to search for more slots. The default value is 5. ABS - Logging Level Number, 1-4 Controls how much information is written to the ABS log stored on the server (ApptBook_xxx.log). The lowest level, 1, writes only basic information about the server activities, while the highest level, 4, writes detailed logs, showing all actions that occurred. ABS - Range of Heuristic Number, 1-3 Determines the time range that the selection heuristic uses:1 - day2 - week3 - month ABS - Selection Heuristic Determines the logic used when finding time slots:
- 1 - Earliest First method. The earliest available time slots are included in the set. This method may provide the fastest possible response for the activity.
- 2 - Resource Leveling method. Time slots are selected so that the schedules for qualified employees are evenly loaded, to the extent possible.
- 3 - Resource Loading method. Time slots are selected so that the schedules for employees are filled to the extent possible, one employee at a time. If two or more qualified employees are available, the time slots for the employee with the most complete (filled-up) schedule are selected for inclusion in the set.
The number of time slots returned in response to the request is configurable though the parameter ABS - Default Number of Slots. ABS - Timeout Number (minutes) Sets how long time slots are locked (in minutes) after the user requests them, but has not chosen one. After this time, the slots are released and made available for booking by other users. This is important if the user closes the browser or loses a connection, so that the slots are again available. Optimizer - Activity Category Yes Sequence number for the Activity Category LOV. When loading in activities into the Optimizer, only those with the specified category will be loaded. The default value is all categories. Optimizer - Activity Status Sequence number for the Activity Status LOV. When loading in activities into the Optimizer, those with the specified status are excluded. Recommended default: Cancelled. Optimizer - Default Priority Yes Sequence number for the Activity Priority LOV. Priority used if no priority is set for an activity. Optimizer - Glued Yes Number (hours) The period, in minutes, from now in which the Optimizer treats the schedule as frozen. No activity may be scheduled during this time period. Optimizer - Hard Latest Start 1/0 Whether the Latest Start value is considered a hard or soft constraint:0 - Soft constraint1 - Hard constraintThe default is 0. Optimizer - Logging Level Number, 1-4 This field controls how much information is written to the Optimizer log (Optimizer_xxx.log) stored on the server. The lowest level, 1, writes only basic information about the server activities, while the highest level, 4, writes detailed logs, showing all actions that occurred. Optimizer - Optimize Heuristic Number, 1-8 The heuristic used to improve the optimization solution:1 - Greedy search2 - Steepest search3 - Greedy search followed by a Tabu search4 - Steepest search followed by Tabu5 - Greedy search followed by Fast GLS6 - Steepest search followed by Fast GLS7 - Greedy search followed by GTS8 - Steepest search followed by GTSwhere:GLS = Guided Local searchGTS = Guided Tabu searchFor more information about these methods, see Heuristics for the Optimization Engine. Optimizer - Consider Parts 0/1 Whether the Optimizer should consider parts in an engineer's trunk inventory when considering the engineer for assignment to an activity:0 - No
1 - Yes Optimizer - Parts Period Integer (hours) If the Optimizer considers that a service engineer has the parts required to solve a problem, this parameter tells the Optimizer how far in advance to consider parts. Optimizer - Save Interval Yes Integer (Minutes) The interval for committing the optimized or partially optimized schedule to the database. Shorter values mean that the database is more up to date, but frequent updates may have an effect on performance. Optimizer - Tardiness Cost Yes Number (Float) The cash value, in $/hour, of violating the Optimizer - Hard Latest Start soft constraint. Optimizer - Task Excl Cost Yes Number Penalty used in calculating the cost function if an activity is unscheduled. Optimizer - Timeout Yes Minutes (Integer) The maximum time in minutes for each optimization.Heuristics for the Optimization Engine
The Optimizer provides a choice of methods for obtaining solutions for a service region's schedule. Each of these methods involves a different strategy to improve the schedule. All methods use operations to move two or a few appointments and activities in a schedule and then verify improvements in the overall cost of the schedule (see Cost Function). For example, the Optimization Engine may try to swap a pair of activities between two field service engineers. This can change the cost of the schedule by changing the cost of travel, the amount and cost of overtime, and the rate billed by the field service engineer. Any reduction in cost is an improvement in the schedule.
There are five different classes of operations for moving appointments and activities in a schedule. Each optimization method uses all of these scheduling heuristics.
There are two basic optimization methods, which can be used alone, and three methods that can be used in combination with the basic methods. The following basic methods consistently search for and accept only improvements (lower cost) in the schedule:
- Greedy search. This method starts with an existing schedule and finds the first move that improves the schedule, accepts the move, and then uses this solution to find the next improvement. A Greedy search repeats this process until there is no more improvement or it reaches a time limit. This method is relatively fast, but the result solution is not as good as other methods.
- Steepest search. This method starts with an existing schedule, tries all moves, accepts the move that provides the greatest improvement in the schedule, and then uses this solution to find the next improvement. A Steepest search repeats this process until there is no more improvement or it reaches a time limit. This method takes longer, but generally produces lower-cost schedules.
The following methods, combined with either the Greedy search or the Steepest search, allow moves that temporarily increase the cost of a schedule in order to arrive at significant, overall improvements in the schedule. In all cases, the Greedy search or the Steepest search quickly finds an improved schedule, and then one of the following methods takes over and searches for improvements:
- Tabu search. This method accepts the next best solution even if it is not an improvement over the previous schedule. It keeps a "tabu" list of finite length that contains the results of previous moves. The Optimizer cannot repeat a move until a move drops off the list.
- Fast Guided Local search. This method adjusts the cost of a solution to reflect the number of times the Optimizer tried a move. This allows the Optimizer to try a wider range of changes.
- This method combines the Tabu search and the Fast Guided Local search. It often finds good solutions faster than either the Tabu or Fast Guided Local searches.
Bookshelf Home | Contents | Index | Search | PDF |
Siebel Field Service Guide Published: 21 April 2003 |