Evolver 4.0
Evolver 4.0
Introdução ao Uso da FerramentaEvolver 4.0
Evolver 4.0
-
-
Palisade CorpPalisade Corp.. ● Otimizador Genético Add-in para o Excel● Emprega modelo tradicional de GA
● Permite especificar:
–
– Operadores GenéticosOperadores Genéticos –
– Método de Solução (representação, manipulação)Método de Solução (representação, manipulação) –
– Parâmetros (população, taxas, condição parada, Parâmetros (população, taxas, condição parada, etcetc)) –
– Visualização de resultados (Visualização de resultados (Evolver Evolver WatcherWatcher))
● Inclui Examplesde aplicações e Tutorial
Características do Modelo de
Características do Modelo de
Genético
Genético
● Inspirado no Handbook of GA (L. Davis)
● Reprodução Steady State
● Uniform Crossover
● Rank Based Selection (Normalização Linear)
● Outros Operadores Genéticos e Heurísticos
● Retrições: Range, Range, SoftSoft, , HardHard
● Problemas: MinimumMinimum, , MaximumMaximum, , ClosestClosest__ValueValue ToTo
● 6 Solving Methods
Interface com Excel
Interface com Excel
● Células Excel podem ser:
–
– Ajustáveis :Ajustáveis : •
• conjunto de variáveis (genes), representando uma conjunto de variáveis (genes), representando uma
solução do problem a (cromossom a), cujos conteúdos
solução do problem a (cromossom a), cujos conteúdos
serão m anipulados e alterados.
serão m anipulados e alterados.
–
– Função de Avaliação:Função de Avaliação: •
• função (Excel) que calcula a avaliação numérica dos função (Excel) que calcula a avaliação numérica dos
crom ossom as.
crom ossom as.
● Diretórios: DtoolsDtools
Visualização de Resultados
Visualização de Resultados
● Evolver Watcher
–
– ferramenta ferramenta standstand--alone alone com várias funçõescom várias funções
● Evolver Log
–
– arquivo com resultados para relatório, comparação arquivo com resultados para relatório, comparação e dados para a
e dados para arere--execução do GAexecução do GA
● Status Bar
–
– bestbest, valores originais, , valores originais, recalcsrecalcs(total de cálculos do (total de cálculos do modelo) e
modelo) e trialstrials(soluções válidas) e tempo(soluções válidas) e tempo
● Células Ajustáveis
–
– valor das variáveis e avaliações (todos ou valor das variáveis e avaliações (todos ou bestbest))
Evolver
Evolver
Watcher
Watcher
● Progress Graph
–
– bestbeste média da população correntee média da população corrente ● Population Settings
–
– aj uste de taxas deaj uste de taxas decrossovercrossovere mutaçãoe mutação ● Population Bar Graph
–
– distribuição dos organismos da populaçãodistribuição dos organismos da população ● Population Report
–
– resumo da ev oluçãoresumo da ev olução ● Color Table
–
– div ersidade da populaçãodiv ersidade da população ● Population Chart
–
Solving Methods
Solving Methods
● Define modelo do GA: representação e
operadores tratam variáveis de modo diferente
● M étodos principais:
–
– Recipe Solving MethodRecipe Solving Method –
– Order Solving MethodOrder Solving Method –
– Grouping Solving MethodGrouping Solving Method
● M étodos originados a partir dos principais:
–
– Budget Solving MethodBudget Solving Method –
– Project Solving MethodProject Solving Method –
– Schedule Solving MethodSchedule Solving Method
Recipe Solving method
Recipe Solving method
● M étodo “Receita de Bolo” onde as variáveis podem ser ajustadas independentementeajustadas independentemente
umas das outras.
● Restrição apenas do domínio: (mín, máx) Valores
Valores Outros Possíveis Outros Possíveis Originais
Order Solving Method
Order Solving Method
● Busca a melhor maneira de ordenar os itensordenar os itens
de uma lista.
● Valores dos itens devem ser definidos nas células Excel ajustáveis, antes da execução.
Valores
Valores Outros Possíveis Outros Possíveis Originais
Originais ValoresValores 23.472 23.472 145145 65,66465,664 145 145 23.47223.472 99 9 9 65,66465,664 145145 65,664 65,664 99 23.47223.472
Grouping Solving Method
Grouping Solving Method
● Usado em problemas que envolvem múltiplas variáveis para serem arranjadas em gruposarranjadas em grupos.
● # grupos = # valores diferentes nas células
Agrupar 80 investimentos em 5 carteiras de modo que Agrupar 80 investimentos em 5 carteiras de modo que
o valor das carteiras seja o mais próximo possível. o valor das carteiras seja o mais próximo possível.
Budget Solving Method
Budget Solving Method
● Similar ao Recipe com a restrição de que a soma das variáveis deve se manter constante
soma das variáveis deve se manter constante. Encontrar a melhor maneira de distribuir o orçamento Encontrar a melhor maneira de distribuir o orçamento
anual entre departamentos: anual entre departamentos: Valores
Valores Outros Possíveis Outros Possíveis Originais
Originais ValoresValores 200 200 93.193.1 223.5223.5 3.5 3.5 3030 00 10 10 100100 --6767 10 10 0.40.4 6767
A soma permanece constante e igual a 223.5.
A soma permanece constante e igual a 223.5.
Project Solving Method
Project Solving Method
● Similar ao Order , exceto que certos itens (tarefas) devem atender a restrições de restrições de
precedência.
precedência.
Encontrar a menor rota entre cidades, garantindo que Encontrar a menor rota entre cidades, garantindo que
certas cidades são visitadas antes de outras. certas cidades são visitadas antes de outras.
Tow n & Tow n ID x y Orde r to V
1 A lex ander 10 42 1 23 2 A mb ro se 12 58 2 34 3 A shley 50 17 3 40 4 Bea ch 6 30 4 29 5 Belden 22 46 5 10 6 Bismarck 37 28 6 25 7 Bott ineau 40 55 7 24 8 Bow man 11 19 8 17 total: 52365,00
North Dakota Tow n Lo cations
Schedule Solving Method
Schedule Solving Method
● M étodo similar a Grouping, onde tarefas com a mesma duração são escalonadas em escalonadas em n time n time
blocks
blocks (unidades tempo)(unidades tempo)
● Restrições: 11(with), 22(not with), 33(before), 44(at),
5
5(not after), 66(not before), 77(not at), 88(after).
Tarefa
Tarefa Restrição Tarefa/Time Restrição Tarefa/Time BlockBlock
5
5 44 2 5 deve ocorrer no time 2 5 deve ocorrer no time block block 2 2 12
12 22 88
2
2 33 11
7
7 11 5 7,5 devem ocorre no mesmo 5 7,5 devem ocorre no mesmo blockblock 6
6 22 4 6 não deve ocorrer com 44 6 não deve ocorrer com 4 9
9 33 11
Restrições
Restrições
● Problemas podem envolver restrições nos valores das variáveis ou no resultado para se encontrar uma solução viável.
● Soluções viáveis podem ser difíceis de se encontrar: problemas complexos ou sobre-especificados (restrições conflitantes).
● 3 tipos de restrições nos valores das células:
–
– Range :Range :domínio (domínio (mínmín,,máxmáx) dos valores das variáveis.) dos valores das variáveis. –
– HardHard:: devem sempre ser satisfeitas (devem sempre ser satisfeitas (recalcrecalc x x trialtrial).). –
– SoftSoft:: desejáveis, mas podem ser relaxadas num desejáveis, mas podem ser relaxadas num compromisso por maior aptidão.
Funções
Funções
Penalty
Penalty
● Restrições Soft podem ser criadas através de funções que penalizam soluções inválidas.
● Função Penalty: PenaltyPenalty= f (desvio_do_objetivo)= f (desvio_do_objetivo)
● Se restrição Soft não foi atendida: Avaliação (cromossoma)= Avaliação
Avaliação (cromossoma)= Avaliação -- Penalty Penalty (se (se máxmáx))
Avaliação (cromossoma)= Avaliação +
Avaliação (cromossoma)= Avaliação + Penalty Penalty (se (se mínmín))
● M étodo Budget contém função penalty intrínseca para manter a soma das variáveis constante.
Exemplo
Exemplo
● Investidores desejam minimizar o risco e maximizar o retorno de investimentos.
● Suponha as seguintes escalas:
–
– Risco entre [0, 1]Risco entre [0, 1] –
– Retorno entre [0,5] Retorno entre [0,5]
● Se ambos igualmente importantes:
–
– target celltarget cell= = returnreturn--((riskrisk* 5)* 5)
● Se buscamos investimentos com risco < 0,3:
–
– IfIf((riskrisk>.3,>.3,--1,0) ; */ IF(1,0) ; */ IF(conditioncondition,,thenTruethenTrue,, elseFalseelseFalse)) ➨ ➨ ➨ ➨ ➨ ➨ ➨
➨target celltarget cell= = returnreturn--((riskrisk* 5) * 5) --1, se 1, se riskrisk>>>>>>>>0,30,3 ➨ ➨ ➨ ➨ ➨ ➨ ➨
Operadores
Operadores
● Crossover Uniforme ● Mutação ● ® Linear Operators ● ® Boundary M utation ● ® Cauchy M utation ● ® Non-uniform Mutation ● ® Arithmetic Crossover ● ® Heuristic CrossoverPara o conjunto de operadores selecionado, Evolver Para o conjunto de operadores selecionado, Evolver
apresenta o desempenho de cada um no
apresenta o desempenho de cada um no loglogfile. file.
Operadores
Operadores
● ® LinearLinearOperatorsOperators- Designed to solve problems where the optimal solution lies on the boundary of the search space defined by the constraints. This mutation and crossover operator pair is well suited for solving linear optimization problems.
● ® Boundary MutationBoundary Mutation- Designed to quickly optimize variables that affect the result in a monotonic fashion and can be set to the extremes of their range without violating constraints.
● ® Cauchy MutationCauchy Mutation- Designed to produce small changes in variables most of the time, but can occasionally generate large changes.
● ® NonNon--uniform Mutationuniform Mutation - Produces smaller and smaller mutations as more trials are calculated. This allows Evolver to "fine tune" answers.
● ® Arithmetic CrossoverArithmetic Crossover- Creates new offspring by arithmetically combining the two parents (as opposed to swapping genes).
Exemplos do Evolver
Exemplos do Evolver
● Adv ertising 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 S
● Radio Tow er 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