Method of assigning a set of resources to multiple agents

Abstract
A method of assigning a set of resources to multiple agents using the resources, including an initial stage, consisting in setting up a collaborative network between agents, which expresses all the relations between agents liable to share at least one given resource through one or more coordinated actions, the network evaluating a degree of satisfaction for each agent according to all the validity verdicts ascribed by each agent to the relations in which they are engaged, and a resolution stage including a series of iterative basic stages during which each agent: perceives a satisfaction rating ascribed to each relation by all the agents linked by the relation, alters the satisfaction rating, and validates or invalidates the relation in question, wherein the series of basic stages continues until a predefined state of resolution is achieved.
Description

DESCRIPTION OF THE FIGURES

The manner in which the invention is implemented and its attendant advantages will become clear in the following description of the implementation method, reference being made to the appended figures, in which:



FIG. 1 is a set of timing diagrams illustrating the occupancy of several production machines by various production tasks considered as agents.



FIG. 2 is a graph illustrating the links between the different agents.



FIG. 3 is a set of timing diagrams showing the exchanges between the various tasks shown in FIG. 2.



FIG. 4 is a set of timing diagrams showing the results of the invention's resolution process.



FIGS. 5
a to 5d are representations of a tree forming part of a collaborative network between agents, which show the various stages of the resolution process.



FIG. 6 is a simplified organization chart showing the invention's various stages.





DESCRIPTION OF A FULFILLMENT METHOD

As we have already seen, the invention concerns a process whereby negotiations between different agents needing to share critical resources can be organized. This process applies to numerous applications, and the example described below, given purely for illustrative purposes, in no way limits the scope of the invention.


By the same token, the production planning example in question has been highly simplified to make the invention easier to understand, but needless to say, the benefits of the latter naturally reside in the solving of much more complex problems.


In the case illustrated by the industrial process scheduling figures, the various tasks to be accomplished are defined as “agents” needing to share common “resources”, namely the uptime of a machine on which the tasks need to be performed. The two top timing diagrams in FIG. 1 show the machine time required by tasks T1 and T2 respectively on machines M1 and M2. The tasks may vary in length and in sequencing constraints, a factor we have not illustrated for the sake of clarity, but such variable can be included in the process. As shown, task T1 is preceded by task V1, deemed an empty (or vacant) task, which represents machine downtime (vacancy). Similarly, a task V2 follows task T2 performed by machine M2. Before and after these tasks T1, T2, V1, V2, the machines are busy and cannot perform other tasks. The bottom part of FIG. 1 shows two tasks T3 and T4 of different lengths, which can be performed on machines M1 or M2.


In the initial state, before the invention's process is applied, tasks T1 and T2 are scheduled with a certain time lag, and the production goal is to allow tasks T2 and T3 to be performed on machines M1 and M2.


Among the additional constraints or aims of the example is the fact that task T4 can only be executed on machine M2, whereas task T3 may be executed equally on either of the machines M1 or M2.


In accordance with the invention, the first stage consists in setting up a collaborative network between the various agents liable to share a common resource. In this instance, tasks T1-T4 are likely to share the common uptime resource of machines M1 and M2. The collaborative network is formed by listing the possibilities of exchanging a given resource between tasks, in other words switching the uptimes of machine M1 or M2. In this way, the network expresses all the relations between agents, and constitutes an infrastructure whereby the various agents will express their satisfaction rating in respect of each switchover during the negotiations.



FIG. 2 illustrates the various possible movements with regard to the configuration shown in FIG. 1. Each agent, namely tasks T1-T4 as well as the empty tasks V1 and V2, is linked to other tasks, which means they can exchange their execution schedules on one of the machines M1, M2. More precisely, its links are illustrated by the Δ symbol. The summit of the triangle points to the agent, namely the task whose place will be taken by the other agent connected by the same link. For instance, relation R1 indicates that task T4 can take place instead of task V2, because both tasks V2-T4 are connected via the network. Each tree in the network, the origin of which is an agent, may have several branches. Branches J, symbolized by simple nodes, namely without any additional graphic symbol, are alternative conditions, in other words logical “OR”s. The J3 junctions or nodes, shown as double arcs of a circle, are cumulative conditions, namely logical “AND”s. Relations R2 and R3 indicate that tasks T1 and T3 can take the place of empty task V2. As for task T1, one can choose between it taking the place of task V2, via relation R2, or even that of task T2 via relation R4 if, by virtue of the cumulative condition of J3, task T3 takes the place of task T1 via relation R6. Similarly, task T2 can take the place of task V1 via relation R5, if task T1 replaces task T2 via relation R4.


Naturally, agents may be linked by other relations to other agents, who are not shown inasmuch as they play no part in resolving the particular problem of planning execution of the four tasks T1-T4. Furthermore, for this type of problem, one could show certain time constraints between the tasks to be assigned to the machines.


As shown in FIG. 6, the next stage consists in performing an iterative resolution process S2, S3, S4 in which each agent perceives the satisfaction rating ascribed to each relation by the other agents with a view to altering and either validating or invalidating the relation in question.


In this resolution process, an iterative succession of stages is performed, in which each agent perceives his satisfaction rating S2, according to the validity verdicts on the various relations he is part of, and which make up the leaves of the tree of which he is the root. More precisely, the various basic stages unfold in a cycle shown in FIGS. 5 to 5d. At the initial stage, each agent A (symbolized by a square) perceives the satisfaction rating ascribed to each relation by all the agents linked to this relation. So, as can be seen in FIG. 5a, each relation R is represented by an extremity (symbolized by a circle) of the tree, to which a numeric value is assigned.


At each node J10, J11, J12 of this tree, a calculation is performed according to the downstream nodes and/or extremities, involving a mass of variables, such as the detection of minimums, maximums or mean values. In the instance shown in FIG. 5b, each “and”-type node J10, J11 is assigned the mean value of the values at the extremities of the downstream branches. This corresponds to stage S3 in FIG. 6. Similarly, the “or”-type nodes J12 are assigned the maximum value of the values at the downstream nodes and extremities. Of course the invention also covers other variants, in which the numeric values, which may be weighted, can be computed differently. More generally, satisfaction ratings may be expressed as codes that are not necessarily numeric.


Subsequently, each agent performs an action on the tree of which he is the origin, by selecting certain contracts that can satisfy him, marking his environment to encourage reciprocal selection of the contracts, in other words by issuing a valid verdict, according to stage S4 of FIG. 6. In practice, the two stages S3 and S4 can be executed simultaneously.


So, as FIG. 5c shows, each agent first selects the sub-trees having the highest values, and in doing so increases the satisfaction rating of each of the tree's leaves, symbolized by ⊕, decreasing that of the other branches accordingly (symbolized by ⊖)). So, for “or” nodes, the downstream branch B12 with the highest rating sees its rating increased and propagate. Conversely, the “and”-type J11 nodes see their branches' satisfaction ratings increase or decrease.


Furthermore, as shown in FIG. 5c, the contracts (or satisfactory relations) are validated by the agent in question, who in so doing informs his environment of his preferences regarding the sharing of critical resources. In FIGS. 5c and 5d, the contracts or relations validated by the agent are symbolized by a solid black circle.


At each cycle, each agent thus perceives the validation verdicts for the relations matching the nodes of potential collaboration with other agents and, as explained earlier, marks his environment according to the selections he prefers.


This sequence of stages S2, S3, S4 continues until overall resolution is achieved according to test S5.


As shown in FIG. 3, the resolution process applied to the example in FIGS. 1 and 2 leads to the validation of relations R1, R4, R5 and R6, in such a manner that task T3 will replace task T1 which in turn will replace task T2 on machine M2, which will therefore take the place of empty task V1 on machine M1. Task T4 will be assigned to take the place of empty task V2 on machine M2, so as to achieve the organizational configuration shown in FIG. 4.


The resolution as described above reinforces links having high satisfaction ratings. However, in a manner not illustrated herein, a fraction of near-random behaviour can be instilled into the resolution process with a view to encouraging the emergence of solutions that are in theory incompatible with a would-be satisfactory solution, but only locally; in which case, satisfaction ratings computed using a determinist law (by calculating a maximum or minimum value, for instance) may be upset by a random law. This could for instance consist in randomly selecting one of the sub-trees that would not have been selected by the determinist law. This approach favours an exploratory process aimed at averting the deadlocks arising when satisfactory solutions appear only locally rather than globally.


As we have demonstrated, the invention presents numerous advantages, inasmuch as it allows complex exchanges between multiple agents through negotiations supported by the environment, commonly termed stigmergic negotiations; indeed, rather than negotiating directly with one another, the agents negotiate by marking their local environment, in other words by issuing satisfaction ratings and validity verdicts. This type of stigmergic communication can be likened to that of social insects, which communicate by marking their environment, for instance through chemical structures such as pheromones. This process proves to be advantageous insofar as it can be adapted to many situations and applied to different types of systems to determine a satisfactory solution (or solutions if they exist) from a global standpoint.


The invention can be used to work out complex solutions to difficult problems, problems that are still hard to resolve through other MAS approaches. Thanks to this invention, the robust, flexible and decentralized features specific to multiagent systems can therefore be used for critical resource sharing problems.


One advantage of the invention is that it proposes a generic approach. The collaborative network can be used to represent a wide variety of critical resource sharing problems, which can be resolved on the basis of the same agent behaviours thanks to the system's capacity to organize itself.

Claims
  • 1. A method of assigning a set of resources to multiple agents using the said resources, comprising: an initial stage, consisting in setting up a collaborative network between agents, the said network expressing all the relations between agents liable to share at least one given resource through one or more coordinated actions, the said network evaluating a degree of satisfaction for each agent according to all the validity verdicts ascribed by each agent to the relations in which they are engaged;a resolution stage, comprising a series of iterative basic stages during which each agent: perceives a satisfaction rating ascribed to each relation by all the agents linked by the said relation;alters the said satisfaction rating;validates or invalidates the relation in question,the series of basic stages continuing until predefined state of resolution is achieved.
  • 2. A method as claimed in claim 1 whereby the collaborative network is represented by a heterogeneous graph, each agent being associated with a tree of which he is the origin.
  • 3. A method as claimed in claim 2 whereby the trees of the different agents are interlinked through their leaves.
  • 4. A method as claimed in claim 1 whereby satisfaction ratings evolve according to a determinist function of the perceived degrees of satisfaction.
  • 5. A method as claimed in claim 1 whereby evolving satisfaction ratings reinforce the positive validity ascribed to the relation in question.
  • 6. A method as claimed in claim 1 whereby satisfaction ratings evolve through a function that includes a random factor.
  • 7. A method as claimed in claim 1 whereby satisfaction ratings evolve according to a law based on assignment aims.
  • 8. A method as claimed in claim 7 whereby the law evolves over time.
  • 9. A method as claimed in claim 1 whereby one detects subsets of agents, all linked by relations showing positive validity verdicts for all the agents linked by the said relation.
  • 10. A method as claimed in claim 1 whereby a predetermined degree of resolution is achieved by executing a predetermined number of basic stages.
  • 11. A method as claimed in claim 1 whereby a predetermined degree of resolution is achieved when a predetermined length of time has elapsed.
  • 12. A method as claimed in claim 1 whereby a predetermined degree of resolution corresponds to an evaluation of the positive satisfaction rating of a predefined fraction of agents.