EP2304659A1 - Procede d'optimisation d'ordonnancement de traitement de taches et utilisation d'un tel procede - Google Patents

Procede d'optimisation d'ordonnancement de traitement de taches et utilisation d'un tel procede

Info

Publication number
EP2304659A1
EP2304659A1 EP09766070A EP09766070A EP2304659A1 EP 2304659 A1 EP2304659 A1 EP 2304659A1 EP 09766070 A EP09766070 A EP 09766070A EP 09766070 A EP09766070 A EP 09766070A EP 2304659 A1 EP2304659 A1 EP 2304659A1
Authority
EP
European Patent Office
Prior art keywords
tasks
task
list
solution
solutions
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.)
Withdrawn
Application number
EP09766070A
Other languages
German (de)
English (en)
Inventor
Christelle Gueret
Pierre Lemaire
Denis Daste
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Airbus Operations SAS
Original Assignee
Airbus Operations SAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Airbus Operations SAS filed Critical Airbus Operations SAS
Publication of EP2304659A1 publication Critical patent/EP2304659A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"

Definitions

  • the invention relates to a task scheduling optimization method.
  • the invention also relates to a use of this method for scheduling the manufacturing tasks of composite material parts intended for an aircraft. More specifically, the invention aims to minimize the maximum delay of the operations of a set of parts, that is to say the greatest delay in delivery of these parts.
  • the invention applies in a very large number of fields such as, for example, the aerospace, automotive and space industry.
  • Composite material parts have excellent mechanical and chemical properties. They can thus combine a high resistance to mechanical and / or thermal stresses and a high rigidity for a minimum mass. They can also have complex shapes. Numerous methods are known for permitting the impregnation of a preform with a liquid resin for the manufacture of a composite part.
  • One of the main processes for implementing the composite which is the implementation by molding of thermosetting prepreg in an autoclave, is described below by way of illustration.
  • the base material is in the form of strands of carbon, glass, aramid or quartz continuous fibers oriented in a single direction (strips or sheets) or two directions (fabrics) and prepregs of epoxy or phenolic resin uncrosslinked.
  • This fiber / resin mixture called prepreg, becomes a true composite material that is resistant and rigid only in the final phase of production by baking the resin, corresponding to the polymerization phase.
  • the polymerization phase represents a substantial part of the production cycle time of the composite part.
  • the method of manufacturing a composite part from the prepreg can be broken down into three elementary tasks: - the cutting of the folds or the cutting of the fabric necessary for the production of the part. Originally, this operation was done manually. Today, it is practically automated on a programmable cutting table by means of a cutting machine such as fluid jet, ultrasonic knife or tool edged. Performing the processing of this task requires the availability of the cutting machine;
  • the draping operation consists in depositing in the metal or composite molding tool male or female, each layer in a well defined direction to thus constitute the elementary part by a successive stack of layers, thus giving the internal or external profile of the room.
  • This task requires as tools a mold and a draping machine; - Polymerize the piece by autoclaving to obtain the laminate.
  • the cooking is done according to a cycle specific to each resin and the desired degree of polymerization. In particular three parameters intervene: the temperature, the pressure, and the duration of the cooking.
  • Each composite part has its own production cycle and a delivery date.
  • Each of the tasks described above therefore has a fixed duration and each piece is associated with a delivery date. There is moreover an order to be respected in the processing of the various tasks, for example the task concerning the polymerization can not begin until the draping step has been completed.
  • the structure of the workshop is modeled by a set of means or resources.
  • the execution of the processing of the three tasks requires respectively a cutting machine, a draping machine and a mold, an autoclave and a mold.
  • the number of each resource category may remain frozen during the entire part manufacturing process or be modified for example due to a failure of one of these resources.
  • the problem of optimization of the composite parts manufacturing process therefore consists in optimizing the scheduling of composite parts manufacturing operations so as to minimize the maximum delay in the processing of the tasks, ie that one seeks to minimize the biggest delay in the delivery of parts.
  • the task scheduling problem to be solved in the context of the implementation of the manufacturing process of a composite material part must include the following constraints: Flexibility: to perform certain tasks, several machines can be used, then choose the machines on which the piece will be made; Multi-resources: the completion of a task may require several resources at the same time, in the example described above, cutting requires both a cutting machine and a mold; Grouping: some machines can group several tasks of several parts at the same time on certain resources, in the example described above, during the polymerization operation, some parts that belong to the same family (same cooking time, same degree polymerization) and which physically enter the autoclave can be grouped together,
  • Constraint of precedence between the different tasks namely a task processing order to be respected
  • the task scheduling optimization problem is a very complex combinatorial problem.
  • scheduling optimization methods in the prior art that are proposed to solve such a problem.
  • the problems dealt with by these methods do not include all the constraints mentioned above or only a part of these constraints.
  • existing methods treat these constraints independently of one another.
  • the objectives considered are the end date of the scheduling.
  • the problems treated do not include operations requiring several resources at the same time, moreover the main goal that these methods seek to achieve is to reduce the preparation time.
  • the duration of a grouping in the problem considered is equal to the maximum duration of the operations it contains, or constant regardless of the type of grouping. This is not possible in the context of a physical solution. Indeed, the time required to execute several operations at the same time on the same machine, referred to as the duration of a grouping, is any function of multiple parameters, for example the process time in the autoclave must be a complex function that depends on the surface area of the parts, the positioning of the parts in the autoclave, the shape of the parts, the physical properties of the tools used, etc.
  • the present invention therefore aims to provide a scheduling optimization process of different tasks to manufacture parts, to take into account all the constraints of grouping operations at the same time, aiming to minimize the maximum delay of operations. More specifically, the invention relates to a scheduling optimization method of processing a set of tasks to manufacture n parts, each part being defined by a part-specific manufacturing cycle and a due date, said cycle comprising a fixed number of m tasks, the execution of each task being conditioned by an order of precedence and the availability of the resources necessary to perform said task.
  • the method comprises the following steps in which: a) a set of initial solutions P is randomly generated, each of the solutions corresponding to a list containing the tasks intended to be scheduled to produce the n parts; b) constructing a first eligible solution from each of the lists using an iterative process in which the tasks are sorted according to a priority parameter taking into account the availability of resources and the precedence to be respected; c) assigning to each of the first solutions a quality value corresponding to the largest delay of a task in the scheduling obtained in step (b) so as to classify the solutions according to a decreasing order of quality value; d) selecting P couples of solutions whose probability of being selected is proportional to the affected quality value of the solution; e) a crossing operator is applied to each of the P pairs of selected solutions to generate a new daughter solution; f) a mutation operator is applied to each of the P daughter solutions generated in step (e); g) replacing all the initial P solutions of step a) by all the P solutions generated at the end of step f);
  • the delay of the tasks is defined in relation to a due date associated with each piece, which is for example the date of delivery of the piece or any other date to be respected.
  • the first possible solution construction step (b) comprises:
  • a first sort according to an eigenvalue of the tasks so that the tasks are treated in descending or increasing order of their eigenvalue
  • a second sort comprising n ⁇ m iterations corresponding to n ⁇ m tasks constituting a list, each of the iterations consisting in
  • said selected task is to be executed on a resource that can group several tasks, to group said task with other compatible tasks in an existing group that is not yet scheduled in the list or to create a new grouping for place said task.
  • the term "availability of the resource” means the duration of the unavailability of the resource as small as possible.
  • grouping which is not yet scheduled in the list is meant a grouping of tasks that is open at the instant t that can accommodate the task.
  • the grouping is closed or scheduled in list if this waiting is too long, that is to say if it is greater than a predetermined threshold of acceptability.
  • the start date of a grouping is the maximum of the dates of availability of the tasks that constitute it and the duration of the grouping is the result of any function, depending on the tasks of the grouping, the resource performing the grouping as well as the nature of the treatment performed.
  • the end of the grouping is then defined by the increased start date of its duration.
  • a grouping is considered closed if the end date of the grouping is earlier than the considered instant t.
  • the crossing operator chosen in step (e) consists of: randomly conserving tasks contained in one of the two solutions of said pair and completing with the tasks contained in the second solution in the order of the second solution, or to sort the tasks in decreasing order of cumulative delay in the two solutions of said pair, or - to keep in their place the tasks without delay in the first solution of said pair and to complete in the order of the second solution of said pair for tasks with delay.
  • said mutation operator of step (f) consists of: randomly moving a task in the solution, or randomly exchanging two tasks in the solution, or replacing a -squence of the solution by one of its randomly chosen permutations, or to sort a subsequence of the solution in decreasing order of the delays of the tasks, or to move the most late tasks of a fixed number of ranks to the beginning of the solution, or to correct the solution according to a repetitive process of correction which is a repetitive list heuristic.
  • the iterative correction process comprises the following steps:
  • the task list is ordered according to the construction step (b);
  • steps (i) to (iii) are repeated according to a predetermined fixed number of iterations.
  • the offset function corrects the priority list determined at the end of the first step by advancing the most late task to the beginning of the list. But it can also consist of advancing late tasks to the top of the list or any other type of due date.
  • the task processing scheduling optimization method according to the invention thus minimizes delays with respect to the delivery date of the parts.
  • the invention also relates to a use of said scheduling optimization method for scheduling a set of tasks to manufacture composite material parts of an aircraft.
  • FIG. 1 shows a flowchart of a process scheduling optimization of task processing according to the invention
  • FIG. 2 shows an example of task processing scheduling at the end of the sorting step (b) in the case where the number of pieces is equal to 4, the number of tasks associated with each piece is equal to 3
  • FIG. 3 shows an improved solution of the list after an example of mutation of step (f).
  • the present invention is particularly suitable for the method of manufacturing parts made of composite materials whose execution of the tasks is conditioned by a number of constraints, such as the order of precedence, the availability of resources required for execution.
  • the method of the invention makes it possible to obtain a scheduling of the processing of the different tasks of the manufacturing process which minimizes the delays with respect to the date of delivery of the parts.
  • the table contains the operating times of the cutting (O1), draping (02) and polymerization (03) tasks.
  • the polymerization times indicated correspond to the case where each of the operations is placed alone in the autoclave. In the case where several operations are grouped in the autoclave, the times are calculated by a complex function of multiple parameters.
  • Table 2 summarizes the times associated with the different feasible groupings (the groupings that are not possible if the parts do not have the same autoclave cycle, or if the parts do not fit physically together in the autoclave do not appear in the table) .
  • Table 3 contains the resource requirements for performing each task.
  • Table 4 shows the quantity of resources contained in the workshop.
  • Table 5 contains the delivery dates for each piece, which is the expiry date. The objective is therefore to minimize the maximum delay with respect to this date.
  • FIG. 1 represents a flowchart of the scheduling optimization method according to the invention.
  • a set of P solutions is randomly generated, each of the solutions corresponding to an ordered list of all the tasks.
  • a first admissible solution is constructed, that is to say a list of tasks that can be achieved by means of an iterative process in which the tasks are sorted out. according to a priority parameter taking into account the constraints of precedence and the availability of resources.
  • this second step (b) comprises a first sort in which the tasks are sorted in descending order of their processing time to form a first priority list.
  • the priority order thus defined favors the task that requires the longest processing time.
  • Other sorting criteria may also be used in the context of the invention, such as the number of resources required to process the tasks, or the expiry date.
  • This scheduling construction step (b) comprises a second sort comprising n x m iterations corresponding to n x m task processing constituting a list. At each iteration, we search for the smallest time t where a task can start at time t and place at this instant t the first task of the list that can start. This sorting is done taking into account the constraints of precedence and the availability of resources.
  • Unregistered grouping is a grouping that is open and allows you to add a task.
  • step (b) of the method of the invention an initial list containing the set of tasks to be processed is sorted according to their processing times, a first priority list is obtained: (01, P2), ( 01, P3), (02, P3),
  • the tasks that can be placed in this step are all tasks without predecessors, that is tasks (01, P3), (01, P4) and (01, P1) as well as tasks for which all predecessors are placed, that is to say: (02, P2)
  • the task (01, P3) is the highest priority, so it is placed at the instant O on the machine Dec2.
  • the list now contains the following tasks: (02, P3), (01, P4),
  • the tasks that can be placed in this step are (02, P3), (01, P4),
  • the tasks that can be placed in this step are (01, P4), (02, P2),
  • the tasks that can be placed in this step are (02, P2), (01, P1), (O3.P3) and (O2.P4). These tasks can start at the earliest at times 20,
  • the tasks that can be placed in this step are (02, P1), (02, P2), (03, P3) and (02, P4). These tasks can start at the earliest at times 40, 20, 20 and 30 respectively.
  • the free task at the smallest moment and the highest priority is (02, P2). It is placed at the instant 20 on the sheet machine using one of the two molds remaining available, for example M2, this mold is then reserved for the following tasks of the part P2 which require a mold (03, P2).
  • the tasks that can be placed in this step are (02, P1), (O3.P3),
  • the task (03, P3) is then placed at time 20 on the Autoi machine using the mold M1 which is already reserved for the task (03, P3). It is assumed for the moment that she is alone in the autoclave and therefore her execution time is 30.
  • the tasks that can be placed at this stage are (02, P1), (02, P4) and (03, P2) These tasks can start at the earliest times 40, 40 and 40 respectively.
  • the highest priority task that is (02, P1), is placed at the moment on the sheet machine using the last unreserved mold, M3.
  • the tasks that can be placed in this step are (03, P1), (02, P4) and (03, P2). These tasks can start at the earliest at times 60, 60 and 40 respectively.
  • the task (03, P2) is placed in an autoclave.
  • the grouping ((O3, P3), (O3, P2)) starts at time 40 and lasts 20 according to Table 3.
  • the task (O3, P3) then waits 20 units of time, which is below the predetermined acceptability threshold, that a task can not wait in the autoclave more than 30 units of time before the start of the polymerization task.
  • the task is therefore added to the autoclave Autoi with the mold reserved for this task M2.
  • the tasks that can be placed in this step are (03, P1) and (02, P4). These tasks can start at the earliest at times 60 and 60 respectively
  • an autoclave is placed in the highest priority task, that is to say (03.P1). If the task is added in autoclave Autoi with tasks (03, P3) and
  • the only task that can be placed in this step is (02, P4). It can start at the earliest moment 60. So it is placed at the moment 60 on the machine Sheet using the M2 mold for example.
  • the task of Autoi grouping the pieces P3 and P2 ends at time 60, which is less than or equal to the current time which is 60. We can therefore "close” this grouping, that is to say to consider that no task can be added. Parts P3 and P2 being completed, the molds M1 and M2 are "released” and can again be used for tasks of other parts.
  • the list contains only the task (03, P4), whose start date at the earliest is 90.
  • This task can not be added in autoclave Autoi with tasks (03, P3) and (03, P2 ) since the grouping has just been "closed”. It can not be grouped with the task (03, P1) either because otherwise it must wait too long (more than 30 units of time). Place (03, P4) then on Autoi (for example). It then starts at time 90 and lasts 40 units of time.
  • Figure 2 shows a graph whose X axis represents the unit of time, and the Y axis the different resources. This graph summarizes a first ordering obtained at the end of this first sorting step described above.
  • Steps (a) and (b) as described above constitute an initialization phase, during which a set of acceptable initial solutions is constructed using a list heuristic.
  • a second phase which is an iterative phase, using a search method, optimal solutions of the genetic algorithm type are generated from the admissible solutions.
  • P pairs of solutions or relatives are selected randomly and the probability of being selected is proportional to its assigned quality value (step (d)).
  • step (e) crossed (step (e)) and mutated (step (f)) to obtain a new generation of P solutions.
  • steps (b) through (f) ends when a maximum number of iterations is reached. In this way, this successive optimization progressively improves the quality of the initial solution so that the final solution is of very good quality.
  • the size of the population (P), the maximum number of iterations are parameters to be set experimentally. Their values should not be too high so that the problem can be solved in a relatively reasonable execution time, or too small for a good quality final solution.
  • tasks are kept randomly in L1 and are completed with the missing tasks contained in L2 in the order of L2;
  • the new solution thus generated is of the following form: T11, T5, T12, T7, T9, T8, T4, T10, T2, T1, T3, T6;
  • This iterative process of correction involves the following steps:
  • steps (i) to (iii) are repeated according to a predetermined fixed number of iterations.
  • the offset function corrects the priority list determined at the end of the first step by advancing the most late task to the beginning of the list. But it can also include advancing late tasks to the top of the list.
  • the tasks behind the solution obtained at the end of step (b) described above are: (O1 .P1), (O2.P1), (O3.P1), (O2.P4) and ( O3.P4).
  • the correction process according to the invention consists in correcting this first solution, that is to say improving this solution.
  • step (b) By performing step (b) again from this corrected list, we obtain the following solution constructed by scheduling the tasks in this order of priority: (O1 .P1), (O1 .P2), (O1 .P3) , (O2.P3), (O1 .P4), (O2.P1), (O3.P3), (O3.P1), (O2.P4), (O3.P4), (O2.P2) and (O2.P3) O3.P2).
  • This new corrected list is shown in Figure 3.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Educational Administration (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

L'invention concerne un procédé d'optimisation d'ordonnancement de traitement d'un ensemble de tâches pour fabriquer des pièces, chaque pièce étant définie par un cycle de fabrication propre à la pièce et une date d'échéance, ledit cycle comportant un nombre fixe de m tâches, l'exécution de chacune des tâches étant conditionnée par un ordre de préséance et la disponibilité des ressources nécessaires à l'exécution de ladite tâche. L'invention est particulièrement adaptée pour ordonnancer les tâches de fabrication de pièces en matériaux composites destinées à un aéronef.

Description

Procédé d'optimisation d'ordonnancement de traitement de tâches et utilisation d'un tel procédé
L'invention concerne un procédé d'optimisation d'ordonnancement de traitement de tâches. L'invention concerne également une utilisation de ce procédé pour ordonnancer les tâches de fabrication de pièces en matériau composite destinées à un aéronef. De manière plus précise, l'invention a pour but de minimiser le retard maximal des opérations d'un ensemble de pièces, c'est-à-dire le plus grand retard de livraison de ces pièces.
L'invention s'applique dans un très grand nombre de domaines tels que, par exemple, l'industrie aéronautique, automobile et spatial. Les pièces en matériau composite présentent des propriétés, notamment mécaniques et chimiques, excellentes. Elles peuvent ainsi combiner une résistance élevée aux contraintes mécaniques et/ou thermiques et une forte rigidité pour une masse minimale. Elles peuvent également présenter des formes complexes. On connaît de nombreux procédés permettant l'imprégnation d'une préforme avec une résine liquide pour la fabrication d'une pièce composite. On décrit ci-dessous à titre illustratif, l'un des principaux procédés de mise en œuvre du composite qui est la mise en œuvre par moulage de préimprégné thermodurcissable en autoclave. Le matériau de base se présente sous la forme de mèches de fibres continues de carbone, de verre, d'aramide ou de quartz, orientées suivant une seule direction (bandes ou nappes) ou deux directions (tissus) et préimprégnées de résine époxyde ou phénolique non réticulée. Ce mélange fibre/résine, dit préimprégné ne devient un véritable matériau composite résistant et rigide qu'en phase finale de fabrication par cuisson de la résine, correspondant à la phase polymérisation. De fait, la phase de polymérisation représente une partie conséquente du temps de cycle de production de la pièce composite.
Le procédé de fabrication d'une pièce composite à partir du préimprégné peut être décomposé en trois tâches élémentaires : - la découpe des plis ou la découpe du tissu nécessaire à la réalisation de la pièce. A l'origine, cette opération était effectuée manuellement. Aujourd'hui, elle est pratiquement automatisée sur une table de découpe programmable au moyen d'une machine de découpe telle que par jet fluide, couteau ultrason ou outil tranchant. L'exécution du traitement de cette tâche nécessite la disponibilité de la machine de découpe ;
- draper la pièce posée sur un moule soit automatiquement au moyen d'une machine à draper, soit manuellement selon le degré de courbure de la surface. L'opération de drapage consiste à déposer dans l'outillage de moulage métallique ou composite mâle ou femelle, chaque couche suivant une direction bien définie pour constituer ainsi la pièce élémentaire par un empilement successif des couches, donnant ainsi le profil interne ou externe de la pièce. Cette tâche nécessite comme outillages un moule et une machine de drapage ; - polymériser la pièce par moulage en autoclave pour l'obtention du stratifié. La cuisson se fait suivant un cycle spécifique à chaque résine et au degré de polymérisation désirée. En particulier trois paramètres interviennent : la température, la pression, et la durée de la cuisson.
Chaque pièce composite comporte son propre cycle de production et une date de livraison.
Chacune des tâches décrites ci-dessus comporte donc une durée déterminée et à chaque pièce est associée une date de livraison. Il existe de plus un ordre à respecter dans le traitement des différentes tâches, par exemple la tâche concernant la polymérisation ne peut pas commencer tant que l'étape de drapage n'a pas été achevée.
La structure de l'atelier est modélisée par un ensemble de moyens ou de ressources. Dans l'exemple décrit ci-dessus, l'exécution des traitements des trois tâches nécessite respectivement une machine de découpe, une machine de drapage et un moule, un autoclave et un moule. Le nombre de chaque catégorie de ressources peut rester figé pendant tout le processus de fabrication des pièces ou être modifié par exemple en raison d'une panne de l'une de ces ressources.
Le problème d'optimisation du procédé de fabrication de pièces composites consiste donc à optimiser l'ordonnancement d'opérations de fabrication de pièces composites de manière à minimiser le retard maximal de traitement des tâches, c'est-à-dire que l'on cherche à minimiser le plus grand retard de livraison des pièces.
Le problème d'ordonnancement de traitement de tâches à résoudre dans le cadre de la mise en œuvre du procédé de fabrication d'une pièce en matériau composite doit intégrer les contraintes suivantes : - Flexibilité : pour effectuer certaines tâches, plusieurs machines sont utilisables, il faut alors choisir les machines sur lesquelles la pièce sera réalisée ; Multi-ressources : la réalisation d'une tâche peut nécessiter plusieurs ressources en même temps, dans l'exemple décrit ci-dessus, la découpe nécessite à la fois une machine de découpe et un moule ; Regroupement : certaines machines peuvent regrouper plusieurs tâches de plusieurs pièces en même temps sur certaines ressources, dans l'exemple décrit ci-dessus, pendant l'opération de polymérisation, certaines pièces qui appartiennent à la même famille (même durée de cuisson, même degré de polymérisation) et qui rentrent physiquement dans l'autoclave peuvent être regroupées ensemble,
Contrainte de préséance entre les différentes tâches, à savoir un ordre de traitement des tâches à respecter ;
Comme on vient de le voir, le problème d'optimisation d'ordonnancement de traitement de tâches est un problème combinatoire très complexe. Il existe un certain nombre de méthodes d'optimisation d'ordonnancement dans l'art antérieur qui sont proposées pour résoudre un tel problème. Toutefois les problèmes traités par ces méthodes n'intègrent pas toutes les contraintes mentionnées ci-dessus ou seulement une partie de ces contraintes. En outre, les méthodes existantes traitent ces contraintes les unes indépendamment des autres. De manière générale les objectifs considérés sont la date de fin de l'ordonnancement.
Dans des travaux plus proches de la problématique de l'invention, les problèmes traités n'intègrent pas d'opérations nécessitant plusieurs ressources en même temps, de plus le but principal que ces méthodes cherchent à atteindre est de réduire les temps de préparation. Enfin la durée d'un regroupement dans le problème considéré est égale à la durée maximale des opérations qu'il contient, ou constante quelque soit le type de regroupement. Ceci n'est pas envisageable dans le cadre d'une solution physique. En effet le temps nécessaire pour faire exécuter plusieurs opérations en même temps sur une même machine, désigné sous le terme la durée d'un regroupement, est une fonction quelconque de multiples paramètres, par exemple le temps de processus dans l'autoclave doit être une fonction complexe qui dépend de la superficie des pièces, du positionnement des pièces dans l'autoclave, de la forme des pièces, des propriétés physiques des outillages utilisés, etc. La présente invention vise donc à fournir un procédé d'optimisation d'ordonnancement des différentes tâches pour fabriquer des pièces, permettant de prendre en compte toutes les contraintes de regroupement d'opérations en même temps, en visant à minimiser le retard maximal des opérations. De manière plus précise, l'invention concerne un procédé d'optimisation d'ordonnancement de traitement d'un ensemble de tâches pour fabriquer n pièces, chaque pièce étant définie par un cycle de fabrication propre à la pièce et une date d'échéance, ledit cycle comportant un nombre fixe de m tâches, l'exécution de chacune des tâches étant conditionnée par un ordre de préséance et la disponibilité des ressources nécessaires à l'exécution de ladite tâche. Selon l'invention, le procédé comprend les étapes suivantes dans lesquelles : a) on génère aléatoirement un ensemble de P solutions initiales, chacune des solutions correspondant à une liste contenant les tâches destinées à être ordonnancées pour fabriquer les n pièces ; b) on construit une première solution admissible à partir de chacune des listes au moyen d'un processus itératif dans lequel on trie les tâches selon un paramètre de priorité en tenant compte de la disponibilité des ressources et des préséances à respecter ; c) on affecte à chacune des premières solutions une valeur de qualité correspondant au plus grand retard d'une tâche dans l'ordonnancement obtenu à l'étape (b) de manière à classer les solutions selon un ordre décroissant de valeur de qualité ; d) on sélectionne P couples de solutions dont la probabilité d'être sélectionnée est proportionnelle à la valeur de qualité affectée de la solution ; e) on applique un opérateur de croisement sur chacun des P couples de solutions sélectionnés pour générer une nouvelle solution fille ; f) on applique un opérateur de mutation sur chacune des P solutions filles générées à l'étape (e) ; g) on remplace l'ensemble des P solutions initiales de l'étape a) par l'ensemble des P solutions générées à l'issue de l'étape f) ; h) on répète les étapes b) à f) de manière itérative, le nombre d'itérations étant fixé préalablement.
Le retard des tâches est défini par rapport à une date d'échéance associée à chaque pièce, qui est par exemple la date de livraison de la pièce ou tout autre date devant être respectée.
Selon une caractéristique supplémentaire de l'invention, l'étape de construction de première solution admissible (b) comporte :
- un premier tri selon une valeur propre des tâches de sorte que les tâches soient traitées selon un ordre décroissant ou croissant de leur valeur propre, et - un deuxième tri comportant n x m itérations correspondant à n x m tâches constituant une liste, chacune des itérations consistant à
- à rechercher le plus petit instant t où une tâche peut démarrer en tenant compte de la disponibilité des ressources et des préséances à respecter,
- à placer à l'instant t la première tâche de la liste qui peut démarrer à t,
- dans le cas où ladite tâche sélectionnée doit être exécutée sur une ressource pouvant regrouper plusieurs tâches, à regrouper ladite tâche avec d'autres tâches compatibles dans un regroupement existant qui n'est pas encore ordonnancé dans la liste ou à créer un nouveau regroupement pour placer ladite tâche.
On entend par "disponibilité de la ressource", la durée d'indisponibilité de la ressource la plus petite possible.
On entend par "regroupement qui n'est pas encore ordonnancé dans la liste", un regroupement de tâches qui est ouvert à l'instant t pouvant accueillir la tâche.
Selon une autre caractéristique supplémentaire de l'invention, afin que ces regroupements ne restent pas indéfiniment ouverts en attente d'une éventuelle tâche à ajouter, un regroupement est ordonnancé dans la liste dans les deux cas suivants :
- lorsque l'attente du regroupement correspondant au temps maximum nécessaire pour que l'ensemble des pièces contenues dans le regroupement soient prêtes pour l'exécution de la tâche est supérieur à un seuil d'acceptabilité prédéterminé, ou
- lorsque la date de fin du regroupement est antérieure à l'instant considéré.
Ainsi le regroupement est fermé ou ordonnancé dans liste si cette attente est trop longue, c'est-à-dire si elle est supérieure à un seuil d'acceptabilité prédéterminé. Ce seuil peut être statique ou dynamique, dépendant des tâches du regroupement. A titre d'exemple, le regroupement est fermé pour débuter l'exécution des tâches s'il existe une tâche qui attend depuis plus de α fois sa durée (α = 0,5 ou 0,7 ou 0,9).
La date de début d'un regroupement est le maximum des dates de disponibilités des tâches qui le constituent et la durée du regroupement est le résultat d'une fonction quelconque, dépendant des tâches du regroupement, de la ressource exécutant le regroupement ainsi que de la nature du traitement effectué. La fin du regroupement est alors définie par la date de début augmentée de sa durée. Un regroupement est considéré fermé si la date de fin du regroupement est antérieure à l'instant t considéré.
Selon une réalisation de l'invention, l'opérateur de croisement choisi dans l'étape (e) consiste : - à conserver aléatoirement des tâches contenues dans une des deux solutions dudit couple et compléter avec les tâches contenues dans la seconde solution dans l'ordre de la seconde solution, ou à trier les tâches par ordre décroissant de retard cumulé dans les deux solutions dudit couple, ou - à conserver à leur place les tâches sans retard dans la première solution dudit couple et à compléter dans l'ordre de la seconde solution dudit couple pour les tâches avec retard.
Selon une réalisation de l'invention, ledit opérateur de mutation de l'étape (f) consiste à : - déplacer de manière aléatoire une tâche dans la solution, ou à échanger de manière aléatoire deux tâches dans la solution, ou à remplacer une sous-séquence de la solution par une de ses permutations choisie de manière aléatoire, ou à trier une sous-séquence de la solution par ordre décroissant des retards des tâches, ou à déplacer les tâches les plus en retard d'un nombre fixe de rangs vers le début de la solution, ou à corriger la solution selon un processus répétitif de correction qui est une heuristique de liste répétitive.
Selon une réalisation de l'invention, le processus itératif de correction comprend les étapes suivantes :
- (i) on ordonnance la liste de tâches selon l'étape de construction (b) ;
- (ii) on corrige la liste de priorité en décalant lesdites tâches en retard dans la liste selon une fonction de décalage ;
- (iii) on évalue le retard maximal Tmax des tâches ;
- (iv) on répète les étapes (i) à (iii) selon un nombre fixé d'itérations prédéterminé.
Dans cette étape, la fonction de décalage corrige la liste de priorité déterminée à l'issue de la première étape en avançant la tâche la plus en retard en début de liste. Mais elle peut consister également à avancer les tâches en retard en début de liste ou tout autre type de date d'échéance. Le procédé d'optimisation d'ordonnancement de traitement de tâches selon l'invention permet ainsi de minimiser les retards par rapport à la date de livraison des pièces.
L'invention concerne également une utilisation dudit procédé d'optimisation d'ordonnancement pour ordonnancer un ensemble de tâches pour fabriquer des pièces en matériaux composites d'un aéronef.
D'autres avantages et caractéristiques de l'invention apparaîtront avec la description de certains de ses modes de réalisations particuliers, cette description étant effectuée à titre non limitatif à l'aide des figures sur lesquelles : - la figure 1 montre un organigramme de procédé d'optimisation d'ordonnancement de traitement de tâches selon l'invention ; la figure 2 montre un exemple d'ordonnancement de traitement de tâches à l'issue de l'étape de tri (b) dans le cas où le nombre de pièces est égal à 4, le nombre de tâches associé à chaque pièce est égal à 3 ; - la figure 3 montre une solution améliorée de la liste à l'issue d'un exemple de mutation de l'étape (f).
La présente invention est particulièrement adaptée pour le procédé de fabrication de pièces en matériaux composites dont l'exécution des tâches est conditionnée par un certain nombre de contraintes, telles que l'ordre de préséance, la disponibilité des ressources nécessaires à l'exécution. Le procédé de l'invention permet d'obtenir un ordonnancement du traitement des différentes tâches du procédé de fabrication qui minimise les retards par rapport à la date de livraison des pièces. Selon l'invention, on peut envisager d'utiliser le procédé de l'invention pour la fabrication de pièces structurelles pour un avion.
La description qui suit décrit un exemple de réalisation de l'invention pour 4 pièces en matériaux composites P1 , P2, P3 et P4. Le tableau contient les temps opératoires des tâches de découpe (O1 ), de drapage (02) et de polymérisation (03). Les temps de polymérisation indiqués correspondent au cas où chacune des opérations est placée seule dans l'autoclave. Dans le cas où plusieurs opérations sont regroupées dans l'autoclave, les temps sont calculés par une fonction complexe de multiples paramètres. Le tableau 2 résume les temps associés aux différents regroupements réalisables (les regroupements qui sont irréalisables si les pièces n'ont pas le même cycle autoclave, ou si les pièces ne rentrent pas physiquement ensemble dans l'autoclave n'apparaissent pas dans le tableau). Le tableau 3 contient les besoins en ressources pour exécuter chacune des tâches. Le tableau 4 indique la quantité de ressources contenues dans l'atelier. Enfin le tableau 5 contient les dates de livraison de chacune des pièces, c'est la date d'échéance. L'objectif est donc de minimiser le retard maximal par rapport à cette date.
Tableau 1 : Temps opératoires en minutes
Tableau 3 : Besoins en ressources
Tableau 4 : Quantités de ressources disponibles
Tableau 5 : Dates de livraison
Dans cet exemple, on considère que toutes les pièces suivent le même processus, ce qui n'est pas forcément le cas, en outre, on suppose que les ressources sont disponibles 24h/24h et qu'une tâche ne peut attendre dans l'autoclave plus de 30 unité de temps avant le démarrage de la tâche de polymérisation.
De façon générale, avant la mise en œuvre du procédé, les informations suivantes sont connues : - l'ordre de préséance dans lequel les tâches doivent être exécutées ;
- le nombre total de ressources disponibles pour le traitement des tâches ;
- le nombre de ressources nécessaires au traitement de chaque tâche ;
- la durée nécessaire au traitement de chaque tâche ;
- le nombre de pièces à réaliser ; - la durée des regroupements.
La figure 1 représente un organigramme de principe du procédé d'optimisation d'ordonnancement selon l'invention.
Dans une première étape du procédé, on génère de manière aléatoire un ensemble de P solutions, chacune des solutions correspondant à une liste ordonnée de toutes les tâches.
Dans une seconde étape du procédé (b), à partir de chacune des solutions initiales, on construit une première solution admissible, c'est-à-dire une liste de tâches réalisable au moyen d'un processus itératif dans lequel on trie les tâches selon un paramètre de priorité en tenant compte des contraintes de préséances et de la disponibilité des ressources.
Pour cela, cette seconde étape (b) comporte un premier tri dans lequel les tâches sont triées par ordre décroissant de leur durée de traitement pour former une première liste de priorité. Dans ce cas, l'ordre de priorité ainsi défini privilégie la tâche qui demande la durée de traitement la plus longue. D'autres critères de tri peuvent être également utilisés dans le cadre de l'invention, tels que le nombre de ressources nécessaires au traitement des tâches, ou la date d'échéance.
Cette étape de construction d'ordonnancement (b) comporte un deuxième tri comportant n x m itérations correspondant à n x m traitements de tâches constituant une liste. A chaque itération, on recherche le plus petit instant t où une tâche peut démarrer à l'instant t et à placer à cet instant t la première tâche de la liste qui peut démarrer. Ce tri est effectué en tenant compte des contraintes de préséances et de la disponibilité des ressources.
Dans le cas où la tâche sélectionnée doit être exécutée sur une ressource qui permet de regrouper plusieurs tâches, on évalue la possibilité de regrouper la tâche ainsi sélectionnée avec d'autres tâches compatible dans un regroupement existant non ordonnancé. S'il n'existe pas de regroupement pouvant recevoir la tâche, alors on crée un nouveau regroupement pour cette tâche. On entend par regroupement non ordonnancé, un regroupement qui est ouvert et qui permet d'ajouter une tâche.
Ainsi selon l'étape (b) du procédé de l'invention, on trie une liste initiale contenant l'ensemble des tâches à traiter selon leur durées de traitement, on obtient une première liste de priorité suivante : (01 , P2), (01 , P3), (02, P3),
(O1 ,P4), (O2,P1 ), (O2,P2), (01.P1 ), (O3,P1 ), (O3,P3), (O2,P4), (O3,P2), (O3,P4).
A partir de cette première liste, on va calculer le plus petit instant où une tâche peut démarrer, c'est-à-dire à sélectionner pour chaque type de ressource nécessaire, la ressource disponible qui permet l'exécution de la tâche le plus tôt possible. Cette étape comporte 12 itérations, correspondant à 4 pièces x 3 tâches.
Les seules tâches de la liste qui peuvent être placées pour le moment dans l'exemple considéré sont les tâches sans préséance, c'est à dire (01 , P2),
(01 , P3), (01 , P4), (01 , P1 ). La date de démarrage au plus tôt de chacune de ces tâches est O (car toutes les ressources ou machines sont disponibles). On ordonnance donc à l'instant t = O la tâche la plus prioritaire parmi ces tâches, c'est-à-dire (01 , P2). Cette tâche nécessite une machine de découpe. Cette première itération permet d'affecter (01 , P2) sur Dec1 par exemple puisque les deux machines sont disponibles à la même date.
La liste contient maintenant une tâche de moins à ordonnancer : (01 , P3), (O2.P3), (01 ,P4), (02.P1 ), (O2,P2), (01 ,P1 ), (O3,P1 ), (O3,P3), (O2,P4), (O3,P2),
(03, P4). Les tâches pouvant être placées à cette étape sont toutes les tâches sans prédécesseurs, c'est-à-dire les tâches (01 , P3), (01 , P4) et (01 , P1 ) ainsi que les tâches dont tous les prédécesseurs sont placés, c'est-à-dire : (02, P2)
Les dates de démarrage au plus tôt de ces tâches sont t = O pour (01 , P3), (01 , P4) et (01 , P1 ) (chacune de ces tâches peut en effet être exécutée sur la ressource Dec2 qui est disponible à l'instant O), et 10 pour la tâche (02, P2) (date de fin de son prédécesseur (02, P1 )). Parmi les tâches pouvant démarrer le plus tôt (à la date O), la tâche (01 ,P3) est la plus prioritaire, on la place donc à l'instant O sur la machine Dec2. La liste contient maintenant les tâches suivantes : (02, P3), (01 , P4),
(O2,P1 ), (O2,P2), (01 , P1 ), (O3,P1 ), (O3,P3), (O2,P4), (O3,P2), (O3,P4)
Les tâches pouvant être placées à cette étape sont (02, P3), (01 , P4),
(02, P2) et (01 , P1 ). Ces tâches peuvent démarrer au plus tôt respectivement aux instants 10 (date de fin de la tâche (01 , P3)), 10 (date de disponibilité des machines de découpe), 10 (date de fin de la tâche (01 , P2)) et 10 (date de disponibilité des machines de découpe)
On place donc à l'instant 10 la tâche la plus prioritaire, c'est-à-dire (02, P3) sur la machine de drapage et en utilisant l'un des 3 moules disponibles, par exemple M1 , ce moule est alors réservé pour les tâches suivantes de la pièce P3 qui nécessitent un moule (03, P3).
La liste contient maintenant les tâches suivantes : (01 , P4), (02, P1 ), (O2,P2), (01.P1 ), (O3,P1 ), (O3,P3), (O2,P4), (O3,P2), (O3,P4). Les tâches pouvant être placées à cette étape sont (01 , P4), (02, P2),
(O1 ,P1 ) et (O3,P3).
Ces tâches peuvent démarrer au plus tôt respectivement aux instants 10, 20, 10 et 20.
On place donc à l'instant 10 sur la machine Dec1 la tâche la plus prioritaire, c'est-à-dire (01 , P4).
La liste contient maintenant les tâches suivantes : (02, P1 ), (02, P2), (01.P1 ), (03.P1 ), (O3.P3), (O2.P4), (O3.P2), (O3.P4).
Les tâches pouvant être placées à cette étape sont (02, P2), (01 , P1 ), (O3.P3) et (O2.P4). Ces tâches peuvent démarrer au plus tôt respectivement aux instants 20,
10, 20 et 30.
On place donc à l'instant 10 la tâche la plus prioritaire, c'est-à-dire (01 , P1 ), sur la machine Dec2.
La liste contient maintenant les tâches suivantes : (02, P1 ), (O2,P2), (03.P1 ), (O3.P3), (O2.P4), (O3.P2), (O3.P4).
Les tâches pouvant être placées à cette étape sont (02, P1 ), (02, P2), (03, P3) et (02, P4). Ces tâches peuvent démarrer au plus tôt respectivement aux instants 40, 20, 20 et 30.
La tâche libre au plus petit instant et la plus prioritaire est (02, P2). On la place à l'instant 20 sur la machine Drap en utilisant l'un des 2 moules restant disponibles, par exemple M2, ce moule est alors réservé pour les tâches suivantes de la pièce P2 qui nécessitent un moule (03, P2).
La liste contient maintenant les tâches suivantes : (02, P1 ), (03, P1 ), (O3.P3), (O2.P4), (O3.P2), (O3.P4). Les tâches pouvant être placées à cette étape sont (02, P1 ), (O3.P3),
(02, P4) et (03, P2). Ces tâches peuvent démarrer au plus tôt respectivement aux instants 40, 20, 40 et 40.
On place alors la tâche (03, P3) à l'instant 20 sur la machine Autoi en utilisant le moule M1 qui est déjà réservé pour la tâche (03, P3). On suppose pour le moment qu'elle est seule dans l'autoclave et que donc son temps d'exécution est 30.
La liste contient maintenant les tâches suivantes : (02, P1 ), (03, P1 ), (O2.P4), (O3.P2), (O3.P4). Les tâches pouvant être placées à cette étape sont (02, P1 ), (02, P4) et (03, P2) Ces tâches peuvent démarrer au plus tôt respectivement aux instants 40, 40 et 40.
On place donc à l'instant 40 la tâche la plus prioritaire, c'est-à-dire (02, P1 ), sur la machine Drap en utilisant le dernier moule non réservé, M3.
La liste contient maintenant les tâches suivantes : (03, P1 ), (02, P4), (O3.P2), (O3.P4).
Les tâches pouvant être placées à cette étape sont (03, P1 ), (02, P4) et (03, P2). Ces tâches peuvent démarrer au plus tôt respectivement aux instants 60, 60 et 40.
On place donc à l'instant 40 la tâche (03, P2) dans un autoclave. On regarde d'abord si cette tâche peut être ajoutée dans l'autoclave Autoi avec la tâche (O3,P3). Dans ce cas, le regroupement ((O3,P3),(O3,P2)) démarre à l'instant 40 et dure 20 d'après le tableau 3. La tâche (O3,P3) attend alors 20 unités de temps, ce qui est inférieur au seuil d'acceptabilité prédéterminé, à savoir qu'une tâche ne peut attendre dans l'autoclave plus de 30 unités de temps avant le démarrage de la tâche de polymérisation. La tâche est donc ajoutée dans l'autoclave Autoi avec le moule réservé à cette tâche M2.
La liste contient maintenant les tâches suivantes : (03, P1 ), (02, P4), (O3.P4).
Les tâches pouvant être placées à cette étape sont (03, P1 ) et (02, P4). Ces tâches peuvent démarrer au plus tôt respectivement aux instants 60 et 60
On place donc à l'instant 60 dans un autoclave la tâche la plus prioritaire, c'est-à-dire (03.P1 ). Si la tâche est ajoutée dans l'autoclave Autoi avec les tâches (03, P3) et
(03, P2), le regroupement démarre à l'instant 60 et dure 40 d'après le tableau 3, dans ce cas la tâche (03, P3) doit alors attendre 40 unités de temps, ce qui est supérieur à la durée d'attente maximale qui a été fixée à 30. La tâche est donc ajoutée dans l'autoclave Auto2, et puisque qu'elle est seule pour le moment dans l'autoclave, elle dure 30. On utilise pour cette tâche le moule M3.
La liste contient maintenant les tâches suivantes : (02, P4), (03, P4).
La seule tâche pouvant être placée à cette étape est (02, P4). Elle peut démarrer au plus tôt à l'instant 60. On la place donc à l'instant 60 sur la machine Drap en utilisant le moule M2 par exemple. De plus, la tâche de Autoi regroupant les pièces P3 et P2 se termine à l'instant 60, ce qui est inférieur ou égal à l'instant courant qui vaut 60. On peut donc « fermer » ce regroupement, c'est-à-dire considérer qu'aucune tâche ne pourra y être ajoutée. Les pièces P3 et P2 étant terminées, les moules M1 et M2 sont « libérés » et peuvent à nouveau servir pour des tâches d'autres pièces.
La liste ne contient plus que la tâche (03, P4), dont la date de démarrage au plus tôt est 90. Cette tâche ne peut pas être ajoutée dans l'autoclave Autoi avec les tâches (03, P3) et (03, P2) puisque le regroupement vient d'être « fermé ». Elle ne peut pas non plus être regroupée avec la tâche (03, P1 ) car sinon cette dernière doit attendre trop longtemps (plus de 30 unités de temps). On place (03, P4) donc sur Autoi (par exemple). Elle démarre alors à l'instant 90 et dure 40 unités de temps. La figure 2 représente un graphe dont l'axe X représente l'unité de temps, et l'axe Y les différentes ressources. Ce graphe résume un premier ordonnancement obtenu à l'issue de cette première étape de tri décrit ci-dessus.
Les étapes (a) et (b) telles que décrites ci-dessus constituent une phase d'initialisation, au cours de laquelle on construit un ensemble de solutions initiales admissibles à l'aide d'une heuristique de liste.
Dans une seconde phase qui est une phase itérative, on génère à l'aide d'une méthode recherche de solutions optimales de type algorithme génétique à partir des solutions admissibles.
A une itération donnée, on dispose donc d'une population P de solutions, ou individus représentés par une permutation des tâches dont l'ordonnancement correspondant est obtenu par l'heuristique de liste. A chaque individu est associé une valeur de qualité déterminée selon le principe de l'adaptation linéaire, (c) : les individus sont triés selon le retard maximum de l'ordonnancement qu'ils induisent et dans un ordre décroissant. Ce classement des individus selon leur performance permet de bien différencier les individus ayant des valeurs proches, et ainsi de concentrer sur ceux qui sont les meilleurs. Dans le cas où deux individus ont le même retard maximum, on privilégie l'individu qui minimise la somme des retards induits.
On sélectionne P couples de solutions ou parents de manière aléatoire et dont la probabilité d'être sélectionné est proportionnelle à sa valeur de qualité affectée (étape (d)).
Ces couples de solutions sont utilisés pour être croisés (étape (e)) et mutés (étape (f)) pour obtenir une nouvelle génération de P solutions.
On passe à l'itération suivante dans laquelle on recommence avec la nouvelle génération de P solutions qui remplace les solutions initiales de l'étape (a).
Le processus itératif des étapes (b) à (f) s'achève lorsqu'un nombre maximal d'itérations est atteint. De cette façon, cette optimisation successive améliore progressivement la qualité de la solution initiale de sorte que la solution finale soit de très bonne qualité.
De manière générale, la taille de la population (P), le nombre maximal d'itérations sont des paramètres à régler expérimentalement. Leurs valeurs ne doivent pas être trop élevées afin que le problème puisse être résolu dans un temps d'exécution relativement raisonnable, ni trop petite pour l'obtention d'une solution finale de bonne qualité.
De même, seuls les résultats expérimentaux permettent de déterminer les opérateurs à privilégier, ainsi que les taux de mutation et/ou croisement à appliquer.
Afin d'illustrer les opérateurs de croisement et les opérateurs de mutations, on considère ici un exemple de couple de solutions sélectionnées présentées sous la forme suivante (entre [ ] indique le retard de la tâche) : - L1 : T1 [0], T2[0], T3[1 ],T4[0],T5[2],T6[1 ],T7[3],T8[4],T9[4],T10[3],T1 1 [7],T12[8] - L2 : T3[0], T6[0], T12[1 ],T10[0],T2[2],T1 [1 ],T8[3],T9[4],T4[4],T1 1 [4],T7[5],T5[7]
On décrit ci-dessus les différents opérateurs de croisement sur le couple de solutions :
- on conserve par exemple aléatoirement des tâches dans L1 et on complète avec les tâches manquantes contenues dans L2 dans l'ordre de L2 ;
- on trie par retard cumulé décroissant, la nouvelle solution ainsi générée est de la forme suivantes : T11 , T5, T12, T7, T9, T8, T4, T10, T2, T1 , T3, T6 ;
- on conserve à leur place les tâches sans retard dans L1 et on complète avec les tâches de L2 dans l'ordre de L2, pour les tâches avec retard. On décrit ci-dessus les différents opérateurs de mutations appliqués sur
L1 :
- déplacement aléatoire d'une tâche dans la liste, par exemple en déplaçant T5 après T10 ;
- échange aléatoire de deux tâches dans la liste, par exemple en échangeant T2 et T7 ;
- remplacement d'une sous-séquence de la liste par une de ses permutations, par exemple en permutant le sous-séquence T4, T5, T6, T7 et T8 en T7, T4, T6, T5, T8 ;
- tri d'une sous-séquence de la liste par ordre décroisssant des retards des tâches ; par exemple en triant la sous-séquence T5, T6, T7, T8, T9 qui donne T8,
T9, T7, T10, T5, T6 ; - déplacement d'un nombre fixe de k rangs vers le début de la liste des n tâches les plus en retard ; on obtient par exemple, pour n = 4 et k = 2, une nouvelle liste : T1 , T2, T3, T4, T5, T8, T9, T6, T1 1 , T12, T7, T10 ;
- optimisation locale par application d'une heuristique de liste répétitive qui est un processus itératif de correction.
Ce processus itératif de correction comporte les étapes suivantes : :
- (i) on ordonnance la liste de tâches de nouveau selon l'étape de construction
(b) ;
- (ii) on corrige la liste de priorité en décalant lesdites tâches en retard dans la liste selon une fonction de décalage ;
- (iii) on évalue le retard maximal Tmax des tâches ;
- (iv) on répète les étapes (i) à (iii) selon un nombre fixé d'itérations prédéterminé.
Dans cette étape, la fonction de décalage corrige la liste de priorité déterminée à l'issue de la première étape en avançant la tâche la plus en retard en début de liste. Mais elle peut consister également à avancer les tâches en retard en début de liste.
On décrit ci-dessus une solution améliorée après avoir appliqué le processus de correction.
Les tâches en retard de la solution obtenue à l'issue de l'étape (b) décrit ci- dessus sont : (O1 .P1 ), (O2.P1 ), (O3.P1 ), (O2.P4) et (O3.P4). Le processus de correction selon l'invention consiste à corriger cette première solution, c'est-à-dire à améliorer cette solution.
Les tâches en retard sont avancées toutes au début de la liste, en conservant leur ordre relatif, une nouvelle liste corrigée est ainsi obtenue : (O1 ,P1 ), (O2.P1 ), (O3.P1 ), (O2.P4), (O3.P4), (01 ,P2), (01 ,P3), (O2.P3), (01 ,P4), (O2.P2), (O3.P3), (O3.P2).
En exécutant de nouveau l'étape (b) à partir de cette liste corrigée, nous obtenons la solution suivante construite en ordonnançant les tâches dans cet ordre de priorité : (O1 .P1 ), (O1 .P2), (O1 .P3), (O2.P3), (O1 .P4), (O2.P1 ), (O3.P3), (O3.P1 ), (O2.P4), (O3.P4), (O2.P2) et (O3.P2). Cette nouvelle liste corrigée est représentée sur la figure 3.
Nous pouvons alors de nouveau rechercher toutes les tâches en retard qui sont maintenant (01 .P2), (02, P2), (03, P2), (01 , P3), (02, P3) et (03, P3).et les placer en début de liste. Ainsi le processus est répété tant que l'on trouve une solution améliorante, c'est-à-dire tant que la valeur du retard maximal Tmax des tâches dans la solution trouvée est supérieure à une valeur Tmax * prédéterminée. Lorsque la valeur Tmax trouvée est égale à la valeur Tmax * prédéterminée, le processus itératif est arrêté.

Claims

REVENDICATIONS
1 . Procédé d'optimisation d'ordonnancement de traitement d'un ensemble de tâches pour fabriquer n pièces, chaque pièce étant définie par un cycle de fabrication propre à la pièce et une date d'échéance, ledit cycle comportant un nombre fixe de m tâches, l'exécution de chacune des tâches étant conditionnée par un ordre de préséance et la disponibilité des ressources nécessaires à l'exécution de ladite tâche, caractérisé en ce que ledit procédé comprend les étapes suivantes dans lesquelles : a) on génère aléatoirement un ensemble de P solutions initiales, chacune des solutions correspondant à une liste contenant les tâches destinées à être ordonnancées pour fabriquer les n pièces ; b) on construit une première solution admissible à partir de chacune des listes au moyen d'un processus itératif dans lequel on trie les tâches selon un paramètre de priorité en tenant compte de la disponibilité des ressources et des préséances à respecter ; c) on affecte à chacune des premières solutions une valeur de qualité correspondant au plus grand retard d'une tâche dans l'ordonnancement obtenu à l'étape (b) de manière à classer les solutions selon un ordre décroissant de valeur de qualité ; d) on sélectionne P couples de solutions dont la probabilité d'être sélectionnée est proportionnelle à la qualité de la solution ; e) on applique un opérateur de croisement sur chacun des P couples de solutions sélectionnés pour générer une nouvelle solution fille ; f) on applique un opérateur de mutation sur chacune des P solutions filles générées à l'étape (e) ; g) on remplace l'ensemble des P solutions initiales de l'étape a) par l'ensemble des P solutions générées à l'issue de l'étape f) ; h) on répète les étapes b) à f) de manière itérative, le nombre d'itérations étant fixé préalablement.
2. Procédé d'optimisation d'ordonnancement de traitement de tâches selon la revendication 1 , caractérisé en ce que l'étape de construction de première solution admissible (b) comporte :
- un premier tri selon une valeur propre des tâches de sorte que les tâches soient traitées selon un ordre décroissant ou croissant de leur valeur propre, et - un deuxième tri comportant n x m itérations correspondant à n x m traitements de tâches constituant la liste, chacune des itérations consistant :
- à rechercher le plus petit instant t où une tâche peut démarrer en tenant compte de la disponibilité des ressources et des préséances à respecter,
- à placer à cet instant t la première tâche de la liste qui peut démarrer à t,
- dans le cas où ladite tâche sélectionnée doit être exécutée sur une ressource pouvant regrouper plusieurs tâches, à regrouper ladite tâche avec d'autres tâches compatibles dans un regroupement existant qui n'est pas encore ordonnancé dans la liste ou à créer un nouveau regroupement pour placer ladite tâche.
3. Procédé d'optimisation d'ordonnancement de traitement de tâches selon la revendication 2, caractérisé en ce qu'un regroupement est ordonnancé dans la liste lorsque la durée de l'attente du regroupement est supérieur à un seuil d'acceptabilité prédéterminé, ladite durée correspondant au temps maximum nécessaire pour que l'ensemble des pièces contenues dans le regroupement soient prêtes pour l'exécution de la tâche
4. Procédé d'optimisation d'ordonnancement de traitement de tâches selon la revendication 2, caractérisé en ce qu'un regroupement est ordonnancé dans la liste lorsque la date de fin du regroupement est antérieure à l'instant t considéré.
5. Procédé d'optimisation d'ordonnancement de traitement de tâches selon l'une des revendications 2 à 4, caractérisé en ce que ladite valeur propre des tâches est la durée d'exécution des tâches, ou le nombre de ressources nécessaires au traitement des tâches, ou la date d'échéance.
6. Procédé d'optimisation d'ordonnancement de traitement de tâches selon l'une des revendications 1 à 5, caractérisé en ce que ledit opérateur de croisement consiste : à conserver aléatoirement des tâches contenues dans une des deux solutions dudit couple et compléter avec les tâches contenues dans la seconde solution dans l'ordre de la seconde solution, ou à trier les tâches par ordre décroissant de retard cumulé dans les deux solutions dudit couple, ou à conserver à leur place les tâches sans retard dans la première solution dudit couple et à compléter dans l'ordre de la seconde solution dudit couple pour les tâches avec retard.
7. Procédé d'optimisation d'ordonnancement de traitement de tâches selon l'une des revendications 1 à 5, caractérisé en ce que ledit opérateur de mutation consiste à : déplacer de manière aléatoire une tâche dans la solution, ou à échanger de manière aléatoire deux tâches dans la solution, ou - à remplacer une sous-séquence de la solution par une de ses permutations choisie de manière aléatoire, ou à trier une sous-séquence de la solution par ordre décroissant des retards des tâches, ou à déplacer les tâches les plus en retard d'un nombre fixe de rangs vers le début de la solution, ou à corriger la solution selon un processus répétitif de correction.
8. Procédé d'optimisation d'ordonnancement de traitement de tâches selon la revendication 7, caractérisé en ce que ledit processus répétitif de correction comprend les étapes suivantes :
- (i) on ordonnance la liste de tâches selon l'étape de tri (b) ;
- (ii) on corrige la liste de tâches en décalant les tâches en retard dans la liste selon une fonction de décalage ;
- (iii) on évalue le retard maximal Tmax des tâches ; - (iv) on répète les étapes (i) à (iii) selon un nombre fixe prédéterminé.
9. Procédé d'optimisation d'ordonnancement de traitement de tâches selon la revendication 8, caractérisé en ce que ladite fonction de décalage consiste à placer la tâche ayant le retard maximal parmi les tâches en retard en début de liste, ou d'avancer toutes les tâches en retard en début de liste.
10. Utilisation dudit procédé d'optimisation selon l'une quelconque des revendications 1 à 9 pour ordonnancer un ensemble de tâches pour fabriquer des pièces en matériaux composites d'un aéronef.
EP09766070A 2008-06-17 2009-06-12 Procede d'optimisation d'ordonnancement de traitement de taches et utilisation d'un tel procede Withdrawn EP2304659A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0853998A FR2932587A1 (fr) 2008-06-17 2008-06-17 Procede d'optimisation d'ordonnancement de traitement de taches et utilisation d'un tel procede
PCT/FR2009/051119 WO2009153508A1 (fr) 2008-06-17 2009-06-12 Procede d'optimisation d'ordonnancement de traitement de taches et utilisation d'un tel procede

Publications (1)

Publication Number Publication Date
EP2304659A1 true EP2304659A1 (fr) 2011-04-06

Family

ID=40228759

Family Applications (1)

Application Number Title Priority Date Filing Date
EP09766070A Withdrawn EP2304659A1 (fr) 2008-06-17 2009-06-12 Procede d'optimisation d'ordonnancement de traitement de taches et utilisation d'un tel procede

Country Status (3)

Country Link
EP (1) EP2304659A1 (fr)
FR (1) FR2932587A1 (fr)
WO (1) WO2009153508A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118094778A (zh) * 2024-04-23 2024-05-28 中国人民解放军海军航空大学 一种飞机海上平台出动回收协同调度方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2009153508A1 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118094778A (zh) * 2024-04-23 2024-05-28 中国人民解放军海军航空大学 一种飞机海上平台出动回收协同调度方法

Also Published As

Publication number Publication date
WO2009153508A1 (fr) 2009-12-23
FR2932587A1 (fr) 2009-12-18

Similar Documents

Publication Publication Date Title
EP2349687B1 (fr) Procede de fabrication de piece de forme complexe en materiau composite
EP2791406B1 (fr) Structure fibreuse avec fils a titre variable
FR2939129A1 (fr) Aube de turbomachine en materiau composite et procede pour sa fabrication.
FR2882356A1 (fr) Procede de fabrication de piece en materiau composite a matrice ceramique et piece ainsi obtenue
CN110428140B (zh) 一种工序序列择时的多设备工序调度方法
US5419868A (en) Method of manufacturing parts made of a composite material having a metallic matrix
EP2262635A2 (fr) Procédé de fabrication d'un produit composite multi axial plan et produit obtenu par ce procédé
Dobrzanski et al. Application of Taguchi method in the optimisation of filament winding of thermoplastic composites
WO2009153508A1 (fr) Procede d'optimisation d'ordonnancement de traitement de taches et utilisation d'un tel procede
FR3011253A1 (fr) Structure fibreuse avec regroupement des flottes
EP2457885A1 (fr) Procédé de réalisation d'une préforme fibreuse tridimensionnelle pour la fabrication d'une pièce annulaire en matériau composite carbone-carbone
Ganesan et al. Influence of substrate temperature on coated engine piston head using multi-response optimisation techniques
Stenzel et al. Plasma ion assisted deposition of hafnium dioxide using argon and xenon as process gases
CN100582033C (zh) 陶瓷模仁
EP2199069A1 (fr) Fabrication de pièces composites complexes
FR3120007A1 (fr) Procédé de fabrication d’un matériau composite
Sun et al. Effects of substrate temperatures and deposition rates on properties of aluminum fluoride thin films<? A3B2 show [pmg: line-break justify=" yes"/]?> in deep-ultraviolet region
CH710914A1 (fr) Procédé de fabrication d&#39;un composant micromécanique anisotropique.
Ferretti et al. Stress-Based lattice structure design for a motorbike application
Du et al. Rapid fabrication technique for aluminum optics by inducing a MRF contamination layer modification with Ar+ ion beam sputtering
EP1749643B1 (fr) Procédé de placement d&#39;au moins un élément filaire, particulièrement adapté à la constitution de préformes de type annulaire ou ellipsoïdale
EP4359153A1 (fr) Procédé de fabrication de miroir par impression 3d
Liu et al. Microstructure of magnesium fluoride films deposited by boat evaporation at 193 nm
EP3697744B1 (fr) Procédé de fabrication de pyrocarbone de microstructure prédéterminée
KR102130725B1 (ko) 강화유리 절삭기구

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20101216

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO SE SI SK TR

AX Request for extension of the european patent

Extension state: AL BA RS

DAX Request for extension of the european patent (deleted)
17Q First examination report despatched

Effective date: 20110929

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20120410