Lucy - Librairie d'Algorithme Génétique

29
Lucy Librairie d'Algorithme Génétique Quentin Frery Eric Allard ISEN CIR3 Projet Java 2013 1

description

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

Transcript of Lucy - Librairie d'Algorithme Génétique

Page 1: Lucy - Librairie d'Algorithme Génétique

Lucy

Librairie d'Algorithme Génétique

Quentin FreryEric Allard

ISENCIR3

Projet Java 2013

1

Page 2: Lucy - Librairie d'Algorithme Génétique

Lucy : 3.2 millions AJC Mélanie : 1983

160 000Générations

Introduction

2

Page 3: Lucy - Librairie d'Algorithme Génétique

L'évolution des espèces

Introduction

Charles Darwin

3

Page 4: Lucy - Librairie d'Algorithme Génétique

Les algorithmes génétiques

Introduction

Résoudre des problèmes d'optimisation

4

Page 5: Lucy - Librairie d'Algorithme Génétique

Lucy est :Une librairie d'algorithme génétique

Introduction

- En java

- S'adapte à tout problème d'optimisation

- Interface graphique

5

Page 6: Lucy - Librairie d'Algorithme Génétique

Contraintes techniques

Introduction

6

Page 7: Lucy - Librairie d'Algorithme Génétique

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émonstration7

Page 8: Lucy - Librairie d'Algorithme Génétique

Conception

8

Page 9: Lucy - Librairie d'Algorithme Génétique

Structure générale

Conception

9

Page 10: Lucy - Librairie d'Algorithme Génétique

Modèle

Conception

10

Page 11: Lucy - Librairie d'Algorithme Génétique

Contrôleur

Conception

11

Page 12: Lucy - Librairie d'Algorithme Génétique

Vue

Conception

12

Page 13: Lucy - Librairie d'Algorithme Génétique

Conception

Vue

13

Page 14: Lucy - Librairie d'Algorithme Génétique

Opérateurs de sélection et critères d'arrêt

14

Page 15: Lucy - Librairie d'Algorithme Génétique

Operateur de sélection

1 2 3 4 6 7

Roue de la fortune Tournoi Rang

15

Page 16: Lucy - Librairie d'Algorithme Génétique

Critère d'arrêt

Evolution Génération Temps

16

Page 17: Lucy - Librairie d'Algorithme Génétique

Resoudre un problème avec Lucy

17

Page 18: Lucy - Librairie d'Algorithme Génétique

TSP

18

Page 19: Lucy - Librairie d'Algorithme Génétique

TSP

19

Page 20: Lucy - Librairie d'Algorithme Génétique

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);}

@Overridepublic Entity createEntity() {

}

@Overridepublic View createView(String name) {

}

} 20

Page 21: Lucy - Librairie d'Algorithme Génétique

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

Page 22: Lucy - Librairie d'Algorithme Génétique

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

Page 23: Lucy - Librairie d'Algorithme Génétique

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

Page 24: Lucy - Librairie d'Algorithme Génétique

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

Page 25: Lucy - Librairie d'Algorithme Génétique

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

Page 26: Lucy - Librairie d'Algorithme Génétique

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

Page 27: Lucy - Librairie d'Algorithme Génétique

TSP - Mutation

Avant mutation :

Après mutation : 1 2 5 4 3 6 7 8

1 2 3 4 5 6 7 8

27

Page 28: Lucy - Librairie d'Algorithme Génétique

Démonstration

28

Page 29: Lucy - Librairie d'Algorithme Génétique

Conclusion

Lucy a été :

-Un projet intéressant et stimulant-3000 lignes de code-Une occasion d'apprendre de nouveaux outils et libraries

29