Optimisation combinatoire

gilmourish Messages postés 2 Date d'inscription mardi 13 avril 2010 Statut Membre Dernière intervention 19 avril 2010 - 17 avril 2010 à 15:50
tlaloctzin Messages postés 136 Date d'inscription mercredi 21 juin 2006 Statut Membre Dernière intervention 12 septembre 2013 - 19 avril 2010 à 08:56
concernant un conception d'un algorithme génétique il y'a quelqu'un qui peut m'aider? je veux la génération aléatoire d'une population de n individus,un individu est une suite de nœud(objet) contenant 3 paramètres
****classe individu*****:
ublic class individu {
Vector T;
static Vector indiv;
int n;

public individu(Vector T,Random r )
{

this.T=T;
indiv=new Vector();
n=T.size();
Vector index=new Vector();
for(int i=0;i<n;i++)
{
int a;
Integer ind;
do{
a=(int)(r.nextFloat()*n);
if(a==n+1)ind=new Integer(n);
else ind=new Integer(a);
}while(index.indexOf(ind)!=-1 );
index.addElement(ind);
indiv.addElement(T.elementAt(ind.intValue()));
}
}
}
****classe population*****
public class population {
int n;
Vector pop;
Random r;
public population(int n,Vector T)//Cré une Population de n individu aléatoirement
{
this.n=n;
r=new Random();
pop=new Vector();
for(int i=0;i<n;i++)
{
pop.addElement((new individu(T,r)));
System.out.println( pop.elementAt(i));
}
}
} j'ai obtenu une résultat sous la forme de:
ndividuc.individu@119298d
ndividuc.individu@f72617
ndividuc.individu@1e5e2c3
ndividuc.individu@18a992f
ndividuc.individu@4f1d0d
...
...
alors que je veux 10 individus et n'importe quelle representaion de l'individu.

3 réponses

tlaloctzin Messages postés 136 Date d'inscription mercredi 21 juin 2006 Statut Membre Dernière intervention 12 septembre 2013 3
18 avril 2010 à 22:04
Tout dabord bonjour ca fais pas de mal....
Ensuite

pop.elementAt(i);


Ca retourne une instance de classe et pas un objet dont tu peux extirper les proprietes , puis tu parles d'optimisation , ton code est difficilement lisible quand tu cherches un element dedans c est chaud de se souvenir pourquoi tu le cherches quand tu l'as trouvé....

Et pour finir qu'entends tu par "n'importe quelle representaion de l'individu. " ?


Il vaut mieu être riche et en bonne santé que pauvre et malade .
0
gilmourish Messages postés 2 Date d'inscription mardi 13 avril 2010 Statut Membre Dernière intervention 19 avril 2010
19 avril 2010 à 00:46
bonsoir
alors je décris mon problème,c'est l'optimisation d'un problème de transport multimodale avec un algorithme génétique distribué.
une solution(individu) est représentée sous forme de succession de nœuds que j'ai les mis dans un vecteur (noueud1->noeud2->noeud3->...)en fait c'est un itinéraire en tenant compte que chaque nœud comporte 3 attributs (numéro,temps,cout)
*constructeur nœud: public nœud( int numéro,int temps,int cout).
*une population est un ensemble d'individu représente sous forme de vecteur,
constructeur population(Vector t,int n)\\ n est le nombre d'individu
mon problème qu'après un test(indiv.LastElement())le vecteur est vide
la représentation que je veux par exemple***
**la population est**
1,2,3,6,7
1,5,4,6,7
....
....
ahh j'ai oublié voila la classe noeud
public class noeud {

int nbr;
int temps;
int cout;
public noeud(int nbr,int temps,int cout)

{
this.nbr=nbr;
this.temps=temps;
this.cout=cout;

} public int getnbr ()
{

return nbr;}
public int gettemps()
{

return temps;}
public int getcout()
{
return cout;}

}
mon problème
merci d'avance pour m'avoir aider.
0
tlaloctzin Messages postés 136 Date d'inscription mercredi 21 juin 2006 Statut Membre Dernière intervention 12 septembre 2013 3
19 avril 2010 à 08:56
Salut ,
le fait que tu aies

ndividuc.individu@119298d
ndividuc.individu@f72617
ndividuc.individu@1e5e2c3
ndividuc.individu@18a992f
ndividuc.individu@4f1d0d

indique que tin vecteur n'est pas vide ,essayes
System.out.println(pop.elementAt(i).getnbr());


Il vaut mieu être riche et en bonne santé que pauvre et malade .
0
Rejoignez-nous