US5524077A - Scheduling method and system - Google Patents
Scheduling method and system Download PDFInfo
- Publication number
- US5524077A US5524077A US07/445,479 US44547989A US5524077A US 5524077 A US5524077 A US 5524077A US 44547989 A US44547989 A US 44547989A US 5524077 A US5524077 A US 5524077A
- Authority
- US
- United States
- Prior art keywords
- schedule
- node
- task
- tasks
- data
- 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.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 230000003111 delayed effect Effects 0.000 claims abstract description 25
- 239000007795 chemical reaction product Substances 0.000 claims description 27
- 238000012545 processing Methods 0.000 claims description 17
- 239000000047 product Substances 0.000 claims description 15
- 230000001186 cumulative effect Effects 0.000 claims description 11
- 230000000694 effects Effects 0.000 claims description 9
- 238000002372 labelling Methods 0.000 claims description 2
- 206010012186 Delayed delivery Diseases 0.000 claims 15
- 230000002708 enhancing effect Effects 0.000 claims 3
- 238000013500 data storage Methods 0.000 claims 1
- 238000012544 monitoring process Methods 0.000 claims 1
- 238000013468 resource allocation Methods 0.000 claims 1
- 125000002015 acyclic group Chemical group 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 13
- 238000012360 testing method Methods 0.000 description 9
- 238000004519 manufacturing process Methods 0.000 description 7
- 239000000463 material Substances 0.000 description 5
- 230000007423 decrease Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000001343 mnemonic effect Effects 0.000 description 2
- 239000003973 paint Substances 0.000 description 2
- 101001022148 Homo sapiens Furin Proteins 0.000 description 1
- 101000701936 Homo sapiens Signal peptidase complex subunit 1 Proteins 0.000 description 1
- 102100030313 Signal peptidase complex subunit 1 Human genes 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005553 drilling Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 239000002994 raw material Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/41865—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06312—Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06316—Sequencing of tasks or work
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/109—Time management, e.g. calendars, reminders, meetings or time accounting
- G06Q10/1093—Calendar-based scheduling for persons or groups
- G06Q10/1097—Task assignment
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Definitions
- This invention relates generally to a method and apparatus for sequencing and scheduling fabrication and assembly tasks in a manufactory (e.g., job shop, construction project, or flexible manufacturing facility).
- a manufactory e.g., job shop, construction project, or flexible manufacturing facility.
- a manufactory typically comprises many work centers and workers. Each work center is equipped to perform a certain function. For example, at one work center drilling may be performed, and at another work center cutting may be performed. Furthermore, each worker in the manufactory may be qualified to perform only certain types of functions. For example, one worker may be qualified only to paint, and another worker may be qualified both to paint and to drill.
- the problems associated with the scheduling of tasks within a job shop have long been recognized in the art. Many managers are unable to develop workable schedules because they have no means of accurately determining the "queue time.”
- the queue time is the time a task waits because resources (e.g., workers and work centers) are occupied with other tasks. Without accurate schedule information, a manager has no means of assessing and making realistic due date commitments for prospective customer orders. Consequently, workers frequently are reassigned or asked to work overtime to compensate for unanticipated bottlenecks. These disruptions are costly.
- This invention provides a method and apparatus for cost-based resource scheduling.
- the object of this invention is to provide a scheduling system that (a) schedules tasks, workers, and work centers and preferably minimizes costs, both inventory carrying and late delivery; and (b) whose efficiencies allow for frequent rescheduling where desired.
- a data processing method which first generates an Early Finish Schedule, second generates a Late Finish Schedule from the Early Finish Schedule, and finally generates a Final Schedule by applying a Maximum Flow Procedure (MFP) to a graphic representation of the Late Finish Schedule.
- MFP Maximum Flow Procedure
- the methods and system of the present invention include the following characteristics and advantages: (a) the Early Finish Schedule is a feasible sequence of tasks such that the tasks finish as early as possible; (b) the start time of some tasks in the Early Finish Schedule may be delayed without incurring additional late delivery costs; (c) the inventory carrying costs and the late delivery costs are analogized to the flow of a network in which a Maximum Flow Procedure identifies tasks that can be profitably delayed; (d) the completion times of delayed tasks are adjusted incrementally; and (e) the ordered data structures are represented by heaps.
- Preferred embodiments rely in part on a network model of the Late Finish Schedule to which is applied the Maximum Flow Procedure.
- the network model is depicted by an acyclic directed graph, representing initially the Late Finish Schedule. Each node of the graph corresponds to a task in the Late Finish Schedule, and each directed arc corresponds to a precedence requirement.
- the flow MFP sends through this network corresponds to inventory carrying and late delivery costs.
- FIG. 1 is a flow chart of Phase I (of three phases) of a preferred embodiment of the present invention.
- FIG. 2 is the first of two flow charts, which comprise Phase II of a preferred embodiment of the present invention.
- FIG. 3 is the second of two flow charts, which comprise Phase II of a preferred embodiment of the present invention.
- FIG. 4 is the first of two flow charts, which comprise Phase III of a preferred embodiment of the present invention.
- FIG. 5 is the second of two flow charts, which comprise Phase III of a preferred embodiment of the present invention.
- FIG. 6 is the compatibility chart for the illustrative example.
- FIG. 7 is the Technological Precedence Graph for the illustrative example.
- FIG. 8 is a table of mnemonics for the illustrative example.
- FIG. 9 is the Early Finish Schedule for the illustrative example.
- FIG. 10 is the Schedule Precedence Graph for the illustrative example.
- FIG. 11 is the Late Finish Schedule for the illustrative example.
- FIG. 12 is the graph that represents the first Candidate List for the illustrative example.
- FIG. 13 is the graph that represents the first Candidate List after the MFP was invoked for the illustrative example.
- FIG. 14 is the Final Schedule for the illustrative example.
- SS Scheduling System
- the SS represents each queue data structure as a heap.
- the term "queue” means a sorted list and not a first-in-first-out (FIFO) data structure.
- a characteristic of a heap is that the first entity in the queue is stored at the top of the heap.
- the SS generally removes only the first entry in the queue.
- the heap structure handles revisions (insertions and deletions) efficiently.
- Each time the SS adds an entry or removes an entry from a queue the SS adjusts the heap to ensure that the first entry is at the top.
- this embodiment represents the queues as a heap data structure, other data structures may be similarly suitable. These data structures include balanced trees, leftist trees, 2-3 trees, p-trees, and binomial queues.
- Phase takes a set of tasks, workers, and work centers and develops an Early Finish Schedule.
- Phase II takes the Early Finish Schedule and develops a Late Finish Schedule.
- Phase III takes the Late Finish Schedule and develops the Final Schedule.
- Task Process Time--means the time that it will take a worker to complete the task.
- the task completion time is equal to the task start time plus the task process time.
- Task Available Time is determinable--means that all the task's prerequisite tasks are either completed or in process.
- Available Work Center means a work center that has no worker currently working at it.
- Worker and Work Center are compatible--means that the worker is qualified to work at the work center.
- Task and Work Center are compatible--means that the task can be performed at the work center.
- Task, Worker, and Work Center are compatible--means that the task can be performed by the worker at the work center.
- a commonly used priority rule is called the minimum slack time rule. It represents the difference between the amount of time until the promised delivery date (Due Date) and the shortest time necessary to complete the task and all tasks on the product which cannot be started until that task is completed. Other priority rules could be used.
- Phase I The processing of Phase I is represented by the flow chart in FIG. 1.
- the SS initializes the Task Queue.
- the Task Queue is a list of all not started tasks whose task available time is determinable.
- the Task Queue is sorted from the earliest to latest task available time.
- the SS initializes the Labor Queue.
- the Labor Queue is a list of all assigned workers.
- the Labor Queue is sorted from the earliest to the latest worker available time.
- the SS determines whether both the Task and Labor Queue are empty. If both the queues are empty, Phase I is finished and the SS proceeds to Phase II in FIG. 2.
- the SS compares the available time of the first task in the Task Queue to the available time of the first worker in the Labor Queue. If the task's available time is less than or equal to the worker's available time, then the SS removes and selects the first task from the Task Queue, sets the schedule time to the task's available time, and continues at block 106; otherwise, the SS removes and selects the first worker from the Labor Queue, sets the schedule time to the worker's available time, and continues at block 104.
- the SS determines whether an available work center exists such that (1) the available work center and selected worker are compatible and (2) the available work center's Work Center Task Queue contains a not started task. If such a work center does not exist, then SS records the worker as available and continues at block 102; otherwise, the SS selects the work center and continues at block 105.
- the SS selects and removes the highest priority, not started task from the selected work center's Work Center Task Queue. With this selected task, the selected worker, and the selected work center, the SS continues at block 108.
- the SS determines whether an available work center and an available worker exist such that the selected task, the available worker, and the available work center are compatible. If such a worker or work center does not exist, then the SS continues at block 107; otherwise, the SS selects the worker and the work center, and with the selected task, the selected worker, and selected work center, the SS continues at block 108.
- the SS inserts the selected task into the Work Center Task Queue of all compatible work centers, and the SS continues at block 102.
- the SS schedules the selected worker to start the selected task at the selected work center at the schedule time, as set in block 103.
- the SS records the selected task's completion time, the selected worker's available time, and the selected work center's available time.
- the SS inserts the selected worker into the Labor Queue.
- the SS determines whether the task available time of each immediate successor task of the selected task became determinable when the selected task was scheduled in block 108. For each such immediate successor task, the SS sets the task's available time to the completion time of the task's latest completing immediate predecessor task.
- the SS inserts each immediate successor task of the selected task whose available time is determinable into the Task Queue and continues at block 102.
- Phase II The processing of Phase II is represented by the flow charts in FIGS. 2 and 3.
- the SS develops the Late Finish Schedule from the Early Finish Schedule.
- the SS develops the Schedule Precedence Graph for the Early Finish Schedule.
- the Schedule Precedence Graph comprises nodes, which correspond to tasks, and directed arcs, which reflect the order in which tasks must be worked. This ordering of the tasks represents the precedence requirements, which are either technological or assigned.
- a technological precedence requirement arises from engineering considerations, usually described in a detailed bill of material for the product, whereas an assigned precedence requirement arises from the I sequence of task assignments each worker or work center receives in the Early Finish Schedule. For example, if the Early Finish Schedule assigns a worker to do task A first and task B second, the decision to have the worker do the tasks in that order would appear in the Schedule Precedence Graph as a directed arc from node A to node B.
- Each node in the Schedule Precedence Graph carries the following information: the worker and work center assigned to the task, the Early Finish Schedule's task completion time, pointers to immediate predecessor and successor nodes, and the task's unit delay cost.
- a finished product can be delivered on or after its due date. Since delivery prompts payment from a customer (and possibly loss of goodwill if the product is delivered late), end-products have a positive unit delay cost. The positive sign reflects an increase in cost due to revenue from interest on a customer's payment that is foregone if an end-product task is delayed beyond its due date, less any savings from delaying expenditures for labor and material for that end-product task.
- intermediate tasks do not immediately generate revenue. Since the intermediate tasks require labor and material, but have no offsetting revenues, they have a negative unit delay cost to reflect the savings that their postponement would produce in work-in-process inventory costs.
- a task's supply is set equal to its unit delay cost.
- a task with a supply greater than zero is called a facility; all other (intermediate) tasks are activities.
- the SS creates a fictitious node for each end-product task that Phase I scheduled for completion before its due date.
- Each fictitious node is initialized with a zero process time, a completion time equal to the end-product task's due date, and a supply equal to the opportunity costs of a customer's delayed payment.
- the SS adds a directed arc from the end-product node to the fictitious node.
- the fictitious nodes represent the delivery of those end-product tasks initially scheduled before their due dates.
- the former end-product tasks are now considered intermediate tasks (activities).
- the supplies of the former end-product tasks are set to reflect any savings from delaying expenditures for labor and material.
- the SS reduces the work-in-process costs by rescheduling intermediate tasks without further delaying any delivery dates.
- the task completion times in the Early Finish Schedule are the earliest possible for the selected sequence. These completion times may result in expenses for labor and material that could be deferred to a later date without delaying the delivery of the finished product.
- the SS reschedules the tasks, whenever possible, to the latest time that still allows the corresponding finished product to be delivered as scheduled in the Early Finish Schedule. Therefore, the SS examines each intermediate task to determine whether it can be rescheduled.
- the SS generates a queue of all activities (intermediate tasks) ordered from their latest to earliest completion times.
- the SS determines whether the queue is empty. If the queue is empty, the SS proceeds to Phase III at FIG. 4; otherwise, the SS continues at block 303.
- the SS reschedules the completion time of the top task in the queue to equal the earliest start time of its immediate successor tasks.
- the SS removes the top task from the queue and continues at block 302.
- the SS takes the Late Finish Schedule and develops the Final Schedule.
- the Final Schedule is a schedule for which no facility tasks can be profitably delayed.
- a facility task can be profitably delayed when the cost of delaying the task, its supply, can be offset by cost savings by delaying activity tasks.
- the SS starts with the Schedule Precedence Graph and the Late Finish Schedule. Since each task is represented as a node on the Schedule Precedence Graph, the terms "task” and “node” are used interchangeably.
- the SS iteratively generates a Candidate List, which is a list of nodes.
- the SS then invokes the Maximum Flow Procedure (MFP), which divides the Candidate List into two lists: Stay List and Move List.
- MFP Maximum Flow Procedure
- the Move List contains those nodes that the MFP determines can be profitably postponed.
- the Stay List contains all the nodes from the Candidate List that are not in the Move List.
- the SS then delays the start time of the nodes on the Move List through the use of the Move Queue.
- the Move Queue is a queue of arcs whose tails touch nodes (tail nodes) in the Move List and whose heads touch nodes (head nodes) not in the Move List.
- the Move Queue is sorted by shortest to longest arc length.
- the arc length is the time between the completion time of the tail node and the start of the head node.
- the Move Queue seldom changes substantially from one invocation of the MFP to the next. Therefore, the SS revises the Move Queue rather than generating a new one.
- the length of an arc on the Move Queue may be shortened with each invocation of the MFP.
- the SS does not update the length of each arc in the Move Queue with each MFP invocation. Nor does it update the start time of each node on the Move List. Rather, the SS only updates the start time of a node when it is returned on the Stay List by the MFP.
- the SS keeps track of the cumulative delay of the Move List. When a node is removed from the Move List, its start time is delayed by the net change in cumulative delay of the Move List since the node was added to the Move List. When an arc is added to the Move Queue its length is increased by the cumulative delay of the Move List.
- the SS initializes the capacities of each arc in the graph.
- Each arc has two capacities.
- the capacity of the arc in the direction of its head is set to zero and of its tail is set to infinity.
- the SS adjusts the capacities of the arcs to reflect the cost of delaying facility nodes being offset by the savings of delaying activity nodes.
- the SS initializes the Facility Queue, which is a queue of all facility nodes sorted by earliest to latest start time.
- the SS empties the Move Queue and sets the cumulative delay of the Move List to zero.
- the SS also empties the Candidate List.
- the SS removes and selects the top node from the Facility Queue.
- the SS tests the selected node. If the selected node has been put on the Candidate List at least once before, then the SS continues at block 403; otherwise it continues at block 406.
- the SS adds nodes to the Candidate List.
- the SS adds the selected node to the Candidate List. Also, all nodes are added to the Candidate List such that (1) if the start time of the node were delayed it would cause a delay in the start time of the selected node or (2) if the start time of the selected node were delayed the start time of the node would also be delayed.
- the SS invokes the MFP at FIG. 5 and continues when the procedure returns at block 408.
- the SS updates the Move Queue with information returned from the MFP, the Move List and Stay List.
- the SS adds to the Move Queue those arcs, not already in the Move Queue, whose tail node is in and whose head node is not in the Move List; and the SS increases the length of these arcs by the cumulative delay of the Move List.
- the SS removes from the Move Queue those arcs whose tail nodes are in the Stay List; and the SS increases the start time of the Stay List nodes by the change in cumulative delay since the node was placed in the Move List.
- the SS tests the Move Queue. If the Move Queue is empty the SS continues at block 402; otherwise the SS continues at block 410.
- the SS sets the Candidate List to contain only those nodes that are in the Move List.
- the SS removes the top arc, the one with the smallest length, from the Move Queue and selects the head node of the removed arc. Also, the SS resets the cumulative delay of the Move List to equal the length of the removed arc.
- the SS tests the selected node. If the node has not been considered (labeled) by the MFP then the SS continues at block 406; otherwise the SS continues at block 412. The labeling process is more fully described in the explanation of FIG. 5.
- the SS backtracks from the selected node. Since the selected node has been previously labeled by the MFP, the SS can backtrack from the selected node to the starting node for that path. The SS places each of the nodes along the path onto the Candidate List.
- the SS invokes the MFP at FIG. 5 and continues when the procedure returns at block 414.
- the SS tests the Stay List returned by the MFP. If the tail node of the removed arc, the arc removed in block 410, is in the Stay List, then the SS continues at block 408; otherwise it continues at block 406.
- the SS identifies the nodes on the Candidate List whose start times can be profitably delayed. This procedure is called the Maximum Flow Procedure (MFP).
- MFP Maximum Flow Procedure
- the MFP returns the Move List, which is a list of nodes whose completion times can be profitably delayed.
- the SS initializes the Go Queue with all the facility nodes on the Candidate List ordered by latest to earliest completion time. The SS also empties the Stay List and Move List.
- the SS determines whether the Go Queue is empty. If the Go Queue is empty, then the MFP is complete, the SS places all the nodes in the Candidate List but not in the Stay List on the Move List, and the SS returns to FIG. 4; otherwise, the SS continues at block 503.
- the SS removes and selects the top node from the Go Queue.
- the SS determines whether the selected node is in the Stay List or has a supply less than or equal to zero. If either condition exists, then the SS continues at block 502; otherwise, the SS continues at 505.
- the SS starts a new MFP iteration.
- the SS sets the MFP backtrack label for the selected node to nil.
- Each node has a MFP backtrack label associated with it.
- the MFP backtrack labels are set to indicate the path in the Schedule Precedence Graph along which the SS travels. These MFP backtrack labels allow the SS to backtrack, when necessary.
- the nil backtrack label indicates the starting node in the path.
- the SS determines if there is a node adjacent to the selected node that is eligible. A node is eligible if it has not been labeled on this MFP 10 iteration, if the capacity of the arc in the direction of the adjacent node is greater than zero, and if the adjacent node is not on the Stay List. If such an adjacent node exists, then the SS continues processing at block 507; otherwise, the SS continues at 513.
- the SS determines how much supply it can send to the eligible node; this supply is called "flow.”
- the SS selects the arc between the eligible node and the selected node.
- the SS can send all of the supply in the selected node up to the capacity of the selected arc in the direction of the eligible node.
- the capacity of an arc in the direction opposite the arrow is always infinite, while initially the capacity in the direction of the arc is zero but can increase.
- the SS increases the supply of the eligible node, increases the capacity of the selected arc in the direction of the selected node, decreases the capacity of the selected arc in the direction of the eligible node, and decreases the supply of the selected node by the amount of flow.
- the SS labels the eligible node by setting the MFP backtrack value of the eligible node to point to the selected node. Finally, the SS selects the eligible node and records the current iteration as the iteration number of this selected node.
- the SS backtracks from the selected node to the node pointed to in the MFP backtrack label.
- the node pointed to becomes the selected node.
- the SS tests the supply of the selected node. If the supply is greater than zero, then the SS continues at block 512; otherwise it continues at block 509.
- the supply greater than zero in the selected node means that when the SS last encountered, during this MFP iteration, the selected node, all the supply could not be sent to the eligible node because the capacity of the arc was smaller than the supply of this node. Since the SS could not send all the supply, a residual amount remained.
- the SS removes the label of the selected node and the label of all nodes that were labeled after the selected node. Therefore, these nodes are eligible to receive more supply during this MFP iteration.
- the SS continues at block 506.
- the SS has backtracked to the starting node and there is still a positive supply, that is, not all the supply was distributed to the other nodes.
- the SS adds to the Stay List all currently labeled nodes which were selected during this MFP iteration. Note that a label may have been removed in block 512 and possibly restored to a node during an iteration of MFP.
- the manufactory comprises three workers, designated as W1-W3, and four work centers, designated as WC-WC4.
- the FIG. 6 is the compatibility chart, which indicates worker and work center compatibility.
- the marks (X) on the chart indicate which workers can work at each work center (e.g., W1 and W2 can work at WC4).
- FIG. 8 defines some mnemonics that are used in presenting the schedule.
- the tasks are in various stages of completion; i.e., some are complete, some are in process, and some are not started.
- the first task of work order one (WO1:T1) is complete; the first task of work order two (WO2:T1) has been in process for one time unit; and all other tasks have not been started.
- the SS schedules only those tasks that are not started.
- the preceding has defined the data that is needed to produce the Early Finish Schedule for this example.
- the method illustrated in FIG. 1 will take this data and will generate the schedule shown in the FIG. 9.
- Each worker is scheduled to work on the assigned task at the assigned work center starting at the assigned time.
- worker one W1 is occupied with the in process task WO2:T1; W1 becomes available for tasks that are not yet started at time two.
- worker three W3 is scheduled to work on the fourth task of work order two (WO2:T4) at work center three (WC3) starting at time five.
- worker three (W3) Prior to starting the task, worker three (W3) is scheduled to be idle from time three to time five, at which time he starts the task.
- the assigned arcs illustrate the sequence in which each worker and work center will perform the assigned tasks.
- the arc from node WO4:T1 to node WO2:T4 reflects that worker three (W3) and work center three (WC3) are scheduled to perform task WO4:T1 and them task WO2:T4 the Early Finish Schedule.
- the arc from WO1:T2 to WO2:T5 indicates that work center 4 (WC4) is scheduled to perform task WO1:T2 and then task WO2:T5 on the Early Finish Schedule. Additionally, the process time for each task and the due date for each end-product task is shown.
- FIG. 3 Phase II, uses this Schedule Precedence Graph to generate the Late Finish Schedule.
- the task, worker, and work center assignments are not changed from the Early Finish Schedule in FIG. 9. Rather, only the time that a worker is scheduled to start a task is delayed. These delays are such that no end-product task is further delayed beyond its due date.
- FIG. 11 shows the Late Finish Schedule for this example.
- FIG. 4 uses the Schedule Precedence Graph and the Late Finish Schedule.
- the task, worker, and work center assignments are not changed from the Early Finish Schedule in FIG. 9. Rather, only the time that a worker is scheduled to start a task is delayed. End-product tasks can be delayed past their due date if the cost can be offset by savings in inventory carrying cost.
- FIG. 12 shows a portion of the Schedule Precedence Graph that represents the first Candidate List.
- each node in FIG. 12 displays its supply.
- FIG. 13 illustrates the Candidate List portion of the Schedule Precedence Graph after the MFP was invoked the first time in FIG. 4.
- the number at the tail of each arc represents the capacity in the direction of the arc.
- the capacity in the direction opposite the arrow is always infinite.
- Each node with an (M) below it is in the Move List after the first invocation of the MFP. Since the cost of delaying WO2:T5 can be offset by the savings of delaying WO4:T1, WO4:T2, and WO4:T3, these four nodes are in the Move List.
- the SS identifies those arcs (and their lengths) directed from Move List nodes to nodes not in the Move List.
- These Move Queue arcs in order of their lengths, are directed from WO4:T1 to WO2:T4 (with length 1), WO4:T2 to WO3:T2 (with length 1), WO4:T3 to WO4:T4 (with length 2), and WO2:T5 to WO3:T5 (with length 2).
- Tables 1, 2, and 3 contain a hexadecimal listing of an object code embodying the present invention.
- Table 1 contains an embodiment of Phase I.
- Table 2 contains an embodiment of Phase II.
- This object code was generated on a Digital Equipment Corporation VAX 11/780 computer.
- the VAX computer was operating under VMS Version 4.5.
- the object code was generated by VAX FORTRAN V2.6-244.
- the data input format for Phase I is described by the following.
- the FORTRAN code is the actual statement that reads the data in.
- the data was stored in a file named INPUT.DAT.
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- Operations Research (AREA)
- Marketing (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Game Theory and Decision Science (AREA)
- Educational Administration (AREA)
- Development Economics (AREA)
- General Engineering & Computer Science (AREA)
- Manufacturing & Machinery (AREA)
- Automation & Control Theory (AREA)
- Data Mining & Analysis (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
This invention provides a method and system for cost-based resource scheduling. This invention develops an initial resource schedule. This schedule is then represented as a Schedule Precedence Graph, which is an acyclic directed graph consisting of nodes and arcs. Each node corresponds to a task to be performed, and each arc corresponds to a technological or assigned task precedence. Each node is assigned a cost, which corresponds to cost or savings due to delaying the task one time unit. In this invention, the Maximum Flow Procedure is iteratively invoked to determine which tasks can be profitably delayed.
Description
This application is a continuation of U.S. application Ser. No. 07/077,732 filed Jul. 24, 1987, now abandoned.
This invention relates generally to a method and apparatus for sequencing and scheduling fabrication and assembly tasks in a manufactory (e.g., job shop, construction project, or flexible manufacturing facility).
A manufactory typically comprises many work centers and workers. Each work center is equipped to perform a certain function. For example, at one work center drilling may be performed, and at another work center cutting may be performed. Furthermore, each worker in the manufactory may be qualified to perform only certain types of functions. For example, one worker may be qualified only to paint, and another worker may be qualified both to paint and to drill.
Generally, a manufactory can produce a variety of finished products in response to customer orders. The manufacturing of each finished product typically is divided into many tasks. Tasks, and the order in which they must be performed, may vary from product to product. The tasks of various finished products can be in production simultaneously. This type of manufactory is called a "job shop."
The problems associated with the scheduling of tasks within a job shop have long been recognized in the art. Many managers are unable to develop workable schedules because they have no means of accurately determining the "queue time." The queue time is the time a task waits because resources (e.g., workers and work centers) are occupied with other tasks. Without accurate schedule information, a manager has no means of assessing and making realistic due date commitments for prospective customer orders. Consequently, workers frequently are reassigned or asked to work overtime to compensate for unanticipated bottlenecks. These disruptions are costly.
Existing scheduling techniques attempt to overcome these disruptions by using planned queue times, which are a manager's estimates of queue times, and time buckets, which are fixed periods of time (typically a week) into which the planning horizon is divided. Based on the planned queue times, each task is assigned to a time bucket. If all tasks assigned to a time bucket cannot be completed during that time bucket, certain systems (called "finite loading") reassign tasks to other time buckets; other systems (e.g., MRP and MRP II) do not attempt to make these changes.
These approaches to scheduling result in infeasible and unrealistic schedules for several reasons. First, the planned queue times are typically very inaccurate. Second, the time buckets must be at least as long as the time to do the longest task and in most cases they are much longer. Third, only one of the two important resources, workers and work centers, is considered in the schedule. Fourth, since either workers or work centers are assigned to tasks before the schedule is developed, unanticipated bottlenecks frequently arise on over-committed resources. Fifth, since revenues and costs are not explicitly considered, the schedule objectives are unrealistic. Finally, since the computer time necessary to develop a schedule is typically long, revisions are infrequent and the schedule does not reflect current production conditions.
Accordingly, there is a need for a scheduling system that develops accurate, feasible, minimum cost schedules in a timely manner that allows revisions to reflect current production conditions.
This invention provides a method and apparatus for cost-based resource scheduling. The object of this invention is to provide a scheduling system that (a) schedules tasks, workers, and work centers and preferably minimizes costs, both inventory carrying and late delivery; and (b) whose efficiencies allow for frequent rescheduling where desired.
This, and other objects of the invention, which will become more apparent as the invention is more fully described below, are obtained in preferred embodiments, by a data processing method which first generates an Early Finish Schedule, second generates a Late Finish Schedule from the Early Finish Schedule, and finally generates a Final Schedule by applying a Maximum Flow Procedure (MFP) to a graphic representation of the Late Finish Schedule.
In preferred embodiments, the methods and system of the present invention include the following characteristics and advantages: (a) the Early Finish Schedule is a feasible sequence of tasks such that the tasks finish as early as possible; (b) the start time of some tasks in the Early Finish Schedule may be delayed without incurring additional late delivery costs; (c) the inventory carrying costs and the late delivery costs are analogized to the flow of a network in which a Maximum Flow Procedure identifies tasks that can be profitably delayed; (d) the completion times of delayed tasks are adjusted incrementally; and (e) the ordered data structures are represented by heaps.
Preferred embodiments rely in part on a network model of the Late Finish Schedule to which is applied the Maximum Flow Procedure. The network model is depicted by an acyclic directed graph, representing initially the Late Finish Schedule. Each node of the graph corresponds to a task in the Late Finish Schedule, and each directed arc corresponds to a precedence requirement. The flow MFP sends through this network corresponds to inventory carrying and late delivery costs.
FIG. 1 is a flow chart of Phase I (of three phases) of a preferred embodiment of the present invention.
FIG. 2 is the first of two flow charts, which comprise Phase II of a preferred embodiment of the present invention.
FIG. 3 is the second of two flow charts, which comprise Phase II of a preferred embodiment of the present invention.
FIG. 4 is the first of two flow charts, which comprise Phase III of a preferred embodiment of the present invention.
FIG. 5 is the second of two flow charts, which comprise Phase III of a preferred embodiment of the present invention.
FIG. 6 is the compatibility chart for the illustrative example.
FIG. 7 is the Technological Precedence Graph for the illustrative example.
FIG. 8 is a table of mnemonics for the illustrative example.
FIG. 9 is the Early Finish Schedule for the illustrative example.
FIG. 10 is the Schedule Precedence Graph for the illustrative example.
FIG. 11 is the Late Finish Schedule for the illustrative example.
FIG. 12 is the graph that represents the first Candidate List for the illustrative example.
FIG. 13 is the graph that represents the first Candidate List after the MFP was invoked for the illustrative example.
FIG. 14 is the Final Schedule for the illustrative example.
This system, the Scheduling System (SS), considers the current state of all the tasks. Each task may be completed, in process, or not started. The SS schedules only those tasks that are not started. All subsequent mention of tasks refer only to those not yet started.
The SS represents each queue data structure as a heap. The term "queue" means a sorted list and not a first-in-first-out (FIFO) data structure. A characteristic of a heap is that the first entity in the queue is stored at the top of the heap. The SS generally removes only the first entry in the queue. The heap structure handles revisions (insertions and deletions) efficiently. Each time the SS adds an entry or removes an entry from a queue, the SS adjusts the heap to ensure that the first entry is at the top. Although this embodiment represents the queues as a heap data structure, other data structures may be similarly suitable. These data structures include balanced trees, leftist trees, 2-3 trees, p-trees, and binomial queues.
The SS is divided into three phases. Phase takes a set of tasks, workers, and work centers and develops an Early Finish Schedule. Phase II takes the Early Finish Schedule and develops a Late Finish Schedule. Phase III takes the Late Finish Schedule and develops the Final Schedule.
This preferred embodiment of the present invention can be best understood with reference to the following terms.
Task Start Time--means the time that a worker is scheduled to start a task at a work center.
Task Process Time--means the time that it will take a worker to complete the task.
Task Completion Time--means the time when the worker assigned to the task completes the task. The task completion time is equal to the task start time plus the task process time.
Prerequisite Tasks--means those tasks that must be completed before the task can start.
Task Available Time--means the time when all of the task's prerequisite tasks are complete.
Worker Available Time--means the time when the worker completes his current task.
Work Center Available Time--means the time when the worker assigned to the work center completes his current task.
Task Available Time is determinable--means that all the task's prerequisite tasks are either completed or in process.
Available Task--means a task that has all of its prerequisite tasks completed.
Assigned Worker--means a worker who is currently working on a task.
Available Work Center--means a work center that has no worker currently working at it.
Worker and Work Center are compatible--means that the worker is qualified to work at the work center.
Task and Work Center are compatible--means that the task can be performed at the work center.
Task, Worker, and Work Center are compatible--means that the task can be performed by the worker at the work center.
Work Center Task Queue--means a queue that holds a list of all available tasks that are compatible with the work center. Each work center has a work center task queue.
Schedule Time--means a variable that during scheduling keeps track of the time.
End-product Task--means the last task performed in the production of a product.
Intermediate Task--means all tasks that are not end-product tasks.
Task Priority--means a priority assigned to a task based upon the needs of the manufactory implementing the present invention. A commonly used priority rule is called the minimum slack time rule. It represents the difference between the amount of time until the promised delivery date (Due Date) and the shortest time necessary to complete the task and all tasks on the product which cannot be started until that task is completed. Other priority rules could be used.
The processing of Phase I is represented by the flow chart in FIG. 1.
In block 100, the SS initializes the Task Queue. The Task Queue is a list of all not started tasks whose task available time is determinable. The Task Queue is sorted from the earliest to latest task available time.
In block 101, the SS initializes the Labor Queue. The Labor Queue is a list of all assigned workers. The Labor Queue is sorted from the earliest to the latest worker available time.
In block 102, the SS determines whether both the Task and Labor Queue are empty. If both the queues are empty, Phase I is finished and the SS proceeds to Phase II in FIG. 2.
In block 103, the SS compares the available time of the first task in the Task Queue to the available time of the first worker in the Labor Queue. If the task's available time is less than or equal to the worker's available time, then the SS removes and selects the first task from the Task Queue, sets the schedule time to the task's available time, and continues at block 106; otherwise, the SS removes and selects the first worker from the Labor Queue, sets the schedule time to the worker's available time, and continues at block 104.
In block 104, the SS determines whether an available work center exists such that (1) the available work center and selected worker are compatible and (2) the available work center's Work Center Task Queue contains a not started task. If such a work center does not exist, then SS records the worker as available and continues at block 102; otherwise, the SS selects the work center and continues at block 105.
In block 105, the SS selects and removes the highest priority, not started task from the selected work center's Work Center Task Queue. With this selected task, the selected worker, and the selected work center, the SS continues at block 108.
In block 106, the SS determines whether an available work center and an available worker exist such that the selected task, the available worker, and the available work center are compatible. If such a worker or work center does not exist, then the SS continues at block 107; otherwise, the SS selects the worker and the work center, and with the selected task, the selected worker, and selected work center, the SS continues at block 108.
In block 107, the SS inserts the selected task into the Work Center Task Queue of all compatible work centers, and the SS continues at block 102.
In block 108, the SS schedules the selected worker to start the selected task at the selected work center at the schedule time, as set in block 103. In block 109, the SS records the selected task's completion time, the selected worker's available time, and the selected work center's available time. In block 110, the SS inserts the selected worker into the Labor Queue. In block 111, the SS determines whether the task available time of each immediate successor task of the selected task became determinable when the selected task was scheduled in block 108. For each such immediate successor task, the SS sets the task's available time to the completion time of the task's latest completing immediate predecessor task. In block 112, the SS inserts each immediate successor task of the selected task whose available time is determinable into the Task Queue and continues at block 102.
The processing of Phase II is represented by the flow charts in FIGS. 2 and 3. In Phase II, the SS develops the Late Finish Schedule from the Early Finish Schedule.
In block 201, the SS develops the Schedule Precedence Graph for the Early Finish Schedule. The Schedule Precedence Graph comprises nodes, which correspond to tasks, and directed arcs, which reflect the order in which tasks must be worked. This ordering of the tasks represents the precedence requirements, which are either technological or assigned. A technological precedence requirement arises from engineering considerations, usually described in a detailed bill of material for the product, whereas an assigned precedence requirement arises from the I sequence of task assignments each worker or work center receives in the Early Finish Schedule. For example, if the Early Finish Schedule assigns a worker to do task A first and task B second, the decision to have the worker do the tasks in that order would appear in the Schedule Precedence Graph as a directed arc from node A to node B. Each node in the Schedule Precedence Graph carries the following information: the worker and work center assigned to the task, the Early Finish Schedule's task completion time, pointers to immediate predecessor and successor nodes, and the task's unit delay cost.
When an end-product task is completed, the product is finished. A finished product can be delivered on or after its due date. Since delivery prompts payment from a customer (and possibly loss of goodwill if the product is delivered late), end-products have a positive unit delay cost. The positive sign reflects an increase in cost due to revenue from interest on a customer's payment that is foregone if an end-product task is delayed beyond its due date, less any savings from delaying expenditures for labor and material for that end-product task.
Conversely, intermediate tasks do not immediately generate revenue. Since the intermediate tasks require labor and material, but have no offsetting revenues, they have a negative unit delay cost to reflect the savings that their postponement would produce in work-in-process inventory costs.
A task's supply is set equal to its unit delay cost. A task with a supply greater than zero is called a facility; all other (intermediate) tasks are activities.
In block 202, the SS creates a fictitious node for each end-product task that Phase I scheduled for completion before its due date. Each fictitious node is initialized with a zero process time, a completion time equal to the end-product task's due date, and a supply equal to the opportunity costs of a customer's delayed payment.
In block 203, the SS adds a directed arc from the end-product node to the fictitious node. The fictitious nodes represent the delivery of those end-product tasks initially scheduled before their due dates. The former end-product tasks are now considered intermediate tasks (activities). In block 204, the supplies of the former end-product tasks are set to reflect any savings from delaying expenditures for labor and material.
In FIG. 3, the SS reduces the work-in-process costs by rescheduling intermediate tasks without further delaying any delivery dates. Recall that the task completion times in the Early Finish Schedule are the earliest possible for the selected sequence. These completion times may result in expenses for labor and material that could be deferred to a later date without delaying the delivery of the finished product. The SS reschedules the tasks, whenever possible, to the latest time that still allows the corresponding finished product to be delivered as scheduled in the Early Finish Schedule. Therefore, the SS examines each intermediate task to determine whether it can be rescheduled.
In block 301, the SS generates a queue of all activities (intermediate tasks) ordered from their latest to earliest completion times.
In block 302, the SS determines whether the queue is empty. If the queue is empty, the SS proceeds to Phase III at FIG. 4; otherwise, the SS continues at block 303.
In block 303, the SS reschedules the completion time of the top task in the queue to equal the earliest start time of its immediate successor tasks.
In block 304, the SS removes the top task from the queue and continues at block 302.
In Phase III, the SS takes the Late Finish Schedule and develops the Final Schedule. The Final Schedule is a schedule for which no facility tasks can be profitably delayed. A facility task can be profitably delayed when the cost of delaying the task, its supply, can be offset by cost savings by delaying activity tasks.
In FIG. 4, the SS starts with the Schedule Precedence Graph and the Late Finish Schedule. Since each task is represented as a node on the Schedule Precedence Graph, the terms "task" and "node" are used interchangeably.
In FIG. 4, the SS iteratively generates a Candidate List, which is a list of nodes. The SS then invokes the Maximum Flow Procedure (MFP), which divides the Candidate List into two lists: Stay List and Move List. The Move List contains those nodes that the MFP determines can be profitably postponed. The Stay List contains all the nodes from the Candidate List that are not in the Move List. The SS then delays the start time of the nodes on the Move List through the use of the Move Queue. The Move Queue is a queue of arcs whose tails touch nodes (tail nodes) in the Move List and whose heads touch nodes (head nodes) not in the Move List. The Move Queue is sorted by shortest to longest arc length. The arc length is the time between the completion time of the tail node and the start of the head node. The Move Queue seldom changes substantially from one invocation of the MFP to the next. Therefore, the SS revises the Move Queue rather than generating a new one.
Also, the length of an arc on the Move Queue may be shortened with each invocation of the MFP. However, the SS does not update the length of each arc in the Move Queue with each MFP invocation. Nor does it update the start time of each node on the Move List. Rather, the SS only updates the start time of a node when it is returned on the Stay List by the MFP. The SS keeps track of the cumulative delay of the Move List. When a node is removed from the Move List, its start time is delayed by the net change in cumulative delay of the Move List since the node was added to the Move List. When an arc is added to the Move Queue its length is increased by the cumulative delay of the Move List.
In block 401, the SS initializes the capacities of each arc in the graph. Each arc has two capacities. The capacity of the arc in the direction of its head is set to zero and of its tail is set to infinity. In the MFP, the SS adjusts the capacities of the arcs to reflect the cost of delaying facility nodes being offset by the savings of delaying activity nodes. The SS initializes the Facility Queue, which is a queue of all facility nodes sorted by earliest to latest start time.
In block 402, the SS empties the Move Queue and sets the cumulative delay of the Move List to zero. The SS also empties the Candidate List.
In block 403, the SS tests the Facility Queue. If the Facility Queue is empty, then the SS stops and the Final Schedule is complete; otherwise, the SS continues at block 404.
In block 404, the SS removes and selects the top node from the Facility Queue.
In block 405, the SS tests the selected node. If the selected node has been put on the Candidate List at least once before, then the SS continues at block 403; otherwise it continues at block 406.
In block 406, the SS adds nodes to the Candidate List. The SS adds the selected node to the Candidate List. Also, all nodes are added to the Candidate List such that (1) if the start time of the node were delayed it would cause a delay in the start time of the selected node or (2) if the start time of the selected node were delayed the start time of the node would also be delayed.
In block 407, the SS invokes the MFP at FIG. 5 and continues when the procedure returns at block 408.
In block 408, the SS updates the Move Queue with information returned from the MFP, the Move List and Stay List. The SS adds to the Move Queue those arcs, not already in the Move Queue, whose tail node is in and whose head node is not in the Move List; and the SS increases the length of these arcs by the cumulative delay of the Move List. The SS removes from the Move Queue those arcs whose tail nodes are in the Stay List; and the SS increases the start time of the Stay List nodes by the change in cumulative delay since the node was placed in the Move List.
In block 409, the SS tests the Move Queue. If the Move Queue is empty the SS continues at block 402; otherwise the SS continues at block 410.
In block 410, the SS sets the Candidate List to contain only those nodes that are in the Move List. The SS removes the top arc, the one with the smallest length, from the Move Queue and selects the head node of the removed arc. Also, the SS resets the cumulative delay of the Move List to equal the length of the removed arc.
In block 411, the SS tests the selected node. If the node has not been considered (labeled) by the MFP then the SS continues at block 406; otherwise the SS continues at block 412. The labeling process is more fully described in the explanation of FIG. 5.
In block 412, the SS backtracks from the selected node. Since the selected node has been previously labeled by the MFP, the SS can backtrack from the selected node to the starting node for that path. The SS places each of the nodes along the path onto the Candidate List.
In block 413, the SS invokes the MFP at FIG. 5 and continues when the procedure returns at block 414.
In block 414, the SS tests the Stay List returned by the MFP. If the tail node of the removed arc, the arc removed in block 410, is in the Stay List, then the SS continues at block 408; otherwise it continues at block 406.
In FIG. 5, the SS identifies the nodes on the Candidate List whose start times can be profitably delayed. This procedure is called the Maximum Flow Procedure (MFP). The MFP returns the Move List, which is a list of nodes whose completion times can be profitably delayed.
In block 501, the SS initializes the Go Queue with all the facility nodes on the Candidate List ordered by latest to earliest completion time. The SS also empties the Stay List and Move List.
In block 502, the SS determines whether the Go Queue is empty. If the Go Queue is empty, then the MFP is complete, the SS places all the nodes in the Candidate List but not in the Stay List on the Move List, and the SS returns to FIG. 4; otherwise, the SS continues at block 503.
In block 503, the SS removes and selects the top node from the Go Queue. In block 504, the SS determines whether the selected node is in the Stay List or has a supply less than or equal to zero. If either condition exists, then the SS continues at block 502; otherwise, the SS continues at 505.
In block 505, the SS starts a new MFP iteration. The SS sets the MFP backtrack label for the selected node to nil. Each node has a MFP backtrack label associated with it. As the SS proceeds through the MFP, the MFP backtrack labels are set to indicate the path in the Schedule Precedence Graph along which the SS travels. These MFP backtrack labels allow the SS to backtrack, when necessary. The nil backtrack label indicates the starting node in the path.
In block 506, the SS determines if there is a node adjacent to the selected node that is eligible. A node is eligible if it has not been labeled on this MFP 10 iteration, if the capacity of the arc in the direction of the adjacent node is greater than zero, and if the adjacent node is not on the Stay List. If such an adjacent node exists, then the SS continues processing at block 507; otherwise, the SS continues at 513.
In block 507, the SS determines how much supply it can send to the eligible node; this supply is called "flow." The SS selects the arc between the eligible node and the selected node. The SS can send all of the supply in the selected node up to the capacity of the selected arc in the direction of the eligible node. As stated above, the capacity of an arc in the direction opposite the arrow is always infinite, while initially the capacity in the direction of the arc is zero but can increase. The SS increases the supply of the eligible node, increases the capacity of the selected arc in the direction of the selected node, decreases the capacity of the selected arc in the direction of the eligible node, and decreases the supply of the selected node by the amount of flow. The SS labels the eligible node by setting the MFP backtrack value of the eligible node to point to the selected node. Finally, the SS selects the eligible node and records the current iteration as the iteration number of this selected node.
In block 508, the SS tests the supply of the selected node. If the supply is greater than zero then the SS continues at block 506; otherwise, the SS continues at block 509.
In block 509, the SS tests the MFP backtrack label of the selected node. If the label is equal to nil, the SS has backtracked to the starting node, so the SS continues at block 502; otherwise, the SS continues at block 510.
In block 510, the SS backtracks from the selected node to the node pointed to in the MFP backtrack label. The node pointed to becomes the selected node. In block 511, the SS tests the supply of the selected node. If the supply is greater than zero, then the SS continues at block 512; otherwise it continues at block 509.
In block 512, the supply greater than zero in the selected node means that when the SS last encountered, during this MFP iteration, the selected node, all the supply could not be sent to the eligible node because the capacity of the arc was smaller than the supply of this node. Since the SS could not send all the supply, a residual amount remained. In block 512, the SS removes the label of the selected node and the label of all nodes that were labeled after the selected node. Therefore, these nodes are eligible to receive more supply during this MFP iteration. The SS continues at block 506.
In block 513, the SS has selected a node with a supply greater than zero but there are no eligible adjacent nodes. Consequently, the SS backtracks to return the supply. In block 513, the SS tests the MFP backtrack label of the selected node. If the MFP backtrack label is equal to nil, then the SS continues at block 514; otherwise it continues at block 515.
In block 514, the SS has backtracked to the starting node and there is still a positive supply, that is, not all the supply was distributed to the other nodes. The SS adds to the Stay List all currently labeled nodes which were selected during this MFP iteration. Note that a label may have been removed in block 512 and possibly restored to a node during an iteration of MFP.
In MFP block 515, the SS backtracks from the selected node to the node pointed to by the MFP backtrack label. The SS selects the arc between the selected node and the pointed to node. The SS determines how much supply can be returned to the pointed to node; this supply is called flow. The supply that can be returned is all the supply in the selected node up to the capacity of the selected arc in the direction of the node pointed to. The SS decreases the supply of the selected node, decreases the capacity of the selected arc in the direction of the pointed to node, increases the capacity of the selected arc in the direction of the selected node, and increases the supply of the pointed to node by the amount of flow.
The following example illustrates the manner by which the method develops a schedule. For purposes of this example, the manufactory comprises three workers, designated as W1-W3, and four work centers, designated as WC-WC4. The FIG. 6 is the compatibility chart, which indicates worker and work center compatibility. The marks (X) on the chart indicate which workers can work at each work center (e.g., W1 and W2 can work at WC4).
For this example, there are four work orders, designated as WO1-WO4, that are available to be scheduled. In FIG. 7, the technological precedence for these four work orders is shown. Each circle corresponds to a task, designated as T1-T5 within each circle, that must be performed, and each arc corresponds to an ordering of the tasks (e.g., T5 of WO3 cannot be started until both T3 and T4 complete). Within each circle is the work center at which the task is to be performed (e.g., T1 of WO2 can be performed at WC1 or WC3, whereas T2 of WO2 can only be performed at WC2). Also within each circle is the process time for the task (e.g., T1 of WO4 will take three units of time from start to finish).
FIG. 8 defines some mnemonics that are used in presenting the schedule.
Initially, the tasks are in various stages of completion; i.e., some are complete, some are in process, and some are not started. For this example, the first task of work order one (WO1:T1) is complete; the first task of work order two (WO2:T1) has been in process for one time unit; and all other tasks have not been started. The SS schedules only those tasks that are not started.
The preceding has defined the data that is needed to produce the Early Finish Schedule for this example. The method illustrated in FIG. 1 will take this data and will generate the schedule shown in the FIG. 9. Each worker is scheduled to work on the assigned task at the assigned work center starting at the assigned time. For example, worker one (W1) is occupied with the in process task WO2:T1; W1 becomes available for tasks that are not yet started at time two. As another example, worker three (W3) is scheduled to work on the fourth task of work order two (WO2:T4) at work center three (WC3) starting at time five. Prior to starting the task, worker three (W3) is scheduled to be idle from time three to time five, at which time he starts the task.
After the Early Finish Schedule has been generated, the method proceeds to FIG. 2, Phase II, which generates the Schedule Precedence Graph. The Schedule Precedence Graph for this example is shown in FIG. 10. This graph is similar to the graph shown in FIG. 7. The differences are that the tasks either in process or already completed prior to the start of scheduling are not shown (i.e., WO1:T1 and WO2:T1), that the fictitious nodes WO1:T3 and WO3:T6 have been added for the two early end-product tasks WO1:T2 and WO3:T5, and that the assigned arcs have been added (e.g., the arc from WO1:T2 to WO2:T2). The assigned arcs illustrate the sequence in which each worker and work center will perform the assigned tasks. For example, the arc from node WO4:T1 to node WO2:T4 reflects that worker three (W3) and work center three (WC3) are scheduled to perform task WO4:T1 and them task WO2:T4 the Early Finish Schedule. The arc from WO1:T2 to WO2:T5 indicates that work center 4 (WC4) is scheduled to perform task WO1:T2 and then task WO2:T5 on the Early Finish Schedule. Additionally, the process time for each task and the due date for each end-product task is shown.
The method illustrated in FIG. 3, Phase II, uses this Schedule Precedence Graph to generate the Late Finish Schedule. The task, worker, and work center assignments are not changed from the Early Finish Schedule in FIG. 9. Rather, only the time that a worker is scheduled to start a task is delayed. These delays are such that no end-product task is further delayed beyond its due date. FIG. 11 shows the Late Finish Schedule for this example.
The method illustrated in FIG. 4, Phase III, uses the Schedule Precedence Graph and the Late Finish Schedule. As in Phase II, the task, worker, and work center assignments are not changed from the Early Finish Schedule in FIG. 9. Rather, only the time that a worker is scheduled to start a task is delayed. End-product tasks can be delayed past their due date if the cost can be offset by savings in inventory carrying cost. FIG. 12 shows a portion of the Schedule Precedence Graph that represents the first Candidate List. The nodes in the Candidate List are shown along with the arcs such that the start time of the head node equals the completion time of the tail node (e.g., the start time of WO2:T5 is 7; the completion time of WO4:T3 is also 7; since these times are equal, the arc between the nodes is illustrated). In addition, each node in FIG. 12 displays its supply.
FIG. 13 illustrates the Candidate List portion of the Schedule Precedence Graph after the MFP was invoked the first time in FIG. 4. The number at the tail of each arc represents the capacity in the direction of the arc. The capacity in the direction opposite the arrow is always infinite. Each node with an (M) below it is in the Move List after the first invocation of the MFP. Since the cost of delaying WO2:T5 can be offset by the savings of delaying WO4:T1, WO4:T2, and WO4:T3, these four nodes are in the Move List.
At this stage (block 408 of FIG. 4), the SS identifies those arcs (and their lengths) directed from Move List nodes to nodes not in the Move List. These Move Queue arcs, in order of their lengths, are directed from WO4:T1 to WO2:T4 (with length 1), WO4:T2 to WO3:T2 (with length 1), WO4:T3 to WO4:T4 (with length 2), and WO2:T5 to WO3:T5 (with length 2).
The shortest length of these, a length of 1, is the distance the Move List nodes are delayed. The resulting schedule appears in FIG. 14. One more invocation of MFP would confirm that this schedule is the final schedule for the problem.
Although the invention has been described herein, primarily with respect to preferred methods and systems, it is not intended that the invention be limited to these particular methods and systems. The invention includes the methods and systems described in the claims which follow, including all legal equivalents.
Although the invention is fully described in the "Best Mode for Carrying Out the Invention" section, Tables 1, 2, and 3 contain a hexadecimal listing of an object code embodying the present invention.
Table 1 contains an embodiment of Phase I.
Table 2 contains an embodiment of Phase II.
Table 3 contains an embodiment of Phase III.
This object code was generated on a Digital Equipment Corporation VAX 11/780 computer. The VAX computer was operating under VMS Version 4.5. The object code was generated by VAX FORTRAN V2.6-244.
The following file assignments were made prior to executing these phases.
______________________________________ ASSIGN INPUT.DAT FOR001 ASSIGN PHASE1.DAT FOR002 ASSIGN PHASE2.DAT FOR004 ______________________________________
The data input format for Phase I is described by the following. The FORTRAN code is the actual statement that reads the data in. The data was stored in a file named INPUT.DAT.
______________________________________ INPUT ______________________________________ 1. Enter the current time [real variable - floating format] READ (1, *)C 2. Enter the number of tasks [integer variable - floating format] READ (1, *)N 3. Enter the number of work centers [integer variable - floating format] READ (1, *)M 4. Enter the number of workers [integer variable - floating format] READ (1, *)Q 5. Enter the employee labor rate per unit of time [real variable - floating format] READ (1, *)RATE 6. Enter the end product goodwill penalty per unit of time [real variable - floating format] READ (1, *)G 7. For each task: Enter the work centers that can process the.sub.-- task in order of preference; enter 0 if no work cen- ters remain [integer variable - FORTRAN format (I(J), J = 1, 16)] READ (1, 40) (I3(JJ), JJ = 1, 16) 40 FORMAT (16I5) Enter a "1", the task time and raw material value added for the task [real variable - floating format] READ (1, *) VERIFY, DDD, CM Enter the technological successor for the task; enter 0 if no successors remain [integer vari- ables - FORTRAN format (I(J), = 1, 16)] READ (1, 40) (I3(I1), I1 = 1, 16) 8. For each product task: Enter the due date and revenue for the task [real variables - floating format] READ (1, *) DDD,PROF 9. For each work center: Enter the time when the work center will next become available [real variable - floating format] READ (1, *) A Enter the last task which was either completed by the work center or is under way at the work center [integer variable - floating format] READ (1, *) LASTWC(j) 10. For each worker: Enter the worker's current status -- 0 for idle, 1 for busy [integer variable - floating format] READ (1, *) STATUSW(k) For each busy worker, enter the work center where the worker is occupied [integer variable - floating format] READ (1, *)J 11. For each work center: Enter the workers in preferred order who can operate the work center; enter 0 if no workers remain [integer variable - floating format] READ (1, *) K ______________________________________
The Appendix contains object code for an embodiment of Phase I, II, and III. ##SPC1##
Claims (19)
1. An apparatus for scheduling a combination of workers, tasks, and work centers, comprising:
means for storing schedule and task information, delayed delivery costs, and inventory carrying costs;
means for generating an initial schedule based on the schedule and task information whereby workers are assigned to perform tasks at work centers; and
means for modifying the initial schedule based on the delayed delivery costs and inventory carrying costs whereby the start of at least two tasks are delayed when the delayed delivery cost of at least one end-product task is offset by the inventory carrying cost savings due to delaying the start of other tasks.
2. A method for reallocating a combination of workers, tasks, and work centers based on an initial allocation schedule, each task having an associated start time and an associated inventory carrying cost, each end-product task having an associated delayed delivery cost whereby the start of at least two tasks are delayed when the delayed delivery cost of at least one end-product task is offset by the inventory carrying cost savings due to delaying the start of other tasks, the method comprising the steps of:
developing a Technological Precedence Graph based on product design, whereby the Technological Precedence Graph includes a plurality of nodes representing tasks and directed arcs connecting the nodes and defining technological precedence;
developing a Schedule Precedence Graph based on the initial allocation schedule and Technological Precedence Graph additionally including arcs defining nonredundant schedule precedence;
assigning each node in the Schedule Precedence Graph a supply value representing the cost of carrying inventory and delaying delivery;
adding a fictitious node to the Schedule Precedence Graph for each end-product task scheduled for early delivery;
assigning to each arc an initial capacity of zero in the arc direction and an infinite capacity in the direction opposite the arc;
initializing a Facility Queue to contain nodes based on the Schedule Precedence Graph;
selecting and removing the top node from the Facility Queue;
determining whether the selected node has been on a Candidate List;
generating the Candidate List of nodes based on the Schedule Precedence Graph and the selected node;
generating a Move List and a Stay List of nodes based upon the Candidate List;
revising the cumulative delay of the nodes in the Move List;
recording the start times of the nodes in the Stay List; and
reallocating the combination of workers, tasks, and work centers in accordance with the start time of the tasks and performing the tasks in accordance with the reallocation.
3. The method of claim 2 wherein the step of generating a Move List of nodes comprises the Maximum Flow Procedure.
4. The method of claim 2 wherein the step of generating the Move List and the Stay List of nodes, each node has an associated MFP backtrack label, and additionally includes the steps of:
initializing a Go Queue to contain all the facility nodes that are in the Candidate List;
selecting a node from the Go Queue;
labeling the selected node;
when possible, selecting a second node adjacent to the selected node to receive flow;
sending flow to the second selected node from the selected node;
when the supply of the second selected node is greater than zero, making such node the new selected node;
when the supply of the selected node is not greater than zero, backtracking to the closest node having supply greater than zero or the original selected node, whichever is encountered first, and selecting such node as the new selected node;
removing the label from all backtracked nodes;
when no second selected node exists, sending flow back from the selected node to the node pointed to by the MFP backtrack label and selecting the node pointed to by the MFP backtrack label as the new selected node;
when no second selected node exists and the selected node is the original selected node, placing all nodes with a label from this iteration on the Stay List; and
when the Go Queue is empty, placing all nodes that are on the Candidate List and that are not on the Stay List onto a Move List.
5. A method according to claim 4 wherein the step of initializing the Go Queue includes the step of organizing the nodes into a heap data structure.
6. A method according to claim 2 wherein the schedule to be modified is an Early Finish Schedule.
7. A method according to claim 2 wherein the schedule to be modified is a Late Finish Schedule.
8. A method according to claim 2 wherein the step of initializing of the Facility Queue additionally includes the step of adding all the facility nodes in the Schedule Precedence Graph into the Facility Queue.
9. A method according to claim 2 wherein the step of initializing the Facility Queue additionally includes the step of adding each node that is an activity node in the Schedule Precedence Graph into the Facility Queue.
10. A method according to claim 2 wherein the steps of initializing the Facility Queue additionally includes the steps of organizing the Facility Queue as a heap data structure.
11. The method of claim 2 wherein the step of revising the cumulative delay of the nodes in the Move List, each node having an associated MFP backtrack label, additionally includes the steps of:
initializing a Move Queue to contain no arcs;
adding to the Move Queue those arcs not already in the Move Queue whose tail node is in the Move List and whose head node is not in the Move List;
removing from the Move Queue those arcs whose tail nodes are in the Stay List;
selecting and removing the top arc from the move Queue;
setting the cumulative delay of the Move List equal to the length of the selected arc;
determining whether the node to which the selected arc points is labeled;
backtracking from the labeled node to a node with an MFP backtrack label of nil;
while backtracking, placing nodes pointed to by the MFP backtrack labels into the Candidate List; and
determining whether the tail node of the selected arc is in the Stay List.
12. The method of claim 11 wherein the step of adding the arcs to the Move Queue additionally includes the step of setting the length of the arc equal to the sum of the cumulative delay of the Move List, and the length of time between the start of the head node and the completion of the tail node.
13. The method according to claim 11 wherein step of initializing the Move Queue additionally includes the step of organizing the Move Queue as a heap data structure.
14. A resource allocation system for controlling the allocation of workers, work centers, and tasks in a manufactory, the system comprising:
a memory;
a plurality of input-output devices connected to the memory wherein data is transferred from the memory to the devices and from the devices to the memory;
input means for controlling the retrieving of schedule data including worker, work center, and task data from an input-output device and the storing of the schedule data in the memory;
first processing means for generating initial schedule data based on the schedule data stored in the memory wherein workers are assigned to work centers and tasks and for storing the initial schedule data in the memory;
second processing means for generating modified schedule data based on the initial schedule data stored in the memory wherein the start of at least two tasks are delayed when the delayed delivery cost of at least one end-product task is offset by the inventory carrying cost savings due to the delaying of the start of other tasks and for storing the modified schedule data in the memory; and
output means for transferring the modified schedule data from the memory to an input-output device to effect the allocation of the resources.
15. An apparatus for controlling the performing of tasks by workers at work centers in a manufactory, comprising;
a central processing unit;
a memory unit for storing data sent from the central processing unit and sending stored data to the central processing unit;
data input means for receiving data relating to each task including delayed delivery costs and inventory carrying costs, data relating to each work center, and data relating to each worker;
data storage means for storing the task, work center, and worker data received from the data input means in the memory unit;
first data processing means, working cooperatively with the central processing unit and the memory unit, for generating initial schedule data based on the task, work center, and worker data stored in the memory unit and for storing the initial schedule data in the memory unit;
second data processing means, working cooperatively with the central processing unit and the memory unit, for generating final schedule data based on the initial schedule data stored in the memory unit and for storing the final schedule data in the memory unit; and
data output means for retrieving the final schedule data from the memory unit and for outputting the final schedule data to effect the controlling of the performing of the tasks by the workers at the work centers.
16. A computer system for controlling the allocation of workers, tasks, and work centers in a manufactory, the system comprising:
a computer having a central processing unit, a memory, and input-output devices;
inputting means for inputting schedule and task data, including delayed delivery costs and inventory carrying costs, from an input-output device and for storing the schedule and task data in the memory;
generating means for generating initial schedule data, the generating means having means for retrieving the schedule and task data from the memory, means for processing the retrieved data in the central processing unit to generate initial schedule data wherein the workers are scheduled to perform tasks at work centers, and means for storing the initial schedule data in the memory;
enhancing means for enhancing the initial schedule data, the enhancing means having means for retrieving the initial schedule data from the memory, means for processing the retrieved data in the central processing unit to generate enhanced schedule data wherein the start of at least two tasks are delayed when the delayed delivery cost of at least one end-product task is offset by the inventory carrying cost savings due to delaying the start of the other tasks, and means for storing the enhanced schedule data in the memory; and
outputting means for outputting the enhanced schedule to an input-output device to effect the controlling of the allocation of the workers, work centers, and tasks.
17. A method for reallocating resources in a manufactory, the manufactory having a current allocation of resources, the resources including tasks, work centers, and workers, each task having an inventory carrying cost, the tasks including end-product tasks, each end-product task having a delayed delivery cost, the method comprising the steps of:
determining the current allocation of the resources in the manufactory;
monitoring the factory resources to determine when a resource becomes available;
when a resource becomes available, generating a new allocation of resources based on the delayed delivery costs and inventory carrying costs whereby the start of at least two tasks are delayed when the delayed delivery cost of at least one end-product task is offset by the inventory carrying cost savings due to delaying the start of other tasks; and
reallocating the resources based on the new allocation.
18. The method of claim 17 wherein the step of reallocating the resources includes the step of specifying the reallocated work center at which each worker is to work and the reallocated task that each worker is to perform.
19. A task and work center allocating apparatus for allocating tasks, and work centers among workers, the system comprising:
means for storing schedule and task information, delayed delivery costs, and inventory carrying costs;
means for generating an initial schedule based on the schedule and task information whereby workers are assigned to perform tasks at work centers;
means for modifying the initial schedule based on the delayed delivery costs and inventory carrying costs whereby the start of at least two tasks are delayed when the delayed delivery cost of at least one end-product task is offset by the inventory carrying cost savings due to delaying the start of other tasks; and
means for assigning a worker to perform a task at a work center in accordance with the modified initial schedule.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/445,479 US5524077A (en) | 1987-07-24 | 1989-12-04 | Scheduling method and system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US7773287A | 1987-07-24 | 1987-07-24 | |
US07/445,479 US5524077A (en) | 1987-07-24 | 1989-12-04 | Scheduling method and system |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US7773287A Continuation | 1987-07-24 | 1987-07-24 |
Publications (1)
Publication Number | Publication Date |
---|---|
US5524077A true US5524077A (en) | 1996-06-04 |
Family
ID=22139741
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US07/445,479 Expired - Lifetime US5524077A (en) | 1987-07-24 | 1989-12-04 | Scheduling method and system |
Country Status (2)
Country | Link |
---|---|
US (1) | US5524077A (en) |
EP (1) | EP0300456A3 (en) |
Cited By (110)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1997013211A1 (en) * | 1995-10-05 | 1997-04-10 | Maxager Technology, Inc. | Method and apparatus for identifying and obtaining bottleneck cost information |
US5630123A (en) * | 1994-09-28 | 1997-05-13 | I2 Technologies, Inc. | Software system utilizing a filtered priority queue and method of operation |
US6035278A (en) * | 1997-07-08 | 2000-03-07 | Netscape Communications Corporation | Method and system for schedule and task management |
US6044354A (en) * | 1996-12-19 | 2000-03-28 | Sprint Communications Company, L.P. | Computer-based product planning system |
US6122621A (en) * | 1993-10-29 | 2000-09-19 | Matsushita Electric Industrial Co., Ltd. | Method and system for progress management assistance |
US6128540A (en) * | 1998-02-20 | 2000-10-03 | Hagen Method Pty. Ltd. | Method and computer system for controlling an industrial process using financial analysis |
US6144893A (en) * | 1998-02-20 | 2000-11-07 | Hagen Method (Pty) Ltd. | Method and computer system for controlling an industrial process by analysis of bottlenecks |
US6278901B1 (en) * | 1998-12-18 | 2001-08-21 | Impresse Corporation | Methods for creating aggregate plans useful in manufacturing environments |
US20010037229A1 (en) * | 2000-03-31 | 2001-11-01 | Simon Jacobs | Enterprise scheduling system for scheduling mobile service representatives |
US20010041264A1 (en) * | 1994-01-31 | 2001-11-15 | Kentaro Niwano | Elastic blade, method of manufacturing the same, and developing device |
US6324490B1 (en) | 1999-01-25 | 2001-11-27 | J&L Fiber Services, Inc. | Monitoring system and method for a fiber processing apparatus |
US20020040313A1 (en) * | 2000-09-05 | 2002-04-04 | Hunter David Scott | System and method of real time deployment |
US6370560B1 (en) * | 1996-09-16 | 2002-04-09 | Research Foundation Of State Of New York | Load sharing controller for optimizing resource utilization cost |
US20020111842A1 (en) * | 2001-02-09 | 2002-08-15 | Jon Miles | Work order management system |
US20020188489A1 (en) * | 2001-05-22 | 2002-12-12 | International Business Machines Corporation | System and method for optimizing office worker productivity |
US20030050817A1 (en) * | 2001-09-12 | 2003-03-13 | Cargille Brian D. | Capacity- driven production planning |
US20030050826A1 (en) * | 2001-09-12 | 2003-03-13 | Cargille Brian D. | Graphical user interface for capacity-driven production planning tool |
US6578005B1 (en) * | 1996-11-22 | 2003-06-10 | British Telecommunications Public Limited Company | Method and apparatus for resource allocation when schedule changes are incorporated in real time |
US20040006502A1 (en) * | 2002-05-03 | 2004-01-08 | Masiello Ralph D. | Valuing and optimizing scheduling of generation assets for a group of facilities |
US20040039622A1 (en) * | 2002-05-03 | 2004-02-26 | Masiello Ralph D. | Valuing and optimizing scheduling of generation assets |
US6715130B1 (en) * | 1998-10-05 | 2004-03-30 | Lockheed Martin Corporation | Software requirements metrics and evaluation process |
US6738777B2 (en) * | 2000-12-20 | 2004-05-18 | Microsoft Corporation | Chaining actions for a directed graph |
US20040148212A1 (en) * | 2003-01-28 | 2004-07-29 | Taiwan Semiconductor Manufacturing Company | Method and apparatus for measuring optimality for master production schedules |
US20050065826A1 (en) * | 2000-12-12 | 2005-03-24 | Baker Andrew B. | System and process for job scheduling to minimize construction costs |
US20050071220A1 (en) * | 2003-09-26 | 2005-03-31 | I2 Technologies Us, Inc. | Distributing consumer demand upstream in a supply chain |
US6876974B1 (en) * | 1996-04-19 | 2005-04-05 | Juno Onhhe Services, Inc. | Scheduling the presentation of messages to users |
US20050154625A1 (en) * | 2004-01-14 | 2005-07-14 | Agency For Science, Technology And Research | Finite capacity scheduling using job prioritization and machine selection |
US20050197936A1 (en) * | 2004-01-13 | 2005-09-08 | International Business Machines Corporation | Monte Carlo grid scheduling algorithm selection optimization |
US20050262506A1 (en) * | 2004-05-20 | 2005-11-24 | International Business Machines Corporation | Grid non-deterministic job scheduling |
US6985872B2 (en) * | 2000-10-03 | 2006-01-10 | Clicksoftware Technologies Ltd. | Method and system for assigning human resources to provide services |
US7051036B2 (en) | 2001-12-03 | 2006-05-23 | Kraft Foods Holdings, Inc. | Computer-implemented system and method for project development |
US20060112317A1 (en) * | 2004-11-05 | 2006-05-25 | Claudio Bartolini | Method and system for managing information technology systems |
US20060167736A1 (en) * | 2002-10-01 | 2006-07-27 | Weiss Paul F | Schedule chart for project management |
US20060235856A1 (en) * | 2004-12-16 | 2006-10-19 | Halcrow Michael A | Route generation for task completion by a location-aware device |
US20070033090A1 (en) * | 2005-08-08 | 2007-02-08 | Connors Daniel P | Method for substitution of employees in a service engagement |
US20070100677A1 (en) * | 2005-11-01 | 2007-05-03 | Boss Gregory J | Methods, systems, and media to improve employee productivity using radio frequency identification |
US7222081B1 (en) | 2000-10-05 | 2007-05-22 | Fujitsu Limited | System and method for continuous delivery schedule including automated customer notification |
US20070174458A1 (en) * | 2006-01-23 | 2007-07-26 | Boyce Robert L Jr | Method for modeling on-demand free pool of resources |
US20070185750A1 (en) * | 2004-06-21 | 2007-08-09 | Merab Menabde | Method, apparatus and computer program for scheduling the extraction of a resource and for determining the net present value of an extraction schedule |
US20070260499A1 (en) * | 2006-05-02 | 2007-11-08 | Microsoft Corporation | Visual workflow process notation and layout |
US7349863B1 (en) | 2001-06-14 | 2008-03-25 | Massachusetts Institute Of Technology | Dynamic planning method and system |
US7386465B1 (en) | 1999-05-07 | 2008-06-10 | Medco Health Solutions, Inc. | Computer implemented resource allocation model and process to dynamically and optimally schedule an arbitrary number of resources subject to an arbitrary number of constraints in the managed care, health care and/or pharmacy industry |
US7415393B1 (en) | 2001-06-14 | 2008-08-19 | Massachusetts Institute Of Technology | Reliability buffering technique applied to a project planning model |
US20090138312A1 (en) * | 2005-08-19 | 2009-05-28 | Christoph Moll | Method for allocating resources to jobs using network flow algorithms |
US20090158083A1 (en) * | 2007-12-17 | 2009-06-18 | Electronics And Telecommunications Research Institute | Cluster system and method for operating the same |
US20090164288A1 (en) * | 2005-08-25 | 2009-06-25 | Hiroshi Kojima | Scheduling Apparatus, Scheduling Method and Recording Medium |
US20090228888A1 (en) * | 2008-03-10 | 2009-09-10 | Sun Microsystems, Inc. | Dynamic scheduling of application tasks in a distributed task based system |
US20090228309A1 (en) * | 2006-12-05 | 2009-09-10 | Georges-Henri Moll | Method and system for optimizing business process management using mathematical programming techniques |
US20090328046A1 (en) * | 2008-06-27 | 2009-12-31 | Sun Microsystems, Inc. | Method for stage-based cost analysis for task scheduling |
US20100070315A1 (en) * | 2008-09-15 | 2010-03-18 | Roberto Francisco-Yi Lu | Methods and systems for optimizing production forecasts using statistically prioritized discrete modeling methodology |
US20100217418A1 (en) * | 2009-02-25 | 2010-08-26 | Siemens Aktiengesellschaft | Method and system for scheduling a manufacturing process |
US20140136255A1 (en) * | 2012-11-14 | 2014-05-15 | Wal-Mart Stores, Inc. | Dynamic Task Management |
US8788308B1 (en) * | 2004-03-29 | 2014-07-22 | West Corporation | Employee scheduling and schedule modification method and apparatus |
US8812339B1 (en) | 2002-07-24 | 2014-08-19 | Jack D. Stone, Jr. | System and method for scheduling tasks |
US20150046227A1 (en) * | 2013-08-12 | 2015-02-12 | Wal-Mart Stores, Inc. | Inventory deployment optimization apparatus and method |
US20150127412A1 (en) * | 2013-11-04 | 2015-05-07 | Amazon Technologies, Inc. | Workflow management system |
CN104679593A (en) * | 2015-03-13 | 2015-06-03 | 浪潮集团有限公司 | Task scheduling optimization method based on SMP system |
US20150278752A1 (en) * | 2014-03-28 | 2015-10-01 | Fujitsu Limited | Production schedule planning support method and production schedule planning support apparatus |
CN106708625A (en) * | 2016-12-08 | 2017-05-24 | 中国科学院软件研究所 | Minimum-cost maximum-flow based large-scale resource scheduling system and minimum-cost maximum-flow based large-scale resource scheduling method |
US20180225609A1 (en) * | 2017-02-03 | 2018-08-09 | Jasci LLC | Systems and methods for warehouse management |
US10048669B2 (en) * | 2016-02-03 | 2018-08-14 | Sap Se | Optimizing manufacturing schedule with time-dependent energy cost |
US10073813B2 (en) | 2011-09-06 | 2018-09-11 | International Business Machines Corporation | Generating a mixed integer linear programming matrix from an annotated entity-relationship data model and a symbolic matrix |
US20180357610A1 (en) * | 2017-06-12 | 2018-12-13 | Hefei University Of Technology | Method and system for collaborative scheduling of production and transportation based on shuffled frog leaping and path relinking algorithms |
US10163070B1 (en) | 2017-12-08 | 2018-12-25 | Capital One Services, Llc | Intelligence platform for scheduling product preparation and delivery |
US10373223B2 (en) | 2012-11-12 | 2019-08-06 | Restaurant Technology Inc. | System and method for receiving and managing remotely placed orders |
US10438163B2 (en) | 2015-07-02 | 2019-10-08 | Walmart Apollo, Llc | System and method for affinity-based optimal assortment selection for inventory deployment |
US10565535B2 (en) | 2014-12-10 | 2020-02-18 | Walmart Apollo, Llc | System having inventory allocation tool and method of using same |
US10606859B2 (en) | 2014-11-24 | 2020-03-31 | Asana, Inc. | Client side system and method for search backed calendar user interface |
US10613735B1 (en) | 2018-04-04 | 2020-04-07 | Asana, Inc. | Systems and methods for preloading an amount of content based on user scrolling |
US10637964B2 (en) | 2016-11-23 | 2020-04-28 | Sap Se | Mutual reinforcement of edge devices with dynamic triggering conditions |
US10640357B2 (en) | 2010-04-14 | 2020-05-05 | Restaurant Technology Inc. | Structural food preparation systems and methods |
US10684870B1 (en) | 2019-01-08 | 2020-06-16 | Asana, Inc. | Systems and methods for determining and presenting a graphical user interface including template metrics |
US10785046B1 (en) | 2018-06-08 | 2020-09-22 | Asana, Inc. | Systems and methods for providing a collaboration work management platform that facilitates differentiation between users in an overarching group and one or more subsets of individual users |
US10841020B2 (en) | 2018-01-31 | 2020-11-17 | Sap Se | Online self-correction on multiple data streams in sensor networks |
US10956845B1 (en) | 2018-12-06 | 2021-03-23 | Asana, Inc. | Systems and methods for generating prioritization models and predicting workflow prioritizations |
US11113667B1 (en) | 2018-12-18 | 2021-09-07 | Asana, Inc. | Systems and methods for providing a dashboard for a collaboration work management platform |
US11138021B1 (en) | 2018-04-02 | 2021-10-05 | Asana, Inc. | Systems and methods to facilitate task-specific workspaces for a collaboration work management platform |
US20210390487A1 (en) * | 2018-01-15 | 2021-12-16 | Nmetric, Llc | Genetic smartjobs scheduling engine |
US11341445B1 (en) | 2019-11-14 | 2022-05-24 | Asana, Inc. | Systems and methods to measure and visualize threshold of user workload |
US11398998B2 (en) | 2018-02-28 | 2022-07-26 | Asana, Inc. | Systems and methods for generating tasks based on chat sessions between users of a collaboration environment |
US11405435B1 (en) | 2020-12-02 | 2022-08-02 | Asana, Inc. | Systems and methods to present views of records in chat sessions between users of a collaboration environment |
US11455601B1 (en) | 2020-06-29 | 2022-09-27 | Asana, Inc. | Systems and methods to measure and visualize workload for completing individual units of work |
US11553045B1 (en) | 2021-04-29 | 2023-01-10 | Asana, Inc. | Systems and methods to automatically update status of projects within a collaboration environment |
US11561677B2 (en) | 2019-01-09 | 2023-01-24 | Asana, Inc. | Systems and methods for generating and tracking hardcoded communications in a collaboration management platform |
US11568339B2 (en) | 2020-08-18 | 2023-01-31 | Asana, Inc. | Systems and methods to characterize units of work based on business objectives |
US11568366B1 (en) | 2018-12-18 | 2023-01-31 | Asana, Inc. | Systems and methods for generating status requests for units of work |
US11599855B1 (en) | 2020-02-14 | 2023-03-07 | Asana, Inc. | Systems and methods to attribute automated actions within a collaboration environment |
US11610053B2 (en) | 2017-07-11 | 2023-03-21 | Asana, Inc. | Database model which provides management of custom fields and methods and apparatus therfor |
US11635884B1 (en) | 2021-10-11 | 2023-04-25 | Asana, Inc. | Systems and methods to provide personalized graphical user interfaces within a collaboration environment |
US11652762B2 (en) | 2018-10-17 | 2023-05-16 | Asana, Inc. | Systems and methods for generating and presenting graphical user interfaces |
US11676107B1 (en) | 2021-04-14 | 2023-06-13 | Asana, Inc. | Systems and methods to facilitate interaction with a collaboration environment based on assignment of project-level roles |
US11694162B1 (en) | 2021-04-01 | 2023-07-04 | Asana, Inc. | Systems and methods to recommend templates for project-level graphical user interfaces within a collaboration environment |
US11720858B2 (en) | 2020-07-21 | 2023-08-08 | Asana, Inc. | Systems and methods to facilitate user engagement with units of work assigned within a collaboration environment |
US11756000B2 (en) | 2021-09-08 | 2023-09-12 | Asana, Inc. | Systems and methods to effectuate sets of automated actions within a collaboration environment including embedded third-party content based on trigger events |
US11769115B1 (en) | 2020-11-23 | 2023-09-26 | Asana, Inc. | Systems and methods to provide measures of user workload when generating units of work based on chat sessions between users of a collaboration environment |
US11782737B2 (en) | 2019-01-08 | 2023-10-10 | Asana, Inc. | Systems and methods for determining and presenting a graphical user interface including template metrics |
US11783253B1 (en) | 2020-02-11 | 2023-10-10 | Asana, Inc. | Systems and methods to effectuate sets of automated actions outside and/or within a collaboration environment based on trigger events occurring outside and/or within the collaboration environment |
US11792028B1 (en) | 2021-05-13 | 2023-10-17 | Asana, Inc. | Systems and methods to link meetings with units of work of a collaboration environment |
US11803814B1 (en) | 2021-05-07 | 2023-10-31 | Asana, Inc. | Systems and methods to facilitate nesting of portfolios within a collaboration environment |
US11809222B1 (en) | 2021-05-24 | 2023-11-07 | Asana, Inc. | Systems and methods to generate units of work within a collaboration environment based on selection of text |
US11836681B1 (en) | 2022-02-17 | 2023-12-05 | Asana, Inc. | Systems and methods to generate records within a collaboration environment |
US11863601B1 (en) | 2022-11-18 | 2024-01-02 | Asana, Inc. | Systems and methods to execute branching automation schemes in a collaboration environment |
US20240037500A1 (en) * | 2018-02-26 | 2024-02-01 | Walmart Apollo, Llc | Systems and methods for rush order fulfilment optimization |
US20240104496A1 (en) * | 2018-04-20 | 2024-03-28 | Walmart Apollo, Llc | Systems and methods for dual optimization of pick walk and tote fill rates for order picking |
US11997425B1 (en) | 2022-02-17 | 2024-05-28 | Asana, Inc. | Systems and methods to generate correspondences between portions of recorded audio content and records of a collaboration environment |
US12051045B1 (en) | 2022-04-28 | 2024-07-30 | Asana, Inc. | Systems and methods to characterize work unit records of a collaboration environment based on stages within a workflow |
US12093859B1 (en) | 2021-06-02 | 2024-09-17 | Asana, Inc. | Systems and methods to measure and visualize workload for individual users |
US12093896B1 (en) | 2022-01-10 | 2024-09-17 | Asana, Inc. | Systems and methods to prioritize resources of projects within a collaboration environment |
US12118514B1 (en) | 2022-02-17 | 2024-10-15 | Asana, Inc. | Systems and methods to generate records within a collaboration environment based on a machine learning model trained from a text corpus |
US12124998B2 (en) | 2023-09-28 | 2024-10-22 | Asana, Inc. | Systems and methods to generate records within a collaboration environment |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69029193D1 (en) * | 1989-08-10 | 1997-01-02 | Fujitsu Ltd | CONTROL SYSTEM FOR MANUFACTURING PROCESS |
CN111209095B (en) * | 2019-08-20 | 2023-08-15 | 杭州电子科技大学 | Pruning method based on tree search in DAG parallel task scheduling |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3703725A (en) * | 1970-11-02 | 1972-11-21 | Texas Instruments Inc | Method for operating a manufacturing line |
-
1988
- 1988-07-20 EP EP88111699A patent/EP0300456A3/en not_active Withdrawn
-
1989
- 1989-12-04 US US07/445,479 patent/US5524077A/en not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3703725A (en) * | 1970-11-02 | 1972-11-21 | Texas Instruments Inc | Method for operating a manufacturing line |
Non-Patent Citations (106)
Title |
---|
Adam, N., and J. Surkis, "A Comparison of Capacity Planning Techniques in a Job Shop Control System," Management Science 23:1011-1015, 1977. |
Adam, N., and J. Surkis, A Comparison of Capacity Planning Techniques in a Job Shop Control System, Management Science 23:1011 1015, 1977. * |
Aho, A. H., J. E. Hopcroft and J. D. Ullman, The Design and Analysis of Computer Algorithms, Addison Wesley, Reading, Massachusetts, 1974. * |
Aho, A. H., J. E. Hopcroft and J. D. Ullman, The Design and Analysis of Computer Algorithms, Addison-Wesley, Reading, Massachusetts, 1974. |
Anderson, J. C., R. G. Schroeder, S. E. Tupy and White, "A Survey of MRP Implementation and Practice," Production and Inventory Management 23:51-66, 1982. |
Anderson, J. C., R. G. Schroeder, S. E. Tupy and White, A Survey of MRP Implementation and Practice, Production and Inventory Management 23:51 66, 1982. * |
Baker, K. R., "Sequencing Rules and Due Date Assignments in a Job Shop," Management Science 30:1093-1104, 1984. |
Baker, K. R., Introduction to Sequencing and Scheduling, 178 231, 1974. * |
Baker, K. R., Introduction to Sequencing and Scheduling, 178-231, 1974. |
Baker, K. R., Sequencing Rules and Due Date Assignments in a Job Shop, Management Science 30:1093 1104, 1984. * |
Balinski, M. L., "On a Selection Problem," Management Science 17:230-231, 1970. |
Balinski, M. L., On a Selection Problem, Management Science 17:230 231, 1970. * |
Browne, J., K. Rathmill and K. E. Stecke, "Classification of Flexible Manufacturing Systems," The FMS Magazine, 114-117, Apr. 1984. |
Browne, J., K. Rathmill and K. E. Stecke, Classification of Flexible Manufacturing Systems, The FMS Magazine, 114 117, Apr. 1984. * |
Chvatal, V., Linear Programming 367 387, W. H. Freeman, New York, 1980. * |
Chvatal, V., Linear Programming 367-387, W. H. Freeman, New York, 1980. |
Dinic, E. A., "Algorithm for Solution of a Problem of Maximum Flow in a Network with Power Estimation," Soviet Mathematics Doklady 11:1277-1280, 1970. |
Dinic, E. A., Algorithm for Solution of a Problem of Maximum Flow in a Network with Power Estimation, Soviet Mathematics Doklady 11:1277 1280, 1970. * |
Edmonds, J., and R. M. Karp, "Theoretical Improvements in Algorithmic Efficiency for Network Flow Problems," JACM 19:248-264, Apr. 1972. |
Edmonds, J., and R. M. Karp, Theoretical Improvements in Algorithmic Efficiency for Network Flow Problems, JACM 19:248 264, Apr. 1972. * |
Eisner, M. J., and D. G. Severance, "Mathematical Techniques for Efficient Record Segmentation in Large Shared Databases," JACM 23:619-635, 1976. |
Eisner, M. J., and D. G. Severance, Mathematical Techniques for Efficient Record Segmentation in Large Shared Databases, JACM 23:619 635, 1976. * |
Elvers, D. A., "Job Shop Dispatching Rules Using Various Delivery Date Setting Criteria," Production and Inventory Management, 62-70, 4th Qtr. 1973. |
Elvers, D. A., Job Shop Dispatching Rules Using Various Delivery Date Setting Criteria, Production and Inventory Management, 62 70, 4th Qtr. 1973. * |
Florian, M., P. Trepant and G. McMahon, "An Implicit Enumeration Algorithm for the Machine Sequencing Problem," Management Science 17:B782-B792, 1971. |
Florian, M., P. Trepant and G. McMahon, An Implicit Enumeration Algorithm for the Machine Sequencing Problem, Management Science 17:B782 B792, 1971. * |
Fong, C. O., and M. R. Rao, Accelerated Labelling Algorithms for the Maximum Flow Problem with Applications to Transportation and Assignment Problems, Working Paper 7222, Graduate School of Management, University of Rochester, 1974. * |
Ford, L. R., and D. R. Fulkerson, "Maximal Flow Through a Network," Canadian Journal of Mathematics 8:399-404, 1956. |
Ford, L. R., and D. R. Fulkerson, Flows in Networks, Princeton University Press, Princeton, New Jersey, 1962. * |
Ford, L. R., and D. R. Fulkerson, Maximal Flow Through a Network, Canadian Journal of Mathematics 8:399 404, 1956. * |
Fulkerson, L. R., and G. B. Dantzig, "Computation of Maximal Flows in Networks," Naval Research Logistics Quarterly 2:277-283, 1955. |
Fulkerson, L. R., and G. B. Dantzig, Computation of Maximal Flows in Networks, Naval Research Logistics Quarterly 2:277 283, 1955. * |
Galil, Z., "An OV(V5/3E2/3) Algorithm for the Maximal Flow Problem," Acta Informatica 14:221-242, 1980. |
Galil, Z., An OV(V5/3E2/3) Algorithm for the Maximal Flow Problem, Acta Informatica 14:221 242, 1980. * |
Galil, Z., and A. Naamad, "An O(EV Log 2V) Algorithm for the Maximal Flow Problem," Journal of Computer and System Sciences 21:203-217, 1980. |
Galil, Z., and A. Naamad, An O(EV Log 2V) Algorithm for the Maximal Flow Problem, Journal of Computer and System Sciences 21:203 217, 1980. * |
Glover F., D. Klingman, J. Mote, and D. Whitman, "A Primal Simplex Variant for the Maximum Flow Problem," Naval Research Logistics Quarterly 31:41-61, 1984. |
Glover F., D. Klingman, J. Mote, and D. Whitman, A Primal Simplex Variant for the Maximum Flow Problem, Naval Research Logistics Quarterly 31:41 61, 1984. * |
Glover, F., and D. Klingman, J. Mote, and D. Whitman, "Comprehensive Computer Evaluation and Enhancement of Maximum Flow Algorithms," Applications of Management Science 3:109-175, 1983. |
Glover, F., and D. Klingman, J. Mote, and D. Whitman, Comprehensive Computer Evaluation and Enhancement of Maximum Flow Algorithms, Applications of Management Science 3:109 175, 1983. * |
Goldberg, A. V., and R. E. Tarjan, "A New Approach to the Maximum Flow Problem," Proceedings of the 18th Annual ACM Symposium on Theory of Computing, 136-146, 1986. |
Goldberg, A. V., and R. E. Tarjan, A New Approach to the Maximum Flow Problem, Proceedings of the 18th Annual ACM Symposium on Theory of Computing, 136 146, 1986. * |
Greenberg, H. H., "A Branch-Bound Solution to the General Scheduling Problem," Operations Research 16:353-316, 1968. |
Greenberg, H. H., A Branch Bound Solution to the General Scheduling Problem, Operations Research 16:353 316, 1968. * |
Gusfield, D., C. Martel and D. Fernandez Baca, Fast Algorithms for Bipartite Network Flow, Working Paper YALEU/DCS/TR 356, Department of Computer Science, Yale University, 1985 (to appear in SIAM Journal on Computing). * |
Gusfield, D., C. Martel and D. Fernandez-Baca, "Fast Algorithms for Bipartite Network Flow," Working Paper YALEU/DCS/TR-356, Department of Computer Science, Yale University, 1985 (to appear in SIAM Journal on Computing). |
IBM, Program Product: Capacity Planning Infinite Loading/Capacity Planning Finite Loading Application Description, GH20 0627 2, 1970. * |
IBM, Program Product: Capacity Planning --Infinite Loading/Capacity Planning--Finite Loading Application Description, GH20-0627-2, 1970. |
Kanet, J. J., and T. C. Hayya, "Priority Dispatching with Operation Due *Dates in a Job Shop," Journal of Operations Management 2:167-176, 1982. |
Kanet, J. J., and T. C. Hayya, Priority Dispatching with Operation Due *Dates in a Job Shop, Journal of Operations Management 2:167 176, 1982. * |
Karzanov, A. V., "Determining the Maximum Flow in a Network by the Method of Preflows," Soviet Mathematics Doklady 15:434-437, 1974. |
Karzanov, A. V., Determining the Maximum Flow in a Network by the Method of Preflows, Soviet Mathematics Doklady 15:434 437, 1974. * |
Kim, K., On the Maximal Closure Problem Ph.D. Thesis, University of Washington, Seattle, Washington, 1986. * |
Lerchs, H., and I. F. Grossman, "Optimum Design of Open-Pit Mines," Canadian Mining and Metallurgical Bulletin 58:47-54, 1965. |
Lerchs, H., and I. F. Grossman, Optimum Design of Open Pit Mines, Canadian Mining and Metallurgical Bulletin 58:47 54, 1965. * |
Malhorta, V. M., M. P. Kumar and S. N. Maheshwari, "An O([V]3) Algorithm for Finding Flows in Networks," Information Processing Letters 7:277-278, 1978. |
Malhorta, V. M., M. P. Kumar and S. N. Maheshwari, An O( V 3) Algorithm for Finding Flows in Networks, Information Processing Letters 7:277 278, 1978. * |
Mamer, J. W., and S. A. Smith, "Optimizing Field Repair Kits Based on Job Completion Rate," Management Science 28:1328-1333, 1982. |
Mamer, J. W., and S. A. Smith, Optimizing Field Repair Kits Based on Job Completion Rate, Management Science 28:1328 1333, 1982. * |
Manne, A. S., "On the Job-Shop Scheduling Problem," Operations Research 8:219-233, 1960. |
Manne, A. S., On the Job Shop Scheduling Problem, Operations Research 8:219 233, 1960. * |
Maxwell, W. L., and M. Mehra, "Multiple Factor Rules for Sequencing with Assembly Constraints," Naval Research Logistics Quarterly 15:241-254, 1968. |
Maxwell, W. L., and M. Mehra, Multiple Factor Rules for Sequencing with Assembly Constraints, Naval Research Logistics Quarterly 15:241 254, 1968. * |
Naval Res. Logist. Quart., 15, Multiple Factor Rules for Sequencing with Assembly Constraints, Maxwell, W.L. & Mehra, M., pp. 251 254. * |
Naval Res. Logist. Quart., 15, Multiple Factor Rules for Sequencing with Assembly Constraints, Maxwell, W.L. & Mehra, M., pp. 251-254. |
Nijenhuis, A., and H. S. Wilf, Combinatorial Algorithms for Computers and Calculators, 2d ed., Academic Press, New York, 1978. * |
Operations Research, An Introduction, Handy A. Taha, 3rd Edition, 1982. * |
Operations Research, V. 35, No. 3, May Jun., 1987, Scheduling Tasks in a Fabrication/Assembly Process, Bruce Faaland et al, pp. 378 388. * |
Operations Research, V. 35, No. 3, May-Jun., 1987, Scheduling Tasks in a Fabrication/Assembly Process, Bruce Faaland et al, pp. 378-388. |
Orlicky, J., Material Requirements Planning, McGraw Hill, New York, 1972. * |
Orlicky, J., Material Requirements Planning, McGraw-Hill, New York, 1972. |
Phillips, S., Jr., and M. I. Dessouky, "Solving the Project Time/Cost Tradeoff Problem Using the Minimal Cut Comcept," Management Science 24:393-400, 1977. |
Phillips, S., Jr., and M. I. Dessouky, Solving the Project Time/Cost Tradeoff Problem Using the Minimal Cut Comcept, Management Science 24:393 400, 1977. * |
Picard, J. C., "Maximal Closure of a Graph and Applications to Combinatorial Problems," Management Science 22:1268-1272, 1976. |
Picard, J. C., Maximal Closure of a Graph and Applications to Combinatorial Problems, Management Science 22:1268 1272, 1976. * |
Plossl, G. W., and O. W. Wight, "Capacity Planning and Control," Production and Inventory Management 14:31-67, 3d Qtr. 1973. |
Plossl, G. W., and O. W. Wight, Capacity Planning and Control, Production and Inventory Management 14:31 67, 3d Qtr. 1973. * |
Reiter, S., "A System for Managing Job-Shop Production," Journal of Business 39:371-393, 1966. |
Reiter, S., A System for Managing Job Shop Production, Journal of Business 39:371 393, 1966. * |
Rhys, J. M. W., "A Selection Problem of Shared Fixed Costs and Network Flows," Management Science 17:200-207, 1970. |
Rhys, J. M. W., A Selection Problem of Shared Fixed Costs and Network Flows, Management Science 17:200 207, 1970. * |
Russel, R. A., "A Comparison of Heuristics for Scheduling Projects with Cash Flows and Resource Restrictions," Management Science 32:1291-1300, 1986. |
Russel, R. A., A Comparison of Heuristics for Scheduling Projects with Cash Flows and Resource Restrictions, Management Science 32:1291 1300, 1986. * |
Russel, R. S., and B. W. Taylor, "An Evaluation of Sequencing Rules for an Assembly Shop," Decision Sciences 16:196-212, 1985. |
Russel, R. S., and B. W. Taylor, An Evaluation of Sequencing Rules for an Assembly Shop, Decision Sciences 16:196 212, 1985. * |
Sculli, D., "Priority Dispatching Rules in Job Shops with Assembly Operations and Random Delays," Omega 8:227-234, 1980. |
Sculli, D., Priority Dispatching Rules in Job Shops with Assembly Operations and Random Delays, Omega 8:227 234, 1980. * |
Sidney, J. B., "Optimal Single-Machine Scheduling with Earliness and Tardiness Penalties," Operations Research 25:62-69, 1977. |
Sidney, J. B., Optimal Single Machine Scheduling with Earliness and Tardiness Penalties, Operations Research 25:62 69, 1977. * |
Smith Daniels, D. E., and N. J. Aquilano, Constrained Resource Project Scheduling Subject to Material Constraints, Journal of Operations Management 4:369 387, 1984. * |
Smith-Daniels, D. E., and N. J. Aquilano, "Constrained Resource Project Scheduling Subject to Material Constraints," Journal of Operations Management 4:369-387, 1984. |
Stecke, K. E., and J. Browne, Variations in Flexible Manufacturing Systems According to the Relevant Types of Automated Materials Handling, Material Flow, vol. 2, 1985. * |
Tarjan, R. E., "A Simple Version of Karzanov's Blocking Flow Algorithm," Operations Research Letters 2:265-268, 1984. |
Tarjan, R. E., A Simple Version of Karzanov s Blocking Flow Algorithm, Operations Research Letters 2:265 268, 1984. * |
Tarjan, R. E., Data Structures and Network Algorithms, Society for Industrial and Applied Mathematics, Philadelphia, 1983. * |
Thompson, K., MRP II in the Repetitive Manufacturing Environment, Production and Inventory Management, 4th Qtr, 1983. * |
Trevelen, M. D., and D. A. Elvers, "An Investigation of Labor Assignment Rules in a Dual Constrained Job Shop," Journal of Operations Management 6:51-67, 1985. |
Trevelen, M. D., and D. A. Elvers, An Investigation of Labor Assignment Rules in a Dual Constrained Job Shop, Journal of Operations Management 6:51 67, 1985. * |
Tucker, A., "A Note on Convergence of the Ford-Fulkerson Flow Algorithm," Mathematics of Operations Research 2:143-144, 1977. |
Tucker, A., A Note on Convergence of the Ford Fulkerson Flow Algorithm, Mathematics of Operations Research 2:143 144, 1977. * |
Weingartner, H. M., "Capital Budgeting of Interrelated Projects: Survey and Synthesis," Management Science 12:485-516, 1966. |
Weingartner, H. M., Capital Budgeting of Interrelated Projects: Survey and Synthesis, Management Science 12:485 516, 1966. * |
Wiest, J. D., "A Heuristic Model for Scheduling Large Projects with Limited Resources," Management Science 13:B359-B377, 1967. |
Wiest, J. D., A Heuristic Model for Scheduling Large Projects with Limited Resources, Management Science 13:B359 B377, 1967. * |
Working Paper 83 01, Univ. of Wash, DJ 10, Seattle Wa. 98195, Smithfield D: Case and Computer Instructions, W. L. Berry & T. G. Schmitt. * |
Working Paper 83-01, Univ. of Wash, DJ-10, Seattle Wa. 98195, Smithfield D: Case and Computer Instructions, W. L. Berry & T. G. Schmitt. |
Cited By (182)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6122621A (en) * | 1993-10-29 | 2000-09-19 | Matsushita Electric Industrial Co., Ltd. | Method and system for progress management assistance |
US20010041264A1 (en) * | 1994-01-31 | 2001-11-15 | Kentaro Niwano | Elastic blade, method of manufacturing the same, and developing device |
US5630123A (en) * | 1994-09-28 | 1997-05-13 | I2 Technologies, Inc. | Software system utilizing a filtered priority queue and method of operation |
US6055533A (en) * | 1994-09-28 | 2000-04-25 | I2 Technologies, Inc. | Software system utilizing a filtered priority queue and method of operation |
US5946661A (en) * | 1995-10-05 | 1999-08-31 | Maxager Technology, Inc. | Method and apparatus for identifying and obtaining bottleneck cost information |
WO1997013211A1 (en) * | 1995-10-05 | 1997-04-10 | Maxager Technology, Inc. | Method and apparatus for identifying and obtaining bottleneck cost information |
US6876974B1 (en) * | 1996-04-19 | 2005-04-05 | Juno Onhhe Services, Inc. | Scheduling the presentation of messages to users |
US6370560B1 (en) * | 1996-09-16 | 2002-04-09 | Research Foundation Of State Of New York | Load sharing controller for optimizing resource utilization cost |
US6578005B1 (en) * | 1996-11-22 | 2003-06-10 | British Telecommunications Public Limited Company | Method and apparatus for resource allocation when schedule changes are incorporated in real time |
US6044354A (en) * | 1996-12-19 | 2000-03-28 | Sprint Communications Company, L.P. | Computer-based product planning system |
US6035278A (en) * | 1997-07-08 | 2000-03-07 | Netscape Communications Corporation | Method and system for schedule and task management |
US6144893A (en) * | 1998-02-20 | 2000-11-07 | Hagen Method (Pty) Ltd. | Method and computer system for controlling an industrial process by analysis of bottlenecks |
US6128540A (en) * | 1998-02-20 | 2000-10-03 | Hagen Method Pty. Ltd. | Method and computer system for controlling an industrial process using financial analysis |
US6715130B1 (en) * | 1998-10-05 | 2004-03-30 | Lockheed Martin Corporation | Software requirements metrics and evaluation process |
US6278901B1 (en) * | 1998-12-18 | 2001-08-21 | Impresse Corporation | Methods for creating aggregate plans useful in manufacturing environments |
US6324490B1 (en) | 1999-01-25 | 2001-11-27 | J&L Fiber Services, Inc. | Monitoring system and method for a fiber processing apparatus |
US7386465B1 (en) | 1999-05-07 | 2008-06-10 | Medco Health Solutions, Inc. | Computer implemented resource allocation model and process to dynamically and optimally schedule an arbitrary number of resources subject to an arbitrary number of constraints in the managed care, health care and/or pharmacy industry |
US20010047288A1 (en) * | 2000-03-31 | 2001-11-29 | Simon Jacobs | Assigning technique for a scheduling system |
US20010047287A1 (en) * | 2000-03-31 | 2001-11-29 | Simon Jacobs | Finding technique for a scheduling system |
US7603285B2 (en) | 2000-03-31 | 2009-10-13 | Ventyx Software Srl | Enterprise scheduling system for scheduling mobile service representatives |
US20010037229A1 (en) * | 2000-03-31 | 2001-11-01 | Simon Jacobs | Enterprise scheduling system for scheduling mobile service representatives |
US7487105B2 (en) | 2000-03-31 | 2009-02-03 | Mdsi Software Srl | Assigning customer orders to schedule openings utilizing overlapping time windows |
US20020010610A1 (en) * | 2000-03-31 | 2002-01-24 | Simon Jacobs | Order scheduling system and method for scheduling appointments over multiple days |
US7587327B2 (en) | 2000-03-31 | 2009-09-08 | Ventyx Software Srl. | Order scheduling system and method for scheduling appointments over multiple days |
US20020040313A1 (en) * | 2000-09-05 | 2002-04-04 | Hunter David Scott | System and method of real time deployment |
US6985872B2 (en) * | 2000-10-03 | 2006-01-10 | Clicksoftware Technologies Ltd. | Method and system for assigning human resources to provide services |
US20060031110A1 (en) * | 2000-10-03 | 2006-02-09 | Moshe Benbassat | Method and system for assigning human resources to provide services |
US7222081B1 (en) | 2000-10-05 | 2007-05-22 | Fujitsu Limited | System and method for continuous delivery schedule including automated customer notification |
US20050065826A1 (en) * | 2000-12-12 | 2005-03-24 | Baker Andrew B. | System and process for job scheduling to minimize construction costs |
US7991633B2 (en) * | 2000-12-12 | 2011-08-02 | On Time Systems, Inc. | System and process for job scheduling to minimize construction costs |
US6738777B2 (en) * | 2000-12-20 | 2004-05-18 | Microsoft Corporation | Chaining actions for a directed graph |
US20020111842A1 (en) * | 2001-02-09 | 2002-08-15 | Jon Miles | Work order management system |
US20020188489A1 (en) * | 2001-05-22 | 2002-12-12 | International Business Machines Corporation | System and method for optimizing office worker productivity |
US7415393B1 (en) | 2001-06-14 | 2008-08-19 | Massachusetts Institute Of Technology | Reliability buffering technique applied to a project planning model |
US7349863B1 (en) | 2001-06-14 | 2008-03-25 | Massachusetts Institute Of Technology | Dynamic planning method and system |
US20030050826A1 (en) * | 2001-09-12 | 2003-03-13 | Cargille Brian D. | Graphical user interface for capacity-driven production planning tool |
US20030050817A1 (en) * | 2001-09-12 | 2003-03-13 | Cargille Brian D. | Capacity- driven production planning |
US7774225B2 (en) | 2001-09-12 | 2010-08-10 | Hewlett-Packard Development Company, L.P. | Graphical user interface for capacity-driven production planning tool |
US7051036B2 (en) | 2001-12-03 | 2006-05-23 | Kraft Foods Holdings, Inc. | Computer-implemented system and method for project development |
US7389209B2 (en) | 2002-05-03 | 2008-06-17 | Sungard Energy Systems Inc. | Valuing and optimizing scheduling of generation assets for a group of facilities |
US7474995B2 (en) | 2002-05-03 | 2009-01-06 | Sungard Energy Systems Inc. | Valuing and optimizing scheduling of generation assets |
US20040039622A1 (en) * | 2002-05-03 | 2004-02-26 | Masiello Ralph D. | Valuing and optimizing scheduling of generation assets |
US20040006502A1 (en) * | 2002-05-03 | 2004-01-08 | Masiello Ralph D. | Valuing and optimizing scheduling of generation assets for a group of facilities |
US8812339B1 (en) | 2002-07-24 | 2014-08-19 | Jack D. Stone, Jr. | System and method for scheduling tasks |
US20060167736A1 (en) * | 2002-10-01 | 2006-07-27 | Weiss Paul F | Schedule chart for project management |
US20040148212A1 (en) * | 2003-01-28 | 2004-07-29 | Taiwan Semiconductor Manufacturing Company | Method and apparatus for measuring optimality for master production schedules |
US8380568B2 (en) * | 2003-09-26 | 2013-02-19 | Jda Software Group, Inc. | Distributing consumer demand upstream in a supply chain |
US20050071220A1 (en) * | 2003-09-26 | 2005-03-31 | I2 Technologies Us, Inc. | Distributing consumer demand upstream in a supply chain |
US20080275804A1 (en) * | 2004-01-13 | 2008-11-06 | Viktors Berstis | Monte Carlo Grid Scheduling Algorithm Selection Optimization |
US20050197936A1 (en) * | 2004-01-13 | 2005-09-08 | International Business Machines Corporation | Monte Carlo grid scheduling algorithm selection optimization |
US20050154625A1 (en) * | 2004-01-14 | 2005-07-14 | Agency For Science, Technology And Research | Finite capacity scheduling using job prioritization and machine selection |
US7904192B2 (en) | 2004-01-14 | 2011-03-08 | Agency For Science, Technology And Research | Finite capacity scheduling using job prioritization and machine selection |
US8788308B1 (en) * | 2004-03-29 | 2014-07-22 | West Corporation | Employee scheduling and schedule modification method and apparatus |
US7441241B2 (en) | 2004-05-20 | 2008-10-21 | International Business Machines Corporation | Grid non-deterministic job scheduling |
US20050262506A1 (en) * | 2004-05-20 | 2005-11-24 | International Business Machines Corporation | Grid non-deterministic job scheduling |
US20090049448A1 (en) * | 2004-05-20 | 2009-02-19 | Christopher James Dawson | Grid Non-Deterministic Job Scheduling |
US8276146B2 (en) | 2004-05-20 | 2012-09-25 | International Business Machines Corporation | Grid non-deterministic job scheduling |
US20070185750A1 (en) * | 2004-06-21 | 2007-08-09 | Merab Menabde | Method, apparatus and computer program for scheduling the extraction of a resource and for determining the net present value of an extraction schedule |
US8082167B2 (en) * | 2004-06-21 | 2011-12-20 | Bhp Billiton Innovation Pty Ltd. | Method, apparatus and computer program for scheduling the extraction of a resource and for determining the net present value of an extraction schedule |
US20110227394A1 (en) * | 2004-06-21 | 2011-09-22 | Merab Menabde | Method, Apparatus And Computer Program For Scheduling The Extraction Of A Resource And For Determining The Net Present Value Of An Extraction Schedule |
US20060112317A1 (en) * | 2004-11-05 | 2006-05-25 | Claudio Bartolini | Method and system for managing information technology systems |
US20060235856A1 (en) * | 2004-12-16 | 2006-10-19 | Halcrow Michael A | Route generation for task completion by a location-aware device |
US20070033090A1 (en) * | 2005-08-08 | 2007-02-08 | Connors Daniel P | Method for substitution of employees in a service engagement |
US20080294486A1 (en) * | 2005-08-08 | 2008-11-27 | Daniel Patrick Connors | Method for substitution of employees in a service engagement |
US8428990B2 (en) * | 2005-08-19 | 2013-04-23 | Siemens Aktiengesellschaft | Method for allocating resources to jobs using network flow algorithms |
US20090138312A1 (en) * | 2005-08-19 | 2009-05-28 | Christoph Moll | Method for allocating resources to jobs using network flow algorithms |
US20090164288A1 (en) * | 2005-08-25 | 2009-06-25 | Hiroshi Kojima | Scheduling Apparatus, Scheduling Method and Recording Medium |
US8639543B2 (en) * | 2005-11-01 | 2014-01-28 | International Business Machines Corporation | Methods, systems, and media to improve employee productivity using radio frequency identification |
US20070100677A1 (en) * | 2005-11-01 | 2007-05-03 | Boss Gregory J | Methods, systems, and media to improve employee productivity using radio frequency identification |
US7685283B2 (en) | 2006-01-23 | 2010-03-23 | International Business Machiens Corporation | Method for modeling on-demand free pool of resources |
US20070174458A1 (en) * | 2006-01-23 | 2007-07-26 | Boyce Robert L Jr | Method for modeling on-demand free pool of resources |
US20070260499A1 (en) * | 2006-05-02 | 2007-11-08 | Microsoft Corporation | Visual workflow process notation and layout |
US8886553B2 (en) * | 2006-05-02 | 2014-11-11 | Microsoft Corporation | Visual workflow process notation and layout |
US20090228309A1 (en) * | 2006-12-05 | 2009-09-10 | Georges-Henri Moll | Method and system for optimizing business process management using mathematical programming techniques |
US20090158083A1 (en) * | 2007-12-17 | 2009-06-18 | Electronics And Telecommunications Research Institute | Cluster system and method for operating the same |
US20090228888A1 (en) * | 2008-03-10 | 2009-09-10 | Sun Microsystems, Inc. | Dynamic scheduling of application tasks in a distributed task based system |
US8276143B2 (en) * | 2008-03-10 | 2012-09-25 | Oracle America, Inc. | Dynamic scheduling of application tasks in a distributed task based system |
US8250579B2 (en) | 2008-06-27 | 2012-08-21 | Oracle America, Inc. | Method for stage-based cost analysis for task scheduling |
US20090328046A1 (en) * | 2008-06-27 | 2009-12-31 | Sun Microsystems, Inc. | Method for stage-based cost analysis for task scheduling |
US20100070315A1 (en) * | 2008-09-15 | 2010-03-18 | Roberto Francisco-Yi Lu | Methods and systems for optimizing production forecasts using statistically prioritized discrete modeling methodology |
US8856018B2 (en) | 2008-09-15 | 2014-10-07 | The Boeing Company | Methods and systems for optimizing production forecasts using statistically prioritized discrete modeling methodology |
US20100217418A1 (en) * | 2009-02-25 | 2010-08-26 | Siemens Aktiengesellschaft | Method and system for scheduling a manufacturing process |
US10640357B2 (en) | 2010-04-14 | 2020-05-05 | Restaurant Technology Inc. | Structural food preparation systems and methods |
US10073813B2 (en) | 2011-09-06 | 2018-09-11 | International Business Machines Corporation | Generating a mixed integer linear programming matrix from an annotated entity-relationship data model and a symbolic matrix |
US10373223B2 (en) | 2012-11-12 | 2019-08-06 | Restaurant Technology Inc. | System and method for receiving and managing remotely placed orders |
US20140136255A1 (en) * | 2012-11-14 | 2014-05-15 | Wal-Mart Stores, Inc. | Dynamic Task Management |
US20150046227A1 (en) * | 2013-08-12 | 2015-02-12 | Wal-Mart Stores, Inc. | Inventory deployment optimization apparatus and method |
US20150127412A1 (en) * | 2013-11-04 | 2015-05-07 | Amazon Technologies, Inc. | Workflow management system |
US20150278752A1 (en) * | 2014-03-28 | 2015-10-01 | Fujitsu Limited | Production schedule planning support method and production schedule planning support apparatus |
US11561996B2 (en) | 2014-11-24 | 2023-01-24 | Asana, Inc. | Continuously scrollable calendar user interface |
US10846297B2 (en) | 2014-11-24 | 2020-11-24 | Asana, Inc. | Client side system and method for search backed calendar user interface |
US10810222B2 (en) | 2014-11-24 | 2020-10-20 | Asana, Inc. | Continuously scrollable calendar user interface |
US11693875B2 (en) | 2014-11-24 | 2023-07-04 | Asana, Inc. | Client side system and method for search backed calendar user interface |
US11263228B2 (en) | 2014-11-24 | 2022-03-01 | Asana, Inc. | Continuously scrollable calendar user interface |
US10970299B2 (en) | 2014-11-24 | 2021-04-06 | Asana, Inc. | Client side system and method for search backed calendar user interface |
US10606859B2 (en) | 2014-11-24 | 2020-03-31 | Asana, Inc. | Client side system and method for search backed calendar user interface |
US10565535B2 (en) | 2014-12-10 | 2020-02-18 | Walmart Apollo, Llc | System having inventory allocation tool and method of using same |
CN104679593A (en) * | 2015-03-13 | 2015-06-03 | 浪潮集团有限公司 | Task scheduling optimization method based on SMP system |
CN104679593B (en) * | 2015-03-13 | 2017-12-01 | 浪潮集团有限公司 | Task scheduling optimization method based on SMP system |
US10438163B2 (en) | 2015-07-02 | 2019-10-08 | Walmart Apollo, Llc | System and method for affinity-based optimal assortment selection for inventory deployment |
US10048669B2 (en) * | 2016-02-03 | 2018-08-14 | Sap Se | Optimizing manufacturing schedule with time-dependent energy cost |
US10637964B2 (en) | 2016-11-23 | 2020-04-28 | Sap Se | Mutual reinforcement of edge devices with dynamic triggering conditions |
CN106708625A (en) * | 2016-12-08 | 2017-05-24 | 中国科学院软件研究所 | Minimum-cost maximum-flow based large-scale resource scheduling system and minimum-cost maximum-flow based large-scale resource scheduling method |
US20180225609A1 (en) * | 2017-02-03 | 2018-08-09 | Jasci LLC | Systems and methods for warehouse management |
US10803541B2 (en) * | 2017-02-03 | 2020-10-13 | Jasci LLC | Systems and methods for warehouse management |
US10839471B2 (en) * | 2017-02-03 | 2020-11-17 | Jasci LLC | Systems and methods for warehouse management |
US20180225795A1 (en) * | 2017-02-03 | 2018-08-09 | Jasci LLC | Systems and methods for warehouse management |
US20180357610A1 (en) * | 2017-06-12 | 2018-12-13 | Hefei University Of Technology | Method and system for collaborative scheduling of production and transportation based on shuffled frog leaping and path relinking algorithms |
US11610053B2 (en) | 2017-07-11 | 2023-03-21 | Asana, Inc. | Database model which provides management of custom fields and methods and apparatus therfor |
US11775745B2 (en) | 2017-07-11 | 2023-10-03 | Asana, Inc. | Database model which provides management of custom fields and methods and apparatus therfore |
US11687870B2 (en) | 2017-12-08 | 2023-06-27 | Capital One Services, Llc | Intelligence platform for scheduling product preparation and delivery |
US10963832B2 (en) | 2017-12-08 | 2021-03-30 | Capital One Services, Llc | Intelligence platform for scheduling product preparation and delivery |
US10163070B1 (en) | 2017-12-08 | 2018-12-25 | Capital One Services, Llc | Intelligence platform for scheduling product preparation and delivery |
US20210390487A1 (en) * | 2018-01-15 | 2021-12-16 | Nmetric, Llc | Genetic smartjobs scheduling engine |
US10841020B2 (en) | 2018-01-31 | 2020-11-17 | Sap Se | Online self-correction on multiple data streams in sensor networks |
US20240037500A1 (en) * | 2018-02-26 | 2024-02-01 | Walmart Apollo, Llc | Systems and methods for rush order fulfilment optimization |
US11695719B2 (en) | 2018-02-28 | 2023-07-04 | Asana, Inc. | Systems and methods for generating tasks based on chat sessions between users of a collaboration environment |
US11398998B2 (en) | 2018-02-28 | 2022-07-26 | Asana, Inc. | Systems and methods for generating tasks based on chat sessions between users of a collaboration environment |
US11956193B2 (en) | 2018-02-28 | 2024-04-09 | Asana, Inc. | Systems and methods for generating tasks based on chat sessions between users of a collaboration environment |
US11138021B1 (en) | 2018-04-02 | 2021-10-05 | Asana, Inc. | Systems and methods to facilitate task-specific workspaces for a collaboration work management platform |
US11720378B2 (en) | 2018-04-02 | 2023-08-08 | Asana, Inc. | Systems and methods to facilitate task-specific workspaces for a collaboration work management platform |
US11656754B2 (en) | 2018-04-04 | 2023-05-23 | Asana, Inc. | Systems and methods for preloading an amount of content based on user scrolling |
US10983685B2 (en) | 2018-04-04 | 2021-04-20 | Asana, Inc. | Systems and methods for preloading an amount of content based on user scrolling |
US11327645B2 (en) | 2018-04-04 | 2022-05-10 | Asana, Inc. | Systems and methods for preloading an amount of content based on user scrolling |
US10613735B1 (en) | 2018-04-04 | 2020-04-07 | Asana, Inc. | Systems and methods for preloading an amount of content based on user scrolling |
US20240104496A1 (en) * | 2018-04-20 | 2024-03-28 | Walmart Apollo, Llc | Systems and methods for dual optimization of pick walk and tote fill rates for order picking |
US11632260B2 (en) | 2018-06-08 | 2023-04-18 | Asana, Inc. | Systems and methods for providing a collaboration work management platform that facilitates differentiation between users in an overarching group and one or more subsets of individual users |
US11290296B2 (en) | 2018-06-08 | 2022-03-29 | Asana, Inc. | Systems and methods for providing a collaboration work management platform that facilitates differentiation between users in an overarching group and one or more subsets of individual users |
US10785046B1 (en) | 2018-06-08 | 2020-09-22 | Asana, Inc. | Systems and methods for providing a collaboration work management platform that facilitates differentiation between users in an overarching group and one or more subsets of individual users |
US11831457B2 (en) | 2018-06-08 | 2023-11-28 | Asana, Inc. | Systems and methods for providing a collaboration work management platform that facilitates differentiation between users in an overarching group and one or more subsets of individual users |
US12119949B2 (en) | 2018-06-08 | 2024-10-15 | Asana, Inc. | Systems and methods for providing a collaboration work management platform that facilitates differentiation between users in an overarching group and one or more subsets of individual users |
US11652762B2 (en) | 2018-10-17 | 2023-05-16 | Asana, Inc. | Systems and methods for generating and presenting graphical user interfaces |
US11943179B2 (en) | 2018-10-17 | 2024-03-26 | Asana, Inc. | Systems and methods for generating and presenting graphical user interfaces |
US11341444B2 (en) | 2018-12-06 | 2022-05-24 | Asana, Inc. | Systems and methods for generating prioritization models and predicting workflow prioritizations |
US11694140B2 (en) | 2018-12-06 | 2023-07-04 | Asana, Inc. | Systems and methods for generating prioritization models and predicting workflow prioritizations |
US12026648B2 (en) | 2018-12-06 | 2024-07-02 | Asana, Inc. | Systems and methods for generating prioritization models and predicting workflow prioritizations |
US10956845B1 (en) | 2018-12-06 | 2021-03-23 | Asana, Inc. | Systems and methods for generating prioritization models and predicting workflow prioritizations |
US11568366B1 (en) | 2018-12-18 | 2023-01-31 | Asana, Inc. | Systems and methods for generating status requests for units of work |
US11113667B1 (en) | 2018-12-18 | 2021-09-07 | Asana, Inc. | Systems and methods for providing a dashboard for a collaboration work management platform |
US12073363B2 (en) | 2018-12-18 | 2024-08-27 | Asana, Inc. | Systems and methods for providing a dashboard for a collaboration work management platform |
US11810074B2 (en) | 2018-12-18 | 2023-11-07 | Asana, Inc. | Systems and methods for providing a dashboard for a collaboration work management platform |
US11620615B2 (en) | 2018-12-18 | 2023-04-04 | Asana, Inc. | Systems and methods for providing a dashboard for a collaboration work management platform |
US11288081B2 (en) | 2019-01-08 | 2022-03-29 | Asana, Inc. | Systems and methods for determining and presenting a graphical user interface including template metrics |
US10922104B2 (en) | 2019-01-08 | 2021-02-16 | Asana, Inc. | Systems and methods for determining and presenting a graphical user interface including template metrics |
US10684870B1 (en) | 2019-01-08 | 2020-06-16 | Asana, Inc. | Systems and methods for determining and presenting a graphical user interface including template metrics |
US11782737B2 (en) | 2019-01-08 | 2023-10-10 | Asana, Inc. | Systems and methods for determining and presenting a graphical user interface including template metrics |
US11561677B2 (en) | 2019-01-09 | 2023-01-24 | Asana, Inc. | Systems and methods for generating and tracking hardcoded communications in a collaboration management platform |
US11341445B1 (en) | 2019-11-14 | 2022-05-24 | Asana, Inc. | Systems and methods to measure and visualize threshold of user workload |
US12026649B2 (en) | 2019-11-14 | 2024-07-02 | Asana, Inc. | Systems and methods to measure and visualize threshold of user workload |
US11783253B1 (en) | 2020-02-11 | 2023-10-10 | Asana, Inc. | Systems and methods to effectuate sets of automated actions outside and/or within a collaboration environment based on trigger events occurring outside and/or within the collaboration environment |
US11599855B1 (en) | 2020-02-14 | 2023-03-07 | Asana, Inc. | Systems and methods to attribute automated actions within a collaboration environment |
US11847613B2 (en) | 2020-02-14 | 2023-12-19 | Asana, Inc. | Systems and methods to attribute automated actions within a collaboration environment |
US11636432B2 (en) | 2020-06-29 | 2023-04-25 | Asana, Inc. | Systems and methods to measure and visualize workload for completing individual units of work |
US11455601B1 (en) | 2020-06-29 | 2022-09-27 | Asana, Inc. | Systems and methods to measure and visualize workload for completing individual units of work |
US11720858B2 (en) | 2020-07-21 | 2023-08-08 | Asana, Inc. | Systems and methods to facilitate user engagement with units of work assigned within a collaboration environment |
US11995611B2 (en) | 2020-07-21 | 2024-05-28 | Asana, Inc. | Systems and methods to facilitate user engagement with units of work assigned within a collaboration environment |
US11568339B2 (en) | 2020-08-18 | 2023-01-31 | Asana, Inc. | Systems and methods to characterize units of work based on business objectives |
US11734625B2 (en) | 2020-08-18 | 2023-08-22 | Asana, Inc. | Systems and methods to characterize units of work based on business objectives |
US12045750B2 (en) | 2020-08-18 | 2024-07-23 | Asana, Inc. | Systems and methods to characterize units of work based on business objectives |
US12039497B2 (en) | 2020-11-23 | 2024-07-16 | Asana, Inc. | Systems and methods to provide measures of user workload when generating units of work based on chat sessions between users of a collaboration environment |
US11769115B1 (en) | 2020-11-23 | 2023-09-26 | Asana, Inc. | Systems and methods to provide measures of user workload when generating units of work based on chat sessions between users of a collaboration environment |
US11902344B2 (en) | 2020-12-02 | 2024-02-13 | Asana, Inc. | Systems and methods to present views of records in chat sessions between users of a collaboration environment |
US11405435B1 (en) | 2020-12-02 | 2022-08-02 | Asana, Inc. | Systems and methods to present views of records in chat sessions between users of a collaboration environment |
US11694162B1 (en) | 2021-04-01 | 2023-07-04 | Asana, Inc. | Systems and methods to recommend templates for project-level graphical user interfaces within a collaboration environment |
US11676107B1 (en) | 2021-04-14 | 2023-06-13 | Asana, Inc. | Systems and methods to facilitate interaction with a collaboration environment based on assignment of project-level roles |
US11553045B1 (en) | 2021-04-29 | 2023-01-10 | Asana, Inc. | Systems and methods to automatically update status of projects within a collaboration environment |
US12028420B2 (en) | 2021-04-29 | 2024-07-02 | Asana, Inc. | Systems and methods to automatically update status of projects within a collaboration environment |
US11803814B1 (en) | 2021-05-07 | 2023-10-31 | Asana, Inc. | Systems and methods to facilitate nesting of portfolios within a collaboration environment |
US11792028B1 (en) | 2021-05-13 | 2023-10-17 | Asana, Inc. | Systems and methods to link meetings with units of work of a collaboration environment |
US11809222B1 (en) | 2021-05-24 | 2023-11-07 | Asana, Inc. | Systems and methods to generate units of work within a collaboration environment based on selection of text |
US12093859B1 (en) | 2021-06-02 | 2024-09-17 | Asana, Inc. | Systems and methods to measure and visualize workload for individual users |
US11756000B2 (en) | 2021-09-08 | 2023-09-12 | Asana, Inc. | Systems and methods to effectuate sets of automated actions within a collaboration environment including embedded third-party content based on trigger events |
US11635884B1 (en) | 2021-10-11 | 2023-04-25 | Asana, Inc. | Systems and methods to provide personalized graphical user interfaces within a collaboration environment |
US12039158B2 (en) | 2021-10-11 | 2024-07-16 | Asana, Inc. | Systems and methods to provide personalized graphical user interfaces within a collaboration environment |
US12093896B1 (en) | 2022-01-10 | 2024-09-17 | Asana, Inc. | Systems and methods to prioritize resources of projects within a collaboration environment |
US11997425B1 (en) | 2022-02-17 | 2024-05-28 | Asana, Inc. | Systems and methods to generate correspondences between portions of recorded audio content and records of a collaboration environment |
US11836681B1 (en) | 2022-02-17 | 2023-12-05 | Asana, Inc. | Systems and methods to generate records within a collaboration environment |
US12118514B1 (en) | 2022-02-17 | 2024-10-15 | Asana, Inc. | Systems and methods to generate records within a collaboration environment based on a machine learning model trained from a text corpus |
US12051045B1 (en) | 2022-04-28 | 2024-07-30 | Asana, Inc. | Systems and methods to characterize work unit records of a collaboration environment based on stages within a workflow |
US11863601B1 (en) | 2022-11-18 | 2024-01-02 | Asana, Inc. | Systems and methods to execute branching automation schemes in a collaboration environment |
US12124997B2 (en) | 2023-08-22 | 2024-10-22 | Asana, Inc. | Systems and methods to facilitate nesting of portfolios within a collaboration environment |
US12124998B2 (en) | 2023-09-28 | 2024-10-22 | Asana, Inc. | Systems and methods to generate records within a collaboration environment |
Also Published As
Publication number | Publication date |
---|---|
EP0300456A3 (en) | 1990-08-08 |
EP0300456A2 (en) | 1989-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5524077A (en) | Scheduling method and system | |
US6049742A (en) | Projected supply planning matching assets with demand in microelectronics manufacturing | |
Bruno et al. | A rule-based system to schedule production | |
US5943484A (en) | Advanced material requirements planning in microelectronics manufacturing | |
US7532945B2 (en) | Data model for supply chain planning | |
US6041267A (en) | Method to provide common support for multiple types of solvers for matching assets with demand in microelectronics manufacturing | |
US6119102A (en) | MRP system with viewable master production schedule | |
US7860737B2 (en) | Constraint-based production planning and scheduling | |
US5594639A (en) | Order processing control module | |
US7945466B2 (en) | Scheduling system | |
US7502747B1 (en) | Automated job scheduling based on resource availability | |
US20020062239A1 (en) | Program planning management system | |
US20030208392A1 (en) | Optimizing resource plans | |
MXPA01002771A (en) | Computer-implemented product development planning method. | |
JPH09153090A (en) | Method and device for forming working process production plan | |
JPH07325861A (en) | Method and system for change of project model | |
Karumanasseri et al. | Decision support system for scheduling steel fabrication projects | |
JPH09259178A (en) | Process control system | |
Arsovski et al. | The integrating role of simulation in modern manufacturing planning and scheduling | |
Paolucci et al. | An Agent-based system for sales and operations planning in manufacturing supply chains | |
Turksen et al. | Fuzzy expert system shell for scheduling | |
Khoong et al. | ROMAN: An integrated approach to manpower planning and scheduling | |
Ranky | A real-time, rule-based FMS operation control strategy in CIM environment–Part II | |
JP3610681B2 (en) | Production planning method and production planning system | |
Chang et al. | A very fast production scheduler |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
CC | Certificate of correction | ||
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
FPAY | Fee payment |
Year of fee payment: 12 |
|
REMI | Maintenance fee reminder mailed |