• Aucun résultat trouvé

5.2 État de l’art sur la planification hiérarchique temporelle

5.2.3 Prise en compte de contraintes de ressources

5.2.3.a Familles de ressources dans une exploitation agricole

De manière générale, les ressources sont des données physiques dont les disponibil- ités conditionnent la réalisation des tâches. Dans la section 2.1.1.d, nous avons présenté les deux grandes familles de ressources (consommables et réutilis- ables).

Dans le cas de conduites de systèmes de culture à l’échelle de l’exploitation, on retrouve ces deux familles de ressources. Pour les ressources consommables il s’agit généralement des quotas d’eau disponibles pour l’irrigation. Les ressources réutilisables sont couramment des ressources humaines et matérielles (ex : ouvriers, tracteurs, cultivateurs).

5.2.3.b Contraintes de ressources

Une contrainte de ressources exprime la manière dont une tâche a affecte la capacité d’une ressource r. Une tâche peut affecter plusieurs ressources.

Les contraintes de ressources sont définies par un tuple hq(r, a),[sa, fa]i où

q(r, a) est une variable de décision définissant la quantité de la ressource r con- sommée (si q(r, a) ≤ 0) ou produite (si q(r, a) ≥ 0) par a sur un intervalle de temps [sa, fa] durant lequel la tâche a affecte la disponibilité de la ressource r.

Notons cependant que dans notre cas, les changements des capacités de ressources au démarrage (date t=sa) et à la fin (date t=fa) d’une tâche sont instantanés.

Les consommations et les productions continues ne sont donc pas considérées dans cette thèse.

Par exemple, hq(tracteur2 , semisMA) =−1,[ssemis, fsemis]i est une contrainte

de ressources spécifiant que la tâche semisM A (semis de maïs) consomme une unité du « tracteur2 » entre ssemis et fsemis. La disponibilité de tracteur2 sera alors décrémentée de 1 à la date ssemis puis incrémentée de 1 à la date fsemis.

5.2.3.c Interdépendance entre planification et ordonnancement

La gestion des ressources implique des mécanismes d’ordonnancement c’est-à-dire des mécanismes permettant pouvoir manipuler l’ordre des tâches et leurs alloca- tions de ressources.

Les problématiques de planification et d’ordonnancement sont traitées en pro- fondeur aussi bien en intelligence artificielle qu’en recherche opérationnelle. De manière générale dans les problèmes nécessitant des phases de planification et d’or- donnancement, ces deux processus doivent s’exécuter successivement. Cela n’em- pêche pas que des planificateurs fassent également de l’ordonnancement2.

Il existe des interactions évidentes entre la planification et l’ordonnancement. Dans le cas où plusieurs plans permettent d’atteindre les objectifs de la planifi- cation, des travaux proposent d’intégrer des notions spécifiques sur les ressources

2. Le contraire est aussi valable. Certains systèmes d’ordonnancement font aussi de la planifi- cation.

au sein d’un planificateur (Wilkins, 1984, 1988). D’autres incorporent des raison- nements sur la construction de plans au sein des systèmes d’ordonnancement (Cur- rie et Tate,1991;Tate et al.,1994;Drabble et al.,1994). Enfin, certains proposent des approches consistant à intégrer les processus de planification et d’ordonnance- ment puis de mettre en œuvre des mécanismes permettant de coordonner les déci- sions résultantes de chacun d’eux (Laborie et Ghallab,1995;Lemai,2004).

Dans notre cas, nous nous intéresserons plus spécifiquement à la coordina- tion des systèmes de planification et d’ordonnancement. Cette approche semble être plus appropriée pour la mise en œuvre de notre architecture et notamment pour entrelacer de manière continue les phases de planifications tactiques et opéra- tionnelles. Toutefois, notre système de planification tactique doit intégrer des mé- canismes permettant de raisonner de manière globale sur l’utilisation des ressources en fonction des itinéraires techniques choisis.

Dans la suite de cette section, nous présentons (section 5.2.3.d) très briève- ment quelques systèmes de planification intégrant la problématique de gestion des ressources. Nous nous focalisons ensuite (section5.2.3.e) sur les problèmes de plus court chemin sous contraintes de ressources que nous utiliserons pour résoudre le problème d’affectation d’itinéraire technique aux cultures.

5.2.3.d Gestion des ressources en planification : quelques travaux en IA

Généralement dans les planificateurs, les mécanismes d’ordonnancement sont di- rectement intégrés dans la planification.

SIPE (Wilkins, 1984) est le premier système de planification à intégrer la no- tion de ressources. Il représente les ressources consommables et se base sur cette connaissance pour élaguer les branches sur-consommatrices de ressources de l’arbre de recherche. SIPE n’intègre pas une représentation explicite des contraintes per- mettant d’éviter les conflits3. Il utilise cependant un ordonnancement des conflits d’accès aux ressources afin d’intégrer la notion de ressources non-partageables4.

Dans O-Plan (Currie et Tate, 1991) la prise en compte des contraintes de ressources est réalisée en définissant des profils optimistes et pessimistes d’utili- sation des ressources (Drabble et al.,1994). Cette approche lui permet de détecter et de résoudre les conflits.

Dans le planificateur IxTeT, la détection des conflits est réalisée en utilisant un algorithme de recherche de cliques dans un graphe (Laborie et Ghallab,1995). Cette approche de gestion des ressources a été étendue par Lemai (2004) pour prendre en compte des consommations ou des productions variables.

Il existe de nombreuses autres approches permettant de raisonner sur les ressources. À ce jour, la plupart d’entre elles se base sur la propagation de con- traintes dans l’espace de plans ou d’actions (Laborie,2003)

5.2.3.e Problème de plus court chemin sous contrainte de ressources

Nous nous intéressons au problème de plus court chemin sous contrainte de ressources car nous l’utilisons comme heuristique de décomposition pour la plani- fication tactique.

3. Un conflit de ressource peut être défini comme un ensemble d’intentions de consommation de ressources pour lesquelles il existe des éventualités de recouvrement temporel conduisant à une sur-consommation de la quantité de ressources disponibles.

5.2. État de l’art sur la planification hiérarchique temporelle 147

Problèmes de plus court chemin Les problèmes de plus court chemin en- tre deux nœuds d’un graphe pondéré sont des problèmes largement étudiés en recherche opérationnelle. Il existe pour cette classe de problèmes des algorithmes polynomiaux. Dans le cas de poids positifs les algorithmes de types Dijkstra sont généralement intéressants. La consommation des ressources disponibles en quan- tités limitées le long du chemin rend le problème NP-difficile. Cette classe de prob- lème est connue sous le nom de problème de plus court chemin sous contrainte de ressources. (Shortest Path Problem with Resource Constraints - SPPRC Irnich et Desaulniers(2005)).

Problème de plus court chemin sous contraintes de ressources SPPRC Le SPPRC est un problème d’optimisation combinatoire très classique générale- ment utilisé dans le domaine du transport. Comme son nom l’indique, le SPPRC est une extension du problème de recherche d’un plus court chemin dans un graphe pondéré. Sa spécificité repose sur le fait que des contraintes de ressources interdis- ent certains chemins. Pour chaque ressource, on définit :

– une fonction d’extension de ressource pour chaque arc du graphe. Cette fonc- tion indique l’évolution de la consommation de la ressource lorsqu’un arc est emprunté (Irnich et Desaulniers,2005) ;

– une contrainte de ressource pour chaque nœud du graphe. Cette contrainte indique une valeur maximale sur la consommation de la ressource permettant d’atteindre le nœud.

Il existe des algorithmes de programmation dynamique efficaces permettant de résoudre les SPPRC.

Exemple 5.3 Considérons la graphe représenté par la Figure 5.5. Il représente un SPPRC entre s et p. Dans ce problème, on considère une ressource. Moyennant un coût, chaque arc consomme une certaine quantité de cette ressource. Le cumul de la quantité consommée est indiqué près des nœuds.

s coût,consommation 0 2 x2 x1 1 x3 1 p 2 Cumul de la consommation de la ressource 1,1 2,1 1,1 1,1 0,1 1,1

Figure 5.5 – Exemple d’un SPPRC avec une ressource.

Dans la section suivante, nous présentons la modélisation des SPPRC en nous focalisant spécifiquement sur les SPPRC élémentaires (ESPPRC) dans lesquels le chemin recherché ne passe que une et une seule fois par les nœuds du chemin.

Modélisation des ESPPRC Soit G(X, E, R) un graphe multivalué. On note

xi ∈ X (i ∈ {s, p} ∪ {1, . . . , N }) les nœuds du graphe. Les nœuds s et p sont respec-

tivement la source et le puits. Chaque arc(xi → xj)est associé à une consommation

associée au coût à payer pour traverser l’arc. En dehors de la ressource 0, les con- traintes portant sur les autres ressources sont associées aux nœuds du graphe. On notera Qi(r)la consommation cumulée de la ressource r le long du chemin allant

de la source s au nœud xi. La consommation de la ressource r sur le nœud xi est bornée par[li

r, uir], où lir indique le seuil de consommation de la ressource r. Ainsi,

au nœud i on met à jour Qi(r)suivant l’équation 5.1.

Qi(r) = max(Qi(r), lir) (5.1)

L’équation 5.2 permet de trouver un chemin de coût minimal de s à p parmi les chemins réalisables sur l’ensemble des ressources. La variable de décision yij est

fixée à 1 si l’arc (xi, xj) appartient à une solution et 0 sinon (équation 5.4).

min X

(xi→xj)∈E

q(0,(xi → xj))yij (5.2)

yij ∈ {0, 1} ∀(xi → xj)∈ E (5.3)

Afin d’assurer la continuité du chemin allant de s à p on pose un ensemble de contraintes décrites par l’inégalité5.8.

X (xi→xj)∈E yij− X (xj→xi)∈E yji =0 ∀ j ∈ {1, . . . , N }, (5.4)

Tous les chemins devant être issus de la source s, on pose des contraintes rela- tives à l’existence d’un chemin unique issu de s. Cette contrainte est exprimée par l’équation 5.5.

X (x0→xj)∈E

y0j ≤ 1, (5.5)

Pour garantir que les chemins réalisables ne passent qu’une et une seule fois par les nœuds constituant le chemin, on pose un ensemble de contraintes d’élémentarités des chemins. Ces contraintes sont décrites par l’inégalité5.6.

X (xi→xj)∈E

yij ≤ 1 ∀ i ∈ {s, p} ∪ {1, . . . , N }, (5.6)

Les contraintes décrites par l’équation5.7 permettent de contrôler la consom- mation cumulée sur chaque ressource et d’assurer le seuil de consommation de la ressource r.

lri ≤ Qi(r)≤ uir ∀ i ∈ {s, p} ∪ {1, . . . , N }; ∀ r=1, . . . , K, (5.7)

Les contraintes5.8assure la continuité du flot de consommation des ressources. On fait ici l’hypothèse que toutes les ressources se cumulent par incrémentation des valeurs associées à la ressource et ceci dans la limite du seuil autorisé.

yij(Qi(r) +q(r,(xi → xj))− Qj(r)) ≤ 0 (5.8)

5.2. État de l’art sur la planification hiérarchique temporelle 149

Résolution des ESPPRC par programmation dynamique La résolution d’un ESPPRC peut être réalisée en utilisant l’algorithme de programmation dy- namique 8. La complexité de l’algorithme peut être pseudo-polynomiale si la con- sommation des ressources prend des valeurs entières et que le nombre de valeurs prises est borné et indépendant de la taille des données. Dans le cas contraire, sa complexité dépend des ressources considérées.

Le principe de cet algorithme est de partir du nœud source s (ligne 2) et de construire itérativement des chemins vers le nœud destination p. Cette construc- tion est réalisée par extension de chemins partiels contenus dans Chemins. Les chemins partiels ont pour origine la source s et pour extrémité terminale un nœud quelconque du graphe (ligne16). L’extension d’un chemin partiel ch se fait par le calcul des chemins partiels correspondant à ch auquel un arc sortant de l’extrémité terminale de ch est ajouté. Les nouveaux chemins partiels étendus ch0 sont rejetés s’ils violent au moins une contrainte (ligne 10). Sinon chaque chemin partiel est comparé avec ceux ayant la même extrémité terminale. Ensuite, les chemins par- tiels dominés sont éliminés. Il y a dominance entre deux chemins partiels si un des deux domine l’autre pour chacune des ressource prise individuellement. On admet qu’après extension vers le sommet i, la consommation (Qi(r)) d’une ressource est

ajustée à sa borne inférieure (lri) si elle est inférieure. On note refr(ch,(xi→ xj))

la valeur de la fonction d’extension de la ressource r du chemin partiel ch par l’arc (xi → xj). Soit Qch(r)la consommation d’un chemin partiel ch sur une ressource r.

L’expression décrite par l’équation5.9donne les règles d’extension des ressources.

Algorithme 8 : Resoudre-ESPPRC(G, Chemins,CheminDExtremi)

début

1

Initialisation : Chemins ← {s} /* chemin partiel réduit à s */

2

etiq=0

3

tant que Chemins 6=∅ faire

4 choisir ch ∈ Chemins 5 etiq =etiq+1 6 domine=f aux 7

pour chaque chemin partiel ch0 ∈ CheminDExtremetch faire

8

si Qch(r)≤ Qch0(r), ∀r ∈ {0, . . . , K} alors

9

CheminDExtremetiq =CheminDExtremetiq\ {ch0} 10 sinon 11 si Qch0(r)≤ Qch(r), ∀r ∈ {0, . . . , K} alors 12 domine=vrai 13 stop 14

si domine=f aux alors

15

CheminDExtremetiq =CheminDExtremetiq∪ {ch} 16

pour chaque arc (xextrenite(ch) → xi)faire 17

ch0 = l’extension de ch par(xextrenite(ch)→ xi) 18

si ch0 est valide alors

19 Chemins =Chemins ∪ {ch0} 20 retourner CheminDExtremp 21 fin 22

refr(ch,(xi → xj)) = max

n

Qch(r) +q(r,(xi→ xj)), lrj

o

(5.9)

La Figure5.6montre l’exécution de l’algorithme8sur un graphe représenté par la Figure5.5. Les chemins partiels ch sont identifiés par leur nom et leur niveau de consommation des ressources.

s chemins ={ch0} Initialisation ch0{0,0} (0) 2 x2 x1(1) x3 (1) p 2 1,1 2,1 1,1 1,1 0,1 1,1 s chemins ={[ch0], ch1, ch2} Itération 1 ch0{0,0} (0) (2) x2 x1(1) ch1{1,1} x3 (1) ch2{2,1} p (2) 1,1 2,1 1,1 1,1 0,1 1,1 s chemins ={[ch1], ch2, ch3, ch4} Itération 2 ch0{0,0} (0) (2) x2 ch3{2,2} x1(1) ch1{2,2} x3 (1) ch2{2,1} p (2) ch4{2,2} 1,1 2,1 1,1 1,1 0,1 1,1 s chemins ={[ch2], ch3, ch4, ch5} Itération 3 ch0{0,0} (0) (2) x2 ch3{2,2} x1(1) ch1{1,1} x3 (1) ch2{2,1} p (2) ch4{2,2} ch5{3,2} 1,1 2,1 1,1 1,1 0,1 1,1 s chemins ={[ch3], ch4} Itération 4 ch0{0,0} (0) (2) x2 ch3{2,2} x1(1) ch1{1,1} x3 (1) ch2{2,1} p (2) ch4{2,2} ch6{2,3} ch5{3,2} 1,1 2,1 1,1 1,1 0,1 1,1

Figure 5.6 – Application de l’algorithme8sur le graphe de la Figure5.5.

On cherche à minimiser le coût des chemins partant de s tout en respectant les contraintes de ressources à chaque nœud. Ces niveaux de consommation des ressources sont indiqués entre parenthèses à côté du nœud. À chaque itération, on étend le chemin partiel entre croquets dans Chemin. Le chemin partiel ch5 issu de l’extension du chemin ch2 est supprimé car il est dominé par ch4 en raison de son

coût qui est de 3. Le chemin partiel ch6 est quant à lui supprimé car il consomme

5.3. Représentation du domaine de planification tactique 151