Provas Datas: – P1 : 18/09/2014 – P2: 18/11/2014 – Exame : 09/12/2014
LIDANDO COM RESTRIÇOES
Manipulando Restrições Mantendo a população factível usando representação e operadores específicos. – Por exemplo, os operadores para o problema do caixeiro viajante. Funções de Penalização Métodos de Reparação.
Método da Penalização Problema geral de programação não linear. O método da penalização converte um problema com restrições em um problema sem restrições.
função de penalização Uma função de penalização define o quão a solução x viola a restrição j. (i.e., o quão distante o cromossomo infactível está da região factível).
Criando as funções de penalização
Método da Penalização Agora o problema não possui restrições: Onde ri são constantes denominadas fatores da penalização.
Exemplos Problema original Problema transformado
Métodos de Reparação Usa métodos que transformam uma solução infactível em uma factível (i.e., “repara a solução”); Em geral, a solução “reparada” é próxima da solução factível.
Exemplo: No problema da mochila, algumas soluções podem ultrapassar a capacidade da mochila. Reparação: retire objetos da mochila até a solução tornar-se factível.
Representação do PCV As cidades são representadas diretamente no cromossomo.
Mutação 1
Mutação 2
Mutação 3
Mutação 4 Escolher e misturar
Crossover
Order 1 Colocar 1,4,9,3,7 8,9,1,2,3
Order-Based Crossover (OBX) Elementos são selecionadas aleatoriamente. É imposta uma ordem nos elementos selecionadas do pai1 igual a ordem dos respectivos elementos em pai2.
Position-Based Crossover (PBX) Elementos são selecionadas aleatoriamente e a posição dos elementos selecionadas no pai2 é imposto ao pai1.
PMX Realiza trocas no sentido de pai1 para pai2 e depois no sentido inverso, isto é, de pai2 para pai1, para evitar cromossomos inválidos.
Vetores de Valores Reais Mapear para codificação binaria Usar cruzamento e mutação especiais
Open Source code 3/tools.html 3/tools.html C++ Java Python
Relatório Problema da mochila, 10, 50, 100 (arquivo b, w, c=sum(w)/2) Tamanho da população ? Taxa de Mutação Ótima? Taxa de Cruzamento ? Como escala o tempo Tomar decisões em base a 10 rodadas