X
Menu
X

Customizing the Scheduling Objective

The FAST system allows you to build your own scheduling objective.  It does this by calculating several different metrics and then makes the scheduling decisions based on how you have weighted the various metrics.  Here are the details:

When processing an activity to schedule, the FAST logic finds all possible combinations of resources (specified plus wild carded) that satisfy the requirements for that activity.  It also finds and the feasible start time intervals for each combination.  When the FAST logic is asked to generate the schedule automatically. it processes each activity individually.  For each activity, it finds all feasible resource possibilities and their start times. Then each possibility is scored using several different metrics.  These scores can be combined to formulate a composite score that corresponds to the user’s unique objective.  Here are the metrics that are scored in the current version.

Resource Efficiency:  This is a metric that indicates how compactly the resource assignments are made.  Maximizing this metric will cause the FAST system to utilize the fewest possible number of resources and to load each resource as completely as possible.  Minimizing this metric will utilize all resources that satisfy the requirements, leveling the load across all of them as much as possible.

Resource Continuity: This is a metric that recognizes which resources have been previously assigned.  Maximizing this metric will cause the FAST system to assign resources that have already been assigned if possible.  Minimizing this metric will cause the FAST system to avoid using resources that have already been assigned.

Start Time: This metric determines how long after the start of the scheduling horizon each possibility represents.  Maximizing this metric will cause the FAST logic to select the earliest start time possible.  Minimizing will cause the logic to select the latest possible start time for the activity.

These metrics can be combined by specifying a weighted combination of their values.  (All metrics are normalized to have maximum values of one and minimum values of zero).  The weighting factors are decimal values that add to one.  Examples of logic for picking which possibility you want are :

0.4 (Resource Efficiency) + 0.1 ( Resource Continuity) + 0.5 ( Start Time). or

0.3 ( Resource Efficiency) + 0.5 ( Resource Continuity) + 0.2 (Start Time).

When would you use these different objectives?  Here are few examples:

  • If you are doing just-in-time scheduling for a manufacturing application, you might want to use latest start times. (latest start)
  • If you are scheduling sporting events, you might want to distribute the team pairings as evenly as possible.  (min resource efficiency)
  • If are are scheduling patients for a medical facility, you might want to schedule resources as tightly as possible. (max resource efficiency)
  • If you are dispatching technicians to a job site, you might want to be sure the same technician that was assigned to all activities at that site. (max resource continuity)

The FAST system is unique among scheduling applications because it lets you try different blends of objectives to produce the kind of schedules that make sense for your environment.  Once you have tuned your “solver”, you can save it and use it over and over.  You might develop several different blends of the metrics, i.e. different solvers, to use in different situations.  No other users will have access to your unique set of solvers.

The public solvers at the current time are “Tightly Packed” and “Fair Share”  which are blends.  The first tends to maximize Resource Efficiency (but not exclusively) and the second tends to minimize Resource Efficiency.  These are common objectives and work for many situations.  They are good starting points for all users.

Archives: