TP 1 - Cedric
Transcription
TP 1 - Cedric
TP1 GLPK Informations techniques PC Suze : — Pour démarrer une console : clic sur K en haut à droit → Application pédagogiques → Terminal → Konsole. • Si le ménu K n’existe pas : clic droit sur le bureau → Ajouter un panneau → Tableau de bord par défaut — Pour démarrer un navigateur/explorer de fichiers : clic sur K → Utilitaires → Dolphin. — Pour lancer une commande : clic droit sur le bureau → Exécuter une commande (ou Alt + Space) — Pour démarrer une machine Windows : K → Machines Virtualbox → Info_Windows_XP ; — Pour modifier un fichier, clic droit sur le fichier → Ouvrir avec KWrite (ou autre éditeur de votre choix). 1 Introduction et Exemples Soit le code ci-après. var x1>=0; var x2>=0; maximize obj:3*x1+x2; subject to c1: 8*x1+4*x2<=22; subject to c2: 6*x1+4*x2<=32; solve; display x1,x2; end; Pour commencer, écrire le code plus haut dans un fichier testStart.mod ; pour optimiser un fichier testStart.mod : — lancer une console — se placer dans le dossier du fichier testStart.mod via la commande cd — lancer la commande glpsol -m testStart.mod. Exercice 1 Modifier le fichier plus haut pour ajouter une 3ème variable x3 binaire et optimiser le modèle. Exercice 2 Remplacer l’objectif 3 ∗ x1 + x2 avec un objectif a ∗ x1 + b ∗ x2 où x1 et x2 sont des paramètres. Exercice 3 — télécharger l’archive du logiciel à partir de http://cedric.cnam.fr/ porumbed/rcp104/winglpk-4.55.zip et chercher le dossier d’exemples — Résolvez le sudoku fourni dans le fichier sudoku.mod ! — Quelle option glpsol peut-on utiliser pour faire glpsol charger les données à partir du fichier sudoku.dat ? Exercice 4 Télécharger le fichier suivant http: //cedric.cnam.fr/~porumbed/rcp104/damesAvecAttaqueSurMax3Cases.mod. Ce modèle permet de résoudre un problème modifié de n dames : les dames peuvent uniquement attaquer sur une distance de 1, 2 ou 3 cases. La configuration ci-dessous est faisable : 1 Q . . . . Q . . Q . . . . . . . Q . . Q . . . . . . . Q . . Q . . . . Q On observe qu’on peut placer plus de n dames sur une table n × n. — résoudre ce problème avec glpsol — modifier le fichier pour résoudre le même problème sur une table n × n avec n = 7. Exercice 5 Modifier le fichier de l’exercice précédent pour diminuer la distance d’attaque d’une unité. On obtient ce qu’on pourrait appeler “le problème des n rois”. Un roi peut attaquer uniquement les cases voisines. Ainsi, la configuration ci-dessous devrait être acceptable : 10101 00000 10001 00100 10001 2 Modélisations de nouveaux problèmes Exercice 6 Écrire un modèle pour résoudre le problème du sac-à-dos. Exercice 7 Écrire un modèle qui permettrait de résoudre le problème suivant. On considère un graphe G(V, E) où V représente des villes et E des liaisons routières. On doit trouver la localisation de k magasins, c.t.d, choisir k villes pour placer des magasins. On considère que chaque magasin permet d’approvisionner toutes les villes adjacentes. L’objectif est de maximiser le nombre de villes qui peuvent être approvisionnées par ces k magasins. Indication : télécharger les diapos et inspirez vous des diapos sur le problème de localisation de caméras. 2