Evolver 4.0 Introdução ao Uso da Ferramenta Prof. Marco Aurélio C. Pacheco
Evolver 4.0 - Palisade Corp. Otimizador Genético Add-in para o Excel Permite especificar: Operadores Genéticos Método de Solução (representação, manipulação) Parâmetros (população, taxas, condição parada, etc) Visualização de resultados (Evolver Watcher) Inclui Examples de aplicações e Tutorial Versão trial (10 dias ou 100 runs) pode ser obtida no site www.palisade.com
Características dos Modelos Genéticos do Evolver Reprodução Steady State Uniform Crossover Normalização Linear (Rank Based Selection ) Outros Operadores Genéticos e Heurísticos Retrições: Range, Soft, Hard Problemas: Minimum, Maximum, Closest_Value To 6 Métodos de Solução (Solving Methods)
Interface com Excel Células do Excel podem ser: Diretórios: Dtools Ajustáveis (cromossoma): conjunto de variáveis (genes), representando uma solução do problema (cromossoma), cujos conteúdos serão manipulados e alterados pelo Evolver. Função de Avaliação: função (Excel) que calcula a avaliação numérica dos cromossomas. Diretórios: Dtools Evolve32 Examples System
Definem: representação e operadores Solving Methods Definem: representação e operadores Métodos principais: Recipe Solving Method Order Solving Method Grouping Solving Method Métodos originados a partir dos principais: Budget Solving Method Project Solving Method Schedule Solving Method
Recipe Solving method Método “Receita de Bolo” onde as variáveis podem ser ajustadas independentemente umas das outras. Restrição apenas do domínio: (mín, máx) Cromossoma Outros Cromossomas Possíveis Original 23.472 15.344 37.452 145 101 190 9 32.44 7.073 65,664 14,021 93,572
Order Solving Method Busca a melhor maneira de ordenar os itens de uma lista. Valores dos itens devem ser definidos nas células Excel ajustáveis, antes da execução. Cromossoma Outros Possíveis Cromossomas Original
Grouping Solving Method Usado em problemas que envolvem múltiplas variáveis para serem arranjadas em grupos. # grupos = # símbolos diferentes co cromossoma EX: Agrupar 80 investimentos em 5 carteiras de modo que o valor das carteiras seja o mais próximo possível. Investimentos
A soma permanece constante e igual a 223.5. Budget Solving Method Similar ao Recipe com a restrição de que a soma das variáveis deve se manter constante. Encontrar a melhor maneira de distribuir o orçamento anual entre departamentos: Cromossoma Outros Possíveis Cromossomas Original A soma permanece constante e igual a 223.5.
Project Solving Method Similar ao Order , exceto que certos itens (tarefas) devem atender a restrições de precedência. Encontrar a menor rota entre cidades, garantindo que certas cidades são visitadas antes de outras.
Schedule Solving Method Similar a Grouping, onde tarefas com a mesma duração são escalonadas em n time blocks Restrições: 1(with), 2(not with), 3(before), 4(at), 5(not after), 6(not before), 7(not at), 8(after). Tarefa Restrição Tarefa/Time Block 5 4 2 5 deve ocorrer no time block 2 12 2 8 2 3 1 7 1 5 7,5 devem ocorre no mesmo block 6 2 4 6 não deve ocorrer com 4 9 3 1
Restrições Problemas podem envolver restrições nos valores das variáveis ou no resultado para se encontrar uma solução viável. Há 3 tipos de restrições nos valores das células: Range: domínio (mín,máx) dos valores das variáveis. Hard: devem sempre ser satisfeitas (recalc x trial). Soft: desejáveis mas podem ser relaxadas num compromisso por maior aptidão.
Penalty = f (desvio_do_objetivo) Funções Penalty Restrições Soft podem ser criadas através de funções que penalizam soluções inválidas. Função Penalty: Penalty = f (desvio_do_objetivo) Se restrição Soft não foi atendida: Avaliação (cromossoma)= Avaliação - Penalty (se máx) Avaliação (cromossoma)= Avaliação + Penalty (se mín) Método Budget contém função penalty intrínseca para manter a soma das variáveis constante.
Exemplo Investidores desejam minimizar o risco e maximizar o retorno de investimentos. Suponha as seguintes escalas: Risco entre [0, 1] Retorno entre [0,5] Se ambos igualmente importantes: target cell= return - (risk * 5) Se buscamos investimentos com risco < 0,3: If(risk>.3,-1,0) ; */ IF(condition, thenTrue, elseFalse) target cell= return - (risk * 5) - 1, se risk 0,3 target cell= return - (risk * 5) , se risk 0,3
Operadores Crossover Uniforme Mutação Linear Operators Boundary Mutation Cauchy Mutation Non-uniform Mutation Arithmetic Crossover Heuristic Crossover Para o conjunto de operadores selecionado, Evolver apresenta o desempenho de cada um no log file.
Visualização de Resultados Evolver Watcher ferramenta stand-alone com várias funções Evolver Log arquivo com resultados para relatório, comparação e dados para a re-execução do GA Status Bar best, valores originais, recalcs (total de cálculos do modelo) e trials (soluções válidas) e tempo Células Ajustáveis valor das variáveis e avaliações (todos ou best)
Evolver Watcher Progress Graph best e média da população corrente Population Settings ajuste de taxas de crossover e mutação Population Bar Graph distribuição dos organismos da população (avaliação) Population Report resumo da evolução Color Table diversidade da população (convergência) Population Chart valores dos cromossomas e aptidões
Exemplos do Evolver Advertising Selection B Alphabetize R Assignment of Tasks O Bakery R Budget Allocation B Chemical Equilibrium R Class Scheduler S Code Segmenter G Dakota: Routing With P Constraints Job Shop Scheduling O Radio Tower Location R Portfolio Balancing G Portfolio Mix B Power Stations R Purchasing R Salesman Problem O Space Navigator R Trader R Transformer R Transportation R Recipe, Budget, Order, Grouping, Project, Schedule