t IAD Personal page of Pierre Fouilhoux
Pierre FOUILHOUX
Photo de moi
Documents d'Enseignement


A 4 hour tutorial directed to Bachelors and Master students

"Solving combinatorial optimization problems using mathematical programming"

See webpage COMP


Cours niveau Master 2 (donné jusqu'en 2020 à Sorbonne Université)

"Recherche Opérationnelle et Optimisation Combinatoire"

Voir page ROOC


Module MAOA - Master 2 Sorbonne Université

Voir site du module 2020-2021 MAOA


COURS 5ème année (INFO3) de l'école SUP GALILEE

"Recherche Opérationnelle et Applications"(ROA)

Voir site du module ROA


COURS (4h) à l'université de METZ

"Introduction à la programmation mathématique en optimisation combinatoire"

Voir site du module Cours_Metz


COURS 4ème année (INFO2) de l'école SUP GALILEE

"Optimisation Linéaire"(OL)

Voir site du module OL



Module RP - Master 1

Projet 2019
A propos du Google Hash Code "Photo SlideShow"

- Le sujet du projet du module RP: projetRP_1819.pdf
- Liens sur le site de la compétition avec sujet en anglais et instance Google Hash Code
- Un code C++ permettant de lire une instance et d'évaluer une solution Checker_RP.tgz

Projet 2017
A propos du Google Hash Code "Optimize a data Center"

- Le sujet du projet du module RP: projetRP_1617.pdf
- Liens sur le site de la compétition avec sujet en anglais et instance Google Hash Code
Ici vous pouvez trouver une version en français


Projet 2014
- Sujet sur projet Uncapacited Facility Location Problem (Mise à jour le 9/04/15) projet1415_enonce.pdf

- Instances du projet:
Données géographiques et population des communes de françaises villes_france.csvs
3 départements Instances sur 3 départements
Instances France villes de plus de 100000 habitants / 50000 habitants / 10000 habitants / 5000 habitants / 1000 habitants / 1000 habitants/ Instance France


Module Algorithmique - Licence 3 - Projet

Module 2018-2019 Projet "Confitures"
Module 2017-2018 Projet "Tomographie discrète"
Module 2016-2017 Projet "Analyse de séquences en bioinformatique"
Module 2015-2016 Projet "Transport de conteneurs"
Module 2014-2015 Projet "Arbre Steiner et conception de circuits électroniques"
Module 2012-2013 Projet "Recherche d'arêtes vitales"
Module 2010-2011 Projet "Composantes fortement connexes d’un graphe orienté"
Module 2008-2009 Projet "Algorithmes de sélection de demandes"
Module 2007-2008 Projet "Algorithmes de calcul de distances"
(Projets réalisés en collaboration avec l'équipe d'animation du module)


Module Algorithmique appliquée et Structures de Données- Licence 2

Module 2018-2019 Cours-TD-Projet "Via Minimization"
Module 2017-2018 Cours-TD-Projet "Le jeu du robot trieur"
Module 2016-2017 Cours-TD-Projet "Réorganisation d'un réseau de fibre optique"
Module 2015-2016 Cours-TD-Projet "Jeu Flood-It"
Module 2013-2014 Cours-TD-Projet
Module 2012-2013 Cours-TD-Projet
Module 2011-2012 Cours-TD-Projet
Module 2010-2011 Cours-TD-Projet
(Cours et TDs réalisés en collaboration avec le co-responsable de cours)


Programmation mathématique (divers)

Algorithme de Branch-and-cut avec SCIP au travers du problème du sous-graphe acyclique induit de cardinalité minimale: Code C++ et SCIP Acyclic_Simple.tgz
et commentaires de ce code: Branch_and_Cut.pdf

Le logiciel Glpk
- Documentation glpk_glpsol.pdf

- Exemple simple de manipulation d'un PL/PLNE sous Glpk:
Affectation d'équipage d'avions TPaerien.pdf
Avec les fichiers solutions:
- en Java: Horaire_aerien.java
- en C: entree_sortie.c et horaire-aerien.c
- en C++: horaire-aerien.cpp


Graphe

- Dessiner des graphes avec le format postscript: : doc_postscript.pdf

- Une jolie façon de dessiner des graphes: l'outil graphviz: doc_graphviz.pdf (attention graphviz ne permet pas de dessiner de trop grand graphe)
- Une autre jolie façon de dessiner des graphes: avec Xfig: doc_xfig.pdf
avec l'exemple ExXfig.cpp

- Comment manipuler des graphes en langage C: voir cours numéro 8 du module 2I006

- Comment manipuler des graphes en en C++ (avec lecture des instances de la TSPLIB): classeGraphe.zip
avec quelques commentaires à peu près adaptés classeGraphe-commentaire.pdf



Structures de données en C

Comment manipuler des structures de données en langage C: voir les cours/TD/Projet du module 2I006



Programmation C et C++

Mesure de temps d'un programme en C: doc_CPUtime.pdf
Dessiner facilement des courbes avec gnuplot : DocGnuplot.pdf

Un aide mémoire UNIX: Unix.pdf
Un aide mémoire du C: C.pdf
Un aide mémoire du passage du C au C++: C2C++.pdf
Un aide mémoire pour le C++ sans objet: C++sansobjet.pdf

Exercice de programmation en C/C++: le jeu de la vie: correction: jeudelavie.cpp