2010-11-05 25 views
1

J'ai une liste de pistes (pistes de chemin de fer de modèle) avec une longueur différente, par exemple: TrackA sur 3.0cm, TrackB sur 5.0cm, TrackC sur 6.5cm, TrackD sur 10.5cmTrouver le bon/meilleure combinaison de piste pour une distance donnée, en utilisant un algorithme génétique

Ensuite, je veux savoir quel type de piste je devrais mettre ensemble pour aller du point A au point B avec une distance et une marge données. Et je devrais également être en mesure de prioriser l'utilisation du type de piste.

Exemple; La distance du point A à B est de 1,7 m, et j'ai beaucoup de TrackC et peu de TrackB. Et je vais permettre une marge sur +/- 0.5cm à la distance.

Quel genre de pistes dois-je utiliser, et combien de chaque piste, et combien de combinaison ai-je, triés après la piste où j'ai le plus de.

J'ai Google après une aide C# en utilisant l'algorithme génétique, mais je suis perdu, comment je peux mettre en œuvre cela dans une bonne méthode.

S'il vous plaît aider ..

+0

Essayez de demander cela sur http://cstheory.stackexchange.com. –

Répondre

0

Voici comment vous le faites. Je suppose que vous êtes familier avec la base G.A. concepts:

Chaque individu dans la population se composent de diverses «longueurs de piste».

Le ensemble primitif serait donc un ensemble de constantes correspondant aux longueurs dont vous disposez par exemple de l'avant {3, 4, 5}

Le remise en forme de chaque individu est donc dit la somme d'erreur totale. Ou plus simplement: dites que votre piste est censée mesurer 1 mètre de long. Si un individu a exactement 1 mètre de long, il n'y a pas d'erreur et la forme physique est 0. Si un autre individu a une longueur de 0,5 m, son aptitude est de 0,5. Donc, le plus bas sera le mieux.


donc votre algorithme va comme:

  1. Construct une population (peut-être au hasard, mais il y a d'autres techniques pour l'initialisation telles que Ramped demi-et-moitié, pleine etc ... les consulter) .
  2. Évaluer l'aptitude de chaque individu. Si certains ont une certaine forme physique dans une certaine marge, vous avez terminé.
  3. Else avance d'une génération par croisement/reproduction/mutation.
  4. Aller # 2