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 30), 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 30.  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

 

Order 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. For example, to only load activities with a category of "Repair Activity," do the following in the order shown:

  • Navigate to the Administration - Application screen > List of Values view.
  • Query for the LOV type, FS_ACTIVITY_CLASS.
  • Record the order number for the category you want to exclude (that is, Repair Activity).
  • Navigate to the Administration - Scheduling screen > Parameter Sets view.
  • Select the parameter set for the specified Service Region and add the Variable value, ABS - Activity Category. This value is taken from the Order field of the Repair Activity LOV. The value can be comma separated if there is more than one category listed. As a result, the ABS only loads activities with the category, Repair Activity, and ignores activities with other categories.

ABS - Activity Status

 

Order number for the Activity Status LOV.

When loading activities into the ABS, those with the specified status are excluded. Recommended default: Cancelled. For example, to exclude activities with a Cancelled status, do the following in the order shown:

  • Find the order number of activities with a Cancelled status (the LOV type is EVENT_STATUS).
  • Add the parameter, ABS - Activity Status. This value is taken from the Order field of Cancelled Status LOV. The value can be comma separated if there is more than one status listed. As a result, the ABS does not load activities with a Cancelled status.

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.

NOTE:  You must set the Appointment Booking and Optimization Execution event for the ApptBook component to 4 to generate log files when the ABS is loaded.

ABS - Range of Heuristic

 

Number, 1-3

Determines the time range that the selection heuristic uses:

1 - day

2 - week

3 - 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 constraint

1 - Hard constraint

The 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 search

2 - Steepest search

3 - Greedy search followed by a Tabu search

4 - Steepest search followed by Tabu

5 - Greedy search followed by Fast GLS

6 - Steepest search followed by Fast GLS

7 - Greedy search followed by GTS

8 - Steepest search followed by GTS

where:

GLS = Guided Local search

GTS = Guided Tabu search

For 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. 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. For more information, see Cost Function.

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.
  • Fast Guided Tabu search. 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.
Siebel Field Service Guide