FR2996655A1 - Computer-implemented method for regrouping ordered initial list of elementary tasks, involves pre-selecting modified lists of elementary tasks satisfying predetermined criteria, and selecting final list from modified lists - Google Patents
Computer-implemented method for regrouping ordered initial list of elementary tasks, involves pre-selecting modified lists of elementary tasks satisfying predetermined criteria, and selecting final list from modified lists Download PDFInfo
- Publication number
- FR2996655A1 FR2996655A1 FR1202686A FR1202686A FR2996655A1 FR 2996655 A1 FR2996655 A1 FR 2996655A1 FR 1202686 A FR1202686 A FR 1202686A FR 1202686 A FR1202686 A FR 1202686A FR 2996655 A1 FR2996655 A1 FR 2996655A1
- Authority
- FR
- France
- Prior art keywords
- list
- elementary
- tasks
- modified
- task
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
Ce procédé assisté par ordinateur de réordonnancement d'une liste initiale ordonnée de tâches élémentaires, à exécuter à l'aide de ressources, en une liste finale réordonnée de tâches élémentaires, comprend les étapes suivantes : - le regroupement (20) des tâches élémentaires de la liste initiale en processus, chaque processus étant formé d'une sous-liste ordonnée de tâches élémentaires, chaque tâche élémentaire appartenant à un processus, les processus étant indépendants, - le regroupement (24) des tâches élémentaires en files d'attente, chaque file d'attente étant associée à une ressource respective et formée d'une sous-liste ordonnée de tâches élémentaires à exécuter à l'aide de cette ressource, - la présélection (28) d'une pluralité de listes modifiées de tâches élémentaires satisfaisant un critère de présélection prédéterminé, par application d'un premier algorithme prédéterminé à la liste initiale, chaque liste modifiée reprenant les tâches élémentaires de la liste initiale dans un ordre différent, et - la sélection (30) de la liste finale parmi les listes modifiées par application d'un deuxième algorithme prédéterminé à l'ensemble des listes modifiées.This computer-assisted method of reordering an ordered initial list of elementary tasks, to be executed using resources, into a final reordered list of elementary tasks, comprises the following steps: - grouping (20) the elementary tasks of the initial list in process, each process consisting of an ordered sub-list of elementary tasks, each elementary task belonging to a process, the processes being independent, - the grouping (24) of the elementary tasks into queues, each queue being associated with a respective resource and formed of an ordered sub-list of elementary tasks to be executed using this resource; - preselecting (28) a plurality of modified lists of elementary tasks satisfying a predetermined pre-selection criterion, by applying a first predetermined algorithm to the initial list, each modified list ee taking the basic tasks of the initial list in a different order, and - selecting (30) the final list from the lists modified by application of a second predetermined algorithm to all the modified lists.
Description
Procédé de réordonnancement d'une liste initiale ordonnée de tâches en une liste finale ordonnée de tâches La présente invention concerne le domaine de la planification de tâches et le sous-domaine de la conduite de plan, c'est-à-dire la phase de contrôle de l'exécution d'une liste de tâches qui avait été calculée auparavant. La présente invention concerne plus particulièrement un procédé mis en oeuvre par ordinateur de réordonnancement d'une liste initiale ordonnée de tâches élémentaires, à exécuter à l'aide de ressources, en une liste finale réordonnée de tâches élémentaires. D'une manière générale, un tel procédé est mis en oeuvre lorsque l'exécution de la liste initiale de tâches élémentaires est interrompue suite à la survenue d'un événement imprévu, par exemple lorsqu'une ressource devient inopérante ou encore lorsqu'il s'avère qu'une tâche élémentaire non encore exécutée risque de durer plus longtemps que prévu. Un tel procédé permet alors de replanifier l'ensemble des tâches élémentaires restant à exécuter, de manière à obtenir une nouvelle liste ordonnée de tâches élémentaires. La durée totale de la nouvelle liste est alors optimisée par rapport à la durée totale de la liste initiale, recalculée après la survenue de l'événement. Il est possible de réordonnancer en utilisant la modélisation ayant servi au calcul de la liste initiale afin de calculer la nouvelle liste ordonnée. Si de tels procédés permettent généralement d'obtenir une nouvelle liste ordonnée de tâches élémentaires de durée minimisée, ils ne permettent toutefois pas de limiter les différences entre la liste initiale et la nouvelle liste. De ce fait, l'organisation des ressources nécessaires à l'exécution des tâches élémentaires est susceptible d'être fortement perturbée. Ceci n'est pas satisfaisant, en particulier du point de vue de l'organisation des éventuelles ressources humaines intervenant pour la conduite du plan.The present invention relates to the field of task scheduling and the sub-domain of plan management, that is, the phase of scheduling of tasks. control of the execution of a task list that was previously calculated. More particularly, the present invention relates to a computer-implemented method of reordering an ordered initial list of elementary tasks, to be executed using resources, into a final reordered list of elementary tasks. In general, such a method is implemented when the execution of the initial list of elementary tasks is interrupted following the occurrence of an unforeseen event, for example when a resource becomes inoperative or when it becomes unavailable. proves that an elementary task not yet performed may last longer than expected. Such a method then makes it possible to reschedule all the elementary tasks remaining to be executed, so as to obtain a new ordered list of elementary tasks. The total duration of the new list is then optimized with respect to the total duration of the initial list, recalculated after the occurrence of the event. It is possible to reschedule using the modeling used to calculate the initial list to calculate the new ordered list. While such methods generally make it possible to obtain a new ordered list of elementary tasks of minimized duration, they do not however make it possible to limit the differences between the initial list and the new list. As a result, the organization of the resources needed to perform the basic tasks is likely to be highly disturbed. This is unsatisfactory, especially from the point of view of the organization of any human resources involved in the conduct of the plan.
Un but de l'invention est donc de proposer un procédé de réordonnancement d'une liste initiale ordonnée de tâches élémentaires en une liste finale réordonnée des tâches permettant de limiter les différences entre la liste initiale et la liste finale, tout en assurant une minimisation de la durée d'exécution de la liste finale. A cet effet, l'invention a pour objet un procédé, mis en oeuvre par ordinateur, de réordonnancement d'une liste initiale ordonnée de tâches élémentaires, à exécuter à l'aide de ressources, en une liste finale réordonnée de tâches élémentaires, les ressources étant non partageables et étant regroupées en classes de ressources, chaque tâche élémentaire étant exécutable par chaque ressource d'une même classe, chaque tâche élémentaire étant associée dans la liste initiale à une ressource, caractérisé en ce qu'il comprend les étapes suivantes : - le regroupement des tâches élémentaires de la liste initiale en processus, chaque processus étant formé d'une sous-liste ordonnée de tâches élémentaires, chaque tâche élémentaire appartenant à un processus, les processus étant indépendants, - le regroupement des tâches élémentaires en files d'attente, chaque file d'attente étant associée à une ressource respective et formée d'une sous-liste ordonnée de tâches élémentaires à exécuter à l'aide de cette ressource, - la présélection d'une pluralité de listes modifiées de tâches élémentaires satisfaisant un critère de présélection prédéterminé, par application d'un premier algorithme prédéterminé à la liste initiale, chaque liste modifiée reprenant les tâches élémentaires de la liste initiale dans un ordre différent, et - la sélection de la liste finale parmi les listes modifiées par application d'un deuxième algorithme prédéterminé à l'ensemble des listes modifiées. Avantageusement, le procédé de réordonnancement selon l'invention prend en compte des incertitudes potentielles sur la durée des tâches élémentaires.An object of the invention is therefore to propose a method of reordering an initial ordered list of elementary tasks into a final reordered list of tasks making it possible to limit the differences between the initial list and the final list, while ensuring a minimization of the duration of execution of the final list. For this purpose, the subject of the invention is a method, implemented by computer, of reordering an initial ordered list of elementary tasks, to be executed using resources, into a final reordered list of elementary tasks, the resources being non-shareable and being grouped into resource classes, each elementary task being executable by each resource of the same class, each elementary task being associated in the initial list with a resource, characterized in that it comprises the following steps: the grouping of the elementary tasks from the initial list into a process, each process being formed of an ordered sub-list of elementary tasks, each elementary task belonging to a process, the processes being independent, the grouping of the elementary tasks into files; wait, each queue being associated with a respective resource and formed of a sub-list ord elementary tasks to be performed using this resource, - preselecting a plurality of modified lists of elementary tasks satisfying a predetermined preselection criterion, by applying a first predetermined algorithm to the initial list, each modified list repeating the elementary tasks of the initial list in a different order, and - selecting the final list from the lists modified by application of a second predetermined algorithm to all the modified lists. Advantageously, the reordering method according to the invention takes into account potential uncertainties over the duration of the elementary tasks.
Avantageusement, le procédé de réordonnancement selon l'invention est indépendant de la modélisation utilisée pour le calcul de la liste initiale de tâches et est ainsi robuste aux éventuelles erreurs dues à la modélisation utilisée. Suivant d'autres aspects avantageux de l'invention, le procédé de réordonnancement comprend une ou plusieurs des caractéristiques suivantes, prises isolément ou suivant toutes les combinaisons techniquement possibles : - le premier algorithme comprend : - la réalisation d'une modification élémentaire consistant à déplacer une tâche élémentaire cible d'une première file d'attente d'une première ressource vers une deuxième file d'attente d'une deuxième ressource de même classe que la première ressource, - le calcul d'un paramètre représentatif de la modification élémentaire, ledit paramètre représentatif étant calculé à partir d'un intervalle temporel représentatif d'une incertitude concernant la durée d'exécution, suite à ladite modification élémentaire, d'au moins un processus, - l'itération des deux étapes précédentes de proche en proche, pour chaque tâche élémentaire de chaque file d'attente, et pour chaque position de la tâche élémentaire dans une deuxième file d'attente, - la présélection, selon le critère de présélection, d'au moins une modification élémentaire, - la détermination d'une liste modifiée respectivement pour la ou chaque modification élémentaire présélectionnée, - la détermination d'une donnée représentative de la ou chaque liste modifiée, - l'itération des six étapes précédentes à partir de chaque liste modifiée déterminée à l'itération précédente, jusqu'à atteindre un nombre maximal prédéfini de modifications élémentaires au sein d'une liste modifiée par rapport à la liste initiale ; - l'étape de détermination d'une donnée représentative de la ou chaque liste modifiée consiste à calculer la durée d'exécution de cette liste modifiée, la donnée représentative étant le résultat de ce calcul ; - l'étape de calcul d'un paramètre représentatif de la modification élémentaire comprend la construction préalable de variables floues, chaque variable floue étant formée d'un intervalle temporel représentatif d'une incertitude concernant la durée d'exécution, suite à ladite modification élémentaire, d'une tâche complexe, le paramètre représentatif étant calculé à partir des variables floues construites ; - lors de l'étape de calcul d'un paramètre représentatif de la modification élémentaire, le paramètre représentatif est calculé à partir d'un taux d'aversion au risque, le taux d'aversion au risque étant le niveau de préférence attribué au fait d'obtenir une durée de la liste finale garantie par rapport au fait d'obtenir une durée de la liste finale potentiellement plus courte, mais non garantie ; - lors de l'étape de sélection de la liste finale, le deuxième algorithme comprend une étape de détermination d'au moins une liste présélectionnée satisfaisant un premier critère de sélection prédéterminé, et une étape de sélection de la liste finale parmi la au moins une liste présélectionnée ; - le deuxième algorithme comprend en outre une étape de test d'unicité de ladite au moins une liste présélectionnée, la liste finale étant prise comme identique à ladite liste présélectionnée lors de l'étape de sélection de la liste finale, si le test d'unicité est positif ; - le procédé comprend en outre, si le test d'unicité est négatif lors de l'étape de test, une étape de détermination, parmi la pluralité de listes présélectionnées satisfaisant le premier critère de sélection prédéterminé, d'une liste présélectionnée satisfaisant un deuxième critère de sélection prédéterminé, la liste finale étant prise comme identique à ladite liste présélectionnée lors de l'étape de sélection de la liste finale ; - lors de l'étape de détermination d'une liste présélectionnée satisfaisant un deuxième critère de sélection prédéterminé, le deuxième critère de sélection prédéterminé consiste à présenter la plus faible distance à la liste initiale, la distance d'une première liste à une deuxième liste étant la racine carrée de la somme des carrés des écarts temporels entre les instants de début d'exécution d'une part, et des écarts temporels entre les instants de fin d'exécution d'autre part, entre les tâches élémentaires des première et deuxième listes qui appartiennent à un même processus et sont associées à des ressources différentes d'une même classe de ressources ; - le procédé comprend une étape initiale de compression de la liste initiale de tâches élémentaires, la compression consistant en la réduction maximale de la durée d'exécution de ladite liste initiale pouvant être obtenue sans modifier l'ordre d'exécution de chaque tâche élémentaire par rapport à chaque tâche élémentaire qui la conditionne dans cette liste. Les caractéristiques et avantages de l'invention apparaîtront à la lecture de la description qui va suivre, donnée uniquement à titre d'exemple non limitatif, et faite en référence aux dessins annexés, sur lesquels : - la figure 1 est un diagramme illustrant schématiquement un procédé assisté par ordinateur de réordonnancement d'une liste initiale ordonnée de tâches élémentaires, à exécuter à l'aide de ressources, en une liste finale réordonnée des tâches élémentaires ; - la figure 2 est un diagramme illustrant schématiquement le regroupement en processus des tâches élémentaires de la liste initiale de la figure 1, et l'association de chaque tâche élémentaire avec une des ressources ; - la figure 3 est un organigramme représentant des étapes du procédé de réordonnancement illustré sur la figure 1 ; - la figure 4 est un organigramme représentant une étape de présélection d'une pluralité de listes modifiées de tâches élémentaires du procédé ; et - la figure 5 est un organigramme représentant une étape de sélection de la liste finale parmi les listes modifiées du procédé. La figure 1 illustre schématiquement un procédé conforme à l'invention, de réordonnancement d'une liste initiale Li ordonnée de tâches élémentaires 10, à exécuter à l'aide de ressources 12, en une liste finale Lf réordonnée des tâches élémentaires 10. La liste initiale Li, respectivement la liste finale Lf, est une liste de tâches élémentaires exécutables à la date initiale, respectivement à la date finale, de mise en oeuvre du procédé. Le procédé selon l'invention est mis en oeuvre par un ordinateur 13. Dans l'exemple de réalisation, la liste initiale Li comporte une première tâche élémentaire 10a, une deuxième tâche élémentaire 10b et une troisième tâche élémentaire 10c. La première tâche élémentaire 10a est située en première position dans la liste initiale Li, autrement dit elle est destinée à être exécutée en première position dans la liste initiale Li. La deuxième tâche élémentaire 10b, respectivement la troisième tâche élémentaire 10c est située en deuxième, respectivement en troisième position dans la liste initiale Li. En outre, la deuxième tâche élémentaire 10b est située en première position dans la liste finale Lf.Advantageously, the reordering method according to the invention is independent of the modeling used for calculating the initial list of tasks and is thus robust to possible errors due to the modeling used. According to other advantageous aspects of the invention, the reordering method comprises one or more of the following characteristics, taken in isolation or in any technically possible combination: the first algorithm comprises: carrying out an elementary modification consisting of moving a target elementary task from a first queue of a first resource to a second queue of a second resource of the same class as the first resource, - the calculation of a parameter representative of the elementary modification, said representative parameter being calculated from a time interval representative of an uncertainty concerning the duration of execution, following said elementary modification, of at least one process, the iteration of the two preceding steps step by step, for each elementary task in each queue, and for each position of the elementary task in a second queue, - the preselection, according to the preselection criterion, of at least one elementary modification, - the determination of a modified list respectively for the or each preselected elementary modification, - the determination of a given datum. representative of the or each modified list, - the iteration of the previous six steps from each modified list determined at the previous iteration, until reaching a predefined maximum number of elementary modifications within a modified list with respect to the initial list; the step of determining a datum representative of the or each modified list consists of calculating the duration of execution of this modified list, the representative datum being the result of this calculation; the step of calculating a parameter representative of the elementary modification comprises the preliminary construction of fuzzy variables, each fuzzy variable being formed of a time interval representative of an uncertainty concerning the duration of execution, following said elementary modification , a complex task, the representative parameter being calculated from the fuzzy variables constructed; during the step of calculating a parameter representative of the elementary modification, the representative parameter is calculated from a risk aversion rate, the risk aversion rate being the level of preference attributed to the fact to obtain a guaranteed final list duration in relation to obtaining a potentially shorter, but unsecured, final list term; during the step of selecting the final list, the second algorithm comprises a step of determining at least one preselected list satisfying a first predetermined selection criterion, and a step of selecting the final list from the at least one pre-selected list; the second algorithm further comprises a step of testing the uniqueness of said at least one preselected list, the final list being taken as identical to said preselected list during the step of selecting the final list, if the test of uniqueness is positive; the method further comprises, if the uniqueness test is negative during the test step, a step of determining, among the plurality of preselected lists satisfying the first predetermined selection criterion, a preselected list satisfying a second one; predetermined selection criterion, the final list being taken as identical to said preselected list during the step of selecting the final list; in the step of determining a preselected list satisfying a second predetermined selection criterion, the second predetermined selection criterion consists in presenting the smallest distance to the initial list, the distance of a first list to a second list; being the square root of the sum of the squares of the temporal gaps between the instants of start of execution on the one hand, and the time differences between the instants of end of execution on the other hand, between the elementary tasks of the first and second lists that belong to the same process and are associated with different resources in the same resource class; the method comprises an initial compression step of the initial list of elementary tasks, the compression consisting in the maximum reduction of the execution time of said initial list being able to be obtained without modifying the order of execution of each elementary task by to each elementary task that conditions it in this list. The features and advantages of the invention will become apparent on reading the description which follows, given solely by way of nonlimiting example, and with reference to the appended drawings, in which: FIG. 1 is a diagram schematically illustrating a computer-assisted method of reordering an ordered initial list of elementary tasks, to be executed using resources, into a final reordered list of elementary tasks; FIG. 2 is a diagram schematically illustrating the process grouping of the elementary tasks of the initial list of FIG. 1, and the association of each elementary task with one of the resources; Fig. 3 is a flow chart showing steps of the reordering process illustrated in Fig. 1; FIG. 4 is a flowchart representing a step of preselecting a plurality of modified lists of elementary tasks of the method; and - Figure 5 is a flow chart showing a step of selecting the final list from the modified lists of the method. FIG. 1 schematically illustrates a method according to the invention, of reordering an initial list Li ordered of elementary tasks 10, to be executed using resources 12, into a final list Lf reordered of the elementary tasks 10. The list initial Li, respectively the final list Lf, is a list of elementary tasks executable at the initial date, respectively at the final date, of implementation of the method. The method according to the invention is implemented by a computer 13. In the exemplary embodiment, the initial list Li comprises a first elementary task 10a, a second elementary task 10b and a third elementary task 10c. The first elementary task 10a is located in the first position in the initial list Li, ie it is intended to be executed in first position in the initial list Li. The second elementary task 10b and the third elementary task 10c respectively are located in the second position. respectively in third position in the initial list Li. In addition, the second elementary task 10b is located at the first position in the final list Lf.
Comme illustré sur la figure 2, chaque tâche élémentaire 10 appartient à un seul processus 14. Chaque processus 14 est composé d'une ou plusieurs tâches élémentaires 10 nécessaire(s) à son exécution. Les processus 14 sont indépendants, c'est-à-dire qu'ils sont exécutables indépendamment les uns des autres. Dans l'exemple de réalisation, la première tâche élémentaire 10a de la liste initiale Li appartient à un premier processus 14a et la deuxième tâche élémentaire 10b appartient à un deuxième processus 14b. Le premier processus 14a comprend en outre la troisième tâche élémentaire 10c. Dans l'exemple d'un plan de gestion d'une situation de crise, par exemple une situation de crise sanitaire, chaque processus 14 consiste par exemple en l'évacuation d'une victime et comporte l'ensemble des tâches élémentaires 10 nécessaires à cette évacuation. Chaque tâche élémentaire 10 présente un instant de début d'exécution Ti, un instant de fin d'exécution Tf et une durée d. Chaque tâche élémentaire 10 présente en outre des conditions préalables nécessaires à son exécution.As illustrated in FIG. 2, each elementary task 10 belongs to a single process 14. Each process 14 is composed of one or more elementary tasks 10 necessary for its execution. Processes 14 are independent, i.e. they are executable independently of one another. In the exemplary embodiment, the first elementary task 10a of the initial list Li belongs to a first process 14a and the second elementary task 10b belongs to a second process 14b. The first process 14a further comprises the third elementary task 10c. In the example of a management plan for a crisis situation, for example a health crisis, each process consists for example in the evacuation of a victim and includes all the basic tasks necessary to this evacuation. Each elementary task 10 has a start time Ti, an end time Tf and a duration d. Each elementary task 10 also has prerequisites necessary for its execution.
Chaque ressource 12 est une ressource physique propre à permettre l'exécution d'au moins une tâche élémentaire 10. Dans le domaine de la conduite de plan, par exemple d'un plan de gestion d'une situation de crise sanitaire, les ressources 12 sont, par exemple, des véhicules de secours tels que des ambulances ou encore des véhicules de désincarcération de victimes. Selon ce même exemple, la liste initiale Li est le plan de gestion de crise à proprement parler, c'est-à-dire l'ensemble ordonné des tâches élémentaires nécessaires à mettre en oeuvre pour résoudre la situation de crise. Les ressources 12 sont non partageables et sont regroupées en classes 16 de ressources 12. Chaque classe 16 de ressources est un ensemble de ressources 12 interchangeables. Dans l'exemple d'un plan de gestion d'une situation de crise sanitaire, une classe particulière de ressources 12 est par exemple constituée de l'ensemble des véhicules d'ambulances. Une autre classe de ressources est par exemple constituée de l'ensemble des véhicules de désincarcération. Chaque tâche élémentaire 10 est exécutable par une seule ressource 12 d'une classe 16 dans la liste initiale Li. Dans l'exemple de réalisation, la première tâche élémentaire 10a de la liste initiale Li est associée à une première ressource 12a appartenant à une classe 16a de ressources. La classe 16a comprend en outre une deuxième ressource 12b. La première tâche élémentaire 10a de la liste initiale Li est exécutable par chacune des ressources 12a, 12b. On définit la durée d'exécution D d'une liste ordonnée de tâches élémentaires 10 comme la durée nécessaire à l'exécution de tous les processus 14 associées à la liste.Each resource 12 is a physical resource capable of enabling the execution of at least one elementary task 10. In the field of plan management, for example of a management plan of a health crisis situation, the resources 12 are, for example, emergency vehicles such as ambulances or vehicles for extricating victims. According to this same example, the initial list Li is the actual crisis management plan, that is to say the ordered set of elementary tasks necessary to implement to solve the crisis situation. Resources 12 are non-sharable and are grouped into resource classes 16. Each resource class 16 is a set of interchangeable resources. In the example of a management plan for a health crisis situation, a particular class of resources 12 consists for example of all the ambulance vehicles. Another class of resources is for example made up of all extrication vehicles. Each elementary task 10 is executable by a single resource 12 of a class 16 in the initial list Li. In the exemplary embodiment, the first elementary task 10a of the initial list Li is associated with a first resource 12a belonging to a class 16a of resources. Class 16a further comprises a second resource 12b. The first elementary task 10a of the initial list Li is executable by each of the resources 12a, 12b. The execution time D of an ordered list of elementary tasks 10 is defined as the time required to execute all the processes 14 associated with the list.
Par exemple, la liste initiale Li, respectivement la liste finale Lf, présente une durée d'exécution Di, respectivement Df. On définit également la distance Q d'une première liste ordonnée de tâches élémentaires 10 à une deuxième liste ordonnée de tâches élémentaires 10 comme étant la racine carrée de la somme des carrés des écarts temporels entre les instants de début d'exécution Ti d'une part, et des écarts temporels entre les instants de fin d'exécution Tf d'autre part, entre les tâches élémentaires 10 des première et deuxième listes qui appartiennent à un même processus 14 et sont associées à des ressources d'une même classe 16 de ressources 12.For example, the initial list Li, respectively the final list Lf, has a duration of execution Di, respectively Df. The distance Q of a first ordered list of elementary tasks 10 to a second ordered list of elementary tasks 10 is also defined as being the square root of the sum of the squares of the time differences between the start times of execution Ti of a on the other hand, and time differences between the times of completion Tf on the other hand, between the elementary tasks 10 of the first and second lists which belong to the same process 14 and are associated with resources of the same class 16 of resources 12.
La liste initiale Li ordonnée de tâches élémentaires 10 satisfait les hypothèses suivantes : i) la liste initiale Li est divisible en processus 14 indépendants. Chaque processus 14 est formé d'une sous-liste ordonnée des tâches élémentaires 10. L'ordre des tâches élémentaires 10 dans chaque processus 14 est l'ordre d'exécution des tâches élémentaires 10 dans la liste initiale Li. ii) la liste initiale Li est divisible en files d'attente 18. Chaque file d'attente 18 est associée à une ressource 12. Chaque file d'attente 18 est formée d'une sous-liste ordonnée des tâches élémentaires 10 à exécuter à l'aide de la ressource 12 à laquelle elle est associée. L'ordre des tâches élémentaires 10 dans chaque sous-liste 18 est l'ordre d'exécution des tâches élémentaires 10 dans la liste initiale Li. Chaque file d'attente 18 décrit ainsi le plan d'utilisation de la ressource 12 à laquelle elle est associée. iii) les conditions préalables d'exécution d'une tâche élémentaire 10 donnée sont satisfaites si et seulement si les conditions préalables d'exécution des actions précédant ladite tâche élémentaire 10 dans le processus 14 et dans la file d'attente 18 correspondant sont satisfaites. Les étapes du procédé de réordonnancement vont maintenant être décrites en référence aux figures 3, 4 et 5. On considère initialement une liste Lo ordonnée de tâches élémentaires 10 à exécuter. On suppose qu'une partie des tâches élémentaires 10 de la liste Lo a été exécutée selon l'ordre de la liste Lo. A un instant to, un événement imprévu interrompt l'exécution de la liste Lo. L'événement imprévu consiste par exemple en la modification de la durée d d'une tâche élémentaire 10 non encore exécutée dans la liste Lo.The initial list Li ordered of elementary tasks 10 satisfies the following assumptions: i) the initial list Li is divisible into 14 independent processes. Each process 14 is formed of an ordered sub-list of the elementary tasks 10. The order of the elementary tasks 10 in each process 14 is the order of execution of the elementary tasks 10 in the initial list Li. Ii) the initial list Li is divisible into queues 18. Each queue 18 is associated with a resource 12. Each queue 18 is formed of an ordered sub-list of the elementary tasks 10 to be executed using the resource 12 with which it is associated. The order of the elementary tasks 10 in each sub-list 18 is the order of execution of the elementary tasks 10 in the initial list Li. Each queue 18 thus describes the utilization plan of the resource 12 to which it is associated. iii) the prerequisites for executing a given elementary task 10 are satisfied if and only if the prerequisites for executing the actions preceding said elementary task 10 in the process 14 and in the corresponding queue 18 are satisfied. The steps of the reordering process will now be described with reference to FIGS. 3, 4 and 5. An ordered list Lo of elementary tasks 10 to be executed is initially considered. It is assumed that a part of the elementary tasks 10 of the list Lo has been executed in the order of the list Lo. At an instant to, an unforeseen event interrupts the execution of the list Lo. The unforeseen event consists, for example, in modifying the duration d of an elementary task 10 not yet executed in the list Lo.
En variante, la liste Lo est interrompue suite à la modification de la durée d d'une tâche élémentaire 10 en cours d'exécution dans la liste Lo. En variante encore, la liste Lo est interrompue suite à l'ajout ou au retrait, au cours de l'exécution de la liste, d'une ressource 12 ou d'un processus 14. En variante encore, la liste Lo est interrompue suite à l'apparition d'une incertitude concernant l'instant de fin d'exécution Tf d'une tâche élémentaire 10.Alternatively, the list Lo is interrupted following the modification of the duration d of a basic task 10 running in the list Lo. In another variant, the list Lo is interrupted following the addition or removal, during the execution of the list, of a resource 12 or a process 14. As a variant again, the list Lo is interrupted more when an uncertainty arises as to the end of execution time Tf of an elementary task 10.
La liste initiale Li est formée de l'ensemble des tâches élémentaires 10 de la liste Lo restant à exécuter à l'aide des ressources 12. L'ordre d'exécution des tâches élémentaires 10 de la liste initiale Li correspond à l'ordre initial d'exécution de la liste Lo, recalculé suite à la survenue de l'événement. Comme illustré sur la figure 3, le procédé de réordonnancement selon l'invention comprend avantageusement une étape initiale 19 de compression de la liste initiale Li de tâches élémentaires 10. Au cours de l'étape initiale de compression 19, on applique à la liste initiale Li un algorithme connu en soi de compression de la durée d'exécution Di de la liste initiale Li. L'algorithme de compression appliqué est par exemple un algorithme de type PRF (Pednault Regnier et Fade) décrit par exemple dans le document C. Backstrom, « Computational aspects of reordering plans », JAIR vol. 99, 1998, pp. 99-137. Au cours de cette étape initiale 19, l'algorithme de compression considère chaque tâche élémentaire 10, et retarde ou avance l'instant de début d'exécution Ti de cette tâche élémentaire de telle sorte que la tâche soit exécutée aussitôt que ses conditions préalables d'exécution sont satisfaites. A partir de la liste initiale Li, l'algorithme de compression fournit une liste secondaire Li' des tâches élémentaires 10. L'ordre d'exécution de chaque tâche élémentaire 10 par rapport à chaque tâche élémentaire 10 qui la conditionne est le même dans la liste secondaire Li' que dans la liste initiale Li. La liste secondaire Li' présente une durée d'exécution Di'. Comme connu en soi, la durée d'exécution Di' correspond à la réduction maximale de la durée d'exécution Di pouvant être obtenue sans modifier l'ordre d'exécution de chaque tâche élémentaire 10 par rapport à chaque tâche élémentaire qui la conditionne dans la liste initiale Au cours d'une étape 20 suivante, on regroupe les tâches élémentaires 10 de la liste secondaire Li' en processus 14 indépendants. Autrement dit, lors de cette étape de regroupement 20, les tâches élémentaires 10 de la liste initiale Li sont regroupées en processus 14 indépendants. Au cours d'une étape 24 suivante, on regroupe les tâches élémentaires 10 de la liste secondaire Li' en files d'attente 18. Lors de cette étape de regroupement 24, les tâches élémentaires 10 de la liste initiale Li sont ainsi regroupées en files d'attente 18. Dans l'exemple de réalisation, une première file d'attente 18a est associée à la première ressource 12a et comprend la première tâche élémentaire 10a. Une deuxième file d'attente 18b est associée à la deuxième ressource 12b. En variante, l'étape 20 de regroupement des tâches élémentaires en processus et l'étape 24 de regroupement des tâches élémentaires en files d'attente sont effectuées simultanément. Au cours d'une étape 28 suivante de présélection, on applique à la liste secondaire Li' un algorithme prédéterminé de présélection. Les étapes de l'algorithme de présélection appliqué sont illustrées en détail sur la figure 4. Au cours d'une étape 28a, on réalise une modification élémentaire dans les files d'attentes 18. La modification élémentaire considérée ne doit pas conduire à des cycles dans l'exécution des tâches élémentaires 10 réordonnées, ni avoir été préalablement définie comme une modification interdite. Moyennant le respect de ces conditions, la modification élémentaire consiste par exemple à déplacer une tâche élémentaire cible d'une première file d'attente associée à une première ressource vers une deuxième file d'attente associée à une deuxième ressource, de même classe que la première ressource. En variante ou en complément, la modification élémentaire consiste à déplacer une tâche élémentaire cible au sein de sa propre file d'attente. Plus particulièrement, la tâche élémentaire cible est insérée dans la deuxième file d'attente, à une position donnée de la deuxième file d'attente. On retarde alors, si nécessaire, les instants de début d'exécution Ti et de fin d'exécution Tf de la tâche élémentaire suivant la tâche élémentaire cible dans la deuxième file d'attente. On retarde également, si nécessaire, les instants de début d'exécution Ti et de fin d'exécution Tf de la tâche élémentaire suivant la tâche élémentaire cible dans le processus 14 comportant ladite tâche élémentaire cible. On avance en outre, si possible, les instants de début d'exécution Ti et de fin d'exécution Tf de la tâche élémentaire qui suivait la tâche élémentaire cible dans la première file d'attente. On avance enfin, s'ils n'ont pas été préalablement retardés, les instants de début d'exécution Ti et de fin d'exécution Tf de la tâche élémentaire suivant la tâche élémentaire cible dans le processus 14 comportant ladite tâche élémentaire cible. Dans l'exemple de réalisation, la modification élémentaire consiste par exemple à déplacer la première tâche élémentaire 10a de la première file d'attente 18a vers la première position de la deuxième file d'attente 18b associée à la ressource 12b. Au cours d'une étape 28b suivante, on calcule un paramètre p représentatif de la modification élémentaire effectuée lors de l'étape 28a précédente. Pour cela, on construit préalablement des variables floues.The initial list Li is formed of all the elementary tasks 10 of the list Lo remaining to be executed using the resources 12. The order of execution of the elementary tasks 10 of the initial list Li corresponds to the initial order execution of the list Lo, recalculated following the occurrence of the event. As illustrated in FIG. 3, the reordering method according to the invention advantageously comprises an initial compression step 19 of the initial list Li of elementary tasks 10. During the initial compression step 19, the initial list is applied to the initial list Li an algorithm known per se compression of the execution time Di of the initial list Li. The compression algorithm applied is for example an algorithm of the type PRF (Pednault Regnier and Fade) described for example in the document C. Backstrom , Computational aspects of reordering plans, JAIR vol. 99, 1998, pp. 99-137. During this initial step 19, the compression algorithm considers each elementary task 10, and delays or advances the start time of execution Ti of this elementary task so that the task is executed as soon as its prerequisites are met. execution are satisfied. From the initial list Li, the compression algorithm provides a secondary list Li 'of the elementary tasks 10. The order of execution of each elementary task 10 with respect to each elementary task 10 which conditions it is the same in the secondary list Li 'than in the initial list Li. The secondary list Li' has a duration of execution Di '. As known per se, the execution time Di 'corresponds to the maximum reduction of the execution time Di that can be obtained without modifying the order of execution of each elementary task 10 with respect to each elementary task which conditions it in the initial list In a next step 20, the elementary tasks 10 of the secondary list Li 'in independent processes 14 are grouped together. In other words, during this grouping step 20, the elementary tasks 10 of the initial list Li are grouped into independent processes 14. In a next step 24, the elementary tasks 10 of the secondary list Li 'are grouped into queues 18. During this grouping step 24, the elementary tasks 10 of the initial list Li are thus grouped into rows. In the exemplary embodiment, a first queue 18a is associated with the first resource 12a and includes the first elementary task 10a. A second queue 18b is associated with the second resource 12b. Alternatively, step 20 of grouping the elementary tasks in process and step 24 of grouping the elementary tasks into queues are performed simultaneously. During a next preselection step 28, a predetermined preselection algorithm is applied to the secondary list Li '. The steps of the pre-selection algorithm applied are illustrated in detail in FIG. 4. During a step 28a, an elementary modification is performed in the queues 18. The elementary modification considered must not lead to cycles. in the performance of the reordered elementary tasks, nor has it been previously defined as a prohibited modification. With respect to these conditions, the elementary modification consists, for example, in moving a target elementary task from a first queue associated with a first resource to a second queue associated with a second resource, of the same class as the first resource. Alternatively or additionally, the basic change is to move a target elementary task within its own queue. More particularly, the target elementary task is inserted in the second queue at a given position of the second queue. Then, if necessary, the instants of start of execution Ti and end of execution Tf of the elementary task following the target elementary task are delayed in the second queue. It also delays, if necessary, the times of start of execution Ti and end of execution Tf of the elementary task following the target elementary task in the process 14 comprising said target elementary task. In addition, if possible, the instants of start of execution Ti and end of execution Tf of the elementary task which followed the target elementary task in the first queue are advanced. Finally, if they have not been previously delayed, the instants of start of execution Ti and end of execution Tf of the elementary task following the target elementary task in the process 14 comprising said target elementary task are advanced. In the exemplary embodiment, the elementary modification consists for example in moving the first elementary task 10a of the first queue 18a to the first position of the second queue 18b associated with the resource 12b. During a next step 28b, a parameter p representative of the elementary modification performed during the preceding step 28a is calculated. For that purpose, fuzzy variables are built beforehand.
Chaque variable floue est formée d'un intervalle temporel représentatif d'une incertitude concernant la durée d'exécution totale d'un processus 14. En variante, chaque variable floue est formée d'une fonction d'appartenance à ces intervalles temporels, la notion d'appartenance étant entendue au sens des ensembles flous. Le calcul de chaque variable floue associée à un processus 14 comprenant une tâche élémentaire cible fait notamment intervenir : - la tâche élémentaire suivant la tâche élémentaire cible dans la deuxième file d'attente, et/ou - la tâche élémentaire suivant la tâche élémentaire cible dans le processus 14 comportant ladite tâche élémentaire cible, et/ou - la tâche élémentaire qui suivait la tâche élémentaire cible dans la première file d'attente. On calcule ensuite une première variable intermédiaire o et une deuxième variable intermédiaire 62 à partir des variables floues construites. Le calcul de la première variable intermédiaire ai, respectivement de la deuxième variable intermédiaire a2 consiste par exemple à déterminer la valeur maximale des bornes inférieures, respectivement des bornes supérieures, des variables floues construites. La valeur des variables intermédiaires ai, 62 est fournie par le résultat de chacun de ces calculs. Le paramètre représentatif p est ensuite calculé à partir des variables intermédiaires al, az, ainsi que d'un taux a d'aversion au risque. Le taux a d'aversion au risque est défini comme étant le niveau de préférence attribué au fait d'obtenir une durée de la liste finale garantie par rapport au fait d'obtenir une durée de la liste finale potentiellement plus courte, mais non garantie. Le paramètre représentatif p est alors, par exemple, exprimé comme suit : ,u = (1- a).0-1+ a.o-2 (1) A l'issue de l'étape 28b, on stocke dans une mémoire le paramètre p représentatif de la modification élémentaire effectuée. Au cours d'une étape 28c suivante, on teste si toutes les modifications élémentaires possibles, pour toutes les tâches élémentaires 10 de toutes les files d'attente 18, ont été effectuées. Si le test est positif, une étape 28d suivante est mise en oeuvre. Si le test est négatif, l'étape 28a est ré-effectuée pour une autre position de la tâche élémentaire cible dans une deuxième file d'attente, ou pour une autre tâche élémentaire cible. Lors de l'étape 28d suivante, on présélectionne au moins une modification élémentaire satisfaisant un critère de présélection. Le critère de présélection consiste, par exemple, à comparer la valeur de chaque paramètre représentatif p calculé lors de l'étape 28b à la valeur d'un paramètre-seuil ps. Pour une modification élémentaire donnée, si la valeur du paramètre p représentatif de cette modification élémentaire est inférieure à la valeur du paramètre-seuil ps, la modification élémentaire est présélectionnée. A l'issue de l'étape 28d, la ou chaque modification élémentaire présélectionnée est stockée dans une mémoire. En variante, le critère de présélection consiste à présélectionner les N1 modifications élémentaires dont le paramètre représentatif p associé présente la valeur la plus faible, N1 étant un entier préalablement fixé. Chacune des N1 modifications élémentaires présélectionnées est alors stockée dans une mémoire.Each fuzzy variable is formed of a time interval representative of an uncertainty concerning the total execution time of a process 14. As a variant, each fuzzy variable is formed of a function of belonging to these time intervals, the notion of belonging being understood in the sense of fuzzy sets. The calculation of each fuzzy variable associated with a process 14 comprising a target elementary task notably involves: the elementary task following the target elementary task in the second queue, and / or the elementary task following the target elementary task in the second queue; the process 14 comprising said target elementary task, and / or - the elementary task that followed the target elementary task in the first queue. A first intermediate variable o and a second intermediate variable 62 are then calculated from the fuzzy variables constructed. The calculation of the first intermediate variable ai, respectively of the second intermediate variable a2 consists, for example, in determining the maximum value of the lower bounds, respectively of the upper bounds, of the fuzzy variables constructed. The value of the intermediate variables ai, 62 is provided by the result of each of these calculations. The representative parameter p is then calculated from the intermediate variables al, az, as well as from a risk aversion rate. The risk aversion rate is defined as the level of preference attributed to obtaining a guaranteed final list duration in relation to obtaining a potentially shorter, but unsecured, final list term. The representative parameter p is then, for example, expressed as follows: u = (1- a) .0-1 + ao-2 (1) At the end of step 28b, the parameter p representative of the elementary modification performed. During a next step 28c, it is tested whether all the elementary modifications possible, for all the elementary tasks 10 of all the queues 18, have been carried out. If the test is positive, a next step 28d is implemented. If the test is negative, step 28a is re-performed for another position of the target elementary task in a second queue, or for another target elementary task. During the following step 28d, at least one elementary modification is preselected satisfying a preselection criterion. The preselection criterion consists, for example, in comparing the value of each representative parameter p calculated in step 28b with the value of a threshold parameter ps. For a given elementary modification, if the value of the parameter p representative of this elementary modification is smaller than the value of the threshold parameter ps, the elementary modification is preselected. At the end of step 28d, the or each preselected elementary modification is stored in a memory. As a variant, the preselection criterion consists in preselecting the N1 elementary modifications whose associated representative parameter p has the lowest value, N1 being a previously fixed integer. Each of the N1 preselected elementary modifications is then stored in a memory.
Au cours d'une étape 28e suivante, on détermine, pour la ou chaque modification élémentaire présélectionnée lors de l'étape 28d précédente, une liste modifiée Lm des tâches élémentaires 10. La ou chaque liste modifiée Lm des tâches élémentaires 10 reprend les tâches élémentaires 10 de la liste secondaire Li' dans un ordre différent. Le nouvel ordre d'une liste modifiée Lm donnée est l'ordre tel que défini suite à la modification élémentaire correspondante. Chaque liste modifiée Lm reprend ainsi les tâches élémentaires 10 de la liste initiale Li dans un ordre différent. A l'issue de l'étape 28e, la ou chaque liste modifiée Lm est stockée dans une mémoire. Au cours d'une étape 28f suivante, on détermine une donnée représentative de la ou chaque liste modifiée Lm stockée lors de l'étape 28e précédente. La détermination de cette donnée représentative consiste, par exemple, à calculer la durée d'exécution Dm de la ou chaque liste modifiée Lm. La donnée représentative d'une liste modifiée Lm donnée est alors la durée d'exécution Dm de cette liste. A l'issue de l'étape 28f, la ou chaque donnée représentative calculée est stockée dans une mémoire. A l'issue de cette même étape 28f, un compteur C est incrémenté. Le compteur C est représentatif du nombre de modifications élémentaires effectuées au sein d'une liste modifiée Lm donnée. Au cours d'une étape 28g suivante, on teste si la valeur du compteur C est supérieure ou égale à un nombre Nmax prédéfini. Nmax est un entier représentatif du nombre maximal de modifications élémentaires au sein d'une liste modifiée Lm donnée. Si le test est positif, une étape 30 suivante est mise en oeuvre. Si le test est négatif, l'étape 28a est ré-effectuée pour la ou chaque liste modifiée Lm stockée lors de l'étape 28e. A l'issue des étapes 28a, 28b, 28c, 28d, 28e, 28f et 28g constitutives de l'étape 28, plusieurs listes modifiées Lm satisfaisant le critère de présélection sont ainsi présélectionnées.During a next step 28e, for the or each elementary change preselected in the preceding step 28d, a modified list Lm of the elementary tasks 10 is determined. The or each modified list Lm of the elementary tasks 10 takes up the elementary tasks 10 of the secondary list Li 'in a different order. The new order of a modified list Lm given is the order as defined following the corresponding elementary modification. Each modified list Lm thus resumes the elementary tasks 10 of the initial list Li in a different order. At the end of step 28e, the or each modified list Lm is stored in a memory. During a subsequent step 28f, a datum representative of the or each modified list Lm stored in the preceding step 28e is determined. The determination of this representative data consists, for example, in calculating the execution time Dm of the or each modified list Lm. The representative data of a modified list Lm given is then the execution time Dm of this list. At the end of step 28f, the or each representative representative data item is stored in a memory. At the end of this same step 28f, a counter C is incremented. The counter C is representative of the number of elementary modifications carried out within a modified list Lm given. During a next step 28g, it is tested whether the value of the counter C is greater than or equal to a predefined number Nmax. Nmax is an integer representative of the maximum number of elementary changes within a given modified Lm list. If the test is positive, a next step is carried out. If the test is negative, step 28a is re-performed for the or each modified list Lm stored in step 28e. At the end of the steps 28a, 28b, 28c, 28d, 28e, 28f and 28g constituting step 28, several modified lists Lm satisfying the preselection criterion are thus preselected.
Lors de l'étape 30 suivante représentée sur la figure 3, on sélectionne la liste finale Lf réordonnée des tâches élémentaires 10 parmi l'ensemble des listes modifiées Lm présélectionnées au cours de l'étape 28 précédente, comme détaillé par la suite. Au cours de cette étape 30 de sélection, on applique à l'ensemble des listes modifiées Lm présélectionnées, un algorithme prédéterminé de sélection. Les étapes de l'algorithme de sélection appliqué sont illustrées en détail sur la figure 5.In the next step 30 shown in FIG. 3, the final list Lf reordered of the elementary tasks 10 from the set of modified lists Lm preselected during the preceding step 28 is selected, as detailed below. During this selection step, a predetermined selection algorithm is applied to the set of preselected modified Lm lists. The steps of the applied selection algorithm are illustrated in detail in FIG.
Au cours d'une étape 30a, on détermine au moins une liste modifiée Lm présélectionnée satisfaisant un premier critère de sélection prédéterminé. Le premier critère de sélection consiste à présenter la plus faible valeur de donnée représentative parmi l'ensemble des listes modifiées Lm présélectionnées. Dans l'exemple de réalisation, le premier critère de sélection consiste à présenter la plus faible valeur de durée d'exécution Dm parmi l'ensemble des listes modifiées Lm présélectionnées. Au cours d'une étape 30b suivante, on teste si ladite au moins une liste modifiée Lm déterminée lors de l'étape 30a précédente est unique. Si le test est positif, la liste finale Lf réordonnée des tâches élémentaires 10 est prise comme identique à ladite liste modifiée Lm, au cours d'une étape de sélection 30c. Si le test est négatif, les listes modifiées Lm satisfaisant le premier critère de sélection prédéterminé sont stockées dans une mémoire et une étape 30d suivante est mise en oeuvre. Lors de l'étape 30d suivante, on détermine, parmi les listes modifiées Lm satisfaisant le premier critère de sélection prédéterminé, une liste modifiée Lm satisfaisant un deuxième critère de sélection prédéterminé. Le deuxième critère de sélection consiste, par exemple, à présenter la plus faible distance O à la liste initiale Li. A l'issue de l'étape 30d, l'étape de sélection 30c est effectuée. Au cours de cette étape de sélection 30c, la liste finale Lf réordonnée des tâches élémentaires 10 est prise comme identique à la liste modifiée Lm satisfaisant le deuxième critère de sélection prédéterminé. A l'issue de l'étape 30, les tâches élémentaires 10 de la liste finale Lf réordonnée sont exécutées au cours d'une étape finale d'exécution, non représentée sur les figures. On conçoit ainsi que le procédé de réordonnancement selon l'invention permet de limiter les différences entre la liste initiale et la liste finale, tout en assurant une minimisation de la durée de la liste finale. Le procédé de réordonnancement selon l'invention prend avantageusement en compte des incertitudes potentielles sur la durée d'exécution d'au moins une liste modifiée, ainsi que des incertitudes potentielles sur la durée des tâches élémentaires. Il est avantageusement indépendant de la modélisation utilisée pour le calcul de la liste initiale de tâches élémentaires et est ainsi robuste aux éventuelles erreurs dues à la modélisation utilisée.During a step 30a, at least one preselected modified list Lm is determined satisfying a first predetermined selection criterion. The first selection criterion consists in presenting the lowest representative data value among the set of modified lists Lm preselected. In the exemplary embodiment, the first selection criterion consists in presenting the lowest execution time value Dm among the set of modified lists Lm preselected. During a next step 30b, it is tested whether said at least one modified list Lm determined in the previous step 30a is unique. If the test is positive, the final list Lf reordered from the elementary tasks 10 is taken as identical to said modified list Lm, during a selection step 30c. If the test is negative, the modified lists Lm satisfying the first predetermined selection criterion are stored in a memory and a subsequent step 30d is implemented. In the following step 30d, from the modified lists Lm satisfying the first predetermined selection criterion, a modified list Lm satisfying a second predetermined selection criterion is determined. The second selection criterion consists, for example, of presenting the smallest distance O to the initial list Li. At the end of step 30d, the selection step 30c is carried out. During this selection step 30c, the final list Lf reordered from the elementary tasks 10 is taken as identical to the modified list Lm satisfying the second predetermined selection criterion. At the end of step 30, the elementary tasks 10 of the final list Lf reordered are executed during a final execution step, not shown in the figures. It is thus conceivable that the reordering method according to the invention makes it possible to limit the differences between the initial list and the final list, while ensuring a minimization of the duration of the final list. The reordering method according to the invention advantageously takes into account potential uncertainties on the execution time of at least one modified list, as well as potential uncertainties on the duration of the elementary tasks. It is advantageously independent of the modeling used for calculating the initial list of elementary tasks and is thus robust to possible errors due to the modeling used.
Le procédé de réordonnancement selon l'invention présente en outre une complexité allégée par rapport à un procédé de réordonnancement de l'art antérieur fournissant une solution optimale. Il est propre à être mis en oeuvre plusieurs fois au cours de l'exécution des tâches élémentaires d'une liste courante. Il est en particulier propre à être mis en oeuvre à chaque fois qu'un événement imprévu du type précité interrompt l'exécution de la liste courante. Le choix des valeurs du paramètre-seuil ps, et des entiers N1 et Nmax permet avantageusement d'améliorer les performances et la vitesse d'exécution du procédé de réordonnancement selon l'invention. Par exemple, N1 est avantageusement égal à 10. Dans ce cas, le paramètre-seuil ps est ajusté pour ne présélectionner que 10 modifications élémentaires. Nmax est avantageusement compris entre 3 et le nombre maximal de tâches élémentaires 10 qu'on puisse trouver dans un processus 14 de la liste initiale Li .The reordering method according to the invention also has a lightened complexity compared to a reordering process of the prior art providing an optimal solution. It is suitable to be implemented several times during the execution of the elementary tasks of a current list. It is particularly suitable to be implemented whenever an unforeseen event of the aforementioned type interrupts the execution of the current list. The choice of the values of the threshold parameter ps, and the integers N1 and Nmax advantageously makes it possible to improve the performance and the speed of execution of the reordering method according to the invention. For example, N1 is advantageously equal to 10. In this case, the threshold parameter ps is adjusted to preselect only 10 elementary modifications. Nmax is advantageously between 3 and the maximum number of elementary tasks 10 that can be found in a process 14 of the initial list Li.
La description a été faite notamment en référence à un procédé de réordonnancement d'un plan de gestion d'une situation de crise. Il est cependant entendu que l'invention s'applique de la même manière à toute liste initiale ordonnée de tâches élémentaires satisfaisant les hypothèses précitées. La présente invention a également pour objet un produit programme d'ordinateur comportant les instructions logicielles qui, lorsqu'elles sont mises en oeuvre par une unité de traitement, met en oeuvre les étapes du procédé de réordonnancement tel que défini dans la présente description, relativement à une liste initiale ordonnée de tâches élémentaires à exécuter à l'aide de ressources. La présente invention a également pour objet un ordinateur comprenant une unité de traitement propre à mettre en oeuvre les étapes du procédé de réordonnancement tel que défini dans la présente description, relativement à une liste initiale ordonnée de tâches élémentaires à exécuter à l'aide de ressources.The description has been made in particular with reference to a reordering process of a management plan of a crisis situation. It is understood, however, that the invention applies in the same way to any initial ordered list of elementary tasks satisfying the aforementioned hypotheses. The present invention also relates to a computer program product comprising the software instructions which, when implemented by a processing unit, implement the steps of the reordering method as defined in the present description, relatively an ordered initial list of basic tasks to be performed using resources. Another subject of the present invention is a computer comprising a processing unit able to implement the steps of the reordering method as defined in the present description, with respect to an initial ordered list of elementary tasks to be executed using resources. .
Claims (10)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR1202686A FR2996655B1 (en) | 2012-10-08 | 2012-10-08 | METHOD FOR REORDERING AN ORDERED INITIAL LIST OF TASKS IN AN ORDERED FINAL LIST OF TASKS |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR1202686A FR2996655B1 (en) | 2012-10-08 | 2012-10-08 | METHOD FOR REORDERING AN ORDERED INITIAL LIST OF TASKS IN AN ORDERED FINAL LIST OF TASKS |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| FR2996655A1 true FR2996655A1 (en) | 2014-04-11 |
| FR2996655B1 FR2996655B1 (en) | 2014-12-26 |
Family
ID=48236990
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| FR1202686A Active FR2996655B1 (en) | 2012-10-08 | 2012-10-08 | METHOD FOR REORDERING AN ORDERED INITIAL LIST OF TASKS IN AN ORDERED FINAL LIST OF TASKS |
Country Status (1)
| Country | Link |
|---|---|
| FR (1) | FR2996655B1 (en) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020016785A1 (en) * | 2000-07-28 | 2002-02-07 | Wadie Sirgany | Computer resource allocation layout description |
| WO2007140428A2 (en) * | 2006-05-31 | 2007-12-06 | Qualcomm Incorporated | Multi-threaded processor with deferred thread output control |
| US20080141256A1 (en) * | 2006-12-08 | 2008-06-12 | Forrer Jr Thomas R | System and Method to Improve Sequential Serial Attached Small Computer System Interface Storage Device Performance |
-
2012
- 2012-10-08 FR FR1202686A patent/FR2996655B1/en active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020016785A1 (en) * | 2000-07-28 | 2002-02-07 | Wadie Sirgany | Computer resource allocation layout description |
| WO2007140428A2 (en) * | 2006-05-31 | 2007-12-06 | Qualcomm Incorporated | Multi-threaded processor with deferred thread output control |
| US20080141256A1 (en) * | 2006-12-08 | 2008-06-12 | Forrer Jr Thomas R | System and Method to Improve Sequential Serial Attached Small Computer System Interface Storage Device Performance |
Also Published As
| Publication number | Publication date |
|---|---|
| FR2996655B1 (en) | 2014-12-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP2987081B1 (en) | Task time allocation method allowing deterministic error recovery in real time | |
| CN116450312A (en) | Scheduling strategy determination method and system for pipeline parallel training | |
| EP3806402A1 (en) | Admission control process for slices in a virtualised telecommunications network and the congestion liable to be generated between the services deployed on said slices | |
| WO2013107819A1 (en) | Method for optimising the parallel processing of data on a hardware platform | |
| WO2014072628A1 (en) | Method, device and computer programme for the placement of tasks in a multi-core system | |
| FR2923039A1 (en) | METHOD OF MANAGING PREEMPTIONS IN A REAL-TIME OPERATING SYSTEM | |
| FR3090957A1 (en) | device and method for scheduling tasks | |
| FR2996655A1 (en) | Computer-implemented method for regrouping ordered initial list of elementary tasks, involves pre-selecting modified lists of elementary tasks satisfying predetermined criteria, and selecting final list from modified lists | |
| EP2850520A1 (en) | Method for the management of task execution in a computer system | |
| WO2016198762A1 (en) | Method and system for determining a target configuration of servers for deployment of a software application | |
| EP3051416A1 (en) | Method for controlling the deployment of a program to be executed in a fleet of machines | |
| CN105224389B (en) | Based on the virtual machine resource integration method that linear dependence and segmenting vanning are theoretical | |
| EP3845002B1 (en) | Method for setting parameters of a virtual subset of a network dedicated to a service | |
| EP1792278B1 (en) | Method for detecting and tracking punctual targets, in an optoelectronic surveillance system | |
| EP2756398B1 (en) | Method, device and computer program for dynamically allocating resources of a cluster to the execution of processes of an application | |
| TWI720388B (en) | Apparatus, method and computer program for processing a piecewise-smooth signal | |
| FR2956226A1 (en) | METHOD, COMPUTER PROGRAM AND CONTROLLER SUPERVISION DEVICE FOR MANAGING PROCESS TIME SHARING IN A MULTI-HAND COMPUTING SYSTEM | |
| EP3265915B1 (en) | Simulation device | |
| US9858131B2 (en) | Message processing | |
| CN107085536B (en) | Task management method and device | |
| EP3151074A1 (en) | Method for determining the path of a machining tool | |
| EP4091078A1 (en) | Cluster update accelerator circuit | |
| EP3850486A1 (en) | Time-division multiplexing method and circuit for concurrent access to a computer resource | |
| US20090210465A1 (en) | Comparing process sizes | |
| CA2778576C (en) | Process and device for optimized task treatment for a fws |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PLFP | Fee payment |
Year of fee payment: 4 |
|
| PLFP | Fee payment |
Year of fee payment: 5 |
|
| PLFP | Fee payment |
Year of fee payment: 6 |
|
| PLFP | Fee payment |
Year of fee payment: 7 |
|
| PLFP | Fee payment |
Year of fee payment: 8 |
|
| PLFP | Fee payment |
Year of fee payment: 9 |
|
| PLFP | Fee payment |
Year of fee payment: 10 |
|
| PLFP | Fee payment |
Year of fee payment: 11 |
|
| PLFP | Fee payment |
Year of fee payment: 12 |
|
| PLFP | Fee payment |
Year of fee payment: 13 |
|
| PLFP | Fee payment |
Year of fee payment: 14 |