Algorithme génétique_Codage

IAG2IDG
Messages postés
7
Date d'inscription
lundi 9 mars 2015
Statut
Membre
Dernière intervention
22 avril 2015
- Modifié par BunoCS le 23/03/2015 à 09:24
BunoCS
Messages postés
15277
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
26 juillet 2022
- 23 mars 2015 à 09:34
Bonjour
S'il vous plaît je suis débutante en java j'ai besoin d'aide.
je suis entrain de programmer un algorithme génétique pour un projet d'ordonnancement.
S'il vous plaît ,au niveau de codage, je dois générer aléatoirement un individu d'une population de taille 10 ,Mais les valeurs générer doivent être par exemple entre 1 et 5.
exemple d'individu (sous forme de tableau):
1 1 2 3 2 4 5 1 3
j'ai débuter par ce code :
public class Individual {
 
    static int defaultGeneLength = 10;
    private final int[] genes = new int[defaultGeneLength];
    // Create a random sequence of job for individual
    public void generateSequenceJobIndividu() {
        for (int i = 0; i < size(); i++) {
            int  gene = (int) Math.round(Math.random());
            genes[i] = gene;
        }
    }
  public static void setDefaultGeneLength(int length) {
        defaultGeneLength = length;
    }
 
    public byte getGene(int index) {
        return genes[index];
    }
 
    public void setGene(int index, byte value) {
        genes[index] = value;
        competence = 0;
    }
 
    /* Public methods */
    public int size() {
        return genes.length;
    }
 @Override
    public String toString() {
        String geneString = "";
        for (int i = 0; i < size(); i++) {
            geneString += getGene(i);
        }
        return geneString;
    }
}


Merci d'avance

1 réponse

BunoCS
Messages postés
15277
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
26 juillet 2022
103
23 mars 2015 à 09:34
Bonjour,

Déjà, merci d'utiliser les balises code pour gagner en lisibilité. Plus d'infos ici
Ensuite, c'est bien de poser des questions...mais lire la doc, c'est bien aussi... Math.ramdom() te retourne un nombre entre 0 et 1...
0