Ex – IUT Projet MATLAB Compte rendu de la soutenance intermédiaire du 19/11/02 FIIFO3 Présents M. Calisti et M. Astier, tous les étudiants ex-DUT-BTS. Absents Aucun absent. Objet L’objectif était de faire un tour de table pour expliciter les différentes tâches de chacun afin de déceler les points pouvant poser problème et les éventuels désaccords au niveau du cahier des charges. I. Présentation générale La dernière version du schéma d’enchaînement des différentes tâches sera bientôt à disposition. II. Structures de données principales En ce qui concerne les algorithmes primal et dual, il faut conserver les indices des bases pour éviter un éventuel bouclage infini. Remarque : la dégénérescence n’est pas prévisible. III. Description des différentes parties a. Saisie Modification à propos de la solution de base évidente : on n’entre plus les indices des vecteurs mais le vecteur X = (x1, …, xn ) solution du PL. On vérifie qu’il est solution. Si oui, on effectue un traitement particulier, sinon, échec (traité par Manuel et Damien). Aucune limite pour l’affichage (n et m illimités). Prévoir (mais ce n’est pas prioritaire) le chargement et la sauvegarde des PL dans des fichiers. Ajouter la possibilité de choix de l’algorithme à dérouler : indifférent | primal | dualprimal. b. Choix de l’algorithme, ou résolution S’il s’agit d’un problème de max, on travaille sur le tableau primal, sinon on utilise le tableau dual. Cas où l’utilisateur n’a pas précisé de souhait quant à l’algorithme à dérouler : si le tableau utilisé est primal admissible, on applique l’algorithme primal, sinon (dans tous les autres cas), on applique l’algorithme dual-primal (phase I duale et phase II primale). Attention : il faut néanmoins favoriser la représentation graphique 2D. 18/11/2002 Page 1 sur 3 Ex – IUT Projet MATLAB Compte rendu de la soutenance intermédiaire du 19/11/02 FIIFO3 Après un premier affichage du résultat final, on doit pouvoir revenir au choix des options pour que l’utilisateur puisse, par exemple, modifier le choix de l’algorithme à dérouler pour le PL. c. Solution Il faut avertir l’utilisateur si la solution qu’il a saisi n’est pas bonne et le simplexe sera lancé. Autrement (si la solution saisie est bonne), ce traitement renvoie un tableau primal admissible. Conseil : utiliser les fonctions prédéfinies de Matlab (déterminant…). d. Algorithmes primal et dual-primal Prévoir des fonctions qui prennent en paramètre une base donnée. Stocker toutes les bases (ou plutôt leurs indices) à chaque étape pour déceler le bouclage. Algorithme dual : si le tableau n’est ni primal admissible, ni dual admissible, il faut ajouter une fonction objectif auxiliaire (puis la supprimer). Cela doit être géré par l’algorithme lui-même. S’il est dual admissible, on applique simplement l’algorithme. e. Affichage du résultat Proposition : rajouter une barre d’état pour la communication avec l’utilisateur. Il faudrait indiquer à l’utilisateur le passage de la phase duale à la phase primale (à prévoir par la partie choix de l’algorithme). Dans le cas où il n’y a pas de solution admissible, avertir l’utilisateur et faire néanmoins une représentation graphique (2D uniquement). Ajouter un bouton pour quitter. La représentation graphique est une représentation dynamique, fonction des PL. f. Troncature Le traitement de la troncature constitue une tâche suffisamment complète, et le traitement des autres cas proposés peut être annexe. g. Ajout de contraintes Cela se fera grâce à l’onglet Edition de l’interface d’affichage du résultat. Après chaque changement d’un b i, il faut recalculer la solution (traitement particulier). 18/11/2002 Page 2 sur 3 Ex – IUT Projet MATLAB Compte rendu de la soutenance intermédiaire du 19/11/02 FIIFO3 Conclusion Le calendrier est le suivant : tout doit être fini dans les plus courts délais ! 18/11/2002 Page 3 sur 3