Algoritmos Genéticos - Condição de Terminação
A condição de término de um Algoritmo Genético é importante para determinar quando uma execução de GA terminará. Foi observado que, inicialmente, o GA progride muito rápido com melhores soluções surgindo a cada poucas iterações, mas isso tende a saturar nos estágios posteriores, onde as melhorias são muito pequenas. Normalmente queremos uma condição de término de modo que nossa solução esteja próxima do ótimo, no final da execução.
Normalmente, mantemos uma das seguintes condições de rescisão -
- Quando não houve melhora na população para X iterações.
- Quando atingimos um número absoluto de gerações.
- Quando o valor da função objetivo atingiu um determinado valor pré-definido.
Por exemplo, em um algoritmo genético, mantemos um contador que registra as gerações para as quais não houve melhoria na população. Inicialmente, definimos esse contador como zero. Cada vez que não geramos descendentes melhores do que os indivíduos da população, incrementamos o contador.
No entanto, se a aptidão de qualquer uma das molas descendentes for melhor, então zeramos o contador. O algoritmo termina quando o contador atinge um valor predeterminado.
Como outros parâmetros de um GA, a condição de terminação também é altamente específica para o problema e o projetista do GA deve tentar várias opções para ver o que melhor se adapta ao seu problema específico.