For those who had read my first question, I think I found where the problem is. The problem is in the mutate method and especially in this instruction:
Chromosom ch=new Chromosom(); // Chromosom is a class who use hash table  
Chromosom k= new Chromosom(); // Class chromosom extends  hashmap <integer,parc>
k.initialise(); 
for(int i=0;i<l.size();i++) ch.put(i,k.get(i)); // in this instruction i think
And this is the constructor of Chromosom:
public Chromosom(){   // construct a blank chromosom
    super();
    this.identifiant = 0;
    NbEquipeExterne = 0;
    NbEquipeInterne = 0;
    CoutMinimal = 0;
    CoutMensuel = 0;
}
When I change the values of ch, the values of k change too?
How can I pass the k's values to ch  by copy and not by reference?
 
     
     
    