US20060026052A1 - Scheduling system - Google Patents

Scheduling system Download PDF

Info

Publication number
US20060026052A1
US20060026052A1 US11/155,297 US15529705A US2006026052A1 US 20060026052 A1 US20060026052 A1 US 20060026052A1 US 15529705 A US15529705 A US 15529705A US 2006026052 A1 US2006026052 A1 US 2006026052A1
Authority
US
United States
Prior art keywords
activity
activities
period
resources
resource
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US11/155,297
Inventor
Robert Klett
James Crozman
Ingrid Bongartz
Gelu Ticala
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kinaxis Holdings Inc
Original Assignee
Kinaxis Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kinaxis Inc filed Critical Kinaxis Inc
Priority to US11/155,297 priority Critical patent/US20060026052A1/en
Publication of US20060026052A1 publication Critical patent/US20060026052A1/en
Priority to US12/400,532 priority patent/US7945466B2/en
Assigned to KINAXIS HOLDINGS INC. reassignment KINAXIS HOLDINGS INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: KINAXIS INC.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06312Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06313Resource planning in a project environment

Definitions

  • This invention relates to a scheduling system, e.g., for scheduling business operations and processes, supply chain planning and management, or manufacturing planning and management.
  • a cost function an expression, generally called a cost function.
  • the cost function processor computes a single quantity as a weighted sum of characteristics of the quality of the schedule.
  • An optimization program is then run to find the schedule that results in the minimum or maximum value of the cost function.
  • optimizers typically require many evaluations of potential solutions to find the optimal schedule, although some are designed to limit their number of iterations and find a good solution in less time. In any case, optimizers tend to require a considerable amount of time to run.
  • a heuristic scheduler employs a set of rules or a strategy to find a solution.
  • Two known heuristic scheduling approaches are known as forward scheduling and a backward scheduling.
  • a forward scheduler resources are allocated forward in time from some starting point.
  • a backward scheduler resources are allocated first from a target date needed to complete on time, and if there are not enough resources available at that date, then resources are allocated at progressively earlier dates either until sufficient resources have been allocated or a starting limit is reached.
  • Embodiments are disclosed for a scheduling system that combines characteristics of a forward and backward scheduler to determine a schedule for activities that require the use of resources.
  • the processes and systems handle conflicting requirements for resources by considering target dates and the relative priority of the activities. The result is that higher priority activities are more likely to be scheduled to complete on or before their target date than are lower priority activities. Higher priority activities should be scheduled to be generally on time at the expense of lower priority activities.
  • a processor makes a number of passes through the set of activities as defined in storage. This number can be a predetermined number of passes, or can be determined based on a rule or criteria.
  • the system can produce its schedule more quickly than in some prior systems.
  • FIG. 1 is a block diagram of a scheduling system according to an embodiment described here.
  • FIG. 2 is a block diagram showing a more specific example of the scheduling system shown in FIG. 1 .
  • FIG. 3 is a block diagram showing scheduling steps for a scheduling process.
  • FIG. 4 is a block diagram showing input and calculated elements for an activity.
  • FIG. 5 is a block diagram showing inputs and calculated elements for a resource.
  • FIG. 6 shows results typical from using a backward scheduler and from using a forward scheduler.
  • FIG. 7 is a diagram showing the results from a combination of backward and forward scheduling when priority does not correspond to date sequence and some amount of lateness is unavoidable. It also compares the schedule resulting from splitting a late activity (not contiguous) and not splitting it.
  • a problem to be addressed includes a set of activities to schedule 12 that require the use of one or more resources.
  • Each activity to schedule 12 can have different types of information 14 associated with it and that serve as inputs to a scheduler 20 , such as a target date, quantity, and other factors such as priorities, prerequisites, and limitations.
  • Each activity can also have one or more associated alternate resource sets 16 that represent different ways and required resources 18 to satisfy (complete) an activity.
  • the scheduler processes the activities 12 , while considering the resource availability 22 , to determine a preferred sequence of activities and selection of resource sets for processing the activities and which of the alternative resource sets to use for each activity. This preferred sequence is referred to here as schedule 24 .
  • Activities and resources can vary significantly in kind and character, depending on the type of problem that is being addressed.
  • a resource could be a vehicle or vessel in a shipping context, or a factory, production line, individual machine, or an individual in a manufacturing environment. Activities can include shipping, manufacturing, processing, testing, assembling, or any of a number activities, such as those in a manufacturing, shipping, or other business environment.
  • the scheduler can be implemented with a processor for processing data related to the activities and resources.
  • the data including data relating to activities and resources, is preferably kept in RAM memory, but could also be kept in any other suitable memory or storage for holding data such as magnetic or optical disks.
  • the memory can be onsite or offsite and remote.
  • the processing can be performed by any appropriate combination of processing hardware and software, including a suitably programmed general purpose computer, a special purpose computer, such as an application specific integrated circuit, or any other processor, controller, or logical array, whether implemented in a stand-alone computer, a network, a cluster of computers, or other configuration.
  • Aspects of the scheduler that are implemented in software can be stored in any suitable computer-readable memory, including on a magnetic or optical disk.
  • the resulting schedule can indicate the activities and resources, along with times the resources are used, and can be printed out, displayed on an interface, and/or provided to various locations with instructions as a result of the schedule.
  • the effect of the scheduling system and process is an improved schedule that helps ensure that higher priority activities are performed on time.
  • FIG. 2 is similar to FIG. 1 and shows an example of a scheduling system.
  • the activities to be scheduled are work orders
  • the resource sets are sources
  • the information relating to the activities include due date, quantity, priority, component availability, and earliest start date.
  • the scheduler schedules these activities along with the available resources to produce a dispatch list as the schedule.
  • the scheduling system here can be used to make products that are substantially unique, such as custom buses or large computer systems, or it can be used for making larger quantities of systems, such as personal computers or cellular telephones. These can be made in one way, a few defined ways, or can have many options. In the case of personal computers, for example, a company may offer many different options for a user, such as different sizes of hard drives, CD or DVD options, different preloaded software, different microprocessors and memory, and different types of housings. Scheduling can be used to coordinate when components arrive and how they are assembled and tested to meet desired due dates. The system can be used to schedule items made from individual components, and also for intermediate processing of subassemblies and combinations of components and subassemblies.
  • FIG. 2 A diagram of a configuration of components and sub-assemblies is shown, for example, in FIG. 2 of U.S. application Ser. No. 10/438,932, filed May 16, 2003, and published Nov. 20, 2003, the entirety of which application is hereby incorporated by reference.
  • the following information would typically be known in advance: the resources required by each alternative resource set, the date by which it is desired for the activity to be completed, and the availability of prerequisites and limitations to the activities.
  • the system and process determine a schedule in an efficient manner.
  • the schedule can further be re-calculated when an aspect of an activity or resource availability changes.
  • the system implements three processes, referred to here as a backward schedule process 30 , a forward schedule process 32 , and a repair schedule process 34 (which is essentially a forward process). Each of these processes is described separately below.
  • each of the activities to schedule 12 can have a set of information 14 , including a target period, quantity, and priority, and can further have one or more prerequisites or other characteristics that can limit the earliest period in which resource can be allocated to it.
  • An activity can have one or more alternative resource sets by which the activity can be completed, such as one of several manufacturing lines or machines. Each resource set has any number of associated required resources that are needed to complete that activity.
  • each resource has associated with it a rate at which it is available.
  • the rate can be expressed in one of a number of different ways, such as units per time or time per unit.
  • the rate can change over time, e.g., from changing the number of hours worked per day, or the rate can be constant.
  • a set of resource available records is used.
  • Each record defines a rate and may also define a start period and an end period for use of the resource. For any particular period, there can be an effective rate, which is the sum of all such records for the resources that include that period within their start and end periods.
  • control settings can determine how to handle requirements for more than one resource. Possible rules include (1) a minimum amount of every resource is required before any resource can be used in a period, (2) resources can be allocated whenever any resource is available, (3) resources are allocated in a particular sequence, (4) resources may be allocated simultaneously across each resource only in the same amount for each resource, and/or (5) combinations of the above choices.
  • the scheduling function it may be the case that not every activity can be completed by the desired due date. In such a case, however, it is desirable to try to insure that relatively higher priority items are completed on time by the desired due date, and that relatively lower priority items are the ones that are allowed to be late. For example, some items may have a firm and necessary due date, while others may have a desirable date that is not necessarily required.
  • backward schedule process 30 determines when some activity should be scheduled and determines a feasible date for each activity. This system is referred to as “backward” because it uses as its starting perspective a backward approach where it looks to the desired date of completion, and works backward to the last possible date that an activity can be started to meet the required completion date. This date can be further adjusted backward as needed, and there can be some iterative processing back through the layers of activities that need to be performed.
  • Priority List 40 This list is sorted by:
  • the activities could have a priority defined as 1s, while others can have priority defined as 2s or 3s.
  • the list is arranged so that the 1s are listed first, and within each of the 1s, the activities are arranged by Target Period, starting with the earliest target. Other data can be provided as desired as a further sort following the Target Period.
  • the data includes:
  • resources take as inputs start, end, and rate of availability, and the following data is calculated and associated with each resource for each period:
  • the calculated elements are first initialized for the activities and resources, using the initial values identified above.
  • the backward scheduling starts with the first activity in Priority List 40 ( FIG. 3 ). Starting at the later of the Adjusted Ready Period (the earliest the activity could have a resource allocated to it) and the Target Period (the latest period to allocate the resource to allow on-time completion), resources are allocated to that activity.
  • the Adjusted Ready Period for the activity and the Earliest Ready Period (the earliest a resource could have been allocated) for the resource are tracked. That is, when trying to find a resource to allocate, if the resource's Earliest Ready Period is before the activity's Adjusted Ready Period, then the system replaces the activity's Adjusted Ready Period with the resource's Earliest Ready Period. Similarly, if the activity's Adjusted Ready Period is before the resource's Earliest Ready Period, the Earliest Ready Period is updated. In effect, this tracking pushes back the date to the earliest date that the resource is ready for the activity and the activity is ready for the resource.
  • the Remaining Resource for use by other activities is reduced by the amount allocated and the activity Balance (array entry if resource is not allocated simultaneously) for the activity is reduced by the quantity allocated.
  • the current period in which resource is allocated to the activity is before Earliest Resource Period, the Earliest Resource Period is set to the current period. As noted above, this Earliest Resource Period is initialized to the Target Period and moved back as allowed. If the current period in which the resource is allocated to the activity is after the Latest Resource Period, the Latest Resource Period is set to the current period.
  • the Latest Resource Period is set to indicate that the activity was not satisfied.
  • the period is set to a value that indicates “Future”.
  • the next activity in the Priority List 40 is selected, and the backward scheduling process is repeated. This process is repeated until all the activities have been processed. The system then proceeds to the forward scheduling process once all the activities using the current set of resources have been processed by backward scheduling.
  • the process continues selecting among the Alternative Resource Sets and allocating resource for the next activity until all the activities are done.
  • the emphasis of the backward scheduling is on making sure that activities can be completed on time if possible.
  • the forward scheduling process determines which activity should be scheduled first, using the results of backward scheduling to determine when any activity should be scheduled and then to determine which activity to schedule next in order to prevent lateness if possible.
  • the activity Balances and Remaining Resource data are re-initialized. As shown in FIG. 3 , the activities are re-sorted. If an activity is allocated to more than one Alternative Resource Set, there can be more activities to schedule in the forward schedule than in the backward schedule.
  • the resulting Latest List 42 is sorted by Latest Resource Period, Target Period, Priority, and any other desired data as used in backward scheduling.
  • the Earliest Resource Period is manipulated to identify scheduling zones.
  • the activity at the end of the list (that is, the activity with the last Latest Resource Period) is selected. If the Latest Resource Period is after its Target Period, it was scheduled late. A Current Zone is set to be equal to that activity's Earliest Resource Period.
  • the forward scheduler works through the list, once for each resource used by activities in the list.
  • the Earliest Resource Period For each activity that uses the selected resource, if its Earliest Resource Period is later than the Current Zone, the Earliest Resource Period is reset to the Current Zone to allocate the resource earlier. If the Earliest Resource Period is before Current Zone, then the Current Zone is reset to Earliest Resource Period.
  • the Zone process is repeated until either no changes are required or no activities are skipped (for example, if all the activities use all the resources).
  • This process groups activities into scheduling zones, where the activities may be consecutive or overlapping.
  • the main portion of forward scheduling is performed. Forward scheduling starts with the first activity in the Latest List (that is, the activity with the earliest Latest Resource Period). Because the backward scheduling process started with the earliest highest priority activities, the forward scheduling process starts with a bias toward earlier completion of higher priority activities. Resources are allocated to that activity, starting at the later of the activity's Ready Period and its Earliest Resource Period (Zone). When allocating a resource during the forward scheduling process, the activity Balance and the Remaining Resource are reduced by the amount of the resource that is allocated. If there is not enough resource in a given period, continue to a next period until the activity is satisfied (or an end-limit is reached for the activity or no more Remaining Resource exists for a resource).
  • Each activity is processed until all the activities have been scheduled. It is possible that a resource in a period may be partially or fully allocated to previously scheduled activities before an activity is scheduled that looks for resource in that period. In that case, there could be a gap between allocations to that later activity.
  • the repair step is designed to try to correct any scheduling deemed to be “poor” that may have been made in the forward schedule process. Particularly in situations where multiple resources are required, it is possible that the forward schedule can result in high priority activities being scheduled unnecessarily late.
  • the forward schedule step identified cases where an activity was scheduled later than its Latest Resource Period (this is the Late Activity). If any activity, with lower Priority and Target Date, has been scheduled before the Late Activity with the same Latest Resource Period as the late Activity (in the same Zone), then every such activity is moved to immediately follow the Late Activity in the Repair list, retaining the relative sequence if more than one activity is moved.
  • a final forward schedule is then performed using a Repaired Forward Schedule list 44 ( FIG. 3 ).
  • the preferred implementation performs a single repair step. More than one repair step could be performed to provide somewhat improved schedules at the expense of longer processing time.
  • the First Resource and Last Resource used for each activity and each allocation of resource to an activity are tracked. These define the actual schedule.
  • FIG. 6 shows an example of results of a backward scheduling process versus a forward scheduling process on a situation with four supplies shown without any priority ranking, but indicating the due date. Because there are eight periods of resource needed to accomplish the task over seven periods, some task has to be late.
  • the forward scheduling process allocates the resource to the supplies in the order of their due date.
  • the backward scheduling process tries to make sure that each supply is allocated at least some resource no later than its due date. In each case, Supply 4 is late.
  • FIG. 7 illustrates a variation when activities have priorities that are out of sequence with their target dates.
  • Supply 4 is deemed to have a higher priority than Supply 1 through Supply 3 .
  • the combination of backward and forward scheduling results in a schedule that favors the higher priority orders (Supply 4 ) being on time and also schedules activities with earlier target dates before those with later target dates if doing so does not make higher priority activities late.
  • FIG. 7 shows two variations—one in which the activity must be kept together, and one in which the activities can each be split in half. Splitting allows half of the activity for Supply 3 to be done on time.
  • the scheduling systems and variations described above and below can be used to perform scheduling for all activities and resources at one time for a given item.
  • the scheduling can be performed for different phases separately.
  • an item made of sub-assemblies and sub-sub-assemblies can be scheduled by grouping different stages of the overall process together and performing the scheduling of each group separately.
  • schedules can be provided for separate tracks that lead to a final item. For example, if an item is made up of 5 sub-assemblies, scheduling can be performed for the stage from the 5 sub-assemblies to the final product. Then, a schedule can be created for each of the sub-assemblies with backward and forward scheduling for each of the sub-assemblies to make sure that they are completed on time for the final assembly.
  • the activity quantity can be split at the time when backward searching fails to find enough resource (as shown, for example, in FIG. 7 ). That is, when looking for a resource after the current Latest Resource Period, split the activity into one that has resource allocated to it on time and another that is satisfied late. This allows a portion of the activity to complete on time, rather than all of it being late.
  • the process described above uses an approach to schedule activities as late as possible to meet their target period.
  • an optional approach is to schedule as early as possible. In this case, at the end of backward scheduling set Earliest Resource Period to a period equal to today or some period in the past. Then, all the activities will be in the same Zone and will be scheduled as early as possible.
  • the system preferably works by always proceeding directly from the backward scheduling process to the forwarding process without any intermediate assessment step to confirm the results of the backward schedule process first; i.e., in one embodiment, the backward scheduling process is not considered to be a stand-alone process, but is one step in an integrated process.
  • the repair processing step could be performed on an as-needed basis based on some rule or criteria.
  • the systems and methods described here can be used in any situation in which activities are to be scheduled subject to the availability of materials and resources, where the time to respond is more important than the absolute quality of the schedule, and where the availability of resource can be described as a time-varying rate. Examples of such situations include project management, supply chain, and factory production scheduling.
  • the systems and methods can be extended to handle a maximum capacity of resource in isolation or in addition to the time-varying rate.

Abstract

A scheduler combines characteristics of a forward and backward schedulers to determine a schedule for activities that require the use of resources. The system handles conflicting requirements for resources by considering target dates and the relative priority of the activities. As a result, higher priority activities are more likely to be scheduled to complete on or before their target date than are lower priority activities.

Description

    CROSS-REFERENCE TO RELATED APPLICATION
  • This application claims priority to provisional application Ser. No. 60/580581, filed Jun. 17, 2004, which is incorporated herein by reference.
  • FIELD OF INVENTION
  • This invention relates to a scheduling system, e.g., for scheduling business operations and processes, supply chain planning and management, or manufacturing planning and management.
  • BACKGROUND
  • One approach for scheduling activities and resources with a scheduling system has been to use an optimization to determine a schedule. In this approach, an expression, generally called a cost function, is defined. The cost function processor computes a single quantity as a weighted sum of characteristics of the quality of the schedule. An optimization program is then run to find the schedule that results in the minimum or maximum value of the cost function. Such optimizers typically require many evaluations of potential solutions to find the optimal schedule, although some are designed to limit their number of iterations and find a good solution in less time. In any case, optimizers tend to require a considerable amount of time to run.
  • Another approach is generally known as heuristic scheduling. A heuristic scheduler employs a set of rules or a strategy to find a solution. Two known heuristic scheduling approaches are known as forward scheduling and a backward scheduling. In a forward scheduler, resources are allocated forward in time from some starting point. In a backward scheduler, resources are allocated first from a target date needed to complete on time, and if there are not enough resources available at that date, then resources are allocated at progressively earlier dates either until sufficient resources have been allocated or a starting limit is reached.
  • SUMMARY
  • Embodiments are disclosed for a scheduling system that combines characteristics of a forward and backward scheduler to determine a schedule for activities that require the use of resources. The processes and systems handle conflicting requirements for resources by considering target dates and the relative priority of the activities. The result is that higher priority activities are more likely to be scheduled to complete on or before their target date than are lower priority activities. Higher priority activities should be scheduled to be generally on time at the expense of lower priority activities.
  • A processor makes a number of passes through the set of activities as defined in storage. This number can be a predetermined number of passes, or can be determined based on a rule or criteria. The system can produce its schedule more quickly than in some prior systems. Other features and advantages will become apparent from the following detailed description, drawings, and claims.
  • BRIEF DESCRIPTION OF DRAWINGS
  • FIG. 1 is a block diagram of a scheduling system according to an embodiment described here.
  • FIG. 2 is a block diagram showing a more specific example of the scheduling system shown in FIG. 1.
  • FIG. 3 is a block diagram showing scheduling steps for a scheduling process.
  • FIG. 4 is a block diagram showing input and calculated elements for an activity.
  • FIG. 5 is a block diagram showing inputs and calculated elements for a resource.
  • FIG. 6 shows results typical from using a backward scheduler and from using a forward scheduler.
  • FIG. 7 is a diagram showing the results from a combination of backward and forward scheduling when priority does not correspond to date sequence and some amount of lateness is unavoidable. It also compares the schedule resulting from splitting a late activity (not contiguous) and not splitting it.
  • DETAILED DESCRIPTION
  • Referring to FIG. 1, a problem to be addressed includes a set of activities to schedule 12 that require the use of one or more resources. Each activity to schedule 12 can have different types of information 14 associated with it and that serve as inputs to a scheduler 20, such as a target date, quantity, and other factors such as priorities, prerequisites, and limitations. Each activity can also have one or more associated alternate resource sets 16 that represent different ways and required resources 18 to satisfy (complete) an activity. The scheduler processes the activities 12, while considering the resource availability 22, to determine a preferred sequence of activities and selection of resource sets for processing the activities and which of the alternative resource sets to use for each activity. This preferred sequence is referred to here as schedule 24.
  • Activities and resources can vary significantly in kind and character, depending on the type of problem that is being addressed. A resource could be a vehicle or vessel in a shipping context, or a factory, production line, individual machine, or an individual in a manufacturing environment. Activities can include shipping, manufacturing, processing, testing, assembling, or any of a number activities, such as those in a manufacturing, shipping, or other business environment.
  • The scheduler can be implemented with a processor for processing data related to the activities and resources. The data, including data relating to activities and resources, is preferably kept in RAM memory, but could also be kept in any other suitable memory or storage for holding data such as magnetic or optical disks. The memory can be onsite or offsite and remote. The processing can be performed by any appropriate combination of processing hardware and software, including a suitably programmed general purpose computer, a special purpose computer, such as an application specific integrated circuit, or any other processor, controller, or logical array, whether implemented in a stand-alone computer, a network, a cluster of computers, or other configuration. Aspects of the scheduler that are implemented in software can be stored in any suitable computer-readable memory, including on a magnetic or optical disk. The resulting schedule can indicate the activities and resources, along with times the resources are used, and can be printed out, displayed on an interface, and/or provided to various locations with instructions as a result of the schedule. The effect of the scheduling system and process is an improved schedule that helps ensure that higher priority activities are performed on time.
  • FIG. 2 is similar to FIG. 1 and shows an example of a scheduling system. In this example, the activities to be scheduled are work orders, the resource sets are sources and the information relating to the activities include due date, quantity, priority, component availability, and earliest start date. The scheduler schedules these activities along with the available resources to produce a dispatch list as the schedule.
  • The scheduling system here can be used to make products that are substantially unique, such as custom buses or large computer systems, or it can be used for making larger quantities of systems, such as personal computers or cellular telephones. These can be made in one way, a few defined ways, or can have many options. In the case of personal computers, for example, a company may offer many different options for a user, such as different sizes of hard drives, CD or DVD options, different preloaded software, different microprocessors and memory, and different types of housings. Scheduling can be used to coordinate when components arrive and how they are assembled and tested to meet desired due dates. The system can be used to schedule items made from individual components, and also for intermediate processing of subassemblies and combinations of components and subassemblies. A diagram of a configuration of components and sub-assemblies is shown, for example, in FIG. 2 of U.S. application Ser. No. 10/438,932, filed May 16, 2003, and published Nov. 20, 2003, the entirety of which application is hereby incorporated by reference.
  • The following information would typically be known in advance: the resources required by each alternative resource set, the date by which it is desired for the activity to be completed, and the availability of prerequisites and limitations to the activities. The system and process determine a schedule in an efficient manner. The schedule can further be re-calculated when an aspect of an activity or resource availability changes.
  • As shown in FIG. 3, in one embodiment, the system implements three processes, referred to here as a backward schedule process 30, a forward schedule process 32, and a repair schedule process 34 (which is essentially a forward process). Each of these processes is described separately below.
  • As shown in FIGS. 1 and 4, each of the activities to schedule 12 can have a set of information 14, including a target period, quantity, and priority, and can further have one or more prerequisites or other characteristics that can limit the earliest period in which resource can be allocated to it. An activity can have one or more alternative resource sets by which the activity can be completed, such as one of several manufacturing lines or machines. Each resource set has any number of associated required resources that are needed to complete that activity.
  • As shown in FIG. 5, each resource has associated with it a rate at which it is available. The rate can be expressed in one of a number of different ways, such as units per time or time per unit. The rate can change over time, e.g., from changing the number of hours worked per day, or the rate can be constant. To represent the availability of a resource, a set of resource available records is used. Each record defines a rate and may also define a start period and an end period for use of the resource. For any particular period, there can be an effective rate, which is the sum of all such records for the resources that include that period within their start and end periods.
  • When looking for more than one resource, control settings (rules) can determine how to handle requirements for more than one resource. Possible rules include (1) a minimum amount of every resource is required before any resource can be used in a period, (2) resources can be allocated whenever any resource is available, (3) resources are allocated in a particular sequence, (4) resources may be allocated simultaneously across each resource only in the same amount for each resource, and/or (5) combinations of the above choices.
  • In performing the scheduling function, it may be the case that not every activity can be completed by the desired due date. In such a case, however, it is desirable to try to insure that relatively higher priority items are completed on time by the desired due date, and that relatively lower priority items are the ones that are allowed to be late. For example, some items may have a firm and necessary due date, while others may have a desirable date that is not necessarily required.
  • Backward Schedule
  • Referring to FIG. 3, backward schedule process 30 determines when some activity should be scheduled and determines a feasible date for each activity. This system is referred to as “backward” because it uses as its starting perspective a backward approach where it looks to the desired date of completion, and works backward to the last possible date that an activity can be started to meet the required completion date. This date can be further adjusted backward as needed, and there can be some iterative processing back through the layers of activities that need to be performed.
  • As shown in FIG. 3, the activities to be scheduled are sorted into a list referred to here as a Priority List 40. This list is sorted by:
      • Priority. One or more characteristics of the activity that determine a relative priority for an activity. More than one activity can have the same priority. Priorities should be sortable so that higher priority activities are seen before lower priority activities.
      • Target Period. The latest period in which resources could be allocated to the activity and still have the activity complete on time. A period can be any defined time, such as a day, hour, or minute.
      • Other data. Use additional keys for sorting to ensure that the activities will be processed in the same order if the scheduler is re-run. The additional sort keys can be used to ensure that there is a unique sort order for the activities or that duplicates are truly indistinguishable from each other.
  • As an example, several activities could have a priority defined as 1s, while others can have priority defined as 2s or 3s. The list is arranged so that the 1s are listed first, and within each of the 1s, the activities are arranged by Target Period, starting with the earliest target. Other data can be provided as desired as a further sort following the Target Period.
  • Referring also to FIG. 4, additional data is calculated and associated with each activity as part of the backward schedule process. This data will later be sorted with a Latest List 42 for use by the forward schedule process 32. The data includes:
      • Earliest Resource Period: the earliest period that backward scheduling tried to find resources for this activity. This period is initialized to be the Target Period (the latest period to start and be on time).
      • Latest Resource Period: the later of the Target Period and the last period from which resources were allocated to this activity. Because the Target Period is the latest period in which resources could be allocated to the activity and still have the activity complete on time, if the Latest Resource Period is after the Target Period, it indicates that the activity will not be performed on time.
      • Ready Period: the earliest period in which resources can be allocated to the activity. For example, this includes the period in which prerequisite activities are completed, components are available, any limiting periods are passed, etc.
      • Adjusted Ready Period: the earliest that this activity could have resources allocated to it in backward scheduling. This period is initialized to be the Ready Period. The Adjusted Ready Period is tracked as the activity is processed to search for resources to perform the activity. If the activity is processed to look to certain resources and finds insufficient resources available, but there is an earlier Earliest Ready Period (see below) for another activity, then the other activity that used that resource could be scheduled earlier, allowing the current activity to be scheduled in the desired period. In the backward schedule, the system will try to allocate a resource to the current activity in an earlier period, expecting that the forward scheduler will actually schedule the other activity there instead.
      • Balance: the quantity represents the amount of resources that are still needed by the activity. If resources are allowed to be allocated other than simultaneously, then the balance can be an array of balances, one for each of the resources required. The Balance quantity is initialized with the quantity associated with the activity, and is reduced as resources are allocated to the activity.
  • Referring to FIG. 5, resources take as inputs start, end, and rate of availability, and the following data is calculated and associated with each resource for each period:
      • Period: a time-stamp indicating the beginning of a period for which the resource can be allocated.
      • Remaining Resource: the amount of the resource that remains to be allocated in this period. If the resource can process 1,000 units per period and it has been scheduled for one activity to process 400 units for some period, the remaining resource to be allocated in the period would be 600 units. This amount is initialized with the sum of the rates applicable to the period.
      • Earliest Ready Period: used to track the earliest that resource could have been allocated to an activity that tried to obtain resource in this period. This period is initialized as any period on or after Period. In one implementation, it can be initialized with a special value indicating “Future”.
  • The calculated elements are first initialized for the activities and resources, using the initial values identified above.
  • Assuming there is exactly one Alternative Resource Set for an activity, the backward scheduling starts with the first activity in Priority List 40 (FIG. 3). Starting at the later of the Adjusted Ready Period (the earliest the activity could have a resource allocated to it) and the Target Period (the latest period to allocate the resource to allow on-time completion), resources are allocated to that activity.
  • When looking for a resource in a desired period, the Adjusted Ready Period for the activity and the Earliest Ready Period (the earliest a resource could have been allocated) for the resource are tracked. That is, when trying to find a resource to allocate, if the resource's Earliest Ready Period is before the activity's Adjusted Ready Period, then the system replaces the activity's Adjusted Ready Period with the resource's Earliest Ready Period. Similarly, if the activity's Adjusted Ready Period is before the resource's Earliest Ready Period, the Earliest Ready Period is updated. In effect, this tracking pushes back the date to the earliest date that the resource is ready for the activity and the activity is ready for the resource.
  • For a given activity, when a period is found that has Remaining Resource that can be allocated to the activity, the Remaining Resource for use by other activities is reduced by the amount allocated and the activity Balance (array entry if resource is not allocated simultaneously) for the activity is reduced by the quantity allocated. If the current period in which resource is allocated to the activity is before Earliest Resource Period, the Earliest Resource Period is set to the current period. As noted above, this Earliest Resource Period is initialized to the Target Period and moved back as allowed. If the current period in which the resource is allocated to the activity is after the Latest Resource Period, the Latest Resource Period is set to the current period.
  • If a Balance of resources needed by an activity remains and if the Adjusted Ready Period is before both the current period and the Earliest Resource Period, the system continues trying to allocate resources in the previous period. If a Balance remains and the Earliest Resource Period is on or before the Adjusted Ready Period, then the system looks for a resource in the period after the Latest Resource Period.
  • This process continues until either the activity has been fully satisfied (i.e., the Balance=0) or there is at least one resource with no Remaining Resource that can be used by this activity. In the latter case, the Latest Resource Period is set to indicate that the activity was not satisfied. In the preferred implementation, the period is set to a value that indicates “Future”.
  • The next activity in the Priority List 40 is selected, and the backward scheduling process is repeated. This process is repeated until all the activities have been processed. The system then proceeds to the forward scheduling process once all the activities using the current set of resources have been processed by backward scheduling.
  • When more than one Alternative Resource Set is available to satisfy an activity, there are a few desired changes in the backward scheduling process so the system can determine which set(s) to use and the quantity of the activity to allocate to each.
  • In the case with more than one Alternative Resource Set, backward scheduling starts with the first activity in Priority List 40 (FIG. 3). Subject to any limitations, the ability of each of the Alternative Resource Sets to satisfy some portion of the activity is checked for the later of its Ready Period and its Target Period (referred to here as the Working Period). Subject to the availability of each set, one Alternative Resource Set is selected on the basis of the following ordered possibilities of when resources are available for the activity: (a) resources are available for the activity in its Working Period, (b) resources are available closest before its Working Period, or (c) resources are available soonest after its Working Period. The period in which the selected Alternative Resource Set has resources available is called the Resource Period. Resources are allocated to the activity using the selected Alternative Resource Set in the Resource Period. As when allocating resource with one Alternative Resource Set, the Adjusted Ready Period for the activity and the Earliest Ready Period for the resource are tracked.
  • As long as an unsatisfied balance exists for an activity, the process is repeated by testing the ability of each of the Alternative Resource Sets to satisfy some portion of the activity. The amount of the activity satisfied by each Alternative Resource Set is maintained. Forward scheduling treats each portion of the activity allocated to the same Alternative Resource as the same activity and each portion allocated to a different Alternative Resource Set as a distinct activity.
  • The process continues selecting among the Alternative Resource Sets and allocating resource for the next activity until all the activities are done.
  • Forward Schedule
  • The emphasis of the backward scheduling is on making sure that activities can be completed on time if possible. The forward scheduling process determines which activity should be scheduled first, using the results of backward scheduling to determine when any activity should be scheduled and then to determine which activity to schedule next in order to prevent lateness if possible.
  • The activity Balances and Remaining Resource data are re-initialized. As shown in FIG. 3, the activities are re-sorted. If an activity is allocated to more than one Alternative Resource Set, there can be more activities to schedule in the forward schedule than in the backward schedule. The resulting Latest List 42, is sorted by Latest Resource Period, Target Period, Priority, and any other desired data as used in backward scheduling.
  • Using the Latest List, the Earliest Resource Period is manipulated to identify scheduling zones. The activity at the end of the list (that is, the activity with the last Latest Resource Period) is selected. If the Latest Resource Period is after its Target Period, it was scheduled late. A Current Zone is set to be equal to that activity's Earliest Resource Period. The forward scheduler works through the list, once for each resource used by activities in the list.
  • For each activity that uses the selected resource, if its Earliest Resource Period is later than the Current Zone, the Earliest Resource Period is reset to the Current Zone to allocate the resource earlier. If the Earliest Resource Period is before Current Zone, then the Current Zone is reset to Earliest Resource Period.
  • The Zone process is repeated until either no changes are required or no activities are skipped (for example, if all the activities use all the resources). This process groups activities into scheduling zones, where the activities may be consecutive or overlapping. Once the Zones have been defined, the main portion of forward scheduling is performed. Forward scheduling starts with the first activity in the Latest List (that is, the activity with the earliest Latest Resource Period). Because the backward scheduling process started with the earliest highest priority activities, the forward scheduling process starts with a bias toward earlier completion of higher priority activities. Resources are allocated to that activity, starting at the later of the activity's Ready Period and its Earliest Resource Period (Zone). When allocating a resource during the forward scheduling process, the activity Balance and the Remaining Resource are reduced by the amount of the resource that is allocated. If there is not enough resource in a given period, continue to a next period until the activity is satisfied (or an end-limit is reached for the activity or no more Remaining Resource exists for a resource).
  • Each activity is processed until all the activities have been scheduled. It is possible that a resource in a period may be partially or fully allocated to previously scheduled activities before an activity is scheduled that looks for resource in that period. In that case, there could be a gap between allocations to that later activity.
  • While allocating resources, it is possible that an allocation is made later than the Latest Resource Period for that activity. When this happens, this activity and its resource allocation are a candidate for the repair process identified below. The process continues to allocate resources to that activity, but it tests for lower priority activities with the same Earliest Resource Period (Zone), as described below.
  • Repair
  • The repair step is designed to try to correct any scheduling deemed to be “poor” that may have been made in the forward schedule process. Particularly in situations where multiple resources are required, it is possible that the forward schedule can result in high priority activities being scheduled unnecessarily late.
  • The forward schedule step identified cases where an activity was scheduled later than its Latest Resource Period (this is the Late Activity). If any activity, with lower Priority and Target Date, has been scheduled before the Late Activity with the same Latest Resource Period as the late Activity (in the same Zone), then every such activity is moved to immediately follow the Late Activity in the Repair list, retaining the relative sequence if more than one activity is moved.
  • A final forward schedule is then performed using a Repaired Forward Schedule list 44 (FIG. 3). The preferred implementation performs a single repair step. More than one repair step could be performed to provide somewhat improved schedules at the expense of longer processing time.
  • The First Resource and Last Resource used for each activity and each allocation of resource to an activity are tracked. These define the actual schedule.
  • FIG. 6 shows an example of results of a backward scheduling process versus a forward scheduling process on a situation with four supplies shown without any priority ranking, but indicating the due date. Because there are eight periods of resource needed to accomplish the task over seven periods, some task has to be late. The forward scheduling process allocates the resource to the supplies in the order of their due date. The backward scheduling process tries to make sure that each supply is allocated at least some resource no later than its due date. In each case, Supply 4 is late.
  • FIG. 7 illustrates a variation when activities have priorities that are out of sequence with their target dates. In this case, Supply 4 is deemed to have a higher priority than Supply 1 through Supply 3. The combination of backward and forward scheduling results in a schedule that favors the higher priority orders (Supply 4) being on time and also schedules activities with earlier target dates before those with later target dates if doing so does not make higher priority activities late. FIG. 7 shows two variations—one in which the activity must be kept together, and one in which the activities can each be split in half. Splitting allows half of the activity for Supply 3 to be done on time.
  • The scheduling systems and variations described above and below can be used to perform scheduling for all activities and resources at one time for a given item. Alternatively, the scheduling can be performed for different phases separately. For example, an item made of sub-assemblies and sub-sub-assemblies can be scheduled by grouping different stages of the overall process together and performing the scheduling of each group separately. By performing the schedule in different groups, a number of schedules can be created and combined for a single item. In addition to a grouping by earlier and later stages of an item, schedules can be provided for separate tracks that lead to a final item. For example, if an item is made up of 5 sub-assemblies, scheduling can be performed for the stage from the 5 sub-assemblies to the final product. Then, a schedule can be created for each of the sub-assemblies with backward and forward scheduling for each of the sub-assemblies to make sure that they are completed on time for the final assembly.
  • While the amount of resource required by an activity has been described as the same as the quantity associated with the activity, a factor can be added to the Resource definition for each activity so that different quantities are required for each resource.
  • In backward scheduling, the activity quantity can be split at the time when backward searching fails to find enough resource (as shown, for example, in FIG. 7). That is, when looking for a resource after the current Latest Resource Period, split the activity into one that has resource allocated to it on time and another that is satisfied late. This allows a portion of the activity to complete on time, rather than all of it being late.
  • The process described above uses an approach to schedule activities as late as possible to meet their target period. However, an optional approach is to schedule as early as possible. In this case, at the end of backward scheduling set Earliest Resource Period to a period equal to today or some period in the past. Then, all the activities will be in the same Zone and will be scheduled as early as possible.
  • While there can be some benefit to providing just a backward scheduling process as described above and a forwarding process as needed, the system preferably works by always proceeding directly from the backward scheduling process to the forwarding process without any intermediate assessment step to confirm the results of the backward schedule process first; i.e., in one embodiment, the backward scheduling process is not considered to be a stand-alone process, but is one step in an integrated process. The repair processing step could be performed on an as-needed basis based on some rule or criteria.
  • The systems and methods described here can be used in any situation in which activities are to be scheduled subject to the availability of materials and resources, where the time to respond is more important than the absolute quality of the schedule, and where the availability of resource can be described as a time-varying rate. Examples of such situations include project management, supply chain, and factory production scheduling. The systems and methods can be extended to handle a maximum capacity of resource in isolation or in addition to the time-varying rate.
  • Having described embodiments, it should be apparent that modifications can be made without departing from the scope of the invention as defined by the appended claims.

Claims (26)

1. A method for scheduling comprising:
receiving information relating to activities to be performed and information relating to the availability of resources needed to perform the activities; and
processing the information with a processor to create a schedule with a sequence of activities and a selection of resources for each activity, including:
performing a backward scheduling process to schedule activities based on a desired completion time for each activity, a time to complete each activity, and a last time that each activity can be started to meet the desired completion time for each activity (target period), the backward scheduling process further determining the availability of resources to perform the activities for each of a number of time periods, the backward scheduling process producing a list of activities arranged at least in part based on the latest period that the activity is to be started, and
automatically proceeding from the backward scheduling process to a forward scheduling process including defining a set of scheduling zones with activities to be performed during each zone and determining an order in which the activities should be scheduled using the results of the backward scheduling process starting with activities with earlier target periods and allocating resources forward in time.
2. The method of claim 1, wherein the backward scheduling process further includes sorting the activities by relative priority level and starting the backward scheduling process with the highest priority activities.
3. The method of claim 1, wherein each resource takes as inputs start, end, and rate of availability, wherein the rate can vary over time.
4. The method of claim 1, wherein there is a single alternative resource set for each activity.
5. The method of claim 1, wherein there are multiple alternative resource sets to satisfy an activity.
6. The method of claim 5, wherein, as long as there is an unsatisfied balance of resources required for an activity, the process is repeated by testing the ability of each of the alternative resource sets to satisfy some portion of the activity.
7. The method of claim 1, wherein, for each zone, the forward scheduling process allocates resources to an activity starting at the later of the earliest period in which the resource can be allocated (ready period) and the earliest period the backward scheduling process tried to allocate the resource to an activity within the zone (earliest resource period).
8. The method of claim 1, further comprising determining whether an activity with a higher priority was scheduled later than the target period and thus is a late activity, and if one or more activities with lower priority have been scheduled before the late activity within the same zone as the late activity, then repeating forward scheduling having first moved such one or more lower priority activities to follow the late activity in the list of activities to forward schedule.
9. The method of claim 1, wherein activities can use resources at different rates.
10. The method of claim 1, further comprising, in response to a determination that an activity will be completed late, splitting the times during which resources are allocated to the activity such that a portion of the activity is completed on time.
11. A method for scheduling comprising:
receiving information relating to activities to be performed and information relating to the availability of resources needed to perform the activities; and
processing the information with a processor in an automated manner to create a schedule with a sequence of activities and a selection of resources for each activity, including:
performing a backward scheduling process to schedule activities based on a last time that each activity can be started to meet the desired completion time (target time),
automatically proceeding from the backward scheduling process to a forward scheduling process including defining a set of scheduling zones with activities to be performed during each zone and determining an order in which the activities should be scheduled using the results of the backward scheduling process and starting with the activities with earlier target dates, and
after the forward scheduling process, determining whether an activity with a higher priority was scheduled later than the latest period to complete the activity within the desired completion time and thus is a late activity, and if an activity with a lower priority and target date has been scheduled before the late activity within the same zone as the late activity, then repeating forward scheduling having moved every such lower priority activity to follow the late activity in the list of activities to schedule.
12. The method of claim 11, wherein the backward scheduling process further includes sorting the activities by relative priority level and starting the backward scheduling process with the highest priority activities.
13. The method of claim 11, wherein there is a single alternative resource set for each activity.
14. The method of claim 11, wherein there are multiple alternative resource sets to satisfy an activity.
15. The method of claim 14, wherein, as long as there is an unsatisfied balance of resources required for an activity, the process is repeated by testing the ability of each of the alternative resource sets to satisfy some portion of the activity.
16. The method of claim 11, wherein, for each zone, the forward scheduling process allocates resources to an activity starting at the later of the earliest period in which the resource can be allocated (ready period) and the earliest period the backward scheduling process tried to allocate the resource to an activity within the zone (earliest resource period).
17. The method of claim 11, wherein activities can use resources at different rates.
18. The method of claim 11, further comprising, in response to a determination that an activity will be completed late, splitting the times during which resources are allocated to the activity such that a portion of the activity is completed on time.
19. A scheduling system comprising:
storage for storing information relating to activities to be performed and to the availability of resources needed to perform the activities; and
a processor for processing the information to create a schedule with a sequence of activities and a selection of resources for each activity, including:
performing a backward scheduling process to schedule activities based on a desired completion time for each activity for producing a list of activities arranged at least in part based on a target period indicating when that the activity are to be started to be completed on time, and
automatically proceeding from the backward scheduling process to a forward scheduling process including defining a set of scheduling zones with activities to be performed during each zone and determining an order in which the activities should be scheduled using the results of the backward scheduling process starting with activities with earlier target periods and allocating resources forward in time.
20. The system of claim 19, wherein during the backward scheduling process the processor sorts the activities by relative priority level and starting the backward scheduling process with the highest priority activities.
21. The system of claim 19, wherein the processor schedules for a single alternative resource set for each activity.
22. The system of claim 19, wherein the processor schedules for multiple alternative resource sets to satisfy an activity.
23. The system of claim 19, wherein the processor further determines whether an activity with a higher priority was scheduled later than the target period and thus is a late activity, and if one or more activities with lower priority have been scheduled before the late activity within the same zone as the late activity, then moving such one or more lower priority activities to follow the late activity.
24. The system of claim 19, wherein the processor, in response to a determination that an activity will be completed late, splits the times during which resources are allocated to the activity such that a portion of the activity is completed on time.
25. A computer readable medium having software for performing the process of claim 1.
26. A computer readable medium having software for performing the process of claim 11.
US11/155,297 2004-06-17 2005-06-17 Scheduling system Abandoned US20060026052A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US11/155,297 US20060026052A1 (en) 2004-06-17 2005-06-17 Scheduling system
US12/400,532 US7945466B2 (en) 2004-06-17 2009-03-09 Scheduling system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US58058104P 2004-06-17 2004-06-17
US11/155,297 US20060026052A1 (en) 2004-06-17 2005-06-17 Scheduling system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/400,532 Continuation US7945466B2 (en) 2004-06-17 2009-03-09 Scheduling system

Publications (1)

Publication Number Publication Date
US20060026052A1 true US20060026052A1 (en) 2006-02-02

Family

ID=35784342

Family Applications (2)

Application Number Title Priority Date Filing Date
US11/155,297 Abandoned US20060026052A1 (en) 2004-06-17 2005-06-17 Scheduling system
US12/400,532 Active US7945466B2 (en) 2004-06-17 2009-03-09 Scheduling system

Family Applications After (1)

Application Number Title Priority Date Filing Date
US12/400,532 Active US7945466B2 (en) 2004-06-17 2009-03-09 Scheduling system

Country Status (2)

Country Link
US (2) US20060026052A1 (en)
WO (1) WO2006007447A2 (en)

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060053340A1 (en) * 2001-04-18 2006-03-09 Cheryl Hite Method and system for concurrent error identification in resource scheduling
US20060184263A1 (en) * 2005-02-11 2006-08-17 Sonja Barnet Identifying critical operations of a production process
US20060203723A1 (en) * 2005-02-24 2006-09-14 Ntt Docomo, Inc. Wireless resource assigning apparatus and wireless resource assigning method
US20070033591A1 (en) * 2005-07-19 2007-02-08 Raytheon Company System and method for schedule quality assessment
US20080077489A1 (en) * 2006-09-21 2008-03-27 Apple Inc. Rewards systems
US20080201713A1 (en) * 2007-02-16 2008-08-21 Pivotal Labs, Inc. Project Management System
US20100036690A1 (en) * 2008-08-05 2010-02-11 International Business Machines Corporation Service scheduling
US20100169489A1 (en) * 2008-12-25 2010-07-01 International Business Machines Corporation Resource management tool
US20110302584A1 (en) * 2010-06-04 2011-12-08 Keshav Kumar Pingali Synthesis of concurrent schedulers for multicore architectures
US20120046984A1 (en) * 2010-08-18 2012-02-23 International Business Machines Corporation Resource usage calculation for process simulation
US20120203589A1 (en) * 2009-07-27 2012-08-09 Nextgen Healthcare Information Systems, Inc. Systematic Rule-Based Workflow Tasking and Event Scheduling
US20130007754A1 (en) * 2011-06-29 2013-01-03 Telefonaktiebolaget L M Ericsson (Publ) Joint Scheduling of Multiple Processes on a Shared Processor
US20130227578A1 (en) * 2010-08-16 2013-08-29 Clear Channel Management Services, Inc. Method and System for Controlling a Scheduling Order Per Category in a Music Scheduling System
US20130254279A1 (en) * 2012-03-22 2013-09-26 Avaya Inc. System and method for concurrent electronic conferences
US8745496B2 (en) 2006-09-21 2014-06-03 Apple Inc. Variable I/O interface for portable media device
US8956290B2 (en) 2006-09-21 2015-02-17 Apple Inc. Lifestyle companion system
US9646137B2 (en) 2006-09-21 2017-05-09 Apple Inc. Systems and methods for providing audio and visual cues via a portable electronic device
US9704111B1 (en) * 2011-09-27 2017-07-11 3Play Media, Inc. Electronic transcription job market
US9881326B2 (en) 2006-09-21 2018-01-30 Apple Inc. Systems and methods for facilitating group activities
US9898499B2 (en) 2010-08-16 2018-02-20 Iheartmedia Management Services, Inc. Multimedia scheduling for airplay with alternate category support
CN109558996A (en) * 2017-09-25 2019-04-02 北京京东尚科信息技术有限公司 Method and apparatus for output information
US10372309B2 (en) 2010-08-16 2019-08-06 Iheartmedia Management Services, Inc. Method and system for controlling a scheduling order of multimedia content for a broadcast
US10776739B2 (en) 2014-09-30 2020-09-15 Apple Inc. Fitness challenge E-awards
US10908794B2 (en) 2010-08-16 2021-02-02 Iheartmedia Management Services, Inc. Automated scheduling of multimedia content avoiding adjacency conflicts
US11735186B2 (en) 2021-09-07 2023-08-22 3Play Media, Inc. Hybrid live captioning systems and methods
WO2024013873A1 (en) * 2022-07-13 2024-01-18 富士通株式会社 Planning program, planning method, and information processing device

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005004014A2 (en) * 2003-06-30 2005-01-13 Sap Aktiengesellschaft Configurable process scheduling
AT503086A2 (en) * 2006-06-27 2007-07-15 Avl List Gmbh METHOD AND DEVICE FOR OPERATING A TESTABILITY
US8856798B2 (en) * 2010-10-21 2014-10-07 Qualcomm Incorporated Mobile computing device activity manager
US9082141B2 (en) 2011-10-27 2015-07-14 General Electric Company Systems and methods to implement demand response events
US8972071B2 (en) 2011-10-27 2015-03-03 General Electric Company Systems and methods to predict a reduction of energy consumption
US9125010B2 (en) 2011-10-27 2015-09-01 General Electric Company Systems and methods to implement demand response events
GB201502329D0 (en) 2015-02-12 2015-04-01 Trimble Navigation Ltd Geographical positioning in time

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4875162A (en) * 1987-10-28 1989-10-17 International Business Machines Corporation Automated interfacing of design/engineering software with project management software
US5040123A (en) * 1989-09-08 1991-08-13 General Motors Corporation Expert system scheduler
US5093794A (en) * 1989-08-22 1992-03-03 United Technologies Corporation Job scheduling system
US5233533A (en) * 1989-12-19 1993-08-03 Symmetrix, Inc. Scheduling method and apparatus
US5787000A (en) * 1994-05-27 1998-07-28 Lilly Software Associates, Inc. Method and apparatus for scheduling work orders in a manufacturing process
US5845258A (en) * 1995-06-16 1998-12-01 I2 Technologies, Inc. Strategy driven planning system and method of operation
US5890134A (en) * 1996-02-16 1999-03-30 Mcdonnell Douglas Corporation Scheduling optimizer
US6195590B1 (en) * 1998-02-11 2001-02-27 Roger A. Powell System for control and resource allocation for the manufacture of a product
US20020007297A1 (en) * 2000-04-17 2002-01-17 Clarke Hernan Jose Method and system for enterprise wide production scheduling
US6571215B1 (en) * 1997-01-21 2003-05-27 Microsoft Corporation System and method for generating a schedule based on resource assignments
US20040122723A1 (en) * 2002-12-24 2004-06-24 Thomas Quintus Flexible scheduling of maintenance tasks in a maintenance plan
US7151973B1 (en) * 2002-07-18 2006-12-19 Oracle International Corporation Methods and systems for scheduling and buffer balancing

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3491558B2 (en) 1999-05-11 2004-01-26 日本電気株式会社 Alternative lot determination system
JP2001100829A (en) 1999-09-29 2001-04-13 Nec Corp Method and device for processing product delivery answer and information recording medium
JP4393993B2 (en) * 2002-05-17 2010-01-06 キナキス ホールディングス インク. System and method for determining a promise date for demand within a business environment

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4875162A (en) * 1987-10-28 1989-10-17 International Business Machines Corporation Automated interfacing of design/engineering software with project management software
US5093794A (en) * 1989-08-22 1992-03-03 United Technologies Corporation Job scheduling system
US5040123A (en) * 1989-09-08 1991-08-13 General Motors Corporation Expert system scheduler
US5233533A (en) * 1989-12-19 1993-08-03 Symmetrix, Inc. Scheduling method and apparatus
US5787000A (en) * 1994-05-27 1998-07-28 Lilly Software Associates, Inc. Method and apparatus for scheduling work orders in a manufacturing process
US5845258A (en) * 1995-06-16 1998-12-01 I2 Technologies, Inc. Strategy driven planning system and method of operation
US5890134A (en) * 1996-02-16 1999-03-30 Mcdonnell Douglas Corporation Scheduling optimizer
US6571215B1 (en) * 1997-01-21 2003-05-27 Microsoft Corporation System and method for generating a schedule based on resource assignments
US6195590B1 (en) * 1998-02-11 2001-02-27 Roger A. Powell System for control and resource allocation for the manufacture of a product
US20020007297A1 (en) * 2000-04-17 2002-01-17 Clarke Hernan Jose Method and system for enterprise wide production scheduling
US7151973B1 (en) * 2002-07-18 2006-12-19 Oracle International Corporation Methods and systems for scheduling and buffer balancing
US20040122723A1 (en) * 2002-12-24 2004-06-24 Thomas Quintus Flexible scheduling of maintenance tasks in a maintenance plan

Cited By (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060053340A1 (en) * 2001-04-18 2006-03-09 Cheryl Hite Method and system for concurrent error identification in resource scheduling
US7281173B2 (en) * 2001-04-18 2007-10-09 Witness Systems, Inc. Method and system for concurrent error identification in resource scheduling
US20080091984A1 (en) * 2001-04-18 2008-04-17 Cheryl Hite Method and System for Concurrent Error Identification in Resource Scheduling
US7752508B2 (en) 2001-04-18 2010-07-06 Verint Americas Inc. Method and system for concurrent error identification in resource scheduling
US20060184263A1 (en) * 2005-02-11 2006-08-17 Sonja Barnet Identifying critical operations of a production process
US7310561B2 (en) * 2005-02-11 2007-12-18 Sap Ag Identifying critical operations of a production process
US20060203723A1 (en) * 2005-02-24 2006-09-14 Ntt Docomo, Inc. Wireless resource assigning apparatus and wireless resource assigning method
US8379577B2 (en) * 2005-02-24 2013-02-19 Ntt Docomo, Inc. Wireless resource assigning apparatus and wireless resource assigning method
US20070033591A1 (en) * 2005-07-19 2007-02-08 Raytheon Company System and method for schedule quality assessment
US9881326B2 (en) 2006-09-21 2018-01-30 Apple Inc. Systems and methods for facilitating group activities
US11157150B2 (en) 2006-09-21 2021-10-26 Apple Inc. Variable I/O interface for portable media device
US10534514B2 (en) 2006-09-21 2020-01-14 Apple Inc. Variable I/O interface for portable media device
US8745496B2 (en) 2006-09-21 2014-06-03 Apple Inc. Variable I/O interface for portable media device
US9864491B2 (en) 2006-09-21 2018-01-09 Apple Inc. Variable I/O interface for portable media device
US20080077489A1 (en) * 2006-09-21 2008-03-27 Apple Inc. Rewards systems
US9646137B2 (en) 2006-09-21 2017-05-09 Apple Inc. Systems and methods for providing audio and visual cues via a portable electronic device
US8956290B2 (en) 2006-09-21 2015-02-17 Apple Inc. Lifestyle companion system
WO2008100781A1 (en) * 2007-02-16 2008-08-21 Pivotal Labs, Inc. Project management system
US20080201713A1 (en) * 2007-02-16 2008-08-21 Pivotal Labs, Inc. Project Management System
US20100036690A1 (en) * 2008-08-05 2010-02-11 International Business Machines Corporation Service scheduling
US8458002B2 (en) * 2008-08-05 2013-06-04 International Business Machines Corporation Service scheduling
US20100169489A1 (en) * 2008-12-25 2010-07-01 International Business Machines Corporation Resource management tool
US8606919B2 (en) * 2008-12-25 2013-12-10 International Business Machines Corporation Resource management tool
US20120203589A1 (en) * 2009-07-27 2012-08-09 Nextgen Healthcare Information Systems, Inc. Systematic Rule-Based Workflow Tasking and Event Scheduling
US20110302584A1 (en) * 2010-06-04 2011-12-08 Keshav Kumar Pingali Synthesis of concurrent schedulers for multicore architectures
US8732712B2 (en) * 2010-06-04 2014-05-20 Board Of Regents Of The University Of Texas System Synthesis of concurrent schedulers for multicore architectures
US20130227578A1 (en) * 2010-08-16 2013-08-29 Clear Channel Management Services, Inc. Method and System for Controlling a Scheduling Order Per Category in a Music Scheduling System
US10908794B2 (en) 2010-08-16 2021-02-02 Iheartmedia Management Services, Inc. Automated scheduling of multimedia content avoiding adjacency conflicts
US10614060B2 (en) 2010-08-16 2020-04-07 Iheartmedia Management Services, Inc. Multimedia scheduling for airplay with carry forward constant order
US9092264B2 (en) * 2010-08-16 2015-07-28 iHeartMedia Management Service, Inc. Method and system for controlling a scheduling order per category in a music scheduling system
US10372309B2 (en) 2010-08-16 2019-08-06 Iheartmedia Management Services, Inc. Method and system for controlling a scheduling order of multimedia content for a broadcast
US20160004771A1 (en) * 2010-08-16 2016-01-07 Iheartmedia Management Services, Inc. Method and system for controlling a scheduling order per category in a music scheduling system
US10331735B2 (en) * 2010-08-16 2019-06-25 Iheartmedia Management Services, Inc. Method and system for controlling a scheduling order per category in a music scheduling system
US9898499B2 (en) 2010-08-16 2018-02-20 Iheartmedia Management Services, Inc. Multimedia scheduling for airplay with alternate category support
US20120046984A1 (en) * 2010-08-18 2012-02-23 International Business Machines Corporation Resource usage calculation for process simulation
US9734461B2 (en) * 2010-08-18 2017-08-15 International Business Machines Corporation Resource usage calculation for process simulation
US20130007754A1 (en) * 2011-06-29 2013-01-03 Telefonaktiebolaget L M Ericsson (Publ) Joint Scheduling of Multiple Processes on a Shared Processor
US9098331B2 (en) * 2011-06-29 2015-08-04 Telefonaktiebolaget L M Ericsson (Publ) Joint scheduling of multiple processes on a shared processor
US11657341B2 (en) 2011-09-27 2023-05-23 3Play Media, Inc. Electronic transcription job market
US9704111B1 (en) * 2011-09-27 2017-07-11 3Play Media, Inc. Electronic transcription job market
US10748532B1 (en) * 2011-09-27 2020-08-18 3Play Media, Inc. Electronic transcription job market
US20160099986A1 (en) * 2012-03-22 2016-04-07 Avaya, Inc. System and method for concurrent electronic conferences
US9292814B2 (en) * 2012-03-22 2016-03-22 Avaya Inc. System and method for concurrent electronic conferences
US20130254279A1 (en) * 2012-03-22 2013-09-26 Avaya Inc. System and method for concurrent electronic conferences
US10776739B2 (en) 2014-09-30 2020-09-15 Apple Inc. Fitness challenge E-awards
US11468388B2 (en) 2014-09-30 2022-10-11 Apple Inc. Fitness challenge E-awards
US11868939B2 (en) 2014-09-30 2024-01-09 Apple Inc. Fitness challenge e-awards
CN109558996A (en) * 2017-09-25 2019-04-02 北京京东尚科信息技术有限公司 Method and apparatus for output information
US11735186B2 (en) 2021-09-07 2023-08-22 3Play Media, Inc. Hybrid live captioning systems and methods
WO2024013873A1 (en) * 2022-07-13 2024-01-18 富士通株式会社 Planning program, planning method, and information processing device

Also Published As

Publication number Publication date
US20090171742A1 (en) 2009-07-02
US7945466B2 (en) 2011-05-17
WO2006007447A2 (en) 2006-01-19
WO2006007447A3 (en) 2007-04-19

Similar Documents

Publication Publication Date Title
US7945466B2 (en) Scheduling system
AU692929B2 (en) Priority queue filtering system and method of operation
US6952828B2 (en) System, method and computer program product for dynamic resource management
US6233493B1 (en) Computer-implemented product development planning method
US5311424A (en) Method and system for product configuration definition and tracking
EP0300456A2 (en) Improved scheduling method and system
US20080201713A1 (en) Project Management System
MXPA97002050A (en) Filter system of priority row and metodode operac
US20030216952A1 (en) System and method for determining a promise date for a demand in a business environment
WO2003094107A2 (en) Constraint-based production planning and scheduling
US8983881B2 (en) Benchmarking progressive systems for solving combinatorial problems
CN111105133B (en) Production scheduling method, computer device, and storage medium
US7164959B2 (en) Method and system of classifying demand data
Turkcan et al. Due date and cost-based FMS loading, scheduling and tool management
US6941183B1 (en) Method and apparatus for selecting tools in manufacturing scheduling
US8201023B2 (en) Test optimization
Webster A case study of scheduling practice at a machine tool manufacturer
JP3727832B2 (en) Production schedule creation device and recording medium recording production schedule creation program in production schedule creation device
Vaez et al. Simultaneous scheduling and lot-sizing with earliness/tardiness penalties
CN117557232A (en) Advanced scheduling method based on production plan
CN101620695A (en) Examination method and system of bill of material
JP2005107826A (en) Lot size formulation support method and stock simulation method
Tan Developing an improved production planning method for a machining cell using an active-nondelay hybrid scheduling technique
US20060173727A1 (en) Production control apparatus and production control method

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: KINAXIS INC.,CANADA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KLETT, ROBERT DUNCAN;CROZMAN, JAMES ROBERT;BONGARTZ, INGRID;AND OTHERS;SIGNING DATES FROM 20050830 TO 20050831;REEL/FRAME:023877/0104

AS Assignment

Owner name: KINAXIS HOLDINGS INC.,CANADA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:KINAXIS INC.;REEL/FRAME:023886/0115

Effective date: 20081031