TP 1 : Choix d`une voiture
Transcription
TP 1 : Choix d`une voiture
TP 1 : Choix d'une voiture Introduction à diviz Patrick Meyer∗ Télécom Bretagne Introduction 1 Le but de ce TP est de apprendre à utiliser le logiciel diviz , et à explorer amcd). les possibilités qu'ore diviz en Aide Multicritère à la Décision ( L'outil diviz permet de créer des chaînes de traitements algorithmiques complexes utiles en amcd. Ces workows sont créés via une interface gra- phique qui vous permet de glisser-déposer les éléments de calculs nécessaires et de les enchaîner ensuite de manière cohérente. Après l'exécution de votre chaîne de calculs, vous pouvez facilement étudier les résultats naux obtenus, ainsi que tous les résultats intermédiaires. L'outil vous permet également de facilement paramétrer ces algorithmes et de garder une trace de vos exécutions passées. En premier lieu, téléchargez le logiciel diviz à l'adresse decision-deck.org/diviz/download.html http://www. et installez le sur votre ordina- teur. Nous commençons par une présentation du problème de décision que nous allons étudier. Des détails supplémentaires sur cet exemple peuvent + être trouvés dans [BMP 00, chapitre 6]. Le problème de décision En 1993, Thierry, un étudiant âgé de 21 ans, est passionné par les voitures de sport et aimerait acheter une voiture d'occasion puissante. Il sélectionne cinq critères liés au coût (critère g1), à la performance du moteur (critères g2 and g3) et à la sécurité (critères g4 et g5). La liste des alternatives et de leurs évaluations sur ces cinq critères est présentée dans le tableau 1. Le critère de coût (e) et les critères de performance acceleration (secondes) ∗ [email protected] http://www.diviz.org 1. 1 ID voiture marque coût (g1, e) accel. reprise freins tenue de route (g2, s) (g3, s) (g4 ) (g5 ) a01 Tipo 18342 30.7 37.2 2.33 3 a02 Alfa 15335 30.2 41.6 2 2.5 a03 Sunny 16973 29 34.9 2.66 2.5 a04 Mazda 15460 30.4 35.8 1.66 1.5 a05 Colt 15131 29.7 35.6 1.66 1.75 a06 Corolla 13841 30.8 36.5 1.33 2 a07 Civic 18971 28 35.6 2.33 2 a08 Astra 18319 28.9 35.3 1.66 2 a09 Escort 19800 29.4 34.7 2 1.75 a10 R19 16966 30 37.7 2.33 3.25 a11 P309-16 17537 28.3 34.8 2.33 2.75 a12 P309 15980 29.6 35.3 2.33 2.75 a13 Galant 17219 30.2 36.9 1.66 1.25 a14 R21t 21334 28.9 36.7 2 2.25 Table 1 Tableau de performance pour le problème de choix de Thierry et reprise (secondes) doivent être minimisés, tandis que les critères de sécurité freinage et tenue de route doivent être maximisés. Notez que les valeurs prisent par ces deux derniers critères sont des évaluations moyennes obtenues d'évaluations qualitatives multiples qui ont été recodées en entiers entre 0 et 4. De plus amples détails sur les données peuvent être trouvées + dans [BMP 00]. An d'aider Thierry à choisir la voiture qui lui convient le mieux, nous allons classer ces voitures en utilisant la somme pondérée comme opérateur d'agrégation. Étape 1 : Ajout de données à diviz Le tableau de performance du tableau 1 est disponible au format csv (comma separated value) à l'adresse http://public.telecom-bretagne. eu/~pmeyer/courses/TPdiviz/performanceTable.csv. Téléchargez ce chier et stockez le sur votre ordinateur. Ouvrez-le dans votre tableur préféré an de visualiser son contenu. Dans une première étape, ce chier doit être converti au format XMCDA an de le rendre compatible avec les diérents programmes disponibles dans diviz. XMCDA est un standard de données qui permet de décrire des données liées à l' amcd. Les programmes proposés dans le logiciel diviz comprennent et parlent tous le XMCDA et deviennent ainsi interopérables. Exercice diviz 1. Lancez diviz, créez un workow vide, glissez et déposez le module csvToXMCDA-performanceTable 2 du panneau de droite dans l'es- pace de travail vide. Ajoutez le chier contenant le tableau de performance (csv) à diviz en glissant et en déposant l'élément File(s) de la liste de droite dans l'espace de travail et en sélectionnant sur votre ordinateur le chier csv que vous venez de télécharger. Connectez ce chier csv au module csvToXMCDA-performanceTable, Le module mat et exécutez le workow (ctrl csvToXMCDA-performanceTable + F11). a généré trois sorties au for- XMCDA : tout d'abord un chier contenant la description des alternatives (leurs identiants), ensuite un chier contenant la description des critères, et pour terminer un chier contenant les performances des alternatives sur les critères. A cette étape du processus d'aide à la décision, il peut être intéressant de présenter un résumé des données du problème à Thierry an de lui permettre de mieux les appréhender. Le module criteriaDescriptiveStatistics cal- cule des indicateurs statistiques élémentaires à partir des données présentes dans le tableau de performances, alors que plotStarGraphPerformanceTable génère des représentations graphiques des données du problème sous la forme de diagrammes en étoile. Exercice diviz 2. Utilisez criteriaDescriptiveStatistics et plotStarGraphPerformanceTable pour présenter à Thierry un résumé synthétique des données du tableau de performance. Ajoutez ces modules à votre espace de travail, connectez-les correctement aux sorties de Table, csvToXMCDA-performance- et exécutez le workow. Thierry doit maintenant être conscient des intervalles de valeurs des échelles des critres, ainsi que de la distribution des alternatives sur ces échelles. Étape 2 : Normalisation des données On propose maintenant à Thierry de normaliser les données du tableau de performance an de ramener toutes les évaluations dans un intervalle commun (disons [0, 1]). La technique de normalisation choisie est, pour chaque critère, la division de toutes les évaluations par la valeur maximale atteinte sur ce critère. Du coup, la valeur maximale aura la valeur originale de 0 Le module 1 et une évaluation 0 après la normalisation. performanceTableTransformation permet de transformer les restera valeurs d'un tableau de performances (critère par critère) à travers diérentes fonctions de normalisation. Exercice diviz 3. Dans diviz, glissez et déposez le module TableTransformation performance- dans votre espace de travail et connectez-le correc- tement aux données an d'obtenir un tableau de performances normalisé. En double-cliquant sur le module, une fenêtre de paramètres apparait qui 3 vous permet de spécier le type de normalisation que vous désirez appliquer. Choisissez Divide by max dans le menu déroulant. Fermez cette fenêtre et exécutez ensuite votre workow (ctrl + F11). Étape 3 : La technique d'agrégation Maintenant que toutes les évaluations ont été ramenées dans un intervalle commun ([0, 1]), on aimerait utiliser la somme pondérée pour agréger ces évaluations normalisées an d'obtenir un score global pour chaque voiture. Ce score doit permettre à Thierry de classer les voitures de la meilleure à la plus mauvaise. Il considère que les critères et g3 ont un poids de 1, g2 a un poids g4 et g5 ont un poids de 0.5. Ces informations sont stockées dans le weights.csv que vous pouvez télécharger à l'adresse http://public. telecom-bretagne.eu/~pmeyer/courses/TPdiviz/weights.csv (les poids de 2 g1 et chier négatifs dans ce chier correspondent aux critères qui sont à minimiser). csvToXMCDA-criteriaValues permet du format csv vers le format XMCDA. Dans diviz le module mer un chier de poids Exercice diviz 4. Ajoutez le module de transfor- csvToXMCDA-criteriaValues dans weights.csv précédemment télé- votre espace de travail ainsi que le chier chargé. Connectez ces éléments entre eux, exécutez le workow et observez la sortie du module csvToXMCDA-criteriaValues. Dans diviz, le module generalWeightedSum permet de calculer la somme pondérée des évaluations des voitures par rapport aux poids des critères. Exercice diviz 5. Ajoutez le module generalWeightedSum et connectez le correctement au reste du workow de traitement, an qu'il calcule la somme pondérée des évaluations normalisées par rapport aux poids indiqués par Thierry. Exécutez votre workow, et discutez le résultat. Étape 4 : La recommandation Le score obtenu permet de classer toutes les alternatives du problème de Thierry. Le module rankAlternativesValues permet d'obtenir le rang de chaque alternative en fonction de ce score. Exercice diviz 6. Ajoutez le module rankAlternativesValues au workow et déterminez quelle voiture doit être recommandée à Thierry. Étape 5 : Représentation graphique des données Des modules comme plotCriteriaValues et plotAlternativesValues permettent de représenter des données numériques sous forme de diagramme 4 à barres (barchart). Le module plotAlternativesPreorder est capable de créer un graphe représentant le préordre des alternatives par rapport à leurs évaluations globales (obtenues par la somme pondérée). Exercice diviz 7. Utilisez des modules graphiques pour représenter les en- trées et les sorties du problème de décision de Thierry. Ne vous limitez pas forcément aux 3 modules présentés ci-avant. En quoi ces modules peuvent vous aider dans la justication de votre recommandation à Thierry ? Étape 6 : Thierry trouve du travail Thierry vient de trouver un CDI très bien payé. Il estime que cela pourrait changer ses préférences : le critère de coût n'est plus important, et il désire qu'il ne soit plus considéré dans la recommandation de décision. Exercice diviz 8. Créez un scénario alternatif pour la phase d'agrégation (créez une 2e branche du workow dans le même espace de travail). Rajoutez des chiers d'entrée pour tenir compte de la disparition du critère de coût dans l'agrégation. Quelle recommandation faites-vous à Thierry dans ce scénario ? Étape 7 : Des préférences a priori de Thierry Après une discussion avec Thierry, on se rend compte qu'il est capable d'émettre des préférences globales sur un certain nombre de voitures sous la forme d'un classement : P309-16 Sunny Galant Escort R21t. Exercice diviz 9. Créez un chier CSV qui contiendra cette information sous la forme suivante : rang a11 1 a03 2 ... ... (veillez à garder la première case de la première ligne vide). Le module csvToXMCDA-alternativesValues XMCDA. vous transformera ce chier au format 5 Étape 8 : Comparer la sortie de la somme pondérée au classement a priori de Thierry An de vérier si la somme pondérée respecte le classement de Thierry des 5 voitures, on propose de calculer l'indice de corrélation de rangs de Kendall entre le classement obtenu par la somme pondérée et celui de Thierry. A cette n, on doit d'abord obtenir les rangs de ces 5 alternatives dans le classement fourni par la somme pondérée. Ceci peut être fait via le module rankAlternativesValues pour lequel on va désactiver certaines alterna- tives. Exercice diviz 10. Créez une copie du chier csv contenant le tableau de performances sur votre ordinateur. Eecer les données qui ne correspondent pas aux 5 alternatives que Thierry arrive à classer. Réutilisez le module csvToXMCDA-performanceTable an d'obtenir une sortie (alternatives) dé- crivant les identiants des 5 alternatives retenues. Utilisez maintenant cette sortie pour ltrer les rangs des alternatives via le module Values. La sortie de rankAlternativesValues rankAlternatives- sera le classement des 5 alterna- tives spéciées par Thierry par la somme pondérée (veillez à spécier dans le module que la voiture avec la plus haute valeur doit être classée première). Ensuite, le module alternativesValuesKendall est utilisé pour calculer le taux de Kendall entre les 2 classements. Exercice diviz 11. Déterminez le taux de Kendall entre le classement par la somme pondérée et celui indiqué par Thierry. Est-ce que le modèle de somme pondéré représente bien le classement a priori de Thierry ? Étape 9 : Création d'un rapport generateXMCDAReport permet de fusionner plusieurs entrées / sorties en XMCDA an de créer un rapport. Le nombre d'entrées est déterminé Le module par la fenêtre de paramètres du module, qui peut être ouverte en double cliquant sur le module. Exercice diviz 12. Créer un rapport contenant les moments clés du pro- cessus d'aide à la décision qui vient d'être mis en place. Références + [BMP 00] D. Bouyssou, T. Marchant, M. Pirlot, P. Perny, A. Tsoukias, and P. Vincke. Evaluation and decision models, A critical Perspective. Kluwer's International Series. Kluwer, Massachusetts, 2000. 1, 2 6