Jénétique
Jenetics est une bibliothèque d'algorithmes génétiques , d'algorithmes évolutifs , d'évolution grammaticale , de programmation génétique et d'optimisation multi-objectifs , écrite en Java moderne. Il est conçu avec une séparation claire des différents concepts de l'algorithme, par exemple Gene
, Chromosome
, Genotype
, Phenotype
, Population
et Function
de fitness. Jenetics vous permet de minimiser et de maximiser la fonction de fitness donnée sans la modifier. Contrairement aux autres implémentations GA, la bibliothèque utilise le concept de flux d'évolution ( EvolutionStream
) pour exécuter les étapes d'évolution. Étant donné EvolutionStream
implémente l'interface Java Stream, il fonctionne correctement avec le reste de l'API Java Stream.
Autres langues
- Jenetics.Net : Portage expérimental .NET Core en C# de la bibliothèque de base.
- Helisa : Wrapper Scala autour de la bibliothèque Jenetics.
Documentation
La bibliothèque est entièrement documentée (javadoc) et est accompagnée d'un manuel d'utilisation (pdf).
Construire la Jénétique
Jenetics nécessite au moins Java 21 pour être compilé et exécuté.
Consultez la branche principale de GitHub.
$ git clone https://github.com/jenetics/jenetics.git <builddir>
Jenetics utilise Gradle comme système de construction et organise la source en sous -projets (modules). Chaque sous-projet se trouve dans son propre sous-répertoire :
Projets publiés
Les projets/modules suivants sont également publiés sur Maven.
- jenetics : Ce projet contient le code source et les tests du module principal Jenetics.
- jenetics.ext : ce module contient des opérations GA et des types de données non standard supplémentaires. Il contient également des cours pour résoudre des problèmes multi-objectifs (MOEA) et faire de l'évolution grammaticale (GE).
- jenetics.prog : Les modules contiennent des classes qui permettent de faire de la programmation génétique (GP). Il fonctionne de manière transparente avec
EvolutionStream
et Evolution Engine
existants. - jenetics.xml : module de marshalling XML pour les structures de données de base Jenetics .
Projets non publiés
- jenetics.example : Ce projet contient un exemple de code pour le module principal .
- jenetics.doc : Contient le code du site et le manuel.
- jenetics.tool : Ce module contient des classes utilisées pour effectuer des tests d'intégration et des tests de performances algorithmiques. Il est également utilisé pour créer des mesures de performances GA et créer des diagrammes à partir des mesures de performances.
Pour construire la bibliothèque, accédez au répertoire <builddir>
(ou à l'un des répertoires du module) et appelez l'une des tâches disponibles :
- compileJava : Compile les sources Jenetics et copie les fichiers de classe dans le répertoire
<builddir>/<module-dir>/build/classes/main
. - jar : Compile les sources et crée les fichiers JAR. Les artefacts sont copiés dans le répertoire
<builddir>/<module-dir>/build/libs
. - javadoc : Génère la documentation de l'API. Le Javadoc est stocké dans le répertoire
<builddir>/<module-dir>/build/docs
- test : Compile et exécute les tests unitaires. Les résultats des tests sont imprimés sur la console et un rapport de test, créé par TestNG, est écrit dans le répertoire
<builddir>/<module-dir>
. - clean : Supprime les répertoires
<builddir>/build/*
et supprime tous les artefacts générés.
Pour construire le fichier jar de la bibliothèque à partir de l'appel source
$ cd <build-dir>
$ ./gradlew jar
Exemple
Bonjour tout le monde (les unités comptent)
La configuration minimale du moteur d'évolution nécessite une fabrique de génotypes, Factory<Genotype<?>>
et une Function
de fitness. Le Genotype
implémente l'interface Factory
et peut donc être utilisé comme prototype pour créer la Population
initiale et pour créer de nouveaux Genotypes
aléatoires.
import io . jenetics . BitChromosome ;
import io . jenetics . BitGene ;
import io . jenetics . Genotype ;
import io . jenetics . engine . Engine ;
import io . jenetics . engine . EvolutionResult ;
import io . jenetics . util . Factory ;
public class HelloWorld {
// 2.) Definition of the fitness function.
private static Integer eval ( Genotype < BitGene > gt ) {
return gt . chromosome ()
. as ( BitChromosome . class )
. bitCount ();
}
public static void main ( String [] args ) {
// 1.) Define the genotype (factory) suitable
// for the problem.
Factory < Genotype < BitGene >> gtf =
Genotype . of ( BitChromosome . of ( 10 , 0.5 ));
// 3.) Create the execution environment.
Engine < BitGene , Integer > engine = Engine
. builder ( HelloWorld :: eval , gtf )
. build ();
// 4.) Start the execution (evolution) and
// collect the result.
Genotype < BitGene > result = engine . stream ()
. limit ( 100 )
. collect ( EvolutionResult . toBestGenotype ());
System . out . println ( "Hello World: n " + result );
}
}
Contrairement aux autres implémentations GA, la bibliothèque utilise le concept de flux d'évolution ( EvolutionStream
) pour exécuter les étapes d'évolution. Étant donné EvolutionStream
implémente l'interface Java Stream, il fonctionne correctement avec le reste de l'API de streaming Java. Examinons maintenant de plus près la liste ci-dessus et discutons de ce programme simple étape par étape :
La partie probablement la plus difficile, lors de la configuration d'un nouveau Engine
d'évolution, est de transformer le domaine problématique en une représentation Genotype
(usine) appropriée. Dans notre exemple, nous voulons compter le nombre de uns d'un BitChromosome
. Puisque nous ne comptons que ceux d’un chromosome, nous ajoutons un seul BitChromosome
à notre Genotype
. En général, le Genotype
peut être créé avec 1 à n chromosomes.
Une fois cela fait, la fonction de fitness, qui doit être maximisée, peut être définie. En utilisant les nouvelles fonctionnalités du langage introduites dans Java 8, nous écrivons simplement une méthode statique privée, qui prend le génotype que nous avons défini et calcule sa valeur de fitness. Si nous voulons utiliser la méthode de comptage de bits optimisée, bitCount()
, nous devons convertir la classe Chromosome<BitGene>
en classe BitChromosome
réellement utilisée. Puisque nous savons avec certitude que nous avons créé le Genotype avec un BitChromosome
, cela peut être fait en toute sécurité. Une référence à la méthode eval est ensuite utilisée comme fonction de fitness et transmise à la méthode Engine.build
.
Dans la troisième étape, nous créons le Engine
d'évolution, qui est responsable du changement, respectivement de l'évolution, d'une population donnée. Le Engine
est hautement configurable et prend des paramètres pour contrôler l’environnement évolutif et informatique. Pour modifier le comportement évolutif, vous pouvez définir différents modificateurs et sélecteurs. En modifiant le service Executor
utilisé, vous contrôlez le nombre de threads ; le moteur est autorisé à utiliser. Une nouvelle instance Engine
ne peut être créée que via son générateur, qui est créé en appelant la méthode Engine.builder
.
Dans la dernière étape, nous pouvons créer un nouveau EvolutionStream
à partir de notre Engine
. L' EvolutionStream
est le modèle ou la vue du processus évolutif. Il sert de « poignée de processus » et vous permet également, entre autres, de contrôler la fin de l'évolution. Dans notre exemple, nous tronquons simplement le flux après 100 générations. Si vous ne limitez pas le flux, EvolutionStream
ne se terminera pas et ne fonctionnera pas pour toujours. Étant donné que EvolutionStream
étend l'interface java.util.stream.Stream
, il s'intègre facilement au reste de l'API Java Stream. Le résultat final, le meilleur Genotype
dans notre exemple, est ensuite collecté avec l'un des collecteurs prédéfinis de la classe EvolutionResult
.
Des images évolutives
Cet exemple tente de approximer une image donnée par des polygones semi-transparents. Il est livré avec une interface utilisateur Swing, où vous pouvez immédiatement démarrer vos propres expériences. Après avoir compilé les sources avec
$ ./gradlew compileTestJava
vous pouvez démarrer l'exemple en appelant
$ ./jrun io.jenetics.example.image.EvolvingImages
L'image précédente montre l'interface graphique après avoir fait évoluer l'image par défaut sur environ 4 000 générations. Avec le bouton »Ouvrir«, il est possible de charger d'autres images pour la polygonisation. Le bouton »Enregistrer« permet de stocker sur disque des images polygonisées au format PNG. Au bouton de l'interface utilisateur, vous pouvez modifier certains paramètres GA de l'exemple.
Projets utilisant Jenetics
- SPEAR : SPEAR (Smart Prognosis of Energy with Allocation of Resources) a créé une plateforme extensible pour l'optimisation énergétique et efficace des systèmes de production.
- Suite Renaissance : Renaissance est une suite de benchmark moderne, ouverte et diversifiée pour la JVM, destinée à tester les compilateurs JIT, les garbage collector, les profileurs, les analyseurs et d'autres outils.
- APP4MC : Eclipse APP4MC est une plate-forme d'ingénierie de systèmes logiciels embarqués multicœurs et multicœurs.
Blogs et articles
- Schachprobleme Komponieren Mit Evolutionären Algorithmen, par Jakob Leck , décembre 2023, Die Schwalbe 324-2, pp. 373-380. Composition et résolution de problèmes d'échecs avec un plus grand nombre de paix que d'habitude. Au lieu d'une approche par force brute, une GA est utilisée pour résoudre les problèmes (allemand).
- Résoudre le problème du sac à dos avec la bibliothèque Jenetics, par Craftcode Crew , 13 mai 2021
- Publié le 22 novembre 2018 par Jenetics, le 26 novembre 2018.
- Introduction à la bibliothèque Jenetics, par baeldung , 11 avril 2017
- Comment résoudre des problèmes difficiles à l'aide d'algorithmes génétiques, par Tzofia Shiftan , 6 avril 2017
- Algorithmes génétiques avec Java, par William Antônio , 10 janvier 2017
- Jenetics 설치 및 예제, par JDM , 8 mai 2015
- 유전 알고리즘 (Algorithmes génétiques), par JDM , 2 avril 2015
Citations
Vincent A. Cicirello. Calcul évolutif Open Source avec Chips-n-Salsa. Informatique, École de commerce, Université de Stockton. Décembre 2024. ...
- Vincent A. Cicirello. Calcul évolutif Open Source avec Chips-n-Salsa. Informatique, École de commerce, Université de Stockton. Décembre 2024.
- S. Gruber, P. Feichtenschlager, C. Fabianek, E. Gringinger et CG Schuetz. Vers un optimiseur heuristique pour un système de gestion du temps cible dans la gestion des flux de trafic aérien. 2024 AIAA DATC/IEEE 43e conférence sur les systèmes avioniques numériques (DASC), San Diego, Californie, États-Unis, 2024, pp. Novembre 2024.
- Šimić, G., Jevremović, A., Strugarević, D. Amélioration du processus d'enseignement à l'aide de l'algorithme génétique. Dans : Perakovic, D., Knapcikova, L. (éd.) Futures outils d'accès pour les infrastructures omniprésentes et intelligentes. FABULEUX 2024. Notes de cours de l'Institut d'informatique, d'informatique sociale et d'ingénierie des télécommunications, vol 596. Octobre 2024.
- Dimitris G. Mintisa ∙ Nikolaos Cheimariosa ∙ Andreas Tsoumanisa ∙ Anastasios G. Papadiamantisa ∙ Nico W. van den Brinkd ∙ Henk J. van Lingene ∙ Georgia Melagrakif ∙ Iseult Lynchb ∙ Antreas Afantitis. NanoBioAccumulate : Modélisation de l'absorption et de la bioaccumulation de nanomatériaux dans le sol et les invertébrés aquatiques via la plateforme cloud Enalos DIAGONAL. Journal de biotechnologie computationnelle et structurelle. Elsevier, 2001-0370. Octobre 2024.
- R. Jordão, F. Bahrami, Y. Yang, M. Becker, I. Sander et K. Rosvall. Exploration exacte de l'espace de conception multi-objectifs et sans préférences de DSP statique sur des plates-formes multicœurs. Forum 2024 sur les langages de spécification et de conception (FDL), Stockholm, Suède, 2024, pp. 1-9. Septembre 2024.
- Jared Murphy et Travis Desell. Minimisation de l'algorithme de programmation génétique basé sur un graphique EXA-GP pour la prévision de séries chronologiques interprétables. Dans les actes du compagnon de la conférence sur le calcul génétique et évolutif (GECCO '24 Companion). Association pour les machines informatiques, New York, NY, États-Unis, 1686-1690. Août 2024.
- Jared Murphy, Devroop Kar, Joshua Karns et Travis Desell. EXA-GP : Unifier la programmation génétique basée sur des graphiques et la neuroévolution pour la prévision de séries chronologiques explicables. Dans les actes du compagnon de la conférence sur le calcul génétique et évolutif (GECCO '24 Companion). Association pour les machines informatiques, New York, NY, États-Unis, 523-526. Août 2024.
- Sebastian Gruber, Paul Feichtenschlager et Christoph G. Schuetz. Utilisation d'algorithmes génétiques pour une optimisation préservant la confidentialité des problèmes d'attribution multi-objectifs dans des environnements critiques : une application dans la gestion des flux de trafic aérien. Dans les actes de la conférence sur le calcul génétique et évolutif (GECCO '24). Association pour les machines informatiques, New York, NY, États-Unis, 1246-1254. Juillet 2024.
- Jianghao Wang, Clay Stevens, Brooke Kidmose, Myra B. Cohen et Hamid Bagheri. Analyse évolutive des spécifications des alliages avec une fonction de fitness adaptative. Génie logiciel basé sur la recherche. SSBSE 2024. Notes de cours en informatique, vol 14767. Springer. Juillet 2024.
- Bernhard J.Berger ; Christina dodue ; Lauren Paul ; Rolf Drechsler. EvoAl — Optimisation de domaine sans code. Conférence sur le calcul génétique et évolutif (GECCO-2024). Juillet 2024.
- Christina Plump, Daniel C. Hoinkiss, Jörn Huber, Bernhard J. Berger, Matthias Günther, Christoph Lüth, Rolf Drechsler. Trouver la séquence IRM parfaite pour votre patient --- Vers un flux de travail d'optimisation pour les séquences IRM. IEEE WCCI 2024. Juin 2024.
- Milan Cugurović, Milena Vujošević Janičić, Vojin Jovanović, Thomas Würthinger. GraalSP : profileur statique polyglotte, efficace et robuste basé sur l'apprentissage automatique. Journal des systèmes et logiciels, volume 213, 2024, 112058, ISSN 0164-1212. Juillet. 2024.
- Wenwen Feng, Xiaohui Lei, Yunzhong Jiang, Chao Wang, Weihong Liao, Hao Wang, Gong Xinghui, Yu Feng. Couplage d'un modèle de contrôle prédictif et d'un contrôle basé sur des règles pour le contrôle en temps réel des systèmes fluviaux urbains. Journal d'hydrologie, 2024, 131228, ISSN 0022-1694. Avril 2024.
- S. Sint, A. Mazak-Huemer, M. Eisenberg, D. Waghubinger et M. Wimmer. Optimisation automatique des plages de tolérance pour l'identification de l'état d'exécution basée sur le modèle. Transactions IEEE sur la science et l'ingénierie de l'automatisation. Avril. 2024.
- Cicirello, Vincent A. Calcul évolutif : théories, techniques et applications. Sciences appliquées 14, non. 6 : 2542. Mars 2024.
- Koitz-Hristov R, Sterner T, Stracke L, Wotawa F. Sur l'adéquation de la couverture vérifiée et du réglage des paramètres génétiques dans la réduction des suites de tests. J Softw Evol Proc. 2024;e2656. Février 2024.
- Jordão, Rodolfo; Becker, Matthias ; Sander, Ingo. IDeSyDe : Exploration systématique de l'espace de conception via l'identification de l'espace de conception. Transactions ACM sur l'automatisation de la conception des systèmes électroniques. Février 2024.
- Squillero, G., Tonda, A. Veni, Vidi, Evolvi commentent « Jaws 30 » de WB Langdon. Programme Genet Evolvable Mach 24, 24 (2023) novembre 2023.
- Eneko Osaba, Gorka Benguria, Jesus L. Lobo, Josu Diaz-de-Arcaya, Juncal Alonso, Iñaki Etxaniz. Optimisation des configurations IaC : une étude de cas utilisant l'informatique inspirée de la nature. CIIS 2023. Novembre 2023.
- Sapra, D., Pimentel, AD Explorer les systèmes multicœurs avec des compromis en matière de fiabilité à vie et de consommation d'énergie. Systèmes informatiques embarqués : architectures, modélisation et simulation. SAMOS 2023. Notes de cours en informatique, vol 14385. Springer, Cham. Novembre 2023.
- Syed Juned Ali, Jan Michael Laranjo, Dominik Bork. Un cadre de modularisation de modèles conceptuels basé sur des algorithmes génétiques génériques et personnalisables. 27e Conférence internationale EDOC (EDOC 2023) - Conception, opérations et informatique d'entreprise. Septembre 2023.
- A. Elyasaf, E. Farchi, O. Margalit, G. Weiss et Y. Weiss. Critères de couverture généralisés pour les tests de séquence combinatoire. Transactions IEEE sur le génie logiciel, vol. 49, non. 08, pages 4023-4034. Août 2023.
- Julien Amblard, Robert Filman, Gabriel Kopito. GPStar4 : Un cadre flexible pour expérimenter la programmation génétique. Compagnon OGECCO '23 : Actes de la conférence complémentaire sur le calcul génétique et évolutif. Juillet 2023.
- Garmendia, A., Bork, D., Eisenberg, M., Ferreira, T., Kessentini, M., Wimmer, M. Tirer parti de l'intelligence artificielle pour l'analyse et la conception de logiciels basés sur des modèles. Optimiser le processus de développement logiciel avec l'intelligence artificielle. Série sur l'informatique naturelle. Springer, Singapour. Juillet 2023.
- Sikora, M., Smołka, M. Une application des algorithmes évolutifs et de l'apprentissage automatique dans l'harmonisation en quatre parties. Science computationnelle – ICCS 2023. ICCS 2023. Notes de cours en informatique, vol 14073. Springer juin 2023.
- Dolly Sapra et Andy D. Pimentel. Explorer les systèmes multicœurs avec des compromis en matière de fiabilité à vie et de consommation d'énergie. SAMOS'23. Mai 2023.
- Vipin Shukla, Mainak Bandyopadhyay. Optimisation des paramètres d'entrée de la source de plasma pilotée par ANN grâce à des algorithmes évolutifs inspirés de la nature. Systèmes intelligents avec applications, volume 18, 2023, 200200, ISSN 2667-3053. Mai 2023.
- P. Feichtenschlager, K. Schuetz, S. Jaburek, C. Schuetz, E. Gringinger. Mise en œuvre, dans le respect de la confidentialité, d'un mécanisme d'enchères pour l'échange de créneaux ATFM. Actes de la 23e Conférence intégrée sur les communications, la navigation et la surveillance (ICNS 2023), Washington DC, États-Unis, 18-20 avril 2023, IEEE Press, 12 pages. Avril 2023.
- Christoph Laaber, Tao Yue, Shaukat Ali. Hiérarchisation des microbenchmarks logiciels basés sur la recherche multi-objectifs. ArXiv/Informatique/Génie logiciel. Novembre 2022.
- Ricardo Ferreira Vilela, João Choma Neto, Victor Hugo Santiago Costa Pinto, Paulo Sérgio Lopes de Souza, Simone do Rocio Senger de Souza. Optimisation bio-inspirée pour prendre en charge la génération de données de test de logiciels concurrents. Concurrence et calcul : pratique et expérience. Novembre 2022.
- G. Mateeva, D. Parvanov, I. Dimitrov, I. Iliev et T. Balabanov. Une efficacité des bibliothèques de logiciels d'algorithmes génétiques tiers dans l'informatique distribuée mobile pour la prévision de séries temporelles financières. Conférence internationale sur l'automatique et l'informatique 2022 (ICAI). Octobre 2022.
- Guilherme Espada, Léon Ingelse, Paulo Canelas, Pedro Barbosa, Alcides Fonseca. Types de données comme interface plus ergonomique pour la programmation génétique guidée par la grammaire. arXiv. Octobre 2022.
- Christoph G. Schuetz, Thomas Lorünser, Samuel Jaburek, Kevin Schuetz, Florian Wohner, Roman Karl et Eduard Gringinger. Une architecture distribuée pour une optimisation préservant la confidentialité à l'aide d'algorithmes génétiques et de calculs multipartites. CoopIS 2022 : Systèmes d'information coopératifs pp 168-185. Septembre 2022.
- Christina Plump, Bernhard J. Berger, Rolf Drechsler. Utiliser la densité des données d'entraînement pour améliorer les algorithmes évolutifs avec des fonctions de fitness approximatives. WCCI2022 CONGRÈS MONDIAL IEEE SUR L'INTELLIGENCE INFORMATIQUE. Juillet 2022.
- Christina Plump, Bernhard J. Berger, Rolf Drechsler. Adaptation des opérateurs de mutation et de recombinaison aux relations sensibles à la plage dans les données d'application du monde réel. GECCO '22 : Actes de la conférence Companion sur le calcul génétique et évolutif. Pages 755 à 758. Juillet 2022.
- Éric Medvet, Giorgia Nadizar, Luca Manzoni. JGEA : un framework Java modulaire pour expérimenter le calcul évolutif. GECCO '22 : Actes de la conférence Companion sur le calcul génétique et évolutif. Pages 2009-2018. Juillet 2022.
- Moshe Sipper, Tomer Halperin, Itai Tzruia, Achiya Elyasaf. EC-KitY : kit d'outils de calcul évolutif en Python avec intégration transparente de l'apprentissage automatique. arXiv : 2207.10367v1 [cs.NE]. Juillet 2022.
- A. Billedeaux et B. DeVries. Utilisation de relations métamorphiques et d'algorithmes génétiques pour tester des logiciels open source. Conférence internationale de l'IEEE 2022 sur les technologies de l'information électro (eIT), 2022, pp. 342-345. Juillet 2022.
- R. Koitz-Hristov, L. Stracke et F. Wotawa. Couverture vérifiée pour la réduction des suites de tests : cela en vaut-il la peine ? Conférence internationale IEEE/ACM 2022 sur l'automatisation des tests logiciels (AST), pp. Juin 2022.
- Abdessamed Ouessai, Mohammed Salem, Antonio M. Mora. Evolution des paramètres de présélection d'action pour les MCTS dans les jeux de stratégie en temps réel. Informatique de divertissement, Volume 42. Avril 2022.
- Musatafa Abbas Abbood Albadr, Sabrina Tiun, Masri Ayob, Fahad Taha AL-Dhief, Khairuddin Omar et Mhd Khaled Maen. Reconnaissance des émotions vocales à l’aide d’un algorithme génétique optimisé – machine d’apprentissage extrême. Outils et applications multimédias, mars 2022.
- Christina Plump, Bernhard Berger, Rolf Drechsler. Choisir la bonne technique pour la bonne restriction - une approche spécifique à un domaine pour appliquer des restrictions d'espace de recherche dans les algorithmes évolutionnaires. LDIC-2022, Conférence internationale sur la dynamique de la logistique, février 2022.
- Quoc Nhat Han Tran, Nhan Quy Nguyen, Hicham Chehade, Lionel Amodeo, Farouk Yalaoui. Optimisation des rendez-vous ambulatoires : une étude de cas d'un service de chimiothérapie. Sciences appliquées/Informatique et Intelligence artificielle. Janvier 2022.
- Achiya Elyasaf, Eitan Farchi, Oded Margalit, Gera Weiss, Yeshayahu Weiss. Tests de séquence combinatoire utilisant la programmation comportementale et des critères de couverture généralisés. Journal des systèmes et logiciels. Janvier 2022.
- Groupe Fréquentis. D4.1 Rapport sur l'état de l'art des concepts pertinents. SLOTMACHINE - RÉSULTATS ET LIVRABLES PUBLICS, Frequentis déc. 2021.
- Huang Wanjie, Wang Haotian, Xue Yibo. Recherche sur l'optimisation du picking en entrepôt Modèle basé sur un algorithme génétique. Conférence internationale 2021 sur les technologies de l'information, l'éducation et le développement (ICITED 2021). Décembre 2021.
- Aalam Z., Kaur S., Vats P., Kaur A., Saxena R. Une analyse complète des efforts de test à l'aide de l'outil de test Avisar pour les logiciels orientés objet. Systèmes durables intelligents. Notes de cours sur les réseaux et les systèmes, vol 334. Springer, Singapour. Décembre 2021.
- Anh Vu Vo, Debra F. Laefer, Jonathan Byrne. Optimisation de la planification de la trajectoire de vol du LiDAR urbain à l'aide d'un algorithme génétique et d'un cadre informatique double parallèle. Télédétection, Volume 13, Numéro 21. Novembre 2021.
- Pozas N., Durán F. Sur l'évolutivité des compositions d'applications orientées services. ICSOC 2021 : Informatique orientée services pp 449-463 novembre 2021.
- Küster, T., Rayling, P., Wiersig, R. et al. Optimisation multi-objectifs des calendriers de production économes en énergie à l'aide d'algorithmes génétiques. Optimisation et ingénierie (2021). Octobre 2021.
- B. DeVries et C. Trefftz. Une approche de recherche de nouveauté et de test métamorphique pour la génération automatique de tests. 14e atelier international IEEE/ACM 2021 sur les tests logiciels basés sur la recherche (SBST), 2021, pp. Mai 2021.
- W. Geithner, Z. Andelkovic, O. Geithner, F. Herfurth, V. Rapp, A. Németh, F. Wilhelmstötter, AH Van Benschoten. OPTIMISATION DE LA SOURCE D'IONS À L'AIDE D'UN ALGORITHME GÉNÉTIQUE BI-OBJECTIF ET DE PROFIL MATRICIEL. IPAC2021 - 12e Conférence internationale sur les accélérateurs de particules. Mai 2021.
- C. Plump, BJ Berger et R. Drechsler. Opérateurs de recombinaison et de mutation sensibles à la corrélation basés sur le domaine pour des applications complexes du monde réel. Congrès IEEE 2021 sur le calcul évolutif (CEC), pp. 540-548. Juillet 2021.
- Sapra, D., Pimentel, AD Conception de réseaux de neurones convolutifs avec une formation évolutive contrainte au coup par coup. Application Intell (2021). Juillet 2021.
- Michela Lorandi, Leonardo Lucio Custode, Giovanni Iacca. Amélioration génétique du routage dans les réseaux tolérants aux délais. GECCO '21 : Actes de la conférence Companion sur le calcul génétique et évolutif. Juillet 2021, pages 35-36.
- Plump, Christina et Berger, Bernhard J. et Drechsler, Rolf. Améliorer les algorithmes évolutifs en améliorant une fonction de fitness approximative via des intervalles de prédiction. Congrès IEEE sur le calcul évolutif (IEEE CEC-2021). Juin 2021.
- Faltaous, Sarah, Abdulmaksoud, Aya, Kempe, Markus, Alt, Florian et Schneegass, Stefan. GeniePutt : Augmenter la motricité humaine grâce à la stimulation musculaire électrique. it - Technologies de l'information, vol. , Non. , 2021. Mai 2021.
- Yiming Tang, Raffi Khatchadourian, Mehdi Bagherzadeh, Rhia Singh, Ajani Stewart et Anita Raja. Une étude empirique des refactorisations et de la dette technique dans les systèmes d'apprentissage automatique. Lors de la Conférence internationale sur le génie logiciel, ICSE '21. Mai 2021.
- Arifin HH, Robert Ong HK, Dai J., Daphne W., Chimplee N. Ingénierie de gamme de produits basée sur un modèle avec des algorithmes génétiques pour la sélection automatisée des composants. Dans : Krob D., Li L., Yao J., Zhang H., Zhang X. (éd.) Conception et gestion de systèmes complexes. Springer, Cham. Avril 2021.
- MICHELA LORANDI, LEONARDO LUCIO CUSTODE et GIOVANNI IACCA. Amélioration génétique des protocoles de routage pour les réseaux tolérants aux délais. arXiv :2103.07428v1 mars 2021.
- Amine Aziz-Alaoui, Carola Doerr, Johann Dreo. Vers la conception d'algorithmes automatisés à grande échelle en intégrant des cadres d'analyse comparative modulaires. E arXiv :2102.06435 février 2021.
- Dominik Bork et Antonio Garmendia et Manuel Wimmer. Vers une approche de modularisation multi-objectifs pour les modèles entité-relation. ER 2020, 39e Conférence internationale sur la modélisation conceptuelle. Novembre 2020.
- Sarfarazi, S. ; Deissenroth-Uhrig, M. ; Bertsch, V. Agrégation de ménages dans les systèmes énergétiques communautaires : une analyse des perspectives des acteurs et du marché. Énergies 2020, 13, 5154. octobre 2020.
- M. Šipek, D. Muharemagić, B. Mihaljević et A. Radovan. Améliorer les performances des applications logicielles basées sur le cloud avec GraalVM et Quarkus. 2020 43e Convention internationale sur l'information, la communication et les technologies électroniques (MIPRO), Opatija, Croatie, 2020, pp. 1746-1751. Octobre 2020.
- Vats P., Mandot M. Une analyse complète pour la validation de l'outil de test orienté objet AVISAR. Joshi A., Khosravy M., Gupta N. (éd.) Apprentissage automatique pour l'analyse prédictive. Notes de cours sur les réseaux et les systèmes, vol 141. Springer, Singapour. Octobre 2020.
- Thakur, K., Kumar, G. Techniques et applications inspirées de la nature dans les systèmes de détection d'intrusion : progrès récents et perspective mise à jour. Archives des méthodes informatiques en ingénierie (2020). Août 2020.
- Nur Hidayah Mat Yasin, Abdul Sahli Fakhrudin, Abdul Wafie Afnan Abdul Hadi, Muhammad Harith Mohd Khairuddin, Noor Raihana Abu Sepian, Farhan Mohd Said, Norazwina Zainol. Comparaison de la méthodologie de surface de réponse et du réseau neuronal artificiel pour l'extraction par solvant de l'ester méthylique d'acide gras à partir des déchets de poisson. Journal international de l'agriculture moderne, Volume 9, No.3, 2020, ISSN : 2305-7246. Septembre 2020.
- Cicirello, VA Chips-n-Salsa : une bibliothèque Java d'algorithmes de recherche locale personnalisables, hybridables, itératifs, parallèles, stochastiques et auto-adaptatifs. Journal of Open Source Software, 5(52), 2448. Août 2020.
- Li, Yuanyuan ; Carabelli, Stefano; Fadda, Edoardo; Manerba, Daniele ; Tadei, Roberto ; Terzo, Olivier. Apprentissage automatique et optimisation pour la reprogrammation de la production dans l'industrie 4.0. LE JOURNAL INTERNATIONAL DES TECHNOLOGIES DE FABRICATION AVANCÉES. - ISSN1433-3015. Août 2020.
- Dolly Sapra et Andy D. Pimentel. Un algorithme d'optimisation évolutive pour les fonctions objectives à saturation progressive. GECCO '20, Cancún, Mexique. Juillet. 2020.
- Dolly Sapra et Andy D. Pimentel. Formation fragmentaire évolutive contrainte pour concevoir des réseaux de neurones convolutifs. IEA/AIE 2020 – Kitakyushu, Japon. Juillet. 2020.
- Femi Emmanuel Ayo, Sakinat Oluwabukonla Folorunso, Adebayo A. Abayomi-Alli, Adebola Olayinka Adekunle, Joseph Bamidele Awotunde. Détection des intrusions réseau basée sur un modèle d'apprentissage profond optimisé avec une sélection de fonctionnalités hybrides basée sur des règles. Journal sur la sécurité de l'information : une perspective mondiale. Mai 2020.
- Zainol N., Fakharudin AS, Zulaidi NIS Model Optimisation à l'aide d'algorithmes d'intelligence artificielle pour la dégradation des déchets alimentaires biologiques. Yaser A. (éd.) Progrès dans la technologie de traitement des déchets. Springer, Singapour. Mai 2020.
- Sonya Voneva, Manar Mazkatli, Johannes Grohmann et Anne Koziolek. Optimisation des dépendances paramétriques pour l'extraction incrémentielle de modèles de performances. Institut de technologie de Karlsruhe, Karlsruhe, Allemagne. Avril. 2020.
- Raúl Lara-Cabrera, Ángel González-Prieto, Fernando Ortega et Jesús Bobadilla. Filtrage collaboratif évolutif basé sur la factorisation matricielle à l'aide de la programmation génétique. MDPI, Sciences Appliquées. Février 2020.
- Humm BG, Hutter M. Modèles d'apprentissage pour la détection d'événements complexes dans les données des capteurs de robots. Optimisation et apprentissage. OLA 2020. Communications en informatique et sciences de l'information, vol 1173. Springer février 2020.
- Erich C. Teppan, Giacomo Da Col. Algorithmes génétiques pour la création de règles de répartition pour les grands ateliers. Avancées dans les intégrations de méthodes intelligentes. Innovation, systèmes et technologies intelligents, vol 170. Springer, Singapour. Janvier 2020.
- Ricardo Pérez-Castillo, Francisco Ruiz, Mario Piattini. Un système d'aide à la décision pour la modélisation d'architecture d'entreprise. Systèmes d'aide à la décision. Janvier 2020.
- Sabrina Appel, Wolfgang Geithner, Stephan Reimann, Mariusz Sapinski, Rahul Singh et Dominik Vilsmeier. Application d'algorithmes d'optimisation inspirés de la nature et d'apprentissage automatique pour les synchrotrons à ions lourds. Journal international de physique moderne A. décembre 2019.
- OM Elzeki, MF Alrahmawy, Samir Elmougy. Un nouvel algorithme hybride de gain génétique et d'information pour imputer les valeurs manquantes dans les ensembles de données sur les gènes du cancer. PJournal international des systèmes et applications intelligents (IJISA), Vol.11, n°12, pp.20-33, DOI : 10.5815/ijisa.2019.12.03. Décembre 2019.
- Oliver Strauss, Ahmad Almheidat et Holger Kett. Application de stratégies heuristiques et d'apprentissage automatique à ProductResolution. Actes de la 15e Conférence internationale sur les systèmes et technologies d'information Web (WEBIST 2019), pages 242-249. Novembre 2019.
- Yuanyuan Li, Stefano Carabelli, Edoardo Fadda, Daniele Manerba, Roberto Tadei1 et Olivier Terzo. Intégration de techniques d'apprentissage automatique et d'optimisation pour une réordonnancement flexible des ateliers dans l'industrie 4.0. Politecnico di Torino, Groupe de recherche opérationnelle et d'optimisation. Octobre 2019.
- Höttger R., Igel B., Spinczyk O. Distribution de logiciels contrainte pour les systèmes automobiles. Communications en informatique et sciences de l'information, vol 1078. octobre 2019.
- Jin-wooLee, Gwangseon Jang, Hohyun Jung, Jae-Gil Lee, Uichin Lee. Maximiser la vitesse et la fiabilité des tâches MapReduce dans le cloud mobile en optimisant l’allocation des tâches. Informatique omniprésente et mobile. Octobre 2019.
- Krawczyk, Lukas, Mahmoud Bazzal, Ram Prasath Govindarajan et Carsten Wolff. Analyse temporelle basée sur un modèle et optimisation du déploiement pour les systèmes multicœurs hétérogènes à l'aide d'Eclipse APP4MC. 2019 ACM/IEEE 22e Conférence internationale sur les langages et systèmes d'ingénierie pilotés par modèles Companion : 44-53. Septembre 2019.
- Junio Cezar Ribeiro da Silva, Lorena Leão, Vinicius Petrucci, Abdoulaye Gamatié, Fernando MagnoQuintao Pereira. Planification dans des architectures hétérogènes via une régression linéaire multivariée sur les entrées de fonctions. lirmm-02281112. Septembre 2019.
- Eric O. Scott, Sean Luke. CJCE à 20 ans : vers une boîte à outils métaheuristiques générales. GECCO '19 : Actes du compagnon de la conférence sur le calcul génétique et évolutif, pages 1391-1398. Juillet 2019.
- Francisco G. Montoya et Raúl Baños Navarro (éd.). Méthodes d'optimisation appliquées aux systèmes électriques, volume 2. Livres MDPI, ISBN 978-3-03921-156-2. Juillet 2019.
- Höttger, Robert et Ki, Junhyung et Bui, Bao et Igel, Burkhard et Spinczyk, Olaf. Temps de réponse CPU-GPU et analyse de cartographie pour les systèmes automobiles hautes performances. 10e atelier international sur les outils et méthodologies d'analyse pour les systèmes embarqués et en temps réel (WATERS) co-localisé avec la 31e conférence Euromicro sur les systèmes en temps réel (ECRTS'19). Juillet 2019.
- Maxime Cordy, Steve Muller, Mike Papadakis et Yves Le Traon. Test basé sur la recherche et amélioration des systèmes de détection d'anomalies basés sur l'apprentissage automatique. Actes du 28e Symposium international ACM SIGSOFT sur les tests et l'analyse de logiciels (ISSTA 2019). ACM, New York, NY, États-Unis, 158-168. Juillet 2019.
- Michael Vistein, Jan Faber, Clemens Schmidt-Eisenlohr, Daniel Reiter. Manutention automatisée de matériaux auxiliaires à l'aide d'un système de préhension multi-cinématique. Procedia Fabrication Volume 38, 2019, Pages 1276-1283. Juin 2019.
- Nikolaos Nikolakis, Ioannis Stathakis, Sotirios Makris. Sur un système d’information évolutif pour un accompagnement personnalisé des exploitants d’usines. 52e Conférence CIRP sur les systèmes de fabrication (CMS), Ljubljana, Slovénie. Juin 2019.
- Michael Trotter, Timothy Wood et Jinho Hwang. Prévoir une tempête : deviner les configurations optimales à l'aide d'algorithmes génétiques et d'apprentissage supervisé. 13e Conférence internationale de l'IEEE sur les systèmes auto-adaptatifs et auto-organisés (SASO 2019). Juin 2019.
- Krawczyk, Lukas et Bazzal, Mahmoud et Prasath Govindarajan, Ram et Wolff, Carsten. Une approche analytique pour calculer les temps de réponse de bout en bout dans les applications de conduite autonome. 10e Atelier international sur les outils et méthodologies d'analyse pour les systèmes embarqués et temps réel (WATERS 2019). Juin 2019.
- Rodolfo Ayala Lopes, Thiago Macedo Gomes et Alan Robert Resende de Freitas. Une plate-forme logicielle d'algorithme évolutif symbolique. Actes de la conférence Companion sur le calcul génétique et évolutif (GECCO '19). Juillet 2019.
- Aleksandar Prokopec, Andrea Rosà, David Leopoldseder, Gilles Duboscq, Petr Tůma, Martin Studener, Lubomír Bulej, Yudi Zheng, Alex Villazón, Doug Simon, Thomas Würthinger, Walter Binder. Renaissance : Suite de benchmarking pour applications parallèles sur JVM. PLDI '19, Phoenix, Arizona, États-Unis. Juin 2019.
- Robert Höttger, Lukas Krawczyk, Burkhard Igel, Olaf Spinczyk. Analyse du mappage de mémoire pour les systèmes automobiles. Actes des brèves présentations (RTAS 2019). Avril 2019.
- Al Akkad, MA, & Gazimzyanov, FF SYSTÈME AUTOMATISÉ D'ÉVALUATION DES CARACTÉRISTIQUES DE COMPOSITION D'IMAGES 2D : CONFIGURATION DU MODÈLE MATHÉMATIQUE. Intellectuel. Sœur. Proizv., 17(1), 26-33. est ce que je : 10.22213/2410-9304-2019-1-26-33. Avril 2019.
- Alcayde, A. ; Baños, R. ; Arrabal-Campos, FM; Montoya, optimisation FG de la puissance électrique contractée au moyen d'algorithmes génétiques. Energies, Volume 12, numéro 7, avril 2019.
- Abdul Sahli Fakharudin, Norazwina Zainol, Zulsyazwan Ahmad Khushairi. Modélisation et optimisation de la biodelignification du noyau du tronc de palmier à huile à l'aide du réseau neuronal et de l'algorithme génétique. IEEA '19: Actes de la 8e Conférence internationale sur l'informatique, l'environnement, l'énergie et les applications; Pages 155–158, mars 2019.
- Aleksandar Prokopec, Andrea Rosà, David Leopoldseder, Gilles Duboscq, Petr Tůma, Martin Studener, Lubomír Bulej, Yudi Zheng, Alex Villazón, Doug Simon, Thomas Wuerthager, Walter Binder. Lors de l'évaluation de la suite d'analyse comparative de la Renaissance: variété, performance et complexité. Université Cornell: Langages de programmation, mars 2019.
- S. Appel, W. Geithner, S. Reimann, M Sapinski, R. Singh, DM Vilsmeier Optimisation des synchrotrons lourds en utilisant des algorithmes et l'apprentissage automatique inspirés de la norme. 13th Int. Computational Accelerator Physics Conf., Février 2019.
- Saad, Christian, Bernhard Bauer, Ulrich R Mansmann et Jian Li. Autoanalyze en biologie des systèmes. Bioinformatics and Biology Insights, janvier 2019.
- Gandeva Bayu Satrya, Soo Young Shin. Approche informatique évolutive pour optimiser la planification SuperFrame sur les réseaux de capteurs sans fil industriels. Université Cornell, décembre 2018.
- HR Maier, S. Razavi, Z. Kapelan, LS Matott, J. Kasprzyk, Ba Tolson. Présentation d'introduction: optimisation utilisant des algorithmes évolutifs et autres métaheuristiques. Modélisation et logiciels environnementaux, décembre 2018.
- Erich C. Teppan et Giacomo da Col. Génération automatique de règles de répartition pour les grands ateliers au moyen d'algorithmes génétiques. CIMA 2018, Atelier international sur les combinaisons de méthodes et d'applications intelligentes, nov. 2018.
- Pasquale salzaa, Filomena ferrucci. Accélérez les algorithmes génétiques dans le cloud à l'aide de conteneurs logiciels. Future Generation Computer Systems, octobre 2018.
- Ghulam Mubashar Hassan et Mark Reynolds. Algorithmes génétiques pour la planification et l'optimisation des réseaux de train de minerai. GCAI-2018. 4e Conférence mondiale sur l'intelligence artificielle, sept. 2018.
- Drezewski, Rafal & Kruk, Sylwia & Makowka, Maciej. L'optimisation évolutive du facteur de rendement des actions d'une entreprise: vers le système bio-inspiré basé sur les agents soutenant les décisions de financement des entreprises. Accès IEEE. 6. 10.1109 / Access.2018.2870201, sept. 2018.
- Arifin, HH, Chimplee, N., Kit Robert Ong, H., Daengdej, J. et Sortrakul, T. Composant automatisé-sélection de la synthèse de conception pour l'architecture physique avec l'ingénierie des systèmes basé sur des modèles utilisant le compromis évolutionnaire. Interner le Symposium international, 28: 1296-1310, août 2018.
- Ong, Robert & Sortrakul, Thotsapon. Comparaison des méthodes de sélection des algorithmes génétiques pour la sélection automatisée des composants de la synthèse de conception avec l'ingénierie des systèmes basés sur des modèles. Conférence: I-Seec 2018, mai 2018.
- Stephan Pirnbaum. Die Evolution IM Algorithmus - TEIL 2: Multikriterielle Optimierung und ArchitekTurerkennung. Javaspektrum 03/2018, pp 66–69, mai 2018.
- W. Geithner, Z. Andelkovic, S. Appel, O. Geithner, F. Herfurth, S. Reimann, G. Vorobjev, F. Wilhelmstötter. Algorithmes génétiques pour l'optimisation des machines dans l'environnement du système de contrôle équitable. La 9th International Particle Accelerator Conference (IPAC'18), mai 2018.
- Stephan Pirnbaum. Die Evolution IM Algorithmus - Teil 1: Grundlagène. Javaspektrum 01/2018, pp 64–68, janvier 2018.
- Alexander Felfernig, Rouven Walter, José A. Galindo, David Benavides, Seda Polat Erdeniz, Müslüm Atas, Stefan Reiterer. À tout moment de diagnostic pour la reconfiguration. Journal of Intelligent Information Systems, pp 1–22, janvier 2018.
- Bruce A. Johnson. Des données brutes aux déplacements chimiques de l'épine dorsale des protéines en utilisant le traitement NMRFX et l'analyse NMRVIEWJ. RMN protéique: méthodes et protocoles, pp. 257--310, Springer New York, nov. 2017.
- Cuadra P., Krawczyk L., Höttger R., Heisig P., Wolff C. Planification automatisée pour des systèmes multi-cœurs intégrés étroitement à couplés utilisant des algorithmes génétiques hybrides. Informations et technologies logicielles: 23e Conférence internationale, ICIST 2017, Druskininkai, Lituanie. Communications in Computer and Information Science, Vol 756. Springer, Cham, sept. 2017.
- Michael Trotter, Guyue Liu, Timothy Wood. Dans la tempête: des configurations optimales décrivant à l'aide d'algorithmes génétiques et d'optimisation bayésienne. Fondations et applications des systèmes auto-* (Fas * W), 2017 IEEE 2e ateliers internationaux sept. 2017.
- Emna Hachicha, Karn Yongsiriwit, Mohamed Sellami. Allocation de ressources cloud configurable basée sur génétique dans le développement de processus métier de QoS-Aware. Informations et technologies logicielles: 23e Conférence internationale, ICIST 2017, Druskininkai, Lituanie. Web Services (ICWS), 2017 IEEE International Conference, juin 2017.
- Abraão G. Nazário, Fábio ra Silva, Raimundo Teive, Leonardo Villa, Antônio Flávio, João Zico, Eire Fragoso, Ederson F. Souza. Automação Domótica simulada utilizando algoritmo genético especializado na redução do Conso-de Energia. Computer on the Beach 2017 pp. 180-189, mars 2017.
- Bandaru, S. et Deb, K. Techniques métaheuristiques. Sciences de décision. CRC Press, pp. 693-750, nov. 2016.
- Lyazid Toumi, Abdelouahab Moussaoui et Ahmet Ugur. EMED-PART: Une méthodologie efficace pour le partitionnement horizontal dans les entrepôts de données. Actes de la Conférence internationale sur le traitement intelligent de l'information, la sécurité et la communication avancée. Djallel Eddine Boubiche, Faouzi Hidoussi et Homero Toral Cruz (éd.). ACM, New York, NY, États-Unis, article 43, 7 pages, 2015.
- Andreas Holzinger (éditeur), IGO Jurisica (éditeur). Découverte des connaissances interactives et exploration de données dans l'informatique biomédicale. Notes de cours dans l'informatique, vol. 8401. Springer, 2014.
- Lyazid Toumi, Abdelouahab Moussaoui, Ahmet Ugur. Optimisation de l'essaim de particules pour le problème de sélection des index de jointure bitmap dans les entrepôts de données. The Journal of Supercomputing, Volume 68, numéro 2, pp 672-708, mai 2014.
- Tang Yi (Guangzhou Power Supply Bureau Limited, Guangzhou 511400, Chine) sur l'algorithme d'optimisation de l'allocation réactive orientée vers l'objet pour les réseaux de distribution , octobre 2012.
- John M. Linebarger, Richard J. Detry, Robert J. Glass, Walter E. Beyeler, Arlo L. Ames, Patrick D. Finley, S. Louise Maffitt. Systèmes adaptatifs complexes de l'environnement d'ingénierie des systèmes Version 1.0. Rapport de sable, février 2012.
Notes de version
8.1.0
Améliorations
- # 822: Améliorez le script de construction pour générer Javadoc combiné.
- # 898: Ajoutez une prise en charge des données de lecture des fichiers ou des chaînes CSV. Cela simplifie le code des problèmes de régression.
static List < Sample < Double >> parseDoubles ( final CharSequence csv ) {
return CsvSupport . parseDoubles ( csv ). stream ()
. map ( Sample :: ofDouble )
. toList ();
}
- # 904: Passez à Gradle 8.10 et nettoyage des scripts de construction.
- # 907: Ajoutez un chapitre dans le manuel de l'utilisateur pour les stratégies d'optimisation: Jénétiques pratiques .
- # 909: Méthodes d'assistance pour convertir les tableaux primitifs.
final Codec < int [], DoubleGene > codec = Codecs
. ofVector ( DoubleRange . of ( 0 , 100 ), 100 )
. map ( Conversions :: doubleToIntArray );
Insectes
- # 419: Correction des tests statistiques feuilletés.
8.0.0
Améliorations
- Java 21 est utilisé pour construire et utiliser la bibliothèque.
- # 878: Autorisez les passages virtuels évaluant la fonction de fitness. Doit être activé lors de la création d'un
Engine
(voir l'extrait de code ci-dessous), le comportement précédent a été conservé.
final Engine < DoubleGene , Double > engine = Engine . builder ( ff )
. fitnessExecutor ( BatchExecutor . ofVirtualThreads ())
. build ();
- # 880: Remplacez les exemples de code dans Javadoc par JEP 413.
- # 886: Améliorez le tri de
CharStore
. - # 894: Nouveaux opérateurs génétiques:
ShiftMutator
, ShuffleMutator
et UniformOrderBasedCrossover
. - # 895: Améliorez la sélection par défaut de
RandomGenerator
. Le RandomGenerator
utilisé est sélectionné dans l'ordre suivant:- Vérifiez si le paramètre de démarrage
io.jenetics.util.defaultRandomGenerator
est défini. Si c'est le cas, prenez ce générateur. - Vérifiez si le générateur
L64X256MixRandom
est disponible. Si c'est le cas, prenez ce générateur. - Trouvez le meilleur générateur aléatoire disponible en fonction de la valeur
RandomGeneratorFactory.stateBits()
. - Utilisez le générateur
Random
si aucun meilleur générateur ne peut être trouvé. Ce générateur est garanti d'être disponible sur chaque plate-forme.
Toutes les notes de libération
Licence
La bibliothèque est sous licence Apache, version 2.0.
Copyright 2007-2024 Franz Wilhelmstötter
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Logiciels d'occasion