• Aucun résultat trouvé

9 Weeding-BH1 10 start : [es = 2437588, ls = 2437619] 11 end : [ef = 2437589, lf = 2437620] 12 Weeding-BH2 13 start : [es = 2437700, ls = 2437729] 14 end : [ef = 2437701, lf = 2437730] 15 Fertilization-BH1 16 start : [es = 2437695, ls = 2437714] 17 end : [ef = 2437696, lf = 2437715] 18 Fertilization-BH2 19 start : [es = 2437730, ls = 2437749] 20 end : [ef = 2437731, lf = 2437750] 21 Fertilization-BH3 22 start : [es = 2437790, ls = 2437809] 23 end : [ef = 2437791, lf = 2437810] 24 Harvesting-BH 25 start : [es = 2437855, ls = 2437884] 26 end : [ef = 2437856, lf = 2437885] 27 Harrowing-BH 28 start : [es = 2437856, ls = 2437898] 29 end : [ef = 2437857, lf = 2437899] 30 Harrowing-BH 31 start : [es = 2437872, ls = 2437914] 32 end : [ef = 2437873, lf = 2437915]

Listing 5.6 – Domaines minimaux des instants de début de chacune des tâches destinées à la conduite du blé sur la parcelle élémentaire 1 du bloc fonctionnel 1

5.5.3 Bilan sur la planification tactique

Les trois sections précédentes (sections5.5,5.4et5.3) permettent de répondre à la question Que fait t-on pour produire les cultures allouées dans la phase stratégique ?. Dans les sections suivantes, nous allons répondre à la question Quand et comment

réaliser ce qui a été prévu de faire dans la phase tactique ?. Nous présentons dans

la section5.6, notre réponse à cette dernière question.

5.6

Planification de la décision opérationnelle

Dans la phase de décision opérationnelle nous disposons pour chaque parcelle élé- mentaire d’un ensemble17 de tâches à réaliser. Ces tâches résultent de la phase de planification tactique. Il s’agit alors d’ordonner des événements de début et de fin des tâches sous contraintes de temps et de ressources. Le problème d’optimisation sous-jacent consiste à trouver les affectations de ressources aux tâches de manière à minimiser l’étendu temporel de l’ordonnancement « makespan » . Ce problème est proche de celui des emplois du temps (« University Course Timetabling Problem »). Nous nous en inspirons afin de modéliser le problème de décision opérationnelle. Dans la littérature, plusieurs méthodes ont été décrites pour appréhender cette classe de problèmes. Le lecteur peut se référer à Burke et Petrovic (2002) pour plus de détails. Notons cependant que dans cette thèse, nous n’apportons aucune réponse liée à l’optimalité des ordonnancements obtenu.

5.6.1 Modélisation du problème de décision opérationnelle

5.6.1.a Modèle de programmation linéaire pour la décision opéra- tionnelle

Le problème de décision opérationnelle peut être formalisé par un modèle de pro- grammation linéaire en nombre entiers. Pour ce faire, le temps est divisé en fenêtres temporelle encore appelées « slots » temporels. Les slots temporels sont tous de tailles fixes et représentent une heure dans une journée de travail. Chaque jour est constitué d’un volume horaire fixe.

Le modèle que nous proposons est défini par un tuple hT , A, Ri où :

. T ={1, . . . , H} : est un ensemble de « slots » temporels avec H l’horizon de l’ordonnancement ;

. A={Ai} : est un ensemble de tâches réalisables sur les parcelles i, dans la fenêtre temporelle correspondant à l’horizon H de l’ordonnancement. i ∈ [1, Nb]correspond à la parcelle élémentaire i du bloc b avec Nb le nombre de parcelles élémentaires du bloc b.

. R={1, . . . , k, . . . K} : est un ensemble de ressources.

Soit xt,ki,j ∈ X un ensemble de variables de décision binaires, tel que xt,ki,j = 1 si dans le slot temporel t, la ressource rk est affectée à la tâche j de la parcelle i (xt,ki,j =0 sinon).

Chaque tâche nécessite pour son exécution une ou plusieurs ressources. On note,

Ri,jl’ensemble de ressources nécessaires à la réalisation de la tâche j de la parcelle i.

Deux tâches en concurrence sur une ressource, ne seront réalisées dans une même fenêtre temporelle qu’à condition d’avoir la capacité de ressources nécessaire à l’exécution simultanée des deux. Les contraintes du problème sont définies comme suit :

Contraintes de parcelle : plusieurs tâches d’une parcelle ne peuvent pas s’exé- cuter dans un même slot temporel.

xt,ki,j +xt,ki,j0 ≤ 1 ∀ i ∈[1, Nb], ∀ j, j0 ∈ Ai× Ai, (5.19)

∀ t ∈[1, H], ∀ k ∈ R

Contraintes de ressources : dans un slot temporel, la somme des demandes de chaque ressource ne peut excéder la capacité disponible de la ressource.

X

i∈[1,Nb]

X

j∈Ai

q(rk, j)xt,ki,j ≤ Q(rk) ∀ t ∈[1, H], ∀ k ∈ R (5.20)

Contraintes de domaine : la date de début d’une tâche doit être supérieure ou égale à sa date de début au plus tôt es. La date de fin d’une tâche doit être inférieure à sa date de fin au plus tard lf.

esj X t=1 xt,ki,j = 0 ∀ i ∈[1, Nb], ∀ j ∈ Ai, ∀ k ∈ R (5.21) H X t=lfj xt,ki,j = 0 ∀ i ∈[1, Nb], ∀ j ∈ Ai, ∀ k ∈ R (5.22)

5.6. Planification de la décision opérationnelle 177

Contraintes de durée : la durée d’affectation d’une ressource à une tâche doit être égale à celle de la tâche.

H

X

t=1

xt,ki,j = duree(j) ∀ i ∈[1, Nb], ∀ j ∈ Ai, ∀ k ∈ R (5.23)

Contraintes de précédence : si une tâche j précède une tâche j0(j ≺ j0) alors : – la date de début de j doit être inférieure à la date de début de j0

ski,j = argmin

t

xtkij / {xt,ki,j|xt,ki,j =1} ∀ k ∈ R (5.24)

fi,jk = ski,j+duree(j) ∀ k ∈ R (5.25)

ski,j = ski,j0 ∀ k, k0 ∈ R × R (5.26)

fi,jk = fi,jk0 ∀ k, k0 ∈ R × R (5.27)

avec ski,j la date de début d’utilisation de la ressource rk par la tâche j de la parcelle i et fi,jk la date de fin d’utilisation de la ressource rk par la tâche j

de la parcelle i.

– la date de fin du précédent j doit être séparée d’au moins tlminjj0 et d’au

plus tlmaxjj0 slot temporel du début du suivant j0.

∀ k ∈ R, ∀ j, j0 ∈ Ai× Ai, j ≺ j0

ski,j0 ≥ fi,jk +tlminj,j0 (5.28)

≥ ski,j+duree(j) +tlminj,j0 (5.29)

ski,j0 < fi,jk +tlmaxj,j0 (5.30)

< ski,j+duree(j) +tlmaxj,j0 (5.31)

5.6.1.b Notre approche de résolution

La décision opérationnelle étant proche du problème d’emploi du temps, nous nous sommes inspiré d’une méthode de résolution généralement utilisée pour cette classe de problème. Selonde Werra(1985);Pinedo(2005), dans le cas particulier où toutes les tâches ont une durée de 1, un problème d’emploi du temps est structurellement équivalent à un problème de coloration de graphe. Il peut être modélisé par un graphe dans lequel chaque nœud représente une tâche et les conflits entre les tâches sont représentés par les arcs. Par exemple si deux tâches consomment une même ressource, le conflit entre ces tâches est représenté par un arc qui les relie. Les nœuds du graphe sont colorés de telle sorte que deux nœuds adjacents ne puissent être colorés par la même couleur. L’algorithme ordonne les tâches puis affecte séquentiellement les slots temporels de manière à éviter les conflits de ressources. Le problème d’optimisation consiste à colorer le graphe en utilisant un minimum de couleurs.

Pour la résolution du problème de planification opérationnel, nous reprenons l’idée de l’algorithme de coloration de graphe. Nous nous plaçons dans le cas où l’exécution d’une tâche ne peut être interrompue. Chaque slot temporel correspond à une couleur. Nous proposons trois adaptations majeures qui sont :

– chaque nœud du graphe correspond à la date de début d’une tâche.

– l’affectation d’une couleur à un nœud du graphe impose une consommation des ressources nécessaires tout au long des slots temporels correspondant à la durée d’exécution de la tâche.

– deux nœuds adjacents représentant deux tâches sur deux parcelles différentes peuvent être colorés par une même couleur dès lors que les contraintes tem- porelles et de ressources sont respectées.

Dans les sections suivantes, nous présentons le modèle du graphe et l’algorithme de résolution.

5.6.1.c Modèle du graphe

Soit G(X, E)un graphe orienté tel que chaque nœud xij ∈ X du graphe représente la date de début d’une tâche. Si deux tâches j, j0 doivent être réalisées sur une même parcelle élémentaire i, elles ne peuvent être réalisées dans un même slot temporel. Dans ces conditions, les deux nœuds du graphe sont reliés par un arc dirigé(xij → xij0)qui définit la précédence entre les tâches j et j0 à réaliser sur la

parcelle i. Si deux tâches j et j0 des parcelles élémentaires i et i0 (avec i 6=i0) sont en concurrence sur au moins une ressource, elles ne peuvent être réalisées dans un même slot temporel qu’à condition que le cumul des consommation de ressource n’excède pas la capacité disponible de la ressource. Dans ces conditions, les nœuds

xij et xi0j0 représentant les tâches j et j0 des parcelles élémentaires i et i0 (avec

i 6=i0) sont reliés par deux arcs dirigés(xij → xi0j0) et(xi0j0 → xij)définissent les

conflits de ressources entre les tâches j et j0.

Exemple 5.4 Dix tâches réparties sur trois parcelles élémentaires doivent être réal- isées. Chacune de tâches est associée à l’une au moins de deux ressources 1 et 2. L’objectif est d’ordonnancer l’ensemble des dix tâches dans une fenêtre temporelle de 5 jours. Le tableau 5.10 décrit le problème. Les valeurs 0 ou 1 associées aux ressources décrivent si la ressource est indispensable ou non à l’exécution de la tâche.

Table 5.10 – Exemple de problème de planification opérationnelle

tâche j 0 1 2 3 4 5 6 7 8 9

parcelle i 1 1 1 2 2 2 3 3 3 3

durée - - - -

ressource 1 1 1 1 0 1 0 1 1 1 1

ressource 2 0 1 1 1 0 1 0 1 0 1

La Figure 5.16-(a) représente graphiquement les séquences de tâches sur cha- cune des trois parcelles élémentaires. La Figure 5.16-(b) présente le modèle de graphe associé aux contraintes de précédence. La figure 5.16-(c) représente l’ajout des contraintes liées à la ressource 1. Enfin, la figure 5.16-(d) présente l’ajout des contraintes liées à la ressource 2.

5.6.2 Algorithme de résolution

Nous proposons l’algorithme 13 pour la résolution du problème de planification opérationnelle. L’algorithme reçoit en entrée le graphe associé au problème et les capacités de ressources. Le principe général de l’algorithme consiste à affecter à chaque nœud du graphe G(X, E) une date t correspondant au slot temporel de démarrage de la tâche associée. Pour ce faire, les nœuds du graphe sont ordonnés suivant un ordre de découverte (ligne2). L’heuristique de découverte que nous util- isons ordonne les nœuds par ordre décroissant de leur degré. Les nœuds de degrés maximums sont ceux associés aux tâches ayant un grand nombre de conflits de

5.7. Application de l’approche de planification opérationnelle 179