4 2 12 Tâche 12 : tests, correction et optimisation sur le premier problème 50 Dans ce travail nous allons favoriser les méthodes heuristiques
Previous PDF | Next PDF |
[PDF] 1 LES MÉTA-HEURISTIQUES : quelques conseils pour en - GERAD
un problème d'optimisation particulier à l'aide d'une méta-heuristique Pour décrire les techniques de Recherche Locale et les Méthodes évolutives, nous
[PDF] Les méthodes doptimisation appliquées à la conception de
– Monte Carlo – Algorithme génétique – Essaim particulaire – Descente de gradient – Nelder-Mead method – 14 Méta-heuristique Déterministe avec
[PDF] Optimisation Combinatoire (Méthodes approchées)
Qu'est ce qu'un problème d'optimisation ? 2 Comment concevoir et implémenter des heuristiques pour résoudre des problèmes difficiles ? 3 Quelles méthodes
[PDF] Méthodes approchées pour la résolution dun - Université de Tours
4 2 12 Tâche 12 : tests, correction et optimisation sur le premier problème 50 Dans ce travail nous allons favoriser les méthodes heuristiques
[PDF] Les méthodes de résolution approchées pour le - Cedric-Cnam
2 Les algorithmes approchés : heuristiques Heuristique par Séparation- Evaluation avortée Heuristique par arrondi de la solution Heuristique par méthode
[PDF] méthodes heuristiques et métaheuristique d'optimisation
[PDF] méthode heuristique optimisation
[PDF] système automatisé de production sap
[PDF] les métaheuristiques en optimisation combinatoire
[PDF] système automatisé de production pdf
[PDF] système automatisé de production ppt
[PDF] cours aide soignante module 1 pdf
[PDF] qcm module 1 aide soignante gratuit
[PDF] cours aide soignante module 2
[PDF] module 1 aide soignante résumé
[PDF] les 8 modules aide soignante
[PDF] module 1 aide soignante contenu
[PDF] cours aide soignante gratuit
[PDF] cours aide soignante module 3
École Polytechnique de l"Université de Tours
64, Avenue Jean Portalis
37200 TOURS, FRANCE
Tél. +33 (0)2 47 36 14 14
www.polytech.univ-tours.frDépartement Informatique
5 eannée2013 - 2014
Rapport Final de PFE
Méthodes approchées pour la résolution
d"un problème d"ordonnancement avectravaux interférantsEncadrants
Faiza Sadi
faiza.sadi@univ-tours.frAmeur Soukhal
ameur.soukhal@univ-tours.fr Université François-Rabelais, ToursÉtudiantBaptiste Mille
baptiste.mille@etu.univ-tours.frDI5 2013 - 2014
Version du 5 mai 2014
Table des matières
1 Introduction8
2 Présentation du projet
92.1 Contexte
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.1.1 Ordonnancement monocritère
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.1.2 Ordonnancement multicritère
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.1.3 Ordonnancement avec travaux interférants
. . . . . . . . . . . . . . . . . . . . . . 92.2 Objectifs
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.3 Méthodes de résolution
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.3.1 Méthode exacte
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.3.2 Méthode approchée
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.4 L"approcheε-contrainte. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.5 Les algorithmes génétiques
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.5.1 Description de la méta-heuristique [
3 . . . . . . . . . . . . . . . . . . . . . . . . 122.5.2 Sélection
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.5.3 Croisement
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.5.4 Mutation
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.6 Réalisation des développements
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 Travail réalisé17
3.1 Compréhension du projet
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.2 Rédaction du cahier de spécifications
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.3 Comparateur de fronts de Pareto
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.3.1 Critères de comparaison
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.3.2 Fonctionnement du programme
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 213.4 Générateur d"instances
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.5 Problème 1 :Pm|di|P(CAmax,?UBi). . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
3.5.1 Quelques propriétés
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.5.2 Heuristique
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263.5.3 Algorithme Génétique
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313.5.4 Comparaison entre l"heuristique et l"algorithme génétique
. . . . . . . . . . . . . . 363.6 Problème 2 :Pm|di|P(?UAi,CBmax). . . . . . . . . . . . . . . . . . . . . . . . . . . . .38
3.6.1 Heuristique
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383.6.2 Algorithme Génétique
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403.6.3 Comparaison entre l"heuristique et l"algorithme génétique
. . . . . . . . . . . . . . 423.7 Le programme
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443.7.1 Entrées
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443.7.2 Sorties
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443.7.3 Fonctionnement du programme
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 44IIITABLE DES MATIÈRES
4 Déroulement du projet
454.1 Gestion du projet
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454.1.1 Les séances
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454.1.2 Communication MOA MOE
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454.2 Diagrammes de Gantt
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464.2.1 Tâche 1 : gestion et versionning du projet
. . . . . . . . . . . . . . . . . . . . . . 464.2.2 Tâche 2 : documentation, lecture et compréhension
. . . . . . . . . . . . . . . . . 474.2.3 Tâche 3 : rédaction du cahier des spécifications
. . . . . . . . . . . . . . . . . . . 474.2.4 Tâche 4 : échange du cahier des spécifications entre la MOA et la MOE
. . . . . . 474.2.5 Tâche 5 : Programme de comparaison de fronts de Pareto
. . . . . . . . . . . . . 484.2.6 Tâche 6 : recherche d"une heuristique basée sur l"?-approche. . . . . . . . . . . . 48
4.2.7 Tâche 7 : Préparation soutenance mi-parcours
. . . . . . . . . . . . . . . . . . . . 484.2.8 Tâche 8 : Générateur d"instance
. . . . . . . . . . . . . . . . . . . . . . . . . . . 484.2.9 Tâche 9 : implémentation des heuristiques
. . . . . . . . . . . . . . . . . . . . . . 494.2.10 Tâche 10 : application d"une approche génétique
. . . . . . . . . . . . . . . . . . 494.2.11 Tâche 11 : implémentation des algorithmes génétiques
. . . . . . . . . . . . . . . 494.2.12 Tâche 12 : tests, correction et optimisation sur le premier problème
. . . . . . . . 504.2.13 Tâche 13 : tests, correction et optimisation sur le second problème
. . . . . . . . . 504.2.14 Tâche 14 : rédaction du rapport final
. . . . . . . . . . . . . . . . . . . . . . . . . 504.2.15 Tâche 15 : préparation de la soutenance
. . . . . . . . . . . . . . . . . . . . . . . 505 Conclusion52IV
Table des figures
2.1 Organigramme de l"algorithme génétique
. . . . . . . . . . . . . . . . . . . . . . . . . . . 132.2 Elitisme
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.3 Tournoi Binaire (k=2)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.4 Eclipse
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.1 Comparaison Front1 avec Front2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183.2 Moyenne des distances les plus courtes entre les points du Front1 et ceux du Front2
. . . 183.3 Moyenne des distances les plus courtes entre les points du Front1 et le Front2
. . . . . . . 193.4 Moyenne des distances entre les points d"un front
. . . . . . . . . . . . . . . . . . . . . . 193.5 Dominance
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203.6 Convention de nommage dossiers machines
. . . . . . . . . . . . . . . . . . . . . . . . . 213.7 Convention de nommage dossiers jobs
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.8 Convention de nommage fichiers instances
. . . . . . . . . . . . . . . . . . . . . . . . . . 223.9 Exemple de contenu d"un fichier instance
. . . . . . . . . . . . . . . . . . . . . . . . . . . 233.10 Contenu feuille "Résultat"
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233.11 Contenu feuille "XMachines"
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.12 Détermination de l"intervalle desdj. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
3.13 Illustration propriété 1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263.14 Exemple donnant un front avec plusieurs solutions non dominées
. . . . . . . . . . . . . . 293.15 Affectation des rangs
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313.16 Structure d"un individu
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323.17 Transformation en une liste
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323.18 Croisement
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333.19 Mutation
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343.20 Comparaison du % de solutions exactes trouvées
. . . . . . . . . . . . . . . . . . . . . . . 363.21 Comparaison des "Average Distance Point Function"
. . . . . . . . . . . . . . . . . . . . 363.22 Comparaison de l"écart entre les fronts approchés et le front exact
. . . . . . . . . . . . . 373.23Pm|di|P(?UAi,CBmax)UB & LB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.24 Comparaison du % de solutions exactes trouvées
. . . . . . . . . . . . . . . . . . . . . . . 423.25 Comparaison des "Average Distance Point Function"
. . . . . . . . . . . . . . . . . . . . 423.26 Comparaison de l"écart entre les fronts approchés et le front exact
. . . . . . . . . . . . . 434.1 Exemple de compte rendu hebdomadaire
. . . . . . . . . . . . . . . . . . . . . . . . . . . 454.2 Diagramme de Gantt initial
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464.3 Diagramme de Gantt final
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46VListe des tableaux
3.1 Tableau résultats de l"heuristique pourPm||CAmax,?UBj. . . . . . . . . . . . . . . . . .30
3.2 Tableau résultats de l"AG pourPm||CAmax,?UBj. . . . . . . . . . . . . . . . . . . . . .35
3.3 Tableau résultats de l"heuristique pourPm||?UAj,CBmax. . . . . . . . . . . . . . . . . .40
3.4 Tableau résultats de l"AG pourPm||?UAj,CBmax. . . . . . . . . . . . . . . . . . . . . .41VI
Remerciements
Je souhaite remercier mon encadrante Sadi Faiza pour ses conseils et la disponibilité qu"elle aura eu
tout au long de ce projet. De plus je souhaite aussi remercier Ameur Soukhal pour ses conseils notamment
en début de projet.7Introduction
Ce document présente le travail effectué lors du PFE1réalisé durant la dernière année du cursus
d"école d"ingénieur universitaire polytechnique Tours. L"intitulé de ce PFE est :"Méthodes approchées
pour la résolution d"un problème d"ordonnancement avec travaux interférants".Celui-ci, proposé par l"équipe Ordonnancement et Conduite (OC) au Laboratoire Informatique de l"école,
a été encadré par Faiza Sadi et Ameur Soukhal qui représentaient la MOA. Le projet a été réalisé par
Baptiste Mille, élève ingénieur DI5 Polytech Tours qui représentait la MOE.1. Projet de Fin d"Études
8Présentation du projet
2.1 Contexte
2.1.1 Ordonnancement monocritère
Un problème d"ordonnancement monocritère consiste à organiser des tâches, en respectant des contraintes
temporelles et de ressources dans le but d"optimiser une fonction objectif.Exemple :Pm||Cmax(ntravaux à ordonnancer surmmachines, le critère à minimiser est le maximum
des dates de fin d"exécution des travaux)2.1.2 Ordonnancement multicritère
Un problème d"ordonnancement multicritère diffère d"un monocritère en optimisant plusieurs fonctions
objectifs au lieu d"une seule. La qualité de la solution est donc mesurée par plusieurs critères.
Exemple :P2||Cmax,?Uj(n travaux à ordonnancer sur m machines. Le premier critère à minimiser
est le maximum des dates de fin d"exécution des travaux. Le second est de minimiser la somme des travaux
en retard 1)2.1.3 Ordonnancement avec travaux interférants
Nous nous intéressons dans ce projet à une classe particulière des problèmes d"ordonnancement multicri-
tères. Ces problèmes sont appelés dans la littérature, ordonnancement avec travaux interférants. Dans leur
formulation, plusieurs agents sont considérés, tel que chaque agent possède un sous-ensemble de travaux
et une fonction objectif. Un critère global est aussi considéré (agent global) afin de mesurer la qualité de
l"ordonnancement appliqué sur la totalité des travaux. Celui-ci est fixé suivant la notation à trois champs
des problèmes d"ordonnancement présentée dans " Multicriteria scheduling [ 1 ] ». On note ces problèmes parα|β|γtel que : -αest représentatif de l"environnement machine -βles contraintes-γcritères d"optimalité du problème (γ=f0,...,fk. Avecf0le critère de l"agent 0 etfkle critère
de l"agent k)Si uniquement deux agents sont considérés, alors on notefAl"agent global etfBl"autre agent. Quand
il s"agit d"environnement à machines parallèles, ces problèmes s"avèrent être NP-difficiles [
4].1. Un travail est dit en retard si, sa date de fin de réalisation dépasse sa date de fin souhaitée.
9Chapitre 2. Présentation du projet
2.2 Objectifs
Dans cette étude nous considérerons plusieurs machines identiques et deux agents A,B. L"agent global
Aveut minimiser sonCmax, quant à l"agentB, il cherche à minimiser le nombre de travaux en retard?Uj
(ainsi que le problème inverse : A veut minimiser?Ujet B veut minimiserCmax). AvecUj, une fonction
booléenne qui prend 1 si le travail est en retard, 0 sinon.Selon la formulation à trois champsα|β|γdes problèmes d"ordonnancement, les problèmes sujets de ce
projet se notent :Pm|di|CAmax,?UBiPm|di|?UAi,CBmax
Étant donnée la complexité du problèmePm||Cmaxet dePm||?Uj(problèmes NP-difficiles), la mini-
misation des deux critères à la fois est donc aussi NP-difficile. Une méthode exacte serait coûteuse en temps
machine. Dans ce travail nous allons favoriser les méthodes heuristiques. Ces méthodes ont un meilleur
rapport qualité/temps de calcul que les méthodes exactes, même si elles ne garantissent pas l"optimalité.
Néanmoins elles fournissent rapidement une solution dite "approchée".On est dans un cas multicritère. Nous allons chercher l"ensemble des solutions non dominées ou un
ensemble représentatif de celui-ci : front de Pareto. Ce front sera comparé à celui retourné par une méthode
exacte. Puisque nous nous intéresserons à l"énumération de front de Pareto nos deux problèmes peuvent
s"écrire de cette manière :Pm|di|P(CAmax,?UBi)
Pm|di|P(?UAi,CBmax)
2.3 Méthodes de résolution
2.3.1 Méthode exacte
Une méthode exacte permet de trouver une solution optimale à un problème donné. Toutefois, ces
méthodes peuvent devenir rapidement couteuses en temps d"exécution, notamment pour les problèmes
NP-difficiles. En effet, le temps de traitement et la complexité du problème sont généralement liés (plus
c"est complexe, plus le temps d"exécution sera important). Ci-dessous, quelques méthodes exactes parmi
les plus connues :Pro cédurepa rS éparationet Évaluation
Programmation dyn amique
Programmation pa rcontraintes
Programmation liné aire
2.3.2 Méthode approchée
Les méthodes approchées (i.e. Heuristiques) permettent de trouver de manière rapide une solution réa-
lisable à un problème donné. Cependant cette solution n"est pas forcément la solution optimale.
L"objectif d"une heuristique est donc de trouver une solution la plus proche possible de celle d"uneméthode exacte tout en étant plus rapide. La qualité d"une méthode approchée va donc se calculer par
rapport à l"écart obtenu entre sa solution et l"optimale. Plus ce résultat est proche de la solution optimale,
meilleure est l"heuristique. Il existe plusieurs classes d"heuristiques. Celles-ci sont définies par leur fonctionnement.10 L"approcheε-contrainteDéterministes VS StochastiquesOn dit d"une heuristique qu"elle est déterministe si elle ne fait pas appel au hasard. Pour chaque exé-
cution sur un même jeu de données, on obtiendra le même résultat.On dit d"une heuristique qu"elle est stochastique si elle fait appel au hasard. Pour chaque exécution sur
un même jeu de données, on n"obtiendra pas forcément le même résultat.Construction VS Amélioration
On dit d"une heuristique qu"elle est de construction si son exécution part de l"instance du problème
pour construire une solution réalisable.On dit d"une heuristique qu"elle est d"amélioration si son exécution part d"une solution réalisable et
l"améliore par exploration du voisinage.Solution VS Population
On dit d"une heuristique qu"elle est à la base de population si elle part/construit plusieurs solutions.
Quelques heuristiquesHeuristiquesDéterministesStochastiquesConstructionAméliorationSolutionPopulation
Algorithme de listeXXX
Colonies de fourmisXXX
Recherche localeXXX
Algorithme GénétiqueXXX
TabouXXX
Recuit SimuléXXX
2.4 L"approcheε-contrainte
Dans un premier temps, nous considérerons l"approcheε-contrainte. Par cette approche, nous cherche-
rons une solution non-dominée dite solution optimale de Pareto. Il s"agit de chercher une solution minimisant
le critère de l"agent A tout en bornant supérieurement la valeur de la fonction objectif de l"agent B. Les
problèmes se notent donc :Ces problèmes d"ordonnancement retournent une solution optimale de Pareto. Afin d"obtenir un front
de Pareto il faudra faire varier la valeur Q en suivant l"algorithme ci-dessous :11Chapitre 2. Présentation du projet
Algorithm 1Approcheε-contrainte avecfA=CmaxetfB=?Uj1:Q = UB2:whileQ≥LBdo
3:Résoudre le problème
4:ifPas de solutionthen
5:break;
6:else
7:noter(α,β) = (?UBj,CAmax) la solution retournée.
8:end if
9:PoserQ=Q-1
10:S=S?(α,β)
11:end while
12:Retourner "S"2.5 Les algorithmes génétiques
Dans un second temps, nous considérerons la résolution de notre problème par l"application d"un algo-
rithme génétique.2.5.1 Description de la méta-heuristique [
3Les algorithmes génétiques (AG) sont des algorithmes stochastiques qui se basent sur une simulation du
processus de sélection naturelle : les individus les plus forts d"une espèce ont plus de chance de survivre que
les plus faibles. Ainsi, afin de reproduire ce phénomène, ces algorithmes utilisent un ensemble de solutions
candidates appelées " population d"individus ». Un individu est une solution du problème à résoudre. Pour
pouvoir évaluer un individu, on lui attribue une fonction d"adaptation (fitness) qui va permettre de calculer
sa qualité.Dans notre population d"individus, on va sélectionner ceux qui nous paraissent les plus intéressants.
Ensuite, ils vont créer des enfants qui pourront subir des mutations et croisements afin de donner une
nouvelle population d"individus. On continue, ainsi de suite, jusqu"à atteindre un certain nombre de géné-
rations, un individu avec un fitness en dessous d"une valeur mise en paramètre ou un autre critère d"arrêt.
Le but espéré est de trouver à chaque nouvelle génération, un individu meilleur pour obtenir finalement un
individu proche de la perfection souhaitée.12Les algorithmes génétiques
Figure2.1 - Organigramme de l"algorithme génétique13Chapitre 2. Présentation du projet
2.5.2 Sélection
Tout d"abord, on part d"une population avec un certain nombre d"individus. Cette population est lapremière génération de notre algorithme. Dans celle-ci, on va choisir un certain nombre d"individus afin
qu"ils deviennent les parents de notre future génération. Il existe plusieurs types de sélection.
L"élitisme
Cette sélection est "la plus simple". Elle va sélectionner les n premiers individus possédant le meilleur
résultat de la fonction d"adaptation (fitness) dans la population.Figure2.2 - Elitisme RoueIci chaque individu à une chance d"être sélectionné pour devenir l"un des futurs parents. Toutefois, un
individu possédant une meilleure fonction d"adaptation (fitness) aura plus de chance d"être sélectionné. La
probabilité qu"un individu puisse être sélectionné est la suivante :P(individu) =Fitness(invidivu)individuMax
individu=1Fitness(individu)14Les algorithmes génétiques
Tournoi
La méthode ici consiste à sélectionner des sous-groupes de k individus aléatoirement dans la population.
Puis de choisir le meilleur de chaque sous-groupe pour former les parents.Figure2.3 - Tournoi Binaire (k=2)
2.5.3 Croisement
À partir d"un père et d"une mère, on va créer un enfant qui va subir un croisement de ses deux parents.
Le croisement consiste à sélectionner pour chacun des caractères de l"enfant, celui du père ou celui de la
mère. Prenons un petit exemple de croisement humain :CaractèrePèreMèreEnfantCouleur des yeuxMarronBleuMarron
Forme des yeuxAmandeRondAmande
Couleur des cheveuxBrunBlondBlond
Type de cheveuxLisseFriséFrisé
SexeMasculinFémininMasculin
On peut aussi tout à fait imaginer créer un nouvel enfant aléatoirement, et que chacun de ses gènes
possède une probabilité de prendre soit celui du père, celui de la mère ou de garder le nouveau gène.
2.5.4 Mutation
La mutation concerne l"évolution des caractères de l"enfant. Elle permet de ne pas bloquer sur un
optimum local. C"est une modification faible et avec une petite probabilité d"apparition. Si nous reprenons
le tableau des croisements, on peut muter les caractères de l"enfant :CaractèrePèreMèreEnfant avec mutation
Couleur des yeuxMarronBleuMarron-Vert
Forme des yeuxAmandeRondAmande
Couleur des cheveuxBrunBlondBlond
Type de cheveuxLisseFriséFrisé
SexeMasculinFémininMasculin
On a eu ici une mutation sur la couleur des yeux de l"enfant. Si on travaillait sur un codage binaire,
cette mutation pourrait être le passage d"un bit à 1 au lieu de 0 par exemple.15Chapitre 2. Présentation du projet
2.6 Réalisation des développements
Durant ce projet, l"ensemble des développements est réalisé en java 7. Au final, trois programmes auront