×

System and method for generating a schedule based on resource assignments

  • US 6,571,215 B1
  • Filed: 01/21/1997
  • Issued: 05/27/2003
  • Est. Priority Date: 01/21/1997
  • Status: Expired due to Fees
First Claim
Patent Images

1. A computer-readable medium having computer-executable instructions for performing a method for creating an assignment-oriented schedule, the method comprising the steps of:

  • a. receiving input information comprising;

    a resource calendar which identifies resources, available time-slots for each of the resources, and an earliest start date for each of the resources, and a task list which identifies tasks, each of the tasks having a set of task constraints and a priority which is a function of the task constraints, each set of task constraints identifying at least one resource assigned to the task associated with the set of task constraints and a work-amount for each of the assigned resources;

    b. generating assignments for each of the tasks, each of the assignments representing a component of a task and identifying a specific assigned resource, a specific work-amount required by the specific assigned resource, the task from which the assignment is generated as a parent task, and a predecessor count indicating a number of predecessor tasks upon which the assignment depends;

    c. ordering the assignments by;

    1. identifying a first assignment group comprising assignments having a start-on scheduling constraint in the set of task constraints of their corresponding parent task, 2. identifying a second assignment group comprising assignments having a must-finish-by scheduling constraint in the set of task constraints of their corresponding parent task and which are not identified for the first assignment group;

    3. identifying a third assignment group comprising assignments having a predecessor count with a value of zero and which are not identified for the first assignment group, and 4. identifying a fourth assignment group comprising assignments which are not identified for one of the first and third assignment groups;

    d. scheduling each of the assignments in the first assignment group into a time-slot for the assigned resource which corresponds with the start-on scheduling constraint for each respective assignment; and

    e. scheduling remaining unscheduled assignments by;

    1. selecting a first resource as a current resource, 2. selecting a first assignment from the third assignment group as a current assignment, the current assignment identifying the current resource, 3. if there is an unscheduled assignment in the fourth assignment group which identifies the current resource and has a higher priority than the current assignment, then selecting a next resource as the current resource and continuing at step e2, 4. calculating a current end date based on all of the assignments that have been scheduled and the current assignment as though it has been scheduled, 5. if any assignments in the second assignment group identify the current resource and have a must-finish-by scheduling constraint that identifies a date earlier than the current end date, scheduling any such assignments in the second group into the first available time-slot for the current resource and continuing at step e7, 6. scheduling the current assignment in the first available time-slot for the current resource, 7. if all of the assignments having a common parent task have been scheduled;

    decrementing the predecessor counts for each of the assignments which are dependent upon the common parent task, and moving all of the assignments in the fourth assignment group, which have a predecessor count equal to the value of zero, to the third assignment group, 8. selecting a next assignment from the third assignment group as a current assignment, the current assignment identifying the current resource, and repeating steps e3 through e8 until all of the assignments in the third assignment group which identify the current resource have been scheduled, and 9. selecting a next resource as the current resource and repeating steps e2 through e9 until all of the assignments have been scheduled.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×