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
[FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article par JeremyJeanson TECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PCTECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PC par ROMELARD Fabrice
Speakers: Thierry Rapatout, Antoine Petit et Xavier Trebbia Cette session entre dans le cadre des RDV Décideurs des TechDays 2012, elle est liée à la consumérisation de l'IT et la mise en place du "DeskTop as a Service" dans de plus en ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLETECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLE par ROMELARD Fabrice
Speakers: Julien Marechal, Gautier Confiant, Sébastien MEYER La session débute par le positionnement de la solution System Center par rapport aux concepts d'organisation ITIL. Le portail du catalogue de se...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : PLEINIèRE SECOND JOURTECHDAYS PARIS 2012 : PLEINIèRE SECOND JOUR par ROMELARD Fabrice
Après une première journée dédiée aux développeurs, cette seconde journée est dédiée au monde des entreprises et de ses applications. Ainsi, cette pleinière est dédiée à faire un 360 de l'évolution des applications Business aux demandes ac...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
RE : SQLRE : SQL par Julien39
Cliquez pour lire la suite par Julien39
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|