Vous êtes sur la page 1sur 40

Problem Based learning

Ingénierie des données - I

Travaux pratiques

Année P - Promo 2 - 2019


Avant-propos

Les travaux pratiques sont orientés vers deux domaines essentiels de la recherche opérationnelle :

● la programmation linéaire

● la théorie des graphes

vous apprendrez dans ce TP :

● à résoudre un système linéaire en utilisant le tableur Excel

● à résoudre un système linéaire en ajoutant une fonction objectif

● à modéliser des problèmes d'optimisation de ressources, de chemins avec les graphes

● à prendre des décisions en utilisant la théorie des jeux à événements finis et en l’associant à
la notion de noyau.

1
Table des matières

Avant-propos 1

I - Programmation linéaire 4
A - Où vous devez tous les jours trouver des inconnues !!! 4
1 - Exemple 4
2 - Exemple 4
B - Exemples complémentaires de résolution de systèmes 5
1 - L’art d’avoir 2 métiers 5
2 - La classe affaire est toujours la meilleure 5
3 - Le jet de pierre 5
C - La résolution de problèmes en programmation linéaire 7
1 - Les poulets et les canards sont des amis 7
D - Programmation linéaire et fonction objectif 10
Exemple 1 : les langues à moindre coût 10
Application 3 - La fabrication de des jouets doit être rentable 12

II - La modélisation et les graphes 15


A - Exemples de problèmes formalisés à l’aide d’un graphe 15
B - Résumé de ce que vous avez appris sur graphes 16
C - Etudes sur les graphes 17
Exercice 1 - Graphes orientés, non orientés ? 17
Exercice 2 - Matrice d’adjacence, d’incidence 17
Exercice 3 - Composants d’un graphe 17
Exercice 5 - Propagation au sein d’un graphe 18
Exercice 6 - Relations entre graphe et matrice 18
Exercice 7 - Chaîne, cycle, chemin, circuit 18
Exercice 8 - De l’existence d’un circuit 19
Exercice 9 - Graphes et matrices … indissociables 19
D - Calculer le chemin le plus court 20
Exemple d’introduction 20
E - Application - Où les algorithmes permettent de s’orienter efficacement 20
Résolution du problème 21

A - Utilité de jouer pour comprendre la théorie

2
Programmation
linéaire

3
Ressource sur les matrices et les graphes.

I - Programmation linéaire

A - Où vous devez tous les jours trouver des inconnues !!!

1 - Exemple
Une bouteille et son bouchon pèsent ensemble 110 grammes. la bouteille
pèse 100 grammes de plus que le bouchon.

Combien pèse le bouchon ? combien pèse la bouteille ?

Question : modéliser ce problème sans le résoudre

2 - Exemple
Une boisson et un gâteau coûtent 20 euros. 2 boissons et 3 gâteaux coûtent
45 euros.

Quel est le prix d'une boisson ? Quel est le prix d'un gâteau ?

Question : modéliser ce problème sans le résoudre

remarque : dans les exemples, des valeurs associées à une boisson, un


gâteau, un bouchon, une bouteille doivent être trouvées.
Dans un contexte mathématique (algèbre linéaire), on
parlera d’inconnues dont la valeur vérifie le système.

4
B - Exemples complémentaires de résolution de systèmes

1 - L’art d’avoir 2 métiers


Votre ami Jérémy est à la fois charpentier et forgeron pour payer ses
études.
Il gagne 20 € de l'heure en tant que charpentier et 25 € de l'heure en tant
que forgeron.

Jérémy vous annonce avec un large sourire qu'il a la semaine dernière cumulé les
deux métiers pendant 30 heures et gagné 690 €.

Combien de temps jérémy a-t-il travaillé en tant que charpentier et en tant que
forgeron ?

Question : modéliser le problème et le résoudre avec excel.

2 - La classe affaire est toujours la meilleure


Un avion a un total de 360 sièges, qui sont divisés en classe économique et
en classe affaire.

Pour 13 sièges en classe économique, il y a 5 sièges en classe affaire.

Combien y a-t-il de sièges dans chaque classe ?

Question : modéliser le problème et le résoudre avec excel.

3 - Le jet de pierre
Elsa jette une pierre du haut d'une falaise.

La pierre tombe à une vitesse de 16 m/s dans l'air jusqu'à atteindre l'eau
puis continue de tomber à une vitesse moyenne de 3 m/s avant d'atteindre
le fond marin.

La distance totale du haut de la falaise jusqu'au fond est égale à 127 m et la


chute de la pierre a duré 12 secondes en tout.

Pendant combien de temps la pierre est-elle tombée dans l'air et pendant

5
combien de temps est-elle tombée dans l'eau ?

Question : nouveau défi pour modéliser ce problème et le résoudre

6
C - La résolution de problèmes en programmation linéaire

Il est possible de résoudre un problème linéaire en utilisant différents méthodes


mathématiques (substitution, combinaison linéaire, matricielle)

Le formalisme utilisé pour la résolution sera de la forme AX = B.

Vous vérifierez s’il existe un couple solution en utilisant le solveur excel.

1 - Les poulets et les canards sont des amis


Julia élève des poulets et des canards.

Au mois de décembre dernier elle a vendu 50 poulets et 30 canards pour


550 €. au mois de janvier 2018, elle a vendu 44 poulet et 36 canards pour
532 €.

Elle vous met au défi de trouver combien coûte l'un de ses canards et l'un
de ses poulets.

Modélisation

Les deux inconnues (ou variables) sont le prix du poulet et du canard.


Nommer les : P et C.

On sait que pour le mois de décembre 2017, 50 P et 30 C ont été vendus et


en janvier 2018, 44 P et 36 C ont été vendus.

De plus, on connaît la somme des ventes de décembre et janvier :


respectivement 550 € et 532 €.

Formalisation du modèle en utilisant Excel

7
Préparation pour la résolution avec le solveur

X représente les B représente les


inconnues. contraintes
Ce sont des en G6 (B6*E6+C6*E7)
variables de en G7 (B7*E6+C7*E7)
types entier ou
réel

remarque : il n’y a pas de valeur en X et de valeur pour B


Expliquer pourquoi ?

Utilisation du solveur pour résoudre le système

Paramétrer le solveur

On cherche des valeurs

Cellules variables = valeurs X et Y

plage : $E$6 :$E$7

les contraintes représentent

les équations (en G6 et G7) pour


obtenir le résultat attendu

B6*E6+C6*E7 doit être égal à 550

B7*E6+C7*E7 doit être égal à 532

Sélectionner la case à cocher : rendre les variables sans contrainte non négatives

Sélectionner dans la zone de liste l’option : simplex PL

Cliquer sur le bouton : Résoudre

Solution retournée par le solveur

8
Les valeurs obtenues permettent de vérifier si le couple de valeurs
vérifie le système

On recherche le prix d’un canard et d’un poulet afin de résoudre le système


suivant :

50X + 30Y = 550

44X + 36Y = 532

Les valeurs de X et Y trouvées étant respectivement de 8 et 5, il suffit de


remplacer ces valeurs dans les équations :

50 * 8 + 30 * 5 = 400 +150 = 550

44 * 8 + 36 * 5 = 352 + 180 = 532

Les valeurs de X et Y vérifient bien le système

9
D - Programmation linéaire et fonction objectif
Lorsque l'on sait résoudre un problème à l'aide d'un système d'équation du premier
degré (inconnue sans exposant), il est parfois indispensable de lui associer une fonction
objectif.

La fonction objectif - minimisation/maximisation - de ressources, de coûts, de trajets, …


est directement liée à la valeur des variables nécessaires pour solutionner le problème.

Les méthodes de résolution de système linéaire peuvent être utilisées en tenant compte
de l’implication pour la fonction objectif.

Exemple 1 : les langues à moindre coût


Chloé a vécu au Portugal et au Brésil pendant 14 mois en tout pour apprendre le
portugais.

Elle a appris 130 mots nouveaux en moyenne par mois quand elle vivait au Portugal et
150 mots nouveaux en moyenne par mois quand elle était au Brésil.

Au total elle a appris 1920 mots nouveaux.

Sachant qu'un mois au Brésil revient en moyenne 6500 real (1 619 € 47) et un mois au
Portugal revient à 1 520 € 56,

Combien a coûté le séjour linguistique de Chloé ?

Comment peut-on interpréter les résultats ?

Question: modéliser le problème et l’implémenter en utilisant le solveur.

Exemple 2 : Optimiser le coût de ses entraînements

Lucile et Gaspard préparent leur triathlon annuel et souhaitent augmenter leur


compétence en endurance sur vélo.

Pour augmenter en puissance, ils doivent composer chaque semaine un entraînement


par un certain nombre d'heures en salle et un certain nombre d'heures sur route.

10
Au total, ils doivent s'entraîner au moins 20h chaque semaine et leur nombre d'heures
de travail sur route doit être égale au moins au tiers du nombre d'heures de travail en
salle.

Pour s'entraîner en salle, ils retiennent les services d'un entraîneur spécialisé qui coûte
10 € par heure. Cet entraîneur est disponible entre 10 et 25 heures par semaine ; pour
s'entraîner sur route, ils retiennent les services d'un autre spécialiste qui coûte 12 € par
heure. Ce spécialiste ne peut être disponible plus de 15 heures par semaine.

Question : Comment Lucile et gaspard peuvent-ils envisager leur semaine


d’entraînement ?

11
Application 3 - La fabrication de jouets doit être rentable
Vous êtes responsable de la production d'une usine de fabrication de jouets.
3 produits différents peuvent-être réalisés dans l'usine.

Chaque produit demande un certain nombre de matières premières pour


être réalisé mais les matières premières sont en nombre limité.

Le prix de vente respectif des produits est le suivant : 10 €, 13 € et 18 €.

12
Question : Comment maximiser le chiffre d’affaire en trouvant le nombre de
produits optimum ?

13
La modélisation et
les
graphes

14
II - La modélisation et les graphes
La modélisation par les graphes permet la formalisation des éléments composant un système sous
forme de points et de segments. Les segments permettent de comprendre quels sont les éléments en
relation les uns avec les autres et leurs types de relation.

Les types de graphes

A - Exemples de problèmes formalisés à l’aide d’un graphe

Exemple 1 - Les poignées de main

3 ami(e)s se rencontrent dans une soirée étudiante. Représenter le fait


qu’ils se serrent tous la main.

Exemple 2 - Les joueurs d’échecs

4 joueurs d’échecs s’inscrivent à un tournoi. Chaque joueur doit


rencontrer une fois tous les autres joueurs.

Représenter cet évènement sous forme de graphe sans souci de


savoir qui gagne, qui perd.

Indiquer le type du graphe.

Pourquoi ne peut-on pas avoir de boucle ?

Exemple 3 - Les joueurs d’échecs qui gagnent

Même question que dans l’exemple 3 mais on souhaite indiquer


que le joueur 1 gagne contre les 3 autres joueurs, le joueur 2 contre les
joueurs 3 et 4 et le joueur 4 contre le joueur 3

Représenter cet évènement sous forme de graphe avec le souci de savoir


qui gagne, qui perd.

Indiquer le type du graphe.

Pourquoi ne peut-on pas avoir de boucle ?

Représenter le graphe sous forme de matrice

15
Exemple 4 - Les villes et le réseau routier

5 villes de France sont reliées par des autoroutes. On suppose que le


nombre de kilomètres entre une ville A et une ville B est le même à
l’aller et au retour.
Les kilomètres sont indiqués comme suit : [A-B] = 259, [A-C] = 210,
[B-C] = 350, [B-E] = 150, [C-D] = 50, [C-E] = 350.

Modéliser le problème sous forme de graphe.

Donner le type du graphe puis le représenter en utilisant une matrice


dont vous donnerez les caractéristiques.

Exemple 5 - Les villes et le réseau routier (sens unique)

5 villes de France sont reliées par des autoroutes. On suppose que le


nombre de kilomètres entre une ville A et une ville B est possible mais
pas l’inverse..
Les kilomètres sont indiqués comme suit : [A-B] = 259, [A-C] = 210,
[B-C] = 350, [B-E] = 150, [C-D] = 50, [C-E] = 350.

Modéliser le problème sous forme de graphe.

Donner le type du graphe puis le représenter en utilisant une matrice


dont vous donnerez les caractéristiques

Quelle pourrait être l’utilisation du graphe représenté ?

B - Résumé de ce que vous avez appris sur les graphes


________________________________________________________

________________________________________________________
________________________________________________________
________________________________________________________

________________________________________________________
________________________________________________________
_____________________________________________________________________________________
__

16
_____________________________________________________________________________________
__

17
C - Etudes sur les graphes

Exercice 1 - Graphes orientés, non orientés ?


Indiquer si les graphes ci-dessous sont orientés, non orientés …

Exercice 2 - Matrice d’adjacence, d’incidence


ressource Matrice d’incidence

Représenter à l’aide d’une matrice d’adjacence et d’incidence les


graphes de l’exercice 1.

Exercice 3 - Composants d’un graphe


Indiquer les successeurs et les
prédécesseurs de chaque sommet en
utilisant une matrice d’adjacence.
Pourquoi A est appelé la source et E le
puits ?
Quelle interprétation donne-t-on si la
lecture de la matrice est en ligne ?
en colonne ?

Exercice 4 - Le circuit dans un graphe orienté

Prouver l’existence ou non d’un circuit dans le graphe ci-dessous

18
Exercice 5 - Propagation au sein d’un graphe
Construire le graphe de niveaux de l’énoncé de l’exercice 4.
Pourquoi est-il plus logique de travailler la matrice par les
prédécesseurs plutôt que la matrice par les successeurs ?

Exercice 6 - Relations entre graphe et matrice


Quelles relations (informations) existent entre le graphe et les deux
matrices sachant que la première est M et la deuxième M².

Exercice 7 - Chaîne, cycle, chemin, circuit


Indiquer les termes à employer et compléter le tableau ci-dessous
avec le graphe approprié.

Graphe Graphe non


orienté orienté

Indiquer une chaîne / un cycle

Indiquer un chemin/circuit

19
Exercice 8 - De l’existence d’un circuit
Indiquer un chemin possible et au moins trois circuits dans le
graphe ci-dessous. Pourquoi est-il impossible de construire un
graphe de niveaux.

Exercice 9 - Graphes et matrices … indissociables


Créer des graphes correspondant aux matrices suivantes et donner
les types de graphe obtenus.

20
D - Calculer le chemin le plus court
La théorie des graphes permet de résoudre des problématiques complexes telle que
trouver le plus court chemin d’un sommet à un autre dans un graphe orienté ou non.
Pour des graphes de dimension peu importante, il est possible :

● de trouver ce chemin grâce à une représentation matricielle

● d’automatiser le processus grâce au solveur du tableur excel

A la base de cette étude, on retrouve l’algorithme de Dijkstra, auteur de l’algorithme de


même nom.

Ressource Algorithme de Dijkstra

https://fr.wikipedia.org/wiki/Algorithme_de_Dijkstra

Ressource: Algorithme de Dijkstra sur Excel

Exemple d’introduction
Soient 3 villes reliées entre elles par des autoroutes. On considère que l’autoroute est à
double sens et que toutes les villes sont reliées entre-elles.
Si un vacancier souhaite se rendre de la ville A à la ville C, quel itinéraire permet
d’arriver le plus rapidement à la ville C en partant de la ville A ?

21
E - Application - Où les algorithmes permettent de s’orienter efficacement

Soit une ville composée de carrefours (4 au total). la liaison entre les carrefours est
représentée par des _____________________.
On peut conclure que ce graphe est ___________________ .
Les valeurs indiquent la distance en kilomètres d’un carrefour à un autre.

Question : Quel est le parcours le plus rapide du carrefour A vers


le carrefour D ?

Résolution du problème
l’algorithme de Dijkstra sera utilisé pour la partie matricielle

le solveur pour la partie automatisation

22
Aide pour la réalisation de l’application

● Construire la matrice d’adjacence de la problématique

Quel est l’ordre de la matrice ?

Pourquoi la matrice est obligatoirement carrée ?

Pourquoi la diagonale de la matrice doit être mise à zéro ?

Pourquoi la matrice est qualifiée de symétrique

● Réaliser l’algorithme de Dijkstra en utilisant la matrice déclarée ci-dessus

L’atout majeur de l’algorithme de Dijkstra est de ne pas revenir sur un sommet


déjà visité et faisant partie du chemin le plus court.
Ainsi, le problème posé par un graphe non orienté peut être résolu.

● Exemples de chemin le plus court à calculer

23
Exemple 1

Exemple 2

Exemple 3

24
● Automatisation de l’algorithme

Il serait intéressant de pouvoir créer un outil logiciel automatisant la réalisation de


l’algorithme en supposant le nombre de sommets constant.

Soient les formalismes de bases pour initier la simulation.

Le premier tableau - Construction du chemin

Il s’agit d’obtenir pour chaque carrefour :

● si le sommet fait partie du chemin le plus court en obtient la valeur 1 sinon


la valeur 0.

● Toute valeur 1 dans la colonne Chemin sera associée à la valeur de l’arc dans
la colonne Valeur correspondant au carrefour.

Attention : ce chemin sera calculé automatiquement avec le solveur excel

Dans la colonne : Chemin

Sommets constitutifs du chemin


(valeur 1 ou 0)
(à calculer)

Valeur du chemin le plus court


(à calculer)

Par exemple, après résolution avec le solveur, La distance du chemin sera


obtenue par la somme des valeurs correspondantes à chaque sommet
possédant une valeur 1 dans la colonne Chemin

Cette valeur aura été calculée

La valeur du chemin bien que calculée avec le


solveur nécessitera au préalable une formule.

plage1 désigne la plage de la colonne Valeur


et plage 2 désigne la plage de la colonne
Chemin.

sommeprod(plage 1; plage 2)

c’est-à-dire la somme des produits de chaque cellule de la plage 1 par la plage 2

25
Le Deuxième tableau

Les deux représentations ci-dessus


donnent plusieurs informations :

● Pour le graphe

Le carrefour de départ (en jaune)

Le carrefour d’arrivée (en bleu)

Les carrefours intermédiaires (en marron)

● Pour le tableau

La colonne Carrefours donnent le nom des 4 carrefours

La colonne “Observé” (à calculer) devra être égale à la colonne “Attendu”.

La colonne “Attendu” donne en théorie ce qui devra être obtenu dans la


colonne “Observé”.

Pour le calcul de la colonne “Observé”, on admettra que dans le chemin


minimum :

Le premier sommet ne possède pas de prédécesseur (la source) et on


admettra la valeur 1

Le dernier sommet ne possède pas de successeur (le puits) et on


admettra la valeur -1

Tous les autres sommets appliqueront la règle suivante :

nombre de successeurs – nombre de prédécesseurs

26
Pour vous aider à calculer les valeurs de la colonne : “Observé”

La fonction à utiliser pour le calcul relatif à chaque cellule de la plage est :

= somme.si(plage 3 ; critère ; plage 2) - somme.si(plage 1 ; critère ; plage 2)

successeurs(i) - prédécesseurs(i)

plage 1 plage 3 plage 2 critère

Exemple : On considère que les successeurs à un


sommet sont dans la colonne K
(Vers), les prédécesseurs dans la colonne J (Carrefours)

Comment calculer le nombre de successeurs au carrefour A ? En P3

= somme.si(K3:K14 ; O3 ; M3:M14)

Trouver comment calculer le nombre de prédécesseurs au carrefour A.

Finaliser votre recherche en travaillant : successeurs - prédécesseurs

Attention : le résultat ne sera effectif que lorsque vous aurez travaillé le


problème avec le solveur d’excel. Ces calculs sont
nécessaires pour que le solveur puisse les prendre en compte.

En résumé

27
● Après calcul, la colonne “Observé” devra être égale aux valeurs de la colonne “Attendu”
La colonne “Observé” représentera les contraintes du problème.

A calculer

Rappel : si le sommet fait partie du chemin le plus court alors sauf la source et le puits
successeurs(i) - prédécesseurs(i) = 0 où i représente un sommet.

● Après calcul, le tableau des distances indiquera une valeur 1 (le sommet fait partie du
chemin le plus court) ou 0 (le sommet ne fait pas partie du chemin le plus court)
la valeur du chemin minimum sera calculée en sommant la valeur des arcs constituant le
chemin le plus court.
La colonne “Chemin” représentera les variables.
La cellule juste au-dessous de la colonne Chemin représentera la fonction objectif.

A calculer

A calculer

28
Réalisation avec le solveur

Pour que le solveur puisse résoudre le problème, il doit utiliser des paramètres. Tous ces paramètres
sont les cellules ou plages de cellules calculées précédemment

Objectif à atteindre : cellule $M$15 puis veillez à cocher la case Min pour rechercher le
minimum

cellules variables : plage $M$3:$M$14

Contraintes : plage $P$3:$P$6 = $Q$3:$Q$6

Cocher la case : rendre les variables sans contraintes non négatives

Sélection résolution : Simplex PL

Après avoir validé la solution trouvée par le solveur

29
vous devriez trouver les valeurs suivantes :

Pour aller de A à D, le chemin le plus court est


A - C - D et la distance est de :
dist(AC) + dist(CD) c’est-à-dire 7 + 2 = 9

modifier la distance de AB avec la valeur 3


BC avec la valeur 2
calculer le nouveau chemin

30
La prise de
décision

31
A - Utilité de jouer pour comprendre la théorie
L’un des éléments essentiels de la théorie des graphes est le concept de noyau.
Pour le comprendre, il vous est demandé dans un premier temps de jouer à un jeu
très connu : le jeu de Nim.

Le jeu de Nim est constitué d’un ensemble d’allumettes : 11 (ou plus ou moins).
Chaque joueur retire au choix 1, 2 ou 3 allumettes.

Le but est de ne pas retirer la dernière allumette.

Construction du jeu

● Vous devez réaliser votre jeu sous Excel

● Structurer les éléments du jeu comme suit :

- à gauche les allumettes toutes présentes en début de jeu.

- à droite le décompte des victoires et défaites respectives à chacun des joueurs

Remarquer les cellules contenant la valeur 1. Cette valeur donne l'état


initial pour chaque allumette. Une valeur 0 indiquera que l’allumette a été
enlevée du jeu.

32
Pour créer votre jeux d’allumettes, on supposera que s’il y a une valeur 1 au-dessous de
l’allumette elle apparaît en couleur sinon elle n’apparaît pas.

Inspirez-vous de l’exemple ci-dessous. Il utilise la mise en forme conditionnelle.

Sélection de la cellule devant être colorée - menu : mise en forme conditionnelle

Résultat : si la valeur 1 est saisie dans la cellule B4, la cellule D4 se colorie

Jouer et observer les résultats

33
Après plusieurs jeux vous observerez les résultats.

La connaissance du noyau vous permettra sans doute de remporter plus de


victoires.

Pour vous aider

Pré-requis : le jeu commence de la droite vers la gauche.


l’exemple est donné avec quatre allumettes

Considérer le premier coup. Combien y-a-t-il d'éventualités ? (Vous pouvez tester ce


raisonnement en jouant avec votre propre jeu)

le graphique ci-dessous donne l’état du jeu (à droite) après chaque éventualité.

34
L’interprétation du raisonnement tenu ci-dessus avec le jeu.

Comment s'assurer le gain d'un jeu ?

Observer le formalisme suivant

On part de l’état final qui est : “ne pas retirer la dernière allumette”.

Si le joueur “tombe” sur la dernière allumette, c’est qu’il a retiré soit une, deux ou trois allumettes

Le même raisonnement s’applique pour toutes les allumettes. Par exemple la dixième.

Finaliser la représentation

35
Vous pouvez également représenter tous les états à l’aide d’une matrice carrée d’ordre 11. Voici le
début de la matrice. La finaliser.
11 10 9 8 7 6 5 4 3 2 1

11 0 0 0

10 1

9 1 1

8 1 1 1

Ces deux outils peuvent servir à prendre une bonne décision.

Pour le graphe : trouver le puits (le noter)

supprimer tous les prédécesseurs au puits

appliquer le même raisonnement sur le nouveau puits trouvé

l’ensemble des puits forme le noyau

Pour l’algorithme : Utiliser l’aide ci-après

36
● Interpréter les résultats obtenus et adaptés à votre propre

● Le noyau d'un graphe est qualifié d’absorbant et de complet. Pourquoi ?

37
__________________________________________________________________

__________________________________________________________________
__________________________________________________________________

__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
____________________________
__________________________________________________________________
____________________________
__________________________________________________________________
____________________________
__________________________________________________________________
____________________________
__________________________________________________________________
____________________________
__________________________________________________________________
____________________________
__________________________________________________________________
____________________________
__________________________________________________________________
____________________________
__________________________________________________________________
____________________________
__________________________________________________________________
____________________________
__________________________________________________________________
____________________________
__________________________________________________________________
____________________________
__________________________________________________________________
____________________________
__________________________________________________________________
____________________________
__________________________________________________________________
____________________________
__________________________________________________________________
____________________________
__________________________________________________________________

38
____________________________
__________________________________________________________________
____________________________
__________________________________________________________________
____________________________
__________________________________________________________________
____________________________
__________________________________________________________________
____________________________
__________________________________________________________________
____________________________
__________________________________________________________________
____________________________
__________________________________________________________________
____________________________
__________________________________________________________________
____________________________
__________________________________________________________________
____________________________
__________________________________________________________________
____________________________
__________________________________________________________________
____________________________
__________________________________________________________________
____________________________
__________________________________________________________________
____________________________
__________________________________________________________________
____________________________
__________________________________________________________________
____________________________
__________________________________________________________________
____________________________

39

Vous aimerez peut-être aussi