| CPC G06F 9/4887 (2013.01) [G06F 9/48 (2013.01); G06F 9/4806 (2013.01); G06F 9/4843 (2013.01); G06F 9/4881 (2013.01); G06F 9/50 (2013.01); G06F 9/5005 (2013.01); G06F 9/5027 (2013.01); G06F 9/5038 (2013.01)] | 15 Claims |

|
1. A processor-implemented method, comprising:
receiving, via one or more hardware processors, a set of tasks to be allocated to a multi-agent fleet comprising a plurality of heterogeneous agents, wherein each task from the set of tasks is characterized by an execution time of the task being performed by an agent from the plurality of heterogeneous agents, a corresponding predefined deadline and a corresponding predefined penalty for missing the corresponding predefined deadline, and wherein the execution time of the task is a function of one or more task specific parameters, one or more static agent specific parameters and one or more dynamic agent specific parameters;
obtaining, via the one or more hardware processors, a first task list by sorting the set of tasks based on the corresponding predefined deadline and the corresponding predefined penalty for missing the corresponding predefined deadline;
selecting, via the one or more hardware processors, a first task from the first task list such that the corresponding predefined penalty of the first task is maximum in comparison to the corresponding predefined penalties of one or more remaining tasks in the first task list to perform one of:
(i) iterating the first task on the plurality of heterogeneous agents to identify a first set of agents such that the first task is schedulable on the first set of agents without missing the corresponding predefined deadline when executed from a current location to a second location through a first location, and
(ii) selecting an agent from the first set of agents to allocate the first task based on a minimum slack value based selection criterion, wherein the slack value is a function of an agent speed and indicates a gap between the corresponding predefined deadline of the first task and an end time of each of a plurality of tasks being executed by the selected agent; or
(a) adding the first task to a second task list when the first task is non-schedulable on the plurality of heterogeneous agents without missing the corresponding predefined deadline, wherein the second task list is a subset of the first task list;
iteratively performing previous step for each task in the first task list to obtain a first task allocation sequence;
scheduling, via the one or more hardware processors, each task from the second task list to the plurality of heterogeneous agents such that a minimum penalty out of the corresponding predefined penalties is incurred and a second task allocation sequence is obtained;
detecting, via the one or more hardware processors, a delay in execution of a plurality of tasks to determine a status indicative of missing the corresponding predefined deadline or not missing the corresponding predefined deadline by corresponding agents during execution of the plurality of tasks; wherein when there are no additional deadline misses, dynamic task scheduling process proceeds without changes; and
dynamically creating, via the one or more hardware processors, based on the status indicative of missing the corresponding predefined deadline, a new schedule by performing one of:
(a) determining whether each of the plurality of tasks being executed by the corresponding agents missing the corresponding predefined deadline is reschedulable at a position on the second task allocation sequence that is different from a previous position of the corresponding agents on the second task allocation sequence while incurring lesser penalty in comparison to the corresponding predefined penalty, and
swapping each of the plurality of tasks being executed by the corresponding agents missing the corresponding predefined deadline with a second task scheduled on the corresponding agents; or
(i) determining whether each of the plurality of tasks being executed by the corresponding agents missing the corresponding predefined deadline is reschedulable on an agent from the plurality of heterogeneous agents that is different from the corresponding agent while incurring lesser penalty in comparison to the corresponding predefined penalty,
allocating each of the plurality of tasks to the agent from the plurality of heterogeneous agents that is different from the corresponding agent,
determining when the delay is detected on an agent and a task is identified as missing the corresponding predefined deadline;
calculating a penalty for missing the deadline;
checking possibility of switching task with another task on the agent such that penalty incurred is less than the corresponding predefined penalty ; and
switching tasks and creating the new schedule, when there exists possibility of switching task with another task; or
mapping the task identified as missing to a new agent and the new schedule is created.
|