• Aucun résultat trouvé

2. Les Règles de Priorité : un Etat de l’Art

2.2. Classification des règles de priorité

Afin de pouvoir étudier les règles de priorité, leurs comportements, et leurs performances, il est primordial de les classer pour pouvoir les comparer. De nombreuses publications existent portant sur la classification des règles de priorité. Les classification les plus connues sont celle de Panwalker & Iskander [125] basée sur la structure des règles, ou celle de Blackstone et al.

[126] basée sur les informations utilisées par les règles lors de l’affectation des priorités.

2.2.1. Classification basée sur la structure

Dans cette classification [125] les règles de priorité sont groupées en trois familles (voir Figure 2.1), « règles basiques », « règles d’ordonnancement heuristiques », et « autres règles » (basic

rules, heuristic scheduling rules et other rules). La famille des règles basiques est à son tour

composée de trois sous-familles :

• Règles simples : ces règles utilisent les informations sur les tâches, comme le temps d’exécution, ou les dates d’échéance,

• Règles composées : ce sont des règles combinées qui sont appliquées à certains groupes de tâche ou en fonction de l’état de l’atelier,

• Règles pondérées : ce sont des règles formées de plusieurs règles simples pondérées.

Figure 2.1. Classification basée sur la structure

Les règles de priorité issues de la famille des « règles d’ordonnancement heuristiques » considèrent des attributs plus complexes des tâches ou de l’atelier comme par exemple le temps

Structure

Règles basiques

Règles simples Règles composées Règles pondérées Règles d'ordonnancement heuristiques Autres règles

72

d’attente prévu sur la prochaine machine mais aussi la possibilité d’insérer des tâches, par inspection visuelle, dans les intervalles de temps où une machine est libre [16], [31].

La famille des « autres règles » regroupe les règles ne pouvant pas faire partie des deux premières catégories, comme les de règles de priorité spécifiques à un atelier.

2.2.2. Classification basée sur l’information

Dans cette classification proposée par Blackstone et al. [126] et inspirée de la classification basée sur la structure [125], les règles de priorité sont regroupées en trois familles, « contenu

de l’information », « portée » ou « dépendance temporelle » comme illustré dans la Figure 2.2 [82], [127].

2.2.2.1. Classification par contenu de l’information

Regroupe les règles basées sur les informations des tâches comme le temps d’exécution ou les dates d’échéance, ou les informations sur les machines, comme la charge. Dans cette classification on peut trouver par exemple les règles « Shortest Processing Time », « First In

First Out », ou « Earliest Due Date »

2.2.2.2. Classification par portée

Les règles de priorité sont classées en fonction de la portée des variables utilisées comme critère pour l’affectation de priorités aux tâches. On parle de « règle locale » si la variable utilisée comporte uniquement la ou les informations sur les tâches en attente sur la file d’attente actuelle ou sur les informations de la machine actuelle. Une règle est dite « globale » si les informations portent sur les tâches en attente sur d’autres machines ou la charge des autres machines de l’atelier.

Les règles globales sont à leur tour divisées en deux sous-groupes, à savoir, « règles globales

directes » et « règles globales indirectes ». Les règles globales directes sont basées sur

l’agrégation de plusieurs attributs du système comme la distribution des temps exécution. Ces règles ne font aucune référence explicite aux attributs des tâches sur les files d’attente, c’est-à- dire que l’information utilisée pour l’affectation de priorité aux tâches est basée sur plusieurs attributs à la fois. Quant aux règles globales directes, elles sont basées sur des informations explicites ou des attributs clairs et précis relatifs aux tâches, comme le temps d’exécution des tâches ou leurs dates d’échéances [31].

2.2.2.3. Classification par dépendance temporelle

Dans cette classification les règles de priorité peuvent être classées dans deux sous-catégories, « règles statiques » et « règles dynamiques ». Les règles statiques sont basées des informations (attributs des tâches ou des machines) qui donnent la même priorité aux tâches en attente indépendamment du temps, comme les règles FIFO et SPT. La priorité d’une tâche restera la même à l’instant 𝑡 comme à l’instant 𝑡 + 𝑐. Par contre, les règles dynamiques changent les priorités des tâches à chaque instant, comme celles basées sur le temps d’attente des tâches (wait time) [17].

73

Une autre classification existe dans la littérature où les règles de priorité sont groupées en deux familles, à savoir, « passage unique » (single-pass) et « passage multiple » (multi-pass) [22]. La majorité des règles existantes sont issues de la famille à passage unique où les priorités sont affectées aux tâches en un temps, c’est le cas des règles EDD et SPT par exemple. Les règles à passage multiple affectent aussi des priorités aux tâches dans un premier temps et réitère le processus plusieurs fois afin d’améliorer la solution.

Figure 2.2. Classification basée sur l'information

Kemppainen [127] propose une classification des règles génériques sous la forme d’une matrice, comme montré dans la Figure 2.3. Les catégories sont comme suit :

• Index de priorité fixé à l’entrée, basé sur les informations des tâches : dans ce groupe on trouve les règles de priorité basées sur des données statiques des tâches. Par exemple Earliest Due Date (EDD), Number Of Operations (NOP) ou encore First Come First Served (FCFS),

• Index de priorité fixé à l’entrée, basé sur les informations des opérations : notamment les règles Shortest Processing Time (SPT), Longest Processing Time (LPT) ou Operational Due Date (ODD),

• Index de priorité fixé à l’entrée, basé sur les informations des ressources et de la

charge : on trouve les règles de priorité basées sur les informations des machines, par

exemple la règle Shortest Setup Time (SST),

• Index de priorité mis à jour par étapes, basé sur les informations des tâches : ces règles ont une dépendance temporelle et par conséquent les priorités des tâches peuvent changer en fonction du temps. Par exemple Modified Due Date (MDD) ou SLAK remaining (SLK/SLACK), Information Contenu Temps d'exécution, dates d'échéance, nombre d'opérations, temps d'arrivée, machines, etc Portée Globale Directe Indirecte Locale Opération, dépendante/indépendante de l'état de l'atelier, etc.

Dépendance temporelle Statique Dynamique Single-pass Multi-pass Autres...

74

• Index de priorité mis à jour par étapes, basé sur les informations des opérations : parmi ces règles se trouve Processing Time + Wait Time (PT+PW), Slack per Number Of Operations (S/OPN) ou Slack per Remaining Processing Time (S/RPT),

• Index de priorité mis à jour par étapes, basé sur les informations des ressources et

de la charge : dans cette catégorie figure les règles de priorité Work In Next Queue

(WINQ), Number of jobs in Next Queue (NINQ) ou PT+WINQ,

• Index de priorité adapté par sondage et les informations des tâches : High Response Ratio (HRN) ou Shortest Expected Processing Time (SEPT),

• Index de priorité adapté par sondage et les informations des opérations : dans cette catégorie on trouve une variante de la règle SPT qui est CEXPT qui tente d’éviter que des tâches ne finissent très en retard à cause de leur temps d’exécution, comme c’est le de la tâche avec le temps d’exécution le plus élevé,

• Index de priorité adapté par sondage, charge et les informations sur les

ressources : comprends les règles de priorité COVERT et ATC.

Attributs des tâches Détail des opérations Charge et ressources Fixé à l’entrée EDD NOP FCFS SPT LPT ODD SST Mis à jour par étapes MDD SLACK CR, MOD S/OPN, CR/SI S/RPT+SPT WINQ PT+WINQ Adapté par sondage CEXSPT BD MF, RR Figure 2.3. Classification des règles de priorité proposée par Kemppainen

2.3.

Les facteurs affectant les performances des règles de priorité