الرئيسية

مسابقة دكتوراه 2016Université des Sciences et de la Technologie Houari Boumediène (USTHB) — الموضوع 11

مسابقة تخصص · Recherche Opérationnelle

Formation Doctorale ROM, Concours d'accès — Épreuve de Réseaux et Optimisation, USTHB, Faculté de Mathématiques, Département de Recherche Opérationnelle — 2016 (date exacte non lisible).

التمرين 1

Exercice 1 — Équilibre de l'utilisateur sur un réseau de transport urbain

#transport-network#user-equilibrium#wardrop-equilibrium#optimization#traffic-assignment

On considère le réseau de transport urbain de la figure ci-dessous. Il y a deux paires origine-destination : 11-22 et 33-22 respectivement. Les temps de parcours des différents arcs sont donnés par

ta(xa)=aa+baxat_a(x_a) = a_a + b_a x_a

où le temps de traversée de l'arc est exprimé en minutes en fonction du flot sur l'arc. Les coefficients sont : arc 1 (AB):a1=21,b1=0.01(A\to B): a_1=21, b_1=0.01, arc 2 (AC):a2=8,b2=0.1(A\to C): a_2=8, b_2=0.1, arc 3 (BD):a3=6,b3=0.1(B\to D): a_3=6, b_3=0.1, arc 4 (CB):a4=4,b4=0.02(C\to B): a_4=4, b_4=0.02, arc 5 (CD):a5=19,b5=0.01(C\to D): a_5=19, b_5=0.01.

Deux paires OD : de AA vers DD avec flux qAD=50q_{AD}=50 véhicules/heure, et de CC vers DD avec qCD=50q_{CD}=50 véhicules/heure.

  1. Formuler le problème (P)(P) de l'équilibre de l'utilisateur.
  2. Les flux d'équilibre obtenus par Excel sont : f1=0.00,f2=13.12,f3=36.88,f4=9.96,f5=40.04f_1=0.00, f_2=13.12, f_3=36.88, f_4=9.96, f_5=40.04. En déduire les flux d'arcs, les temps de traversée des arcs et les temps des chemins.
  3. Vérifier si cette solution satisfait les conditions de l'équilibre de l'utilisateur.
  4. Un autre logiciel donne : f1=0.00,f2=0.00,f3=50.00,f4=23.08,f5=26.92f_1=0.00, f_2=0.00, f_3=50.00, f_4=23.08, f_5=26.92. Cette solution est-elle d'équilibre ? Conclure.
  5. Suite à une information de radioguidage erronée, une faible partie des usagers du chemin 3 empruntent le chemin 1 : f1=f2=0,f3=49,f4=23,f5=27f_1=f_2=0, f_3=49, f_4=23, f_5=27. Calculer l'effet sur le temps total passé par l'ensemble des usagers sur le réseau. Est-on encore à une solution d'équilibre ?
الحل

1.

Le problème d'équilibre de l'utilisateur se formule comme un programme de Beckmann : minimiser

aA0xata(s)ds\sum_{a\in A} \int_0^{x_a} t_a(s)ds

sous les contraintes de conservation des flots OD et de non-négativité des flots de chemins.

2.

Les flots d'arcs se déduisent des flots de chemins. Puis on calcule

ta=aa+baxat_a = a_a + b_a x_a

pour chaque arc. Les temps des chemins sont les sommes des temps d'arcs correspondants.

3.

Une solution est un équilibre de Wardrop si tous les chemins utilisés entre une même paire OD ont le même temps minimal, et tout chemin non utilisé a un temps supérieur ou égal. On compare les temps des chemins actifs et inactifs.

4.

On refait le calcul des temps de chemins avec la deuxième solution. Si un chemin utilisé est plus long qu'un chemin non utilisé pour la même paire OD, ce n'est pas un équilibre.

5.

Le temps total sur le réseau est

TT=axata(xa).TT = \sum_a x_a t_a(x_a).

On compare TTTT avant et après perturbation. Si les conditions de Wardrop ne sont plus satisfaites, la solution n'est plus un équilibre.

Il faut recalculer les temps de chemins et TT=axa(aa+baxa)\boxed{\text{Il faut recalculer les temps de chemins et } TT = \sum_a x_a(a_a+b_ax_a)}

التمرين 1

Exercice 1 — Arbres, forêts et poids maximum

#graph-theory#maximum-spanning-tree#forest#integer-programming

Rappels : un arbre est un graphe connexe et sans cycle, une forêt est un graphe sans cycle.

Question 1. Montrer que les propriétés suivantes sont équivalentes et caractérisent un graphe TT qui est un arbre : (i) TT est connexe et ne possède pas de cycle. (ii) TT ne contient aucun cycle et possède n1n-1 arêtes. (iii) TT est connexe et possède n1n-1 arêtes. (iv) TT est connexe et chaque arête est un isthme. (v) Deux sommets quelconques de TT sont reliés par une unique chaîne. (vi) TT ne contient aucun cycle mais l'adjonction à TT d'une quelconque nouvelle arête {i,j}\{i,j\} crée exactement un cycle CijC_{ij}.

Question 2. Soit G=(V,E)G=(V,E) connexe avec un poids p(i,j)p(i,j) sur chaque arête.

  1. Montrer qu'un arbre T=(V,F)T=(V,F) est de poids maximum ssi pour chaque arête {i,j}EF\{i,j\} \in E\setminus F et toute arête {k,l}Cij\{k,l\} \in C_{ij}, on a c(i,j)c(k,l)c(i,j) \leq c(k,l).
  2. Décrire et justifier un algorithme glouton pour trouver une forêt de poids maximum de GG.
  3. Donner une condition nécessaire et suffisante pour qu'une forêt de poids maximum soit un arbre.
  4. Quelle modification apporter à l'algorithme pour qu'il donne un arbre de poids maximum ?

Question 3. On considère le programme entier (F)(F) pour la forêt de poids maximum.

  1. Montrer que (F)(F) formule bien le problème.
  2. Quelle contrainte ajouter pour obtenir une formulation de l'arbre de poids maximum ?
  3. Montrer qu'on peut remplacer une contrainte par des contraintes de coupure.
الحل

1.

Toutes les caractérisations des arbres sont classiques et s'obtiennent par comptage des arêtes, connexité et unicité des chaînes.

2.1.

Critère d'échange sur un cycle : si une arête hors arbre était plus lourde qu'une arête du cycle fondamental, on pourrait échanger et augmenter le poids total.

2.2.

Algorithme glouton : trier les arêtes par poids décroissant et ajouter une arête si elle ne crée pas de cycle. On obtient une forêt de poids maximum.

2.3.

Une forêt de poids maximum est un arbre ssi elle est connexe.

2.4.

Pour obtenir un arbre de poids maximum, on impose la connexité ou on continue jusqu'à avoir n1n-1 arêtes.

3.

La formulation entière standard avec contraintes d'acyclicité et binaire est correcte. L'ajout de xij=n1\sum x_{ij} = n-1 force une structure d'arbre. Les contraintes de cycle peuvent être remplacées par des contraintes de coupure.

التمرين 1

Exercice 1 — Programmation linéaire bi-objectif et solutions efficaces

#multiobjective-optimization#linear-programming#efficient-solutions#weighted-sum

On considère le programme linéaire bi-objectif suivant

(P){min{2x1+x2}min{4x13x2}s.t. x1+2x210,  x15,  x1,x20.(P) \begin{cases} \min \{-2x_1 + x_2\} \\\\ \min \{-4x_1 - 3x_2\} \\\\ \text{s.t. } x_1 + 2x_2 \leq 10, \; x_1 \leq 5, \; x_1,x_2 \geq 0. \end{cases}
  1. Écrire le programme linéaire paramétrique associé LP(λ)LP(\lambda).
  2. Calculer l'ensemble des bases efficientes, des points extrêmes efficients, des arêtes efficientes EfffμEff_{f\mu}, l'ensemble de toutes les solutions efficientes XeffX_{eff} et l'ensemble de tous les vecteurs critères non dominés YNY_N.
  3. Donner les équations des courbes paramétriques relatives aux valeurs critiques de λ\lambda et retrouver graphiquement les résultats obtenus.
  4. En utilisant le cône polaire semi positif, retrouver graphiquement XeffX_{eff} et YNY_N.
الحل

1.

Le problème paramétrique pondéré est

LP(λ):min  λ(2x1+x2)+(1λ)(4x13x2)LP(\lambda): \min \; \lambda(-2x_1+x_2) + (1-\lambda)(-4x_1-3x_2)

sous les mêmes contraintes, avec λ[0,1]\lambda \in [0,1].

2-4.

On résout le problème pour les valeurs critiques de λ\lambda où l'optimum change de base. Les points extrêmes admissibles se déterminent géométriquement. Les solutions efficientes sont celles non dominées dans l'espace des décisions, et YNY_N est leur image dans l'espace des critères.

Le cône polaire semi-positif permet de caractériser graphiquement les points efficaces via les normales de support.

Les solutions efficientes se deˊterminent par analyse des sommets et areˆtes actives\boxed{\text{Les solutions efficientes se déterminent par analyse des sommets et arêtes actives}}

التمرين 2

Exercice 2 — Arbre de poids maximum et formulations en nombres entiers

#graph-theory#maximum-spanning-tree#integer-programming#greedy-algorithm#forest

Soit G=(V,E)G=(V,E) un graphe simple et connexe et soit p:ERp:E\to \mathbb{R} une application poids. On note V=n|V|=n et E={e1,e2,,em}E=\{e_1,e_2,\dots,e_m\} avec p(ei)p(ei+1)p(e_i) \leq p(e_{i+1}).

  1. Donner au moins trois caractérisations différentes des arbres et montrer leur équivalence.
  2. Montrer que dans un graphe connexe, si TT et TT' sont deux graphes partiels distincts qui sont des arbres, alors TT contient une arête dont le rajout à TT' crée un unique cycle.
  3. Soit la famille TiT_i définie par : Ti=ET_i = E si i=0i=0, et pour i>0i \gt 0, Ti=Ti1{ei}T_i = T_{i-1} \setminus \{e_i\} si (V,Ti1{ei})(V, T_{i-1} \setminus \{e_i\}) est connexe, sinon Ti=Ti1T_i = T_{i-1}. Montrer que TmT_m est un arbre de poids maximum dans GG.
  4. Donner la complexité de l'algorithme pour obtenir TmT_m.
  5. Comment modifier l'algorithme pour déterminer une forêt de poids maximum de GG ?
  6. Donner, dans le graphe fourni, un arbre et une forêt de poids maximums.
  7. Prouver que si e,eE\forall e,e' \in E, p(e)p(e)p(e) \neq p(e'), alors l'arbre de poids maximum est unique.
  8. Montrer que si GG possède un cycle ayant une arête de poids inférieur à celui de toute autre arête de ce cycle, alors cette arête n'appartient à aucun arbre de poids maximum de GG.
  9. On considère deux formulations entières (F1)(F_1) et (F2)(F_2) pour l'arbre de poids minimum. Montrer que (F1)(F_1) et (F2)(F_2) formulent ce problème et que (F2)(F_2) est meilleure.
الحل

1.

Caractérisations équivalentes d'un arbre :

  • connexe et sans cycle,
  • connexe avec n1n-1 arêtes,
  • sans cycle avec n1n-1 arêtes,
  • entre deux sommets quelconques, il existe une unique chaîne.

2.

Comme TTT \neq T', il existe une arête eTTe \in T \setminus T'. L'ajout de ee à TT' crée un cycle unique car TT' est un arbre.

3.

C'est l'algorithme glouton de suppression des arêtes de plus faible poids tout en conservant la connexité. On montre par l'argument d'échange qu'il produit un arbre de poids maximum.

4.

En vérifiant la connexité à chaque suppression, complexité naive O(m(n+m))O(m(n+m)).

5.

Pour une forêt de poids maximum : on n'impose plus la connexité globale, on supprime les arêtes qui appartiennent à un cycle, en gardant les plus lourdes dans chaque composante.

6.

On choisit les arêtes de plus grand poids sans créer de cycle.

7.

Si les poids sont tous distincts, l'algorithme glouton a des choix forcés. Donc unicité.

8.

Dans un cycle, l'arête strictement la plus légère ne peut appartenir à aucun arbre de poids maximum, sinon on peut l'échanger contre une arête plus lourde du cycle.

9.

(F1)(F_1) et (F2)(F_2) décrivent le polytope des arbres couvrants. (F2)(F_2) est meilleure car ses contraintes de coupure donnent une relaxation linéaire plus serrée.

التمرين 2

Exercice 2 — Caractérisation scalaire des solutions efficaces

#multiobjective-optimization#efficient-solutions#scalarization

Soit x0x^0 une solution réalisable de l'ensemble X={xRn:Ax=b,x0}X = \{x \in \mathbb{R}^n : Ax=b, x \geq 0\} et (P)(P) le problème multi-objectif défini par min{Cx:xX}\min\{Cx : x \in X\}CRp×nC \in \mathbb{R}^{p\times n}. Montrer que :

x0 est solution efficiente si et seulement si il existe un vecteur λR+p{0} tel que λTCx0λTCx,xX.x^0 \text{ est solution efficiente si et seulement si il existe un vecteur } \lambda \in \mathbb{R}_+^p \setminus \{0\} \text{ tel que } \lambda^T C x^0 \leq \lambda^T Cx, \forall x \in X.
الحل

C'est le théorème classique de scalarisation linéaire sous convexité du domaine admissible.

\Rightarrow Si x0x^0 est efficient, il existe un hyperplan de support au point Cx0Cx^0 du polytope des critères, de normale λR+p{0}\lambda \in \mathbb{R}_+^p \setminus \{0\}. Donc λTCx0λTCx\lambda^T Cx^0 \leq \lambda^T Cx pour tout xXx \in X.

\Leftarrow Si une telle inégalité est vraie et s'il existait xx dominant strictement x0x^0, alors on aurait CxCx0Cx \leq Cx^0 composante par composante avec une stricte inégalité pour au moins une composante, d'où λTCx<λTCx0\lambda^T Cx \lt \lambda^T Cx^0, contradiction.

x0 est efficient     λ0,λ0,λTCx0λTCx,xX\boxed{x^0 \text{ est efficient } \iff \exists \lambda \geq 0, \lambda \neq 0, \lambda^T Cx^0 \leq \lambda^T Cx, \forall x \in X}

التمرين 2

Exercice 2 — Programmation linéaire bi-objectif et ensembles efficaces

#multiobjective-optimization#linear-programming#efficient-solutions#weighted-sum

On considère le programme linéaire bi-objectif

(P){max  3x1+x2max  x12x2x1+2x22,  x14,  x23,  x1,x20.(P) \begin{cases} \max \; 3x_1 + x_2 \\\\ \max \; -x_1 - 2x_2 \\\\ x_1 + 2x_2 \geq 2, \; x_1 \leq 4, \; x_2 \leq 3, \; x_1,x_2 \geq 0. \end{cases}
  1. Écrire le programme de somme pondérée LP(λ)LP(\lambda).
  2. Calculer l'ensemble des bases efficientes, des points extrêmes efficients, des solutions efficaces XeffX_{eff} et des vecteurs critères non dominés YNY_N.
  3. Donner les équations des courbes de niveaux relatives aux valeurs critiques de λ\lambda et retrouver graphiquement les résultats.
  4. À l'aide du cône polaire semi-positif, retrouver graphiquement les ensembles XeffX_{eff} et YNY_N.
الحل

1.

LP(λ):max  λ(3x1+x2)+(1λ)(x12x2)LP(\lambda): \max \; \lambda(3x_1+x_2) + (1-\lambda)(-x_1-2x_2) sous les contraintes.

2-4.

Les ensembles efficaces se déterminent par étude géométrique du polytope admissible et des directions d'amélioration. Les valeurs critiques de λ\lambda correspondent aux pentes des arêtes efficaces. Le cône polaire semi-positif permet de caractériser les points efficaces.

Les solutions efficaces sont les points non domineˊs du polytope admissible\boxed{\text{Les solutions efficaces sont les points non dominés du polytope admissible}}

التمرين 3

Exercice 3 — Ordonnancement sur graphe d'incompatibilité et coloration

#graph-theory#scheduling#graph-coloring#optimization

Dans une entreprise, les ouvriers OO doivent exécuter un certain nombre de tâches pour achever un projet. L'ensemble de toutes les tâches possibles est TT. On désire que tous les ouvriers qui doivent exécuter la tâche tt le fassent simultanément. Chaque ouvrier ne pouvant se présenter qu'à une tâche au plus chaque semaine. Le problème consiste à chercher le nombre minimum de semaines nécessaires pour terminer toutes les tâches. Présenter une modélisation mathématique de ce problème sous forme d'un outil de la théorie des graphes.

الحل

On construit le graphe d'incompatibilité des tâches : chaque sommet représente une tâche, et deux tâches sont reliées si elles partagent au moins un ouvrier. Deux tâches adjacentes ne peuvent pas être exécutées la même semaine.

Le problème revient alors à colorier les sommets du graphe avec un nombre minimal de couleurs, chaque couleur représentant une semaine.

Le nombre minimal de semaines est χ(G)\boxed{\text{Le nombre minimal de semaines est } \chi(G)}

χ(G)\chi(G) est le nombre chromatique du graphe d'incompatibilité.

التمرين 4

Exercice 4 — Graphes planaires, nombre chromatique et graphes parfaits

#graph-theory#planar-graphs#chromatic-number#perfect-graphs#clique-number

Soit G=(V,E)G=(V,E) un graphe simple, connexe et non orienté. On note χ(G)\chi(G) le nombre chromatique, ω(G)\omega(G) la cardinalité d'une clique maximum, α(G)\alpha(G) la cardinalité du plus grand stable et θ(G)\theta(G) la cardinalité d'une partition minimum en cliques.

  1. Montrer que ω(G)χ(G)\omega(G) \leq \chi(G) et en déduire que ω(G)θ(G)\omega(G) \leq \theta(G).
  2. Montrer que χ(G)α(G)V(G)\chi(G)\alpha(G) \geq |V(G)|.
  3. Montrer que χ(G)Δ(G)+1\chi(G) \leq \Delta(G) + 1.
  4. a) Montrer que tout graphe planaire admet une triangulation. b) En supposant que tout graphe planaire admet au moins un sommet de degré \leq 5, montrer que si GG est planaire alors χ5\chi \leq 5.
  5. a) Montrer que K5K_5 n'est pas planaire. b) Montrer que si GG est planaire et parfait alors χ(G)4\chi(G) \leq 4.
  6. Si GG est planaire non nécessairement parfait, a-t-on toujours χ(G)4\chi(G) \leq 4 ? Justifier.
الحل

1.

Toute clique nécessite des couleurs distinctes, donc ω(G)χ(G)\omega(G) \leq \chi(G). En dualisant par partition en cliques, on obtient aussi ω(G)θ(G)\omega(G) \leq \theta(G).

2.

Chaque couleur définit une classe stable de cardinal au plus α(G)\alpha(G). Donc Vχ(G)α(G)|V| \leq \chi(G)\alpha(G).

3.

Coloration gloutonne : au plus Δ(G)+1\Delta(G)+1 couleurs suffisent.

4.

Tout graphe planaire peut être triangulé en ajoutant des arêtes dans les faces non triangulaires.

Si tout graphe planaire possède un sommet de degré \leq 5,unereˊcurrencesur, une récurrence sur |V|donnedonne\chi(G) \leq 6$; avec raffinement, on obtient 5-colorabilité.

5.

K5K_5 n'est pas planaire par la formule d'Euler. Si GG est parfait, χ(G)=ω(G)\chi(G)=\omega(G). Pour un graphe planaire, ω(G)4\omega(G) \leq 4 car K5K_5 n'est pas planaire, donc χ(G)4\chi(G) \leq 4.

6.

Oui, par le théorème des quatre couleurs, tout graphe planaire est 4-colorable.

χ(G)4 pour tout graphe planaire\boxed{\chi(G) \leq 4 \text{ pour tout graphe planaire}}