• Aucun résultat trouvé

Les in´ egalit´ es generalized co-circuit

Dans le document Le problème du postier chinois cumulatif (Page 144-149)

Chapitre 5 R´ ESOLUTION DU MOD` ELE L8 : PREMI ` ERE APPROCHE

5.6 Les in´ egalit´ es co-circuit

5.6.2 Les in´ egalit´ es generalized co-circuit

Nous pouvons g´en´eraliser les in´egalit´es co-circuit lorsque l’ensemble de sommets S ( V ∪ {s,t} est impair : il suffit de consid´erer un nombre pair d’arˆetes comme sur la figure 5.23. Prenons F ={e1,e2}. Si ye1 = ye2 = 1 alors y (δ(S)\ F ) > 1.

Soient S ⊂ V ∪ {s,t} et F ⊂ δ(S) tels que |S| + |F | est impair. Nous avons alors : y (δ(S)\ F ) > y(F ) − |F | + 1 ∀ F ⊂ δ(S) et |F | + |S| impair. (5.22)

ye1= 1

ye2= 1

S( V ∪ {s,t}

Figure 5.23 Les in´egalit´es generalized co-circuit (5.22) sont illustr´ees : le nouveau cas o`u S est impair et F pair.

Reconsid´erons les deux cas :

Cas 1. S est pair et F est impair et nous avons les in´egalit´es co-circuit (5.21).

Cas 2. S est impair et F est pair. Si F = ∅ alors nous obtenons y(δ(S)) > 1 c’est-`a-dire les in´egalit´es generalized odd-cut (5.14).

Nous pouvons donc consid´erer les in´egalit´es generalized co-circuit comme une g´en´eralisation des in´egalit´es de parit´es sauf dans le cas o`u l’ensemble S est compos´e uniquement d’arˆetes originales au sens de la section 5.5.8 sur les in´egalit´es even-set. Dans ce cas, nous avons y(δ(S))≥ 2. qui n’est pas repris par les in´egalit´es generalized co-circuit.

Nous pr´esentons maintenant deux proc´edures pour la s´eparation. Tout d’abord une proc´edure heuristique. Si celle-ci ne trouve aucune nouvelle coupe, alors nous utilisons la proc´edure exacte pr´esent´ee apr`es.

Proc´edure heuristique pour la s´eparation

Soit {¯ye} une solution relax´ee agr´eg´ee pour les p´eriodes de temps : ¯ye =

Pm+1 k=1(y

k

ij + yijk)

avec e = (ij). Nous construisons alors un graphe induit par les arˆetes e telles que ¯ye > 0 et

nous attribuons un flot he= min{¯ye,1− ¯ye} sur ces arˆetes.

Nous d´etectons les composantes connexes C1, . . . ,Cp et travaillons sur chacune de ces

composantes suivant la parit´e de celles-ci :

Soit e∈ δ(Ci). Si ¯ye> 0,5 nous prenons e dans F sinon e ∈ δ(Ci)\ F .

Si F est pair ou nul nous avons termin´e. Sinon, nous ajoutons ou enlevons une arˆete de F comme suit :

Soit f ∈ F une arˆete de flot minimal et g ∈ δ(Ci)\ F une arˆete de flot maximal :

¯

yf = min{¯ye : e∈ F } et ¯yg = max{¯ye : e∈ δ(Ci)\ F }

Si |0,5 − ¯yf| < |0,5 − ¯yg| nous enlevons l’arˆete f de F sinon nous ajoutons l’arˆete g

dans F . Maintenant soit F =∅ soit F est pair.

Si Ci est pair Nous trouvons F ⊆ δ(Ci) avec F impair comme suit en utilisant la mˆeme

d´emarche que ci-dessus. `A la fin, |F | > 1 et impair.

Dans les deux cas, une fois la composante connexe Ci et l’ensemble F calcul´es, nous testons

si l’in´egalit´e ´equivalente suivante est viol´ee. Si X e∈δ(Ci)\F ¯ ye+ X e∈F (1− ¯ye) < 1

alors l’in´egalit´e est viol´ee.

La condition he > 0 peut ˆetre remplac´ee par la condition he > ε. Dans notre impl´ementation,

nous essayons d’abord la proc´edure avec ε = 0. Si aucune coupe n’est trouv´ee, nous recom- men¸cons avec ε = 0,2 puis ε = 0,4 si n´ecessaire. Si l’heuristique ne produit aucune coupe, alors nous utilisons la proc´edure exacte suivante.

Proc´edure exacte pour la s´eparation

Cet algorithme est bas´e sur celui pr´esent´e par Padberg et Rao (voir Padberg et Rao,

1982). Comme eux, nous calculons une coupe impaire de poids minimum dans un graphe G0. Soit {¯ye} une solution relax´ee aggr´eg´ee pour les p´eriodes de temps : ¯ye =

Pm+1 k=1(y

k

ij + yijk)

avec e = (ij). Nous construisons alors le graphe G0 comme suit. La figure 5.24 reprend la construction d’un tel graphe pour la solution relax´ee pr´esent´ee sur la figure 5.22.

Initialement, G0 contient tous les sommets v ∈ V ∪ {s,t} du graphe auxiliaire ´eclat´e et les arˆetes e lorsque ¯ye > 0. Tous les sommets sont ´etiquet´es « impair ». Puis, pour chaque

s t P P P P P P 1/3 1/3 1/3 1/3 1/3 1/3 1/3 1/3 1/3 2/3 2/3 2/3 2/3 2/3 2/3 2/3 2/3 2/3 2/3 2/3 P 2/3 1/3 2/3 P 2/3 0 0 1 1 1/3 1/3 1/3 1/3 S10 S02

Figure 5.24 Le graphe G0 utilis´e pour s´eparer les in´egalit´es generalized co-circuit (5.22). Les sommets marqu´es par un P sont ´etiquet´es « pair », tous les autres sont ´etiquet´es « impair ». L’ensemble S10 indique une coupe viol´ee car il s’agit bien d’une coupe impaire avec 7 sommets ´

etiquet´es « impair » et de coˆut 1/3 < 1. L’ensemble S20 indique une coupe viol´ee du type du troisi`eme cas.

figure 5.25:

(i,ie) avec un flot de 1− ¯ye et

(ie,j) avec un flot de ¯ye.

et l’arˆete e = (i,j) est enlev´ee. Le nouveau sommet re¸coit le l’´etiquette « impair » et l’´etiquette du sommet i est chang´e de « pair » `a « impair » ou vice-versa.

i i i ie j impair impair pair impair 2/3 1/3 impair ¯ ye= 1/3

Figure 5.25 Comment transformer une arˆete dans le graphe G0.

Nous ajoutons maintenant toutes les arˆetes e ∈ Er avec un flot de 0 pour obtenir un

graphe G0 connexe. Soit une coupe (edge-cut ) impaire (i.e. contenant un nombre impair de sommets ´etiquet´es « impair ») minimum. Si le coˆut de cette coupe est > 1, il n’y a pas d’in´egalit´e viol´ee. Par contre, si la coupe a un coˆut < 1, nous avons une in´egalit´e viol´ee. Soit S0 l’ensemble de sommets d’un cˆot´e de la coupe impaire. S0 poss`ede donc un nombre impair de sommets ´etiquet´es « impair ». Soit S = S0∩ (V ∪ {s,t}), c’est-`a-dire les sommets originaux du graphes auxiliaire ´eclat´e et soit F le sous-ensemble des arˆetes e ∈ δ(S) telles que les arˆetes correspondantes avec un flot de 1− ¯ye sont dans la coupe δ(S0). On peut

d´emontrer que l’in´egalit´e correspondante est viol´ee.

Pour calculer une coupe impaire de coˆut minimum, nous utilisons la proc´edure de Pad- berg et Rao. Leur algorithme calcule un arbre de Gomory-Hu de coupes minimales. Chaque arˆete de l’arbre associ´ee `a une coupe impaire minimale de coˆut < 1 produit une in´egalit´e viol´ee.

Sur la figure5.24, l’ensemble S10 repr´esente une coupe impaire car S10 contient 7 sommets ´

etiquet´es « impair » et de coˆut = 1/3 < 1. L’in´egalit´e viol´ee correspond dans le graphe auxiliaire ´eclat´e de la figure 5.22 aux ensembles :

S ={43,44,46,66} |S| pair

F ={(66,67)} |F | impair

que nous avions d´ej`a obtenue `a la section pr´ec´edente.

L’ensemble S20 contient 9 sommets ´etiquet´es « impair » et repr´esente une coupe de coˆut = 1/3 < 1. L’in´egalit´e viol´ee correspond aux ensembles :

S ={55,43,44,46,66} |S| impair

F = {(55,57),(66,67)} |F | pair. Remarques

1. Les in´egalit´es odd set sont respect´ees sur la figure 5.23 puisque ces in´egalit´es disent tout simplement que y(δ(S)) > 1. Les in´egalit´es generalized co-circuit sont donc une g´en´eralisation de celles-ci. Il suffit de prendre F =∅.

2. Pour l’impl´ementation de la m´ethode de Padberg et Rao, nous utilisons explicitement un calcul des arbres de Gomory-Hu. Il existe une impl´ementation plus rapide propos´ee par Letchford, Reinelt et Theis (voir Letchford et al., 2008) mais vu la taille relati- vement modeste des graphes que nous solutionnons ce n’est pas vraiment n´ecessaire. Les arbres de Gomory-Hu sont d’ailleurs calcul´es par l’´el´egante proc´edure propos´ee par Gusfield (voirGusfield, 1990) qui ne n´ecessite pas de contraction des sommets.

Dans le document Le problème du postier chinois cumulatif (Page 144-149)

Documents relatifs