sisee genetic algorithms pl

59
SISEE Genetic Algorithms MEE Thursday, May 19, 2011

Upload: mileny-ximenes

Post on 28-Apr-2015

19 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: SISEE Genetic Algorithms PL

SISEEGenetic Algorithms

MEE

Thursday, May 19, 2011

Page 2: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE Algoritmos Genéticos

2

Os Algoritmos Genéticos trabalham com populações de soluções que são combinadas para obter novas soluções, e assim sucessivamente até obter uma solução satisfatória.

Thursday, May 19, 2011

Page 3: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE

45

Analogia entre a evolução natural e os algoritmos genéticos

Analogia com a NaturezaAnalogia com a NaturezaAnalogia com a Natureza

Evolução Natural ⇔ Algoritmos Genéticos

Indivíduo — Solução

Genótipo (cromossomas) — Representação da Solução

Reprodução Sexual — Operador de Recombinação (p.ex. cruzamento)

Mutação — Operador Mutação

População — Conjunto de Soluções

Gerações — Ciclos

Thursday, May 19, 2011

Page 4: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE Algoritmos Genéticos

4

Thursday, May 19, 2011

Page 5: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE Parâmetros dos AG

5

• Tamanho da população• Taxa de cruzamento• Taxa de mutação• Taxa de substituição• Critérios de paragem

Thursday, May 19, 2011

Page 6: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE Parâmetros dos AG

6

Tamanho da População

• Determina • a qualidade da solução• o tempo de processamento

• Considera-se geralmente o tamanho da população estável

Thursday, May 19, 2011

Page 7: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE Parâmetros dos AG

7

Taxa de Cruzamento

• Define a probabilidade de dois indivíduos serem cruzados para gerar descendência

• Controla a renovação da população • Valor típico: 20 - 30%

Thursday, May 19, 2011

Page 8: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE Parâmetros dos AG

8

Taxa de Mutação

• Mutação permite gerar indivíduos com melhores características

• Permite fugir de máximos/mínimos locais do problema

• Valor típico: 1%

Thursday, May 19, 2011

Page 9: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE Parâmetros dos AG

9

Taxa de Substituição

• Define percentagem da população a substituir entre gerações

• Valores elevados -> excessiva renovação

• Valores baixos -> estagnação

Thursday, May 19, 2011

Page 10: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE Parâmetros dos AG

10

Critérios de Paragem

• Encontrar uma solução com um valor de aptidão (“fitness”) pré-definido

• Atingir um determinado limite temporal

• Atingir um determinado número de gerações

Thursday, May 19, 2011

Page 11: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE Avaliação e Aptidão

11

• A aptidão (“fitness”) dum indivíduo é calculada usando uma função de avaliação.

• Esta função é específica de cada problema.• Retorna um valor numérico que traduz o

mérito da solução.• O seu cálculo deve ser simples já que se

aplica a todos os elementos da população para cada geração.

Thursday, May 19, 2011

Page 12: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE Selecção

12

• Escolha de N indivíduos para posterior reprodução

• Métodos determinísticos seleccionam com base na aptidão dos indivíduos• Arriscam-se a convergir em mínimos locais• Processo custoso em populações grandes

• Métodos estocásticos introduzem grau de aleatoriedade.• Garantem que um certo número de soluções

menos aptas são escolhidas

Thursday, May 19, 2011

Page 13: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE Operadores

•Operadores de Cruzamento

•Operadores de Mutação

13

Thursday, May 19, 2011

Page 14: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE Operadores de Cruzamento

14

• Principal operador dos AG• Combina material genético de dois

progenitores previamente seleccionados• Cromossomas representados por sequências

• operador • escolhe aleatoriamente 1 ou 2 pontos de corte• aplica uma máscara das posições a trocar• mistura partes resultantes dos 2 progenitores

• Nem sempre os descendentes são viáveis

Thursday, May 19, 2011

Page 15: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE

47

Operações de Cruzamento

Dois Exemplos do operador de cruzamento

Thursday, May 19, 2011

Page 16: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE Operadores de Mutação

16

• Trazem de volta à população genes perdidos na selecção

• Fornecem novos genes que não pertenciam à população original

• A mutação pode ocorrer em 1 ou mais genes, trocando o gene existente por outro gene viável.

Thursday, May 19, 2011

Page 17: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE

48

Operador de Mutação

Exemplo de Mutação

Thursday, May 19, 2011

Page 18: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE

46

Esqueleto típico de um algoritmo genético

Gerar P0

t ← 0Avalia Pt

enquanto ! Condição final Pt faz P’t ← Selecciona Pt

P’’t ← Aplica operadores de re-combinação P’t P’’’t ← Aplica operadores de mutação P’’t Avalia P’’’t Pt+1 ← Selecciona Sobreviventes de Pt e de P’’’t t ← t + 1Fimretorna Melhor Solução Global

iteraçãoPopulação de soluções potenciais

População inicial

Avaliar e seleccionar os mais aptos

Gera

r nov

os in

divídu

os

Avaliar a sua aptidão

nova iteração

Thursday, May 19, 2011

Page 19: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE

49

Problema - Exemplo

• Considere o problema de sequenciamento de 5 tarefas numa única máquina.

• Para cada tarefa j (j=1, …, 5), seja pj o tempo de processamento, dj a data de entrega e wj a penalização (por unidade de tempo) no caso da tarefa j se atrasar.

• O objectivo é minimizar a soma pesada dos atrasos ΣwjTj. (T - atrasos)

Tempos de processamento:p1=2p2=4p3=1p4=3p5=3

Datas de entrega d1=5d2=7d3=11d4=9d5=8

Thursday, May 19, 2011

Page 20: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE

50

Problema Exemplo (cont)

Para visualizar uma sequência é muitas vezes utilizado um diagrama de Gantt, onde as linhas estão associadas às tarefas e as colunas aos períodos de tempo. Para a sequência de tarefas [3,1,2,5,4] obtém-se o calendário representado a seguir.

Duraçãop1=2p2=4p3=1p4=3p5=3

Datas d1=5d2=7d3=11d4=9d5=8

Thursday, May 19, 2011

Page 21: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE

51

Problema - Exemplo (cont)

1. Supondo o seguinte par de indivíduos, são seleccionados 2 pontos de cruzamento (4º e 7º). 2. Os genes situados entre os dois pontos de cruzamento, inclusive, são copiados para os seus descendentes, sendo as restantes posições preenchidas por um caracter H.

Método de Recombinação usado

A=123456789 A’=HHH4567HHB=452187693 B’=HHH1876HH

Thursday, May 19, 2011

Page 22: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE Problema - Exemplo (cont)

22

3. De seguida, e começando no segundo ponto de cruzamento do progenitor B define-se uma nova ordem para os genes:

[9 3 4 5 2 1 8 7 6]

4. Depois de remover os genes 4, 5, 6 e 7 já definidos no filho A’, ficamos com os genes [9 3 2 1 8]. As posições em A’ com H serão preenchidas pela sequência anterior começando pelo segundo ponto de cruzamento:

Método de Recombinação usado (cont.)

A’=218456793

B era 452187693

Thursday, May 19, 2011

Page 23: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE Problema - Exemplo (cont)

23

5. Da mesma forma para gerar o segundo descendente B’, define-se uma nova sequência a partir de A:

[8 9 1 2 3 4 5 6 7].

6. Eliminando os genes já definidos em B’, obtém-se a sequência: [9 2 3 4 5]. A seguir substitui-se nas lacunas (H) de B’ a sequência obtida, começando no 2º ponto de cruzamento obtendo-se o descendente B’.

Método de Recombinação usado (cont.)

B’=345187692

A era 123456789

Thursday, May 19, 2011

Page 24: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE Problema - Exemplo (cont)

24

A=123456789 A’=218456793->

B=452187693 B’=345187692

• No operador de cruzamento com manutenção de ordem (Order Crossover) os genes a substituir de um dos progenitores aparecerão na ordem em que estão no outro progenitor.

• Os outros operadores com pontos de corte poderão produzir sequências não viáveis quando aplicados a este tipo de problemas (tarefas repetidas por exemplo)

Thursday, May 19, 2011

Page 25: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE Operador de Cruzamento Uniforme

• Permite usar mais pontos de corte• Gera aleatoriamente as posições dos genes a

trocar, usando uma máscara binária com a dimensão dos cromossomas

• Na máscara, 1 implica a troca do gene nessa posição e 0 o contrário.

25

P1 = 10110010 P2 = 11010110M = 01110110

D1 = 11010110D2 = 10110010

Progenitores

Máscara aleatória

Descendentes

Thursday, May 19, 2011

Page 26: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE Local & global minima

26

Genetic Algorithms use a set of starting points (the population) and iteratively generates better points from the population. As long as the initial population covers several basins, G.A. can examine several basins.

Thursday, May 19, 2011

Page 27: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE Exemplos de Aplicação

27

Máximo de uma função

• Considerar a função f(x)= x2 (x inteiro e no intervalo [0,63]. • O objectivo será maximizar o valor da função.• Codificação das soluções por uma string com 6 dígitos

binários.• Quadro que nos dá os elementos da população e o valor

da função de avaliação (igual a f(x)):

Factor de avaliação médio da população = 488.75

Thursday, May 19, 2011

Page 28: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE Exemplo - Máximo de uma função

28

Admita-se que:• o cruzamento se dá sempre entre os elementos 1

e 2, originando os elementos 5 e 6, e entre os elementos 3 e 4, originado os elementos 7 e 8.

• é usado um cruzamento uniforme, com máscara 101010.

• a selecção é feita com elitismo puro - os 4 elementos com maiores valores de f(x) são seleccionados e serão os novos elementos 1, 2, 3 e 4 da geração seguinte.

• se aparecerem elementos repetidos serão eliminados.

Thursday, May 19, 2011

Page 29: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE Exemplo - Máximo de uma função

29

Elemento nº População pós Cruzamento

Solução x f(x)

1 100101 37 13692 001001 9 813 010011 19 3614 001100 12 144

5 (cr. 1-2) 001101 13 1696 (cr. 1-2) 100001 33 10897 (cr. 3-4) 011001 25 6258 (cr. 3-4) 000110 6 36

Resultado após o 1º cruzamento:

101010Máscara Selecção

Thursday, May 19, 2011

Page 30: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE Exemplo - Máximo de uma função

30

Foram seleccionados os elementos 1, 3, 6 e 7 que passam a constituir a nova geração:

Thursday, May 19, 2011

Page 31: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE Exemplo - Máximo de uma função

31

Repetindo o ciclo de cruzamento, obtem-se:Elemento nº População pós

CruzamentoSolução x f(x)

1 100101 37 13692 010011 19 3613 100001 33 10894 011001 25 625

5 (cr. 1-2) 000111 7 496 (cr. 1-2) 110001 49 24017 (cr. 3-4) 011001 9 818 (cr. 3-4) 110001 49 2401

101010Máscara SelecçãoRepetidos

Thursday, May 19, 2011

Page 32: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE Exemplo - Máximo de uma função

32

Foram seleccionados os elementos 1, 3, 4 e 6 que passam a consituir a nova geração:

Thursday, May 19, 2011

Page 33: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE Exemplo - Máximo de uma função

• Após 2 ciclos de cruzamento • o factor de avaliação médio da população subiu

de 488,75 para 1371.• o melhor elemento passou de um factor de

aptidão de 1369 para 2401• Será que convergiremos rapidamente para a

solução óptima?• Podemos já garantir que esta não será

encontrada por cruzamento de genes. Porquê?

33

Conclusões:

Thursday, May 19, 2011

Page 34: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE Exemplo - Máximo de uma função

34

Conclusões:

Bit 5

Por muitas recombinações que se façam, nunca o bit 5 poderá ter o valor 1. A solução óptima (111111) é inatingível apenas por cruzamento. Mutações!

Thursday, May 19, 2011

Page 35: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE Exemplo - Máximo de uma função

• Pouca diversidade pode levar à estagnação• Os elementos 1 e 2 têm 5 genes idênticos• Os elementos 3 e 4 têm 4 genes idênticos

• Os seus descendentes acabarão por ter cromossomas iguais aos seus progenitores

• Sem uma mutação favorável não será possível melhorar a solução.

35

Conclusões:

Thursday, May 19, 2011

Page 36: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE Exemplo - Sequenciamento de tarefas

36

• Considere-se o sequenciamento de 9 tarefas {1,2,3,4,5,6,7,8,9} numa máquina.

• As tarefas impares são executadas por uma ferramenta fi e as tarefas pares são executadas com uma ferramenta fp.

• O objectivo é minimizar o número de trocas de ferramentas.

Thursday, May 19, 2011

Page 37: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE Exemplo - Sequenciamento de tarefas

37

• A codificação será feita por uma sequência de 9 dígitos

• A função de avaliação procurará minimizar o número de trocas de ferramentas (o nº de passagens de par para ímpar e vice-versa),

• Escolher-se-ão os elementos da população com menor valor dessa função.

• Aconselha-se a utilização de um operador de cruzamento com manutenção de ordem, pois os outros operadores originariam soluções não viáveis (com tarefas repetidas e com tarefas ausentes).

Thursday, May 19, 2011

Page 38: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE Exemplo - Sequenciamento de tarefas

38

Suponhamos a seguinte população inicial:

Aplique-se o operador de cruzamento com manutenção de ordem e 2 pontos de corte (entre o 2º e 3º genes e entre o 6º e 7º genes).

Thursday, May 19, 2011

Page 39: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE Exemplo - Sequenciamento de tarefas

39

Após o cruzamento obteremos:

Thursday, May 19, 2011

Page 40: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE Exemplo - Sequenciamento de tarefas

40

Por selecção elitista, obteremos:

• Obtivemos um elemento melhor que o melhor da geração anterior (nº3)

• A média das funções de avaliação diminuiu• Nunca chegaremos à solução óptima só por

cruzamento. Porquê?

Thursday, May 19, 2011

Page 41: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE MATLAB - A função ga

41

Chamar a função ga a partir da linha de comando:

Sintaxe:[x fval] = ga(@fitnessfun, nvars, options)

em quefitnessfun - função objectivo ou de fitnessnvars - nº das suas variáveis independentes options - estrutura especificando as opções (opcional)

Resultados:x - ponto em que o resultado é atingidofval - valor final da função de fitness

Thursday, May 19, 2011

Page 42: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE A função ga

42

Em que situações usar a função ga a partir da linha de comando?

• Quando se pretende retornar os resultados directamente na zona de trabalho (workspace) do MATLAB;

• Quando se quer correr o algoritmo genético repetidas vezes com diferentes opções, chamando-o a partir de uma M-file.

Thursday, May 19, 2011

Page 43: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE A função ga

43

>> [x fval] = ga(@rastriginsfcn, 2)

Exemplo:

Resultado:

x = 0.0027 -0.0052

fval = 0.0068

Thursday, May 19, 2011

Page 44: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE A função ga a partir duma M-file

44

É possível usar a linha de comando para correr várias vezes um AG com diferentes opções, usando uma M-file.

options = gaoptimset('Generations',300);strm = RandStream('mt19937ar','Seed',6525);RandStream.setDefaultStream(strm);record=[];for n=0:.05:1 options = gaoptimset(options,'CrossoverFraction', n); [x fval]=ga(@rastriginsfcn, 10,[],[],[],[],[],[],[],options); record = [record; fval];end

A taxa de Crossover (Crossover fraction / Reproduction options) especifica a % da população, exceptuando os descendentes de elite, que é composta por descendentes de crossover.

Thursday, May 19, 2011

Page 45: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE A função ga a partir duma M-file

45

plot(0:.05:1, record);xlabel('Crossover Fraction');ylabel('fval')

Thursday, May 19, 2011

Page 46: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE Matlab - Optimization Tool

46

Thursday, May 19, 2011

Page 47: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE Matlab - Optimization Tool

47

Thursday, May 19, 2011

Page 48: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE Escrita de funções a optimizar

• Criar uma M-file que calcule a função a optimizar

• A M-file deve aceitar um vector, cujo comprimento é o nº de variáveis independentes

48

Thursday, May 19, 2011

Page 49: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE Escrita de funções a optimizar

49

Exemplo

function z = my_fun(x)z = x(1)^2 - 2*x(1)*x(2) + 6*x(1) + x(2)^2 - 6*x(2);

Função a minimizar:

A M-file deverá aceitar um vector x de comprimento 2, correspondendo às variáveis x1 e x2.

Passos:1. Seleccionar File/New2. Seleccionar M-File3. Introduzir na M-file o seguinte código:

4. Salvar a M-file no directório do MATLAB

Thursday, May 19, 2011

Page 50: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE Escrita de funções a optimizar

50

Exemplo de invocação da função:

>> my_fun([2 3])

ans =

-5

Thursday, May 19, 2011

Page 51: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE Maximização e minimização

• As funções de optimização do toolbox de AG minimizam as funções objectivo ou de fitness.

• Ou seja, resolvem problemas do tipo

• Se quisermos operar uma maximização basta minimizarmos -f(x).

51

Thursday, May 19, 2011

Page 52: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE Exemplo

52

Achar o mínimo da função de Rastringin

Mínimo local

Máximo local

Mínimoglobal [0,0]

Mínimoglobal

Thursday, May 19, 2011

Page 53: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE Exemplo

1. >> optimtool(‘ga’)

2. Na Optimization Tool• No campo Fitness Function introduzir:

@rastriginsfcn• No campo Number of variables introduzir: 2

3. Clicar em Start na área Run solver and view results

53

Thursday, May 19, 2011

Page 54: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE Exemplo

54

Resultados:

Motivo da paragem do algoritmo

Valor final da função de

fitness

Valores das variáveis independentes que corrspondem ao valor final da função de fitness

Thursday, May 19, 2011

Page 55: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE Exemplo

55

Obtenção de gráficos

Thursday, May 19, 2011

Page 56: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE Exercício 1

56

1.Criar uma M-file com o seu código

2.Achar o seu mínimo usando AG

Thursday, May 19, 2011

Page 57: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE Exercício 1

57

function y = simple_objective(x) y = (4 - 2.1*x(1)^2 + x(1)^4/3)*x(1)^2 + x(1)*x(2) + ... (-4 + 4*x(2)^2)*x(2)^2

M-file:

Resultado:

Thursday, May 19, 2011

Page 58: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE Exercício 2

58

No Help do MATLABabrir as secções > Global Optimization Toolbox

> Demos> Genetic Algorithm e

> Global Optimization Toolbox> User’s Guide

> Using the Genetic Algorithm > GA examples

Estudem e experimentem com os exemplos:• Example - Global versus local minima Selection• Population diversity• Reproduction options• Mutation and Crossover• ...

Thursday, May 19, 2011

Page 59: SISEE Genetic Algorithms PL

ISEP-DEI, © 2007 Carlos Ramos, © 2010 António Silva

SISEE Exemplo - mínimos globais e locais

59

Em Global Optimization toolbox User Manual, pags. 5.72-76

Objectivo: encontrar o mínimo global da função

Thursday, May 19, 2011