Patent ID: 7325190

Claim:
A computer readable medium having a computer program for optimizing a schedule for scheduling a plurality of agents within a call center, the program for performing the steps of: generating an initial schedule for the plurality of agents within the call center according to at least one rule, comprising, displaying a current rule fragment that is a portion of a completed rule used to generate the initial schedule for the plurality of agents within the call center; accepting user input to create the completed rule from the rule fragment, wherein user input includes a selection from a displayed list, and a value directly entered by the user; accepting a tolerance input by the user, wherein the tolerance is placed on the completed rule; applying branching rules to previous user selections, such that future selection lists may be generated based on the previous user selections; and converting the completed rule into an internal representation suitable for input into a resource scheduling system for generating the initial schedule; removing a shift from the initial schedule, thereby creating a shift-reduced schedule, wherein the shift comprises at least one agent, at least one time slot, and at least one break offset value, wherein the initial and shift-reduced schedules comprise a plurality of shifts assigning the plurality of agents to time slots and to break offset values; creating a plurality of first schedules for the plurality of agents within the call center, the plurality of first schedules including adding an array of different first shifts individually to the shift-reduced schedule, wherein the first shifts are break-unspecified shifts and have indeterminate break times; evaluating a score function for each of the plurality of first schedules, wherein the first schedules have different first shifts added, wherein the different first shifts comprise all time slots in the schedule for which the plurality of agents can work; selecting a second schedule from among the plurality of first schedules, wherein the second schedule is characterized by a value of the score function; and scheduling the plurality of agents within the call center in accordance with the second schedule.