next up previous
Next: Funzione di fitness Up: Soluzione con algoritmi genetici Previous: Base dell'algoritmo

Popolazione iniziale

Tipicamente la popolazione iniziale viene scelta campionando casualmente lo spazio delle soluzioni possibili. In questo modo si assicura, a condizione che la popolazione sia sufficientemente ampia, che gran parte dei possibili schemi possano venir valutati.

La scelta della dimensione della popolazione iniziale è stata fatta sulla base della dimensione dello spazio delle soluzioni. Si è scelto di non appesantire l'algoritmo fin dall'inizio, preferendo uno spazio di lavoro agile, riservandosi la possibilità di aggiungere possibili soluzioni con l'operatore di mutazione.

Nelle prime iterazioni dell'algoritmo è stata adottata la scelta tradizionale della popolazione costruita con campionamento casuale. è apparso subito evidente che questo approccio male si adatta a risolvere il problema. Infatti via via l'algoritmo deve scartare soluzioni angolari che non pongono in uscita i valori di DGD e SOPMD richiesti.

Si è scelto di costruire una popolazione iniziale con un algoritmo genetico costruito ad hoc, che chiameremo algoritmo genetico di base. L'algoritmo di base costruisce la sua popolazione di base estraendo dal workspace una famiglia sufficientemente ampia di angoli corrispondenti ai DGD e SOPMD richiesti. Dalla famiglia di base viene estratta la popolazione di base con campionamento casuale, in questo modo si garantisce che tutte le soluzioni siano rappresentate.

Costruita la popolazione di base, l'algoritmo genetico di base è stato fatto evolvere per un limitato numero di generazioni.

Anche la funzione di fitness dell'algoritmo genetico di base è stata costruita ad hoc in quanto l'obiettivo dell'iterazione di base è soltanto quella di costruire una adatta popolazione di base. In questo caso infatti si richiede solamente che siano rappresentati tutti i possibili angoli il cui DGD e SOPMD appartengano a un opportuno intorno di quelli richiesti. A questo livello si richiede solamente che tali angoli abbiano DGD e SOPMD quanto più prossimi a quelli richiesti.

Come accennnato l'algoritmo di base evolve per un limitato numero di generazioni, in modo da non far convergere troppo la popolazione, e di interpolare opportunamente i DGD nel caso in cui il numero di angoli estratti dal workspace sia insufficiente a costituire la popolazione di base. Inoltre in questo modo si permette di utilizzare un workspace sufficientemente lasco.

L'algortitmo di base viene fatto evolvere per un numero fissato di volte, estraendo per ciascuna iterazione il valore più performante. Si può ritenere pertanto che la popolazione di base così costruita sia rappresentativa di tutte le migliori soluzioni possibili dal punto di vista della precisione rispetto ai valori richiesti di DGD e SOPMD.


next up previous
Next: Funzione di fitness Up: Soluzione con algoritmi genetici Previous: Base dell'algoritmo
Leonardo Sabaini 2003-08-16