Siebel Field Service Guide > Setting Up and Using Scheduling > About Troubleshooting the Appointment Booking System and Optimizer >

Troubleshooting the Optimizer


Before beginning the checks, note that all of the following settings are required for running the Optimizer:

  • A service region
  • Server key mapping
  • Cost function
  • Cost list
  • Travel cost
  • Minimum travel time
  • Travel U/M
  • Parameter set
  • Parameters:
    • Optimizer - Activity Category
    • Optimizer - Default Priority
    • Optimizer - Glued
    • Optimizer - Save Interval
    • Optimizer - Tardiness Cost
    • Optimizer - Task Excl Cost
    • Optimizer - Timeout

NOTE:  See Creating Parameter Sets for Scheduling for more information about setting the values for these parameters.

The Optimizer has the following additional requirements:

  • An activity cannot span more than one day; multiday activities are not scheduled. The Optimizer can schedule other activities during the time intended for multiday activities. However, the penalties for not scheduling these activities still contribute to evaluating the potential success of an optimized schedule. See Defining Cost Functions for the Optimizer for more information.
  • Activities that cross between the end of the Optimizer horizon and the ABS horizon are treated as locked by both the ABS and the Optimizer.

When loading activities into the Optimizer cache for the first time, the Optimizer produces an initial solution to the schedule by accepting the existing order and assignment of appointments. While finding the initial solution, the Optimizer first processes the activities that have Lock Assignment and Lock Schedule flags set to TRUE. This helps to ensure that these requests are honored in the optimized schedule. See Locking Schedules and Assignments (End User) for more information.

While the schedule for a service region is being optimized, only Insert Activity and Stop Optimization requests are accepted. These are queued, and the queue is processed when the optimization finds the next solution. Any other request is returned. See Running Contract Scheduling (End User) and Stopping the Optimization of a Service Region for more information.

Guidelines for Obtaining Good Optimization Results

The following recommendations can help you to obtain good optimization results at the best speed:

  • The most important way to return good results from the Optimizer is to make sure that it is on its own process within the server key mappings.

    Run the Optimizer when the server is under a light load, preferably overnight. See Setting Up Server Key Mappings for more information.

  • Examine the schedule parameters' Optimizer heuristic settings.

    In general, a higher number produces a better result quality, but it takes longer to find a solution. Most companies find that setting the Optimizer heuristic parameters to 5 or 6 and running the Optimizer for three to four hours (determined by the Optimizer - Timeout parameter) to be sufficient. See Creating Parameter Sets for Scheduling and Heuristics for the Optimizer for more information.

  • Check the service region setup as more constraints lead to a faster solution.

    Optimizer frames the scheduling problem as a solution space to explore and find the best answer. More constraints mean that the solution space is smaller, therefore the Optimizer has to explore fewer permutations to arrive at the best solution. See Defining Service Regions for more information.

  • Subdividing your field service engineers into types also helps to speed up optimization.

    For example, a cable company had several different activity types (cable install, cable problems, cable modem install, and cable modem problems), with service engineers keyed to those types. Even within a large service region of over 50 people, the company could receive optimum solutions quickly because the engineers were divided in this way. This was because the Optimizer was solving several small problems instead of one large one.

Optimizer Parameter Set Configuration

The parameter values for the Optimizer should be set as described in Table 38.

Table 38. Recommended Optimizer Parameter Values
Parameter
Recommended Value

Optimizer - Save Interval

This value should generally be set to 15

Optimizer - Logging Level

This value should generally be set to 3, unless diagnosing a problem.

Optimizer - Optimize Heuristic

This value should generally be set to 5. Set this higher for more accurate results, lower for faster results.

Optimizer - Timeout

This value should generally be set to 180. Three hours should be enough to find a good solution.

ABS - Days to Start

This value should generally be set to 1. This controls how many days out the schedule is optimized. Setting this to higher than 5 will greatly increase memory usage, and is not recommended.

Month Start Date

This value should generally be set to 1. This is primarily relevant if you are using constraints around monthly capacity.

Week Start Day

This value should generally be set to 1. This is primarily relevant if you are using constraints around weekly capacity.

Optimizer - Glued

This value should generally be set to 120. This is primarily relevant if you are doing Contract Scheduling during the day instead of batch scheduling overnight.

Optimizer - Default Priority

This value should generally be set to 3.

Optimizer - Consider Parts

This value should generally be set to 0.

Optimizer - Task Excl Cost

This value should generally be set to 500. This ensures that tasks are not dropped from the schedule unless absolutely necessary.

Optimizer - Hard Latest Start

This value should generally be set to 0.

Use Assignment Manager

This value should be set 1 if using skills to restrict candidates.

Siebel Field Service Guide Copyright © 2007, Oracle. All rights reserved.