Lucy - Librairie d'Algorithme Génétique

1 531 vues

Publié le

Réalisation d'une librairie java permettant de résoudre n'importe quel problème d'optimisation grâce à des algorithmes génétiques. Elle comporte entre autre une interface graphique générique pouvant afficher l’évolution des solutions au problème donné.

Technologies utilisées : Java, Genetics Algorithms, Redmine, Maven Swing

Publié dans : Technologie
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
1 531
Sur SlideShare
0
Issues des intégrations
0
Intégrations
30
Actions
Partages
0
Téléchargements
39
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Lucy - Librairie d'Algorithme Génétique

  1. 1. Lucy Librairie d'Algorithme Génétique Quentin Frery Eric Allard ISEN CIR3 Projet Java 2013 1
  2. 2. Lucy : 3.2 millions AJC Mélanie : 1983 160 000 Générations Introduction 2
  3. 3. L'évolution des espèces Introduction Charles Darwin 3
  4. 4. Les algorithmes génétiques Introduction Résoudre des problèmes d'optimisation 4
  5. 5. Lucy est : Une librairie d'algorithme génétique Introduction - En java - S'adapte à tout problème d'optimisation - Interface graphique 5
  6. 6. Contraintes techniques Introduction 6
  7. 7. Plan 1. Conception ○ Modèle ○ Contrôleur ○ Vue 2. Opérateurs de sélection et critères d'arrêt 3. Résoudre un problème avec Lucy 4. Démonstration 7
  8. 8. Conception 8
  9. 9. Structure générale Conception 9
  10. 10. Modèle Conception 10
  11. 11. Contrôleur Conception 11
  12. 12. Vue Conception 12
  13. 13. Conception Vue 13
  14. 14. Opérateurs de sélection et critères d'arrêt 14
  15. 15. Operateur de sélection 1 2 3 4 6 7 Roue de la fortune Tournoi Rang 15
  16. 16. Critère d'arrêt Evolution Génération Temps 16
  17. 17. Resoudre un problème avec Lucy 17
  18. 18. TSP 18
  19. 19. TSP 19
  20. 20. TSP public class TSP extends GeneticProblem { List<TSPCity> cities; public TSP(int citiesSize){ super(FitnessFunctionFactory.createFitnessFunction("Inverse")); this.addCrossoverOperator(new TSPCrossover()); this.addMutationOperator(new TSPMutation()); this.cities = new LinkedList<TSPCity>(); this.initCities(citiesSize); } @Override public Entity createEntity() { } @Override public View createView(String name) { } } 20
  21. 21. Documentation : International Conference on Computer Systems and Technologies - CompSysTech’ 2005 TSP - Croisement Parent 1 : Parent 2 : Enfant 1 : 1 2 3 4 5 6 7 8 8 5 2 1 3 6 4 7 1 21
  22. 22. Documentation : International Conference on Computer Systems and Technologies - CompSysTech’ 2005 TSP - Croisement Parent 1 : Parent 2 : Enfant 1 : 1 2 3 4 5 6 7 8 8 5 2 1 3 6 4 7 1 8 22
  23. 23. Documentation : International Conference on Computer Systems and Technologies - CompSysTech’ 2005 TSP - Croisement Parent 1 : Parent 2 : Enfant 1 : 1 2 3 4 5 6 7 8 8 5 2 1 3 6 4 7 1 7 8 23
  24. 24. Documentation : International Conference on Computer Systems and Technologies - CompSysTech’ 2005 TSP - Croisement Parent 1 : Parent 2 : Enfant 1 : 1 2 3 4 5 6 7 8 8 5 2 1 3 6 4 7 1 4 7 8 24
  25. 25. Documentation : International Conference on Computer Systems and Technologies - CompSysTech’ 2005 TSP - Croisement Parent 1 : Parent 2 : Enfant 1 : 1 2 3 4 5 6 7 8 8 5 2 1 3 6 4 7 1 5 2 4 3 6 7 8 25
  26. 26. Documentation : International Conference on Computer Systems and Technologies - CompSysTech’ 2005 TSP - Croisement Parent 2 : Parent 1 : Enfant 1 : Enfant 2 : 8 5 2 1 3 6 4 7 1 2 3 4 5 6 7 8 1 5 2 4 3 6 7 8 8 2 3 1 5 6 4 7 26
  27. 27. TSP - Mutation Avant mutation : Après mutation : 1 2 5 4 3 6 7 8 1 2 3 4 5 6 7 8 27
  28. 28. Démonstration 28
  29. 29. Conclusion Lucy a été : -Un projet intéressant et stimulant -3000 lignes de code -Une occasion d'apprendre de nouveaux outils et libraries 29

×