Accueil > > > ALGORITHME GÉNÉTIQUE MULTIRHREADÉ
ALGORITHME GÉNÉTIQUE MULTIRHREADÉ
Information sur la source
Description
Cet algorithme à pour but final de gérer la construction d'emploi du temps. Pour le moment, il se contente de l'essence de l'algorithme génétique : faire survivre des individus (chromosomes), les croiser , et les muter. Une implémentation du système d'individus est fait avec des phrases. (voir la fonction main) Vous trouverez les sources dans le .zip (qui est en fait un jar, e.g la commande java -jar geneticAlgo.zip fonctionne) Il ne dispose pas d'interface graphique, lancez le en console (ou libre à vous d'en implémenter une , c'est facile, implementez l'interface GeneticAlgorithmObserver)
Source
-
-
- public static void main(String[] args){
-
- List<Chromosom> alist = new ArrayList<Chromosom>();
-
-
- alist.add(new WordGA("la boussole du capitaine hadoc"));
- alist.add(new WordGA("le grand chapeau du duc"));
- alist.add(new WordGA("les oiseaux chantent"));
- alist.add(new WordGA("il faut beau à paris"));
- alist.add(new WordGA("ledit camouflage ne te masqueras point"));
- alist.add(new WordGA("georges est caché derrière la cabane au fond du jardin"));
- alist.add(new WordGA("c'est moi le loup"));
- alist.add(new WordGA("et moi je vais te toucher"));
- alist.add(new WordGA("le dernier la bas est un glouton"));
-
-
- /*
- // le petit chaperon rouge
- */
-
- GeneticAlgorithm ga = new GeneticAlgorithm(alist,0.8,100, 0.1,161500);
-
- ga.addGeneticAlgorithmObserver(new FirstChromosomDisplayer());
-
- System.out.println("Starting ...");
-
- double smsec=System.currentTimeMillis();
-
- ga.startComputation();
- ga.waitEnd();
-
- double emsec=System.currentTimeMillis();
-
- System.out.println("Ending in " + ((emsec-smsec)/1000) + "sec");
- System.out.println("Result: "+ga.getChromosoms().getChromosomAt(0));
-
- System.exit(0);
-
- }
-
-
-
- /* Voici la fonction rateAll qui ordonne le calcul des indice de "survabilité" des chromosomes
- Le reste est dans le .zip
- */
-
- public void rateAll(){
- Stack<ProcessableRessource> stack=new Stack<ProcessableRessource>();
- for(int i = 0;i<curPop;i++){
- if(infos[i]==null){
- stack.push(chromosoms[i]);
- }
- }
-
-
- BatchTask bt = new BatchTask(stack,new GeneticAlgorithmSurvivorsRatingProcessor(this),null);
-
- BatchManager.getInstance().addObserver(this);
- BatchManager.getInstance().processRessources(bt);
-
- waitUnfinishedJobs();
-
- }
public static void main(String[] args){
List<Chromosom> alist = new ArrayList<Chromosom>();
alist.add(new WordGA("la boussole du capitaine hadoc"));
alist.add(new WordGA("le grand chapeau du duc"));
alist.add(new WordGA("les oiseaux chantent"));
alist.add(new WordGA("il faut beau à paris"));
alist.add(new WordGA("ledit camouflage ne te masqueras point"));
alist.add(new WordGA("georges est caché derrière la cabane au fond du jardin"));
alist.add(new WordGA("c'est moi le loup"));
alist.add(new WordGA("et moi je vais te toucher"));
alist.add(new WordGA("le dernier la bas est un glouton"));
/*
// le petit chaperon rouge
*/
GeneticAlgorithm ga = new GeneticAlgorithm(alist,0.8,100, 0.1,161500);
ga.addGeneticAlgorithmObserver(new FirstChromosomDisplayer());
System.out.println("Starting ...");
double smsec=System.currentTimeMillis();
ga.startComputation();
ga.waitEnd();
double emsec=System.currentTimeMillis();
System.out.println("Ending in " + ((emsec-smsec)/1000) + "sec");
System.out.println("Result: "+ga.getChromosoms().getChromosomAt(0));
System.exit(0);
}
/* Voici la fonction rateAll qui ordonne le calcul des indice de "survabilité" des chromosomes
Le reste est dans le .zip
*/
public void rateAll(){
Stack<ProcessableRessource> stack=new Stack<ProcessableRessource>();
for(int i = 0;i<curPop;i++){
if(infos[i]==null){
stack.push(chromosoms[i]);
}
}
BatchTask bt = new BatchTask(stack,new GeneticAlgorithmSurvivorsRatingProcessor(this),null);
BatchManager.getInstance().addObserver(this);
BatchManager.getInstance().processRessources(bt);
waitUnfinishedJobs();
}
Conclusion
Si vous avez des questions ,commentaires ou remarques, n'hésitez pas !
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
algorithme génétique [ par lara22 ]
slt aider moi à programmer cet algorithme c'est urgent Début 1. Lire (Max Gènes) ; 2. Génération=0 ; 3. Initialiser ( ) ; 4. Evaluer ( ) ; 5. Garder_l
Algorithme de création de suite [ par Coach42 ]
Bonjour,Je souhaite réaliser un algorithme permettant la création d'une suite de n caractères, pris dans 1 alphabet de 3 éléments, telle que 2 sous su
Cherche algorithme Affectations de groupes dans des salles [ par Kotomine ]
Bonjour, je cherche un algorithme assez particulier d'affectation de groupes dans des salles.Le problème n'est pas temporel, mais spacial.On dispose d
Java et les threads [ par Taz1984 ]
Bonjour, Je suis en train de coder une classe qui permet de prendre en entrée un fichier et stocker les informations dans une base données. Cette cl
java threads [ par thiernoirm ]
salut j'ai un problème pour arreter mes threads . pouvez vous m'aider ? svp voici mon thread : public class monThread extends Thread{
transformer algorithme en java [ par skyfrozen ]
Salut tlm je suis vraiment nouveau nouveau à la programmation. j'ai récemment écrit un algorithme pour calculer les ventes d’un produit en part
[BAR]lancer deux threads au meme temps [ par zoya23 ]
Bonjour tout le monde! dans une interface graphique, je veux lancer deux threads au meme temps, et chaque thread s'exécute à l'infini et il stope que
Deux threads à contrôler en même temps... [ par darkcloud65498 ]
Bonjour à tous, je dois faire un projet en groupe, où l'on doit simuler en java le comportement d'une imprimante multifonctions. On doit donc simuler
|
Derniers Blogs
[MIX 2010] - TELECHARGEZ INTERNET EXPLORER 9 EN PREVIEW ![MIX 2010] - TELECHARGEZ INTERNET EXPLORER 9 EN PREVIEW ! par redo
La Preview de Windows Explorer 9 est maintenant disponible à l'adresse suivante : http://ie.microsoft.com/testdrive/ Cette version ne nécessite pas un redémarrage de votre machine pour être exploitée . Cette version est fonctionnelle mais reste cependant ...
Cliquez pour lire la suite de l'article par redo [MIX 2010] - KEYNOTE DAY 2 ONLINE : WINDOWS INTERNET EXPLORER 9, JQUERY, ODATA ET DALLAS CTP2 ![MIX 2010] - KEYNOTE DAY 2 ONLINE : WINDOWS INTERNET EXPLORER 9, JQUERY, ODATA ET DALLAS CTP2 ! par redo
Dans la lignée du premier keynote, retrouvez la vidéo du second keynote en ligne : Visionnez la vidéo à l'url suivante : http://www.microsoft.com/presspass/events/mix/VideoGallery.aspx Vous y retrouverez ainsi les speakers Scott Guthrie, Dean Hachamovitch...
Cliquez pour lire la suite de l'article par redo [MIX 2010] - RETOUR D'EXPéRIENCE DéVELOPPEMENT SEESMIC SUR WINDOWS PHONE 7[MIX 2010] - RETOUR D'EXPéRIENCE DéVELOPPEMENT SEESMIC SUR WINDOWS PHONE 7 par redo
En avant première, Loic le retour d'expérience de Loïc Le Meur du portage de l'application http://seesmic.com/ sur plateforme Windows Phone 7 . c'était d'ailleurs une des rares opportunités de tester, voir toucher le nouveau device . voyez par vous-même :...
Cliquez pour lire la suite de l'article par redo [MIX 2010] - LE KEYNOTE DAY 1 DISPONIBLE ONLINE ![MIX 2010] - LE KEYNOTE DAY 1 DISPONIBLE ONLINE ! par redo
Si tout comme moi, vous avez manqué de peu le premier keynote du Microsoft Mix 2010, je vous invite à prendre deux heure et le consulter ci-dessous . Visionnez le Keynote à l'url suivante : http://www.microsoft.com/Presspass/events/mix/videoGallery.aspx?c...
Cliquez pour lire la suite de l'article par redo VISUAL STUDIO TALK SHOW: EF4VISUAL STUDIO TALK SHOW: EF4 par Matthieu MEZIL
La semaine dernière, j'étais à Montréal pour y animer des conférences sur Entity Framework. J'en ai profité pour enregister un podcast Visual Studio Talk Show que vous pouvez retrouver ici ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL
Forum
MODIFICATIONMODIFICATION par bebemyouler
Cliquez pour lire la suite par bebemyouler CLIENT SIPCLIENT SIP par sisisousou
Cliquez pour lire la suite par sisisousou RE : LE MEILLEURRE : LE MEILLEUR par zaydounhlel
Cliquez pour lire la suite par zaydounhlel
Logiciels
Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods Konvertor (4.00)KONVERTOR (4.00)Le logiciel est un gestionnaire multimedia affichant, jouant et convertissant plus de 2000 format... Cliquez pour télécharger Konvertor
|