IP Library › Granted Patent US 10,802,876
Granted Patent B2
US 10,802,876 · App. 13/899,982 · Granted Oct 13, 2020

Multiprocessor scheduling policy with deadline constraint for determining multi-agent schedule for a plurality of agents

Inventors: Julie Ann Shah (Boston, MA); Matthew Craig Gombolay (Cambridge, MA)
Assignee: Massachusetts Institute of Technology
G06F9/4887G06F9/4881G06F9/5066G06F2209/483G06F2209/484G06F2209/485
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,802,876
App. No.
13/899,982
Granted
Oct 13, 2020
Kind
B2
Abstract

A method of determining a multi-agent schedule includes defining a well-formed, non-preemptive task set that includes a plurality of tasks, with each task having at least one subtask. Each subtask is associated with at least one resource required for performing that subtask. In accordance with the method, an allocation, which assigns each task in the task set to an agent, is received and a determination is made, based on the task set and the allocation, as to whether a subtask in the task set is schedulable at a specific time. A system for implementing the method is also provided.

Claims (34)

1. A computer-implemented method of determining a multi-agent schedule for a plurality of agents, the method comprising:

receiving a well-formed, non-preemptive task set comprising a plurality of tasks, each task of the plurality of tasks having at least one subtask, each subtask having an associated resource required for performing that subtask, wherein a subplurality of the plurality of tasks in the task set each have multiple self- suspensions, and wherein at least one of the resources required for performing one of the subtasks is required for performing another one of the subtasks;

receiving an allocation of at least one or more tasks in the task set, wherein the allocation specifies, for each task in the task set, a mapping of the task to a respective agent in the plurality of agents;

determining, based on the received at least one or more tasks and the allocation, whether a first subtask in the at least one or more tasks is schedulable at a specific time by:

determining whether execution of the first subtask at the specific time will result in missing a deadline for completion of different subtasks in the at least one or more tasks during an interval of time defined by an execution start time and an execution finish time of the first subtask, by determining whether a cost of the first subtask is less than or equal to (i) processor slack of all active deadlines with the different subtasks in the at least one or more tasks requiring a processor associated with the processor slack and (ii) resource slack of all active deadlines with the different subtasks in the at least one or more tasks requiring a resource associated with the resource slack; and

determining whether activating a deadline for completion of the first subtask will result in missing a deadline for completion of the different subtasks in the at least one or more tasks during an interval of time defined by the execution finish time of the first subtask and the deadline for completion of the first subtask, by determining whether a subset of subtasks in the at least one or more tasks can be nested among respective active deadline constraints with the subset of subtasks for processors and resources required to execute the subset of subtasks, wherein the subset of subtasks in the at least one or more tasks includes the first subtask and the different subtasks; and

in response to determining that the first subtask in the at least one or more tasks is schedulable at the specific time:

generating a substantially optimal multi-agent task sequence based on the at least one or more tasks in the task set and the allocation such that a makespan of the substantially optimal multi-agent task sequence is within 10% of a minimum makespan of the at least one or more tasks in the task set when optimally scheduled; and

configuring the plurality of agents to perform the subset of subtasks in the at least one or more tasks in the task set according to the substantially optimal multi-agent task sequence.

2. The method of claim 1 , wherein at least two of the plurality of tasks in the task set are related by at least one of a precedence constraint, a wait constraint, and a deadline constraint.

3. The method of claim 2 , wherein at least one of the plurality of tasks in the task set comprises an intra-task deadline constraint.

4. The method of claim 1 , wherein the task set further comprises an upper bound temporal deadline for completion of the task set, and wherein the generated substantially optimal multi-agent task sequence satisfies the upper bound temporal deadline.

5. The method of claim 1 , wherein the substantially optimal multi-agent task sequence is generated in polynomial time.

6. The method of claim 1 , wherein the generated substantially optimal multi-agent task sequence comprises at least one flexible time window during which a particular task within the generated substantially optimal multi-agent task sequence may be executed.

7. The method of claim 1 , wherein the agents comprise robotic agents and wherein the at least one resource comprises physical space.

8. The method of claim 1 , wherein generating the substantially optimal multi-agent task sequence comprises attempting, for each agent in the plurality of agents, to schedule subtasks in the at least one or more tasks allocated to the agent based on a proximity of the agent to respective physical locations at which the subtasks are performed.

9. A system for determining a multi-agent schedule for a plurality of agents, the system comprising:

at least one memory for storing computer-executable instructions; and

at least one processing unit for executing the instructions, wherein execution of the instructions causes the at least one processing unit to:

receive a well-formed, non-preemptive task set comprising a plurality of tasks, each task of the plurality of tasks having at least one subtask, each subtask having an associated resource required for performing that subtask, wherein a subplurality of the plurality of tasks in the task set each have multiple self-suspensions, and wherein at least one of the resources required for performing one of the subtasks is required for performing another one of the subtasks;

receive an allocation of at least one or more tasks in the task set, wherein the allocation specifies, for each task in the task set, a mapping of the task to a respective agent in the plurality of agents;

determine, based on the received at least one or more tasks and the allocation, whether a first subtask in the at least one or more tasks is schedulable at a specific time by:

determining whether execution of the first subtask at the specific time will result in missing a deadline for completion of different subtasks in the at least one or more tasks during an interval of time defined by an execution start time and an execution finish time of the first subtask, by determining whether a cost of the first subtask is less than or equal to (i) processor slack of all active deadlines with the different subtasks in the at least one or more tasks requiring a processor associated with the processor slack and (ii) resource slack of all active deadlines with the different subtasks in the at least one or more tasks requiring a resource associated with the resource slack; and

determining whether activating a deadline for completion of the first subtask will result in missing a deadline for completion of the different subtasks in the at least one or more tasks during an interval of time defined by the execution finish time of the first subtask and the deadline for completion of the first subtask, by determining whether a subset of subtasks in the at least one or more tasks can be nested among respective active deadline constraints with the subset of subtasks for processors and resources required to execute the subset of subtasks, wherein the subset of subtasks in the at least one or more tasks includes the first subtask and the different subtasks; and

in response to determining that the first subtask in the at least one or more tasks is schedulable at the specific time:

generate a substantially optimal multi-agent task based on the at least one or more tasks in the task set and the allocation such that a makespan of the substantially optimal multi-agent task sequence is within 10% of a minimum makespan of the at least one or more tasks in the task set when optimally scheduled; and

configure the plurality of agents to perform the subset of subtasks in the at least one or more tasks in the task set according to the substantially optimal multi-agent task sequence.

10. The system of claim 9 , wherein at least two of the plurality of tasks in the task set are related by at least one of a precedence constraint, a wait constraint, and a deadline constraint.

11. The system of claim 10 , wherein at least one of the plurality of tasks in the task set comprises an intra-task deadline constraint.

12. The system of claim 9 , wherein the task set further comprises an upper bound temporal deadline for completion of the task set, and wherein the generated substantially optimal multi-agent task sequence satisfies the upper bound temporal deadline.

13. The system of claim 9 , wherein the at least one processing unit, in executing the instructions, is configured to generate the substantially optimal multi-agent task sequence in polynomial time.

14. The system of claim 9 , wherein the generated substantially optimal multi-agent task sequence comprises at least one flexible time window during which a particular task within the generated substantially optimal multi-agent task sequence may be executed.

15. The system of claim 9 , wherein the agents comprise robotic agents and wherein the at least one resource comprises physical space.

16. The system of claim 9 , wherein the at least one processing unit generates the substantially optimal multi-agent task sequence by attempting, for each agent in the plurality of agents, to schedule subtasks in the at least one or more tasks allocated to the agent based on a proximity of the agent to respective physical locations at which the subtasks are performed.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 16, 2013
From: SHAH, JULIE A.; GOMBOLAY, MATTHEW C.
To: MASSACHUSETTS INSTITUTE OF TECHNOLOGY
Reel/Frame 030805/0034 →
Continuity (1)
Related Publication 20140351819A1 · Nov 27, 2014