• Aucun résultat trouvé

1.3 Approches Hybrides PPC-PLNE

1.3.4 Backtracking intelligent, principe de r´esolution et programmation lin´eaire

Sans compter ces formes de d´ecomposition de Benders g´en´eralis´ee, il existe peu d’applications du backtracking intelligent et des techniques d’apprentissage en PLNE. Ceci provient certainement du fait que, contrairement `a la PPC o`u on identifie facilement la cause d’un ´echec en consid´erant l’instanciation partielle des variables violant une contrainte, l’´evaluation globale du probl`eme qui est faite en PLNE `a un noeud de l’arbre de recherche ne permet pas de d´eterminer quel est le sous-ensemble des d´ecisions prises rendant ce noeud irr´ealisable ou sub-optimal.

En ordonnancement, on trouve une forme d’apprentissage avec les r`egles de dominance : on enregistre les ordonnancements partiels construits par branchement, de fa¸con `a couper l’arbre d`es qu’on acc`ede `a un ordonnancement que l’on sait domin´e par `a un autre d´ej`a visit´e et enregistr´e. Cette technique, bien qu’ayant d´emontr´e son efficacit´e, n’est g´en´eralement pas optimis´ee : d’une part, en terme d’espace m´emoire car les nogoods (les ordonnancements partiels) sont g´en´eralement accumul´es et parfois supprim´es quand ils sont eux-mˆeme domin´es, et d’autre part, ils ne servent qu’`a couper l’arbre et ne sont pas utilis´es pour guider la recherche comme dans un backtracking dynamique par exemple. Gu´eret, Jussien et Prins ont propos´e une am´elioration d’une PSE pour le probl`eme d’open-shop par un backtracking intelligent [Gu´eret 2000]. Les d´ecisions responsables des modifications des fenˆetres de temps des activit´es sont m´emoris´es de fa¸con `a effectuer un back- track, quand la fenˆetre de temps d’une activit´e devient vide, directement sur la derni`ere d´ecision responsable. Bien que, dans ces deux cas, une relaxation lin´eaire puisse ˆetre r´esolue `a chaque noeud de l’arborescence, le raisonnement d’apprentissage n’est effectu´e ici que sur le r´esultat d’un filtrage PPC.

Les strat´egies de recherche pour un PLNE g´en´eral ne font pas intervenir l’apprentissage, pour- tant il existe une analogie fondamentale entre le principe de r´esolution en logique propositionnelle et l’algorithme de coupes de Chvatal-Gomory, qui offre autant de relation entre le backtracking intelligent en PPC (qui utilise le principe de r´esolution pour la g´en´eration et la mise `a jour des nogoods) et le branch and cut en PLNE.

Cette analogie a r´ecemment ´et´e ´etudi´ee en intelligence artificielle dans le cadre du probl`eme SAT de satisfiabilit´e d’un ensemble de clauses sous forme normale conjonctive (CNF) : existe-t’il (x1, . . . , xn) ∈ {0, 1}n satisfaisant chacune des clauses c1, . . . , cm, une clause ´etant une disjonction

de litt´eraux, et un litt´eral li correspondant `a une variable xi ou `a sa n´egation ¯xi? Le principe de

r´esolution est une technique de preuve, bas´ee sur l’inf´erence, compl`ete, c.-`a-d. elle r´esoud SAT en un nombre fini d’´etapes. `A chaque ´etape, une nouvelle clause est inf´er´ee `a partir d’une ou deux clauses du probl`eme puis ajout´ee au probl`eme. L’inf´erence s’effectue par r´esolvante (l ∨W

ili) ∧ (¯l∨

W

jlj) `

(W

ili∨Wjlj) ou par factorisation (l ∨ l ∨Wili) ` (l ∨Wili).

Ce principe est un cas particulier de l’algorithme de Chvatal-Gomory quand une clause (W

ixi∨

W

jx¯j) est traduite par l’in´egalit´ePixi+Pj(1 − xj) ≥ 1. En effet, la r´esolvante est l’´equivalent

d’une coupe surrogate (la somme de x+P

ixi≥ 1 et (1−x)+Pjxj≥ 1 s’´ecritPixi+Pjxj≥ 1)

et la factorisation s’obtient aussi par combinaison lin´eaire (x + x +P

ixi≥ 1 etPixi≥ 0 implique

x +P

r´esolution en un nombre polynomial d’´etapes implique l’existence d’une preuve polynomiale par cet algorithme de coupes. En revanche, l’inverse n’est pas vrai du fait que l’on peut traiter avec Chvatal-Gomory des in´egalit´es de forme plus g´en´eraleP aixi ≥ b et donc inf´erer des coupes plus

fortes. On trouve par exemple dans [Dixon 2000], une preuve de longueur n2 pour le probl`eme des

pigeons (placer n pigeons dans k trous, un pigeon par trou) alors qu’une preuve par r´esolution de ce mˆeme probl`eme est n´ecessairement exponentielle.

Dans ce mˆeme article, et `a la suite de [Hooker 2000b], Dixon et Ginsberg proposent ainsi un backtracking intelligent o`u les nogoods ne sont pas g´en´er´es par r´esolution sous la forme de clauses, mais sous la forme d’in´egalit´es surrogate. Dans leur approche, les clauses sont lin´earis´ees comme indiqu´e ci-dessus et un branchement standard (instanciation d’une variable `a 0 ou 1) est effectu´e. Un simple filtrage par propagation unitaire v´erifie la satisfaction des contraintes : avant d’instancier une variable x `a 0 ou 1, on regarde s’il existe une contrainte lin´eaire c0 (resp. c1), dont toutes

les variables sauf x sont instanci´ees, et qui est viol´ee par x = 0 (resp. x = 1). Si c0 et c1 sont

identifi´ees, on g´en`ere une contrainte nogood comme la combinaison lin´eaire de c0et c1supprimant

x. Par exemple, si y, z et w sont actuellement instanci´ees `a 0, et comme x + y + z ≥ 1 est viol´ee par x = 0 et 2¯x + w ≥ 2 est viol´ee par x = 1, le nogood g´en´er´e est alors 2y + 2z + w ≥ 2 qui interdit dans la suite de la recherche, pour (y, z, w), l’instanciation partielle (0, 0, 0) mais aussi (0, 0, 1). La restriction de l’apprentissage est aussi adapt´ee `a ce type de contraintes pour limiter la m´emorisation aux seuls nogoods pertinents `a un ´etat donn´e de la recherche. Pour une valeur de pertinence r, on supprime les nogoods P

iaixi ≥ b pr´esentant le moins de chances d’ˆetre viol´es,

c.-`a-d. (si ai≥ 0) tels quePi∈V aixi+Pi6∈V ai−b ≥ r o`u V est l’ensemble des variables instanci´ees

au noeud courant.

Ici encore, puisqu’il s’agit de r´esoudre un probl`eme de satisfiabilit´e, la m´ethode ne fait ´evidem- ment pas appel au crit`ere d’optimalit´e qui est la qualit´e principale des techniques PLNE. Seule est utilis´ee la plus grande expressivit´e des in´egalit´es par rapport aux clauses CNF puisque les nogoods sont identifi´es comme en PPC classique.

On verra au chapitre 5 comment la proc´edure resolution search de Chvatal d´eveloppe l’id´ee d’apprentissage et de backtracking intelligent pour les PLVB, en m´emorisant les parties de l’espace de recherche ne contenant pas de solution r´ealisable, ni non plus de solution optimale, et surtout en g´erant ces nogoods suivant le principe de r´esolution de mani`ere `a limiter la m´emorisation et `a guider la recherche.

Le probl`eme d’ordonnancement de

projet `a contraintes de ressources

Ce chapitre pr´esente en d´etail le probl`eme d’ordonnancement de projet `a contraintes de res- sources, aussi appel´e probl`eme d’ordonnancement de projet `a moyens limit´es, ou encore RCPSP pour « resource-constrained project scheduling problem ». Cette d´enomination couvre, en r´ea- lit´e, une vari´et´e de probl`emes telle, que plusieurs sch´emas de classification ont ´et´e d´evelop- p´es [Herroelen 1999, Brucker 1999] mais pas encore unifi´es. Puisque nous traitons, dans cette th`ese, de la forme classique du probl`eme, c’est celle-ci que l’on d´esigne ici par RCPSP. Dans une premi`ere partie (2.1), nous d´ecrivons formellement ce probl`eme et pr´esentons bri`evement ses applications, cas particuliers et g´en´eralisations. Puis nous abordons les recherches qui ont ´et´e me- n´ees sur le sujet en nous penchant plus particuli`erement sur les diff´erentes r`egles d’ajustement qui s’appliquent au RCPSP dans le cadre de la programmation par contraintes (2.2), les principaux programmes lin´eaires en nombres entiers qui mod´elisent ce probl`eme (2.3) et enfin, les sch´emas de branchement et les bornes inf´erieures de la litt´erature (2.4).

2.1

Description du RCPSP