Réalisé pour Sciences en fête 2002 par Nicolas Schabanel, Chargé de Recherche CNRS – Laboratoire de l’Informatique du Parallélisme – École Normale Supérieure de Lyon
Empaquetage automatique
Un casse-tête informatique
Le problème du Père Noël
Le Père Noël lit les commandes des enfants une à une.
Le Père Noël place les cadeaux dans ses hottes au fur et à mesure.
Toutes les hottes ont la même taille. Les cadeaux ont des tailles différentes.
Lorsqu’il a placé un cadeau dans une hotte, il ne le déplacera pas car le temps est compté !
Le Père Noël veut utiliser le plus petit nombre de hottes pour minimiser ses trajets en traîneau.
Automatiser l’empaquetage
Afin de simplifier sa tâche, le Père Noël souhaite définir une stratégie pour
placer les cadeaux dans les hottes.
Une stratégie s’appelle un algorithme.
Exemples d’algorithmes d’empaquetage
NextFit
Ne garder qu’une seule hotte ouverte.
Dès que le cadeau courant ne rentre pas dans la hotte courante,
la fermer et en ouvrir une nouvelle.
FirstFit
Garder toutes les hottes ouvertes.
Mettre le cadeau dans la première hotte qui convient.
Si aucune hotte ne convient, en ouvrir une nouvelle.
BestFit
Garder toutes les hottes ouvertes.
Mettre le cadeau dans la hotte la plus pleine qui convient.
Si aucune hotte ne convient, en ouvrir une nouvelle.
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
Père Noël victime d’un bug dans son algorithme
d’empaquetage: sa hotte est trop remplie !
23
1
56
4
8
7
Exemples d’exécution des algorithmes
La liste des cadeaux lue
par le Père Noël dans cet ordre
FirstFit
BestFit
NextFit
Réalisé pour Sciences en fête 2002 par Nicolas Schabanel, Chargé de Recherche CNRS – Laboratoire de l’Informatique du Parallélisme – École Normale Supérieure de Lyon
liste des cadeaux 8
4
3
2
1567
Avec le
cadeau n°4
Sans le
cadeau n°4
Un exemple avec FirstFit
123
4
5
67
8
123
567
8
On essaye donc de démontrer que nos algorithmes utilisent un nombre
de hottes proche du nombre minimal.
Le calcul d’emplois du temps
Le calcul d’emplois du temps est l’un des problèmes
les plus difficiles.
Ici, il s’agit d’attribuer des tâches de différentes durées
à des gens pour la journée.
On cherche à optimiser le nombre d’employés.
8:00
10:00
12:00
14:00
16:00
18:00
8:00
10:00
12:00
14:00
16:00
18:00
8:00
10:00
12:00
14:00
16:00
18:00
8:00
10:00
12:00
14:00
16:00
18:00
Optimisation de la découpe de tuyaux
Une usine de tuyaux reçoit les commandes de ses clients
qui demandent des tuyaux de longueurs variées.
Elle cherche à minimiser les pertes de tuyaux.
Exemple de pire
performance de NextFit 1
2
3
4
5
6
7
8...
... on ouvre une hotte de plus avec un
cadeau de moins !
Remerciements à Claire Kenyon.
Évaluation des performances des algorithmes
Les problèmes d’empaquetage ont de nombreuses applications
Parfois, ôter un cadeau... augmente le nombre de hottes utilisées !?!
L’empaquetage est un problème difficile
Il est impossible de trouver le nombre minimal de hottes sans tout essayer, ce qui prendrait
un temps bien trop long pour notre Père Noël.
Théorème. NextFit utilise au plus 2 fois plus de hottes que l’optimal.
Sauriez-vous expliquer pourquoi ?
Théorème. BestFit et NextFit sont meilleurs et utilisent au plus 1,7 fois plus de hottes que l’optimal.
La science est toujours active : l’empaquetage a connu une mini-révolution en 2000
car un nouvel algorithme très simple aux performances quasi-optimales a été découvert.
Plein de problèmes sont encore ouverts, la recherche a besoin de vous !
Faîtes de la science !
Théorème. Il n’existe pas d’algorithme qui utilise toujours moins de 1,54 fois plus de hottes que l’optimal.
1 / 2 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !