ags para otimização multiobjetivo
TRANSCRIPT
![Page 1: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/1.jpg)
Derick Eduardo Dias Rosa
Orientador: Claudomiro Sales
Universidade Federal do Pará - UFPA
Laboratório de Eletromagnetismo Aplicado - LEA
Programa de Iniciação Científica
![Page 2: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/2.jpg)
Introdução
Conceitos básicos
Soluções Pareto-Ótimas e Metas em Otimização Multiobjetivo
Técnicas Tradicionais para MOOP
Algoritmos Evolutivos para Otimização Multiobjetivo
Algoritmos Genéticos
Métricas de Desempenho de MOEAs
Conclusões
![Page 3: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/3.jpg)
Muitos problemas do mundo real possuem múltiplos
objetivos a serem atingidos.
Esse objetivos são, na maioria das vezes, conflitantes entre si.
Problema de Otimização Multiobjetivo (MOOP, do inglês
Multi-Objective Optimization Problem)
![Page 4: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/4.jpg)
Exemplos:
Uma empresa tem que:
– minimizar taxa de acidentes;
– minimizar os custos.
Outra empresa tem que:
– maximizar o lucro;
– minimizar a taxa de poluição.
![Page 5: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/5.jpg)
MOOP
– Procurar um vetor de variáveis de decisão que satisfaz certas
restrições e otimiza um vetor cujos elementos são funções objetivos.
– Espaço de buscar maior.
– Noção de solução ótima ampliada para vários objetivos
Maximizar/Minimizar: 𝑓1 𝑥 , 𝑓2 𝑥 , . . . , 𝑓𝑛(𝑥)
Descrição matemática de
critérios de performance
![Page 6: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/6.jpg)
Formalmente:
Funções Objetivo
Restrições
![Page 7: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/7.jpg)
Mapeamento x -> f(x)
Para cada solução x no
espaço de decisão,
existe um f(x) no espaço
de objetivos.
![Page 8: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/8.jpg)
Exemplo que ilustra o preço e o desempenho de várias opções (1–5) de compra de computadores.
Existe então um “compromisso” entre os
objetivos. Quanto maior a performance, maior o
preço do computador e vice-versa.
![Page 9: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/9.jpg)
Em um MOOP há dois possíveis tipos de soluções:
1. Soluções que, quando comparadas às demais, apresentam pior desempenho sob todos os objetivos simultaneamente considerados.
2. Soluções que, quando comparadas às demais, são melhores em um ou mais objetivos.
• Não é reflexiva.
• Não é simétrica.
• É transitiva.
Dominância
Dadas duas soluções x e y, diz-se que x domina y se as seguintes condições
são satisfeitas: A solução x é pelo menos igual a y em todas funções;
A solução x é superior a y em pelo menos uma função objetivo.
![Page 10: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/10.jpg)
Todas as soluções não dominadas do espaço de busca S formam o conjunto Pareto-ótimo.
Um conjunto de soluções para um MOOP, pode ser dividido em conjunto de soluções dominadas e não-dominadas empregando o operador de dominância.
![Page 11: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/11.jpg)
Dado um conjunto Pareto-ótimo P, a fronteira de Pareto é definida como:
![Page 12: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/12.jpg)
Dois conjuntos Pareto-ótimos que são não-dominados localmente, mostrando a sua vizinhança no seu espaço de objetivos e no espaço de variáveis (à direita):
Da mesma forma que o conjunto Pareto ótimo, podem existir fronteiras de Pareto locais.
![Page 13: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/13.jpg)
Preservar as soluções não dominadas
encontradas ao longo da busca;
Progredir continuamente em direção à
Fronteira de Pareto;
Manter a diversidadede de soluções tanto
no espaço de objetivos (fronteira de
Pareto) quanto no espaço de variáveis;
Realizar as metas anteriores com a maior
eficiência computacional possível.
![Page 14: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/14.jpg)
Otimização com simples objetivo.
– Uma única solução.
– Trabalham unicamente no espaço de variáveis
Otimização com múltiplos objetivos.
– Múltiplas soluções.
– Trabalha com dois espaços (das variáveis e dos
objetivos)
– Preservar a diversidade na fronteira de Pareto
– Nenhuma delas é melhor do que as demais com
respeito a todos os objetivos.
![Page 15: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/15.jpg)
Somatório de Pesos (Weighted Sum)
– Soma ponderada das funções objetivos
– Pode-se mostrar que a solução do problema na Equação pertence ao conjunto
Pareto-ótimo se os pesos são positivos para todos os objetivos. – Se um MOOP é convexo, qualquer solução Pareto-ótima pode ser encontrada
usando o método de somatório dos pesos
![Page 16: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/16.jpg)
Somatório de Pesos (Weighted Sum)
– Dado que F é uma combinação linear dos
objetivos, obtém-se uma linha reta.
– Encontrar o mínimo valor da equação é
equivalente a achar uma linha de
contorno com um valor mínimo para F.
![Page 17: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/17.jpg)
Somatório de Pesos (Weighted Sum)
Desvantagens:
– Dificuldade de encontrar pesos adequados.
– Não podem encontrar múltiplas soluções em uma
única rodada.
– A aplicação de vetores de pesos uniformemente distribuídos não garante um conjunto de soluções uniformemente distribuídas.
– No caso de um MOOP não convexo, este método não é capaz de determinar todas as soluções.
![Page 18: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/18.jpg)
Método de restrições (Constraint)
– Considera-se qualquer objetivo, mantendo-se restritos os demais objetivos com valores definidos pelo usuário.
– Onde cada ‘Ԑm’ definida pelo usuário representa um limite máximo para o valor de fm.
![Page 19: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/19.jpg)
Método de restrições
(Constraint)
– Escolhe-se f2 para ser
minimizado e mantém-se f1 (f1
≤ ε1).
– O mínimo para f2 depende da
escolha do Ԑ.
– O vetor Ԑ deve estar em uma região factível para cada objetivo.
![Page 20: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/20.jpg)
Método de restrições (Constraint)
Desvantagens
– Resolve o problema do método do Somatório dos Pesos para
MOOP não convexos.
– Necessita que a escolha do vetor ε esteja em uma região factível
para cada objetivo.
– O uso de uma distribuição uniforme de ε não garante um conjunto
de soluções com a mesma distribuição.
– Várias iterações para determinar a fronteira de Pareto.
![Page 21: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/21.jpg)
Programação de Metas (Goal Programming)
– Para cada objetivo é escolhido pelo usuário um valor meta z. Então, o
problema é formulado para encontrar uma solução cujo valor em f seja igual a
z:
– Cada meta é convertida em uma restrição de igualdade.
– Minimizar todos os desvios em relação as metas.
![Page 22: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/22.jpg)
Programação de metas com pesos
– Formula-se uma função somando os desvios para cada um dos Nobj objetivos.
– αm e βm são os pesos dos desvios positivo e negativo para o j-ésimo objetivo
– zm é a meta para a função fm e Sfact é o espaço de decisão factível.
![Page 23: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/23.jpg)
Programação de metas com pesos
– As soluções obtidas por este método dependem consideravelmente da escolha dos valores para αm e βm.
– Possui dificuldades similares ao método do somatório dos pesos
![Page 24: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/24.jpg)
Programação de metas lexicográficas
– Metas são organizadas em vários níveis de prioridade.
– Resolvem-se sequencialmente vários problemas de programação de metas.
Espaço de objetivos para as funções f1 e f2.
![Page 25: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/25.jpg)
Programação de Metas Min-Max
– Minimiza-se o máximo desvio em relação às metas.
– Onde δ é o desvio máximo para qualquer meta.
– φm e ηm são os desvios positivos e negativos para cada objetivo.
– αm e βm representam os pesos para cada desvio.
– Requer também a escolha dos pesos αm e βm .
![Page 26: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/26.jpg)
Vantagens
– Provas de convergências que garantem encontrar soluções Pareto-ótimas.
– Possuem aplicações nos mais diferentes campos de engenharia e de outras
ciências.
Desvantagens
– A escolha dos parâmetros adicionais introduzidos por cada técnica afeta
diretamente os resultados obtidos.
– Para encontrar N soluções Pareto-ótimas, tem- se que solucionar no mínimo N
problemas de objetivos simples .
– Alguns métodos não garantem achar soluções ao longo de toda a Fronteira de
Pareto.
![Page 27: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/27.jpg)
Características Básicas
– São flexíveis, de fácil implementação e têm a capacidade de encontrar
soluções de boa qualidade em problemas complexos.
– Trabalha com várias soluções simultaneamente usando o conceito de
dominância de Pareto.
– Não introduzem informações adicionais no problema.
– Possibilita escapar de ótimos locais.
– Um conjunto diversificado de soluções pode ser encontrado apenas em
uma execução do MOEA.
![Page 28: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/28.jpg)
Os modelos de MOEA são comumente classificados em dois tipos:
– Não elitistas:
• Não utilizam alguma forma de elitismo nas suas iterações;
– Elitista:
• Alguns modelos usam uma população externa na qual são mantidas as
soluções não dominadas encontradas até aquele momento de sua execução;
• Outros métodos como NSGA-II (Non-Dominated Sorting Genetic Algorithm-II )
combinam a população atual com a população posterior para preservar ambas
as soluções.
– O elitismo melhora as soluções encontradas por um modelo MOEA.
![Page 29: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/29.jpg)
“Quanto melhor um indivíduo se adaptar ao seu meio ambiente, maior será sua chance
de sobreviver e gerar descendentes.”
(DARWIN, 1859)
![Page 30: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/30.jpg)
Introdução
– Mecanismos de busca baseados nos processos de seleção natural da luta
pela vida e da genética de populações.
– Dada uma população inicial de soluções, esta evolui até convergir para
uma solução, por meio da aplicação de operadores genéticos de seleção,
cruzamento e mutação.
– Permitem ainda que estes sejam acoplados a qualquer outro método
matemático que auxilie no processo de busca.
![Page 31: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/31.jpg)
Ideia básica
– Começar com um conjunto de soluções (representado por cromossomos)
chamado população
– Soluções de uma população são escolhidas e usadas para formar uma
nova população (reprodução)
– Espera-se que a nova população seja “melhor” que a anterior.
– Soluções que são escolhidas para formar novas soluções (descendentes)
são escolhidas de acordo com uma função de adaptação (função objetiva
– custo)
– O processo é repetido até que uma condição seja satisfeita
![Page 32: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/32.jpg)
Indivíduo (simples membro da população).
Cromossomo e Genoma:
Coleção de genes
Estrutura de dados que codifica a solução de uma problema.
Genótipo
Na biologia, representa a composição genética do organismo. Nos AGs, representa a informação contida no cromossomo.
![Page 33: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/33.jpg)
Fenótipo:
Objeto ou estrutura construída a partir das informações do genótipo.
É o cromossomo decodificado.
Exemplo: se o cromossomo codifica as dimensões de um edifício, então o fenótipo é o edifício construído.
Gene:
Codifica um simples parâmetro do problema
Alelos:
Valores que o gene pode assumir.
Ex.: um gene representando a cor de um objeto pode ter alelos como azul, preto, verde etc...
![Page 34: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/34.jpg)
O critério de parada é alcançado
quando:
Um número de gerações
previamente definido é alcançado;
Quando uma solução
suficientemente boa é encontrada
ou;
Quando o sistema não consegue
mais evoluir.
![Page 35: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/35.jpg)
Algoritmos Genéticos - Capítulo 10 35
Representação cromossomial é fundamental para um algoritmo genético;
– É a maneira básica de traduzir a informação do nosso problema em uma maneira viável de tratamento pelo computador ;
– É completamente arbitrária;
– Maioria dos pesquisadores usa representação binária pois ela é a mais simples e tem sido a mais freqüentemente usada
![Page 36: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/36.jpg)
Algoritmos Genéticos - Capítulo 10 36
Representação cromossomial
![Page 37: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/37.jpg)
Representação Binária
– Tem-se indivíduos (genótipos) de uma população. Estes indivíduos
também são chamados de cromossomos.
– A mais simples e comumente utilizada é a representação binária
![Page 38: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/38.jpg)
Algoritmos Genéticos - Capítulo 10 38
Representação binária
– Simples de criar e manipular
– Produz bons resultados
– Facilita aplicações de operadores
– Fácil decodificação numérica ( inteiro,real )
– Facilita a demonstração de teoremas
– Porém, nem sempre é adequada
![Page 39: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/39.jpg)
Algoritmos Genéticos - Capítulo 10 39
Representação binária tem dificuldades com múltiplas dimensões de
variáveis contínuas, especialmente quando uma grande precisão é requerida.
– Grande número de bits será necessário para atingir tal precisão;
– Cromossomos se tornarão extremamente grandes, dificultando a operação do GA;
– Há uma discretização inerente nos valores reais quando cromossomos binários são usados;
• Podemos ignorá-la quando usamos bits suficientes;
• Esta quantidade pode fazer com que nossos cromossomos se tornem grandes demais;
![Page 40: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/40.jpg)
Representação Contínua
Para otimização de parâmetros contínuos a representação binária não é adequada – Muitos bits para obter boa precisão numérica
Parâmetros numéricos podem ser codificados diretamente nos cromossomos – Ex.: S1 = 0,637197
Deve-se implementar operadores genéticos de cruzamento e mutação adequados à essa representação.
![Page 41: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/41.jpg)
0,2
0,4
0,6
0,8
1,0
0,0
-100 -75 -50 -25 0 25 50 10075
f x yx y
x y( , ) ,
sen ,
, ,
0 5
0 5
10 0 001
2 22
2 22
FUNÇÃO OBJETIVO :
Exemplo extraído de Davis (1991)
![Page 42: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/42.jpg)
Cromossomo Binário:
Cromossomo Real: (-17,85; 11,04)
Representação do ponto x = -17,85 e y = 11,04
01101001001001101000001000111000100001110010
0110100100100110100000 1000111000100001110010
1722784 2328690
-17,85 11,04
x y
![Page 43: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/43.jpg)
As vantagens da codificação real em relação à codificação binária:
– A possibilidade de trabalhar com grandes domínios para as variáveis;
– A capacidade de explorar a “gradualidade” da funções com variáveis
contínuas.;
– A capacidade de ajuste local das soluções;
– A representação das soluções é muito próxima da formulação natural de
muitos problemas, ou seja, não há diferença entre o genótipo
(codificação) e o fenótipo ( espaço de busca) ; e
– Os processos de codificação/decodificação, necessários nos alfabetos
binários, são evitados, aumentando a velocidade dos AG ’s.
![Page 44: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/44.jpg)
Parâmetros Genéticos
– Tamanho da população • Número de cromossomos da população.
– Taxa de cruzamento • Rapidez com que novas estruturas são introduzidas na
população.
– Taxa de mutação • Determinar a probabilidade de ocorrer mutação.
– Intervalo de geração • Percentagem da população a ser substituída na geração
seguinte.
![Page 45: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/45.jpg)
Função de Avaliação – Também chamada de função de custo
– Calcula um valor numérico que reflete quão bons os parâmetros representados no cromossomo resolvem o problema.
– Usa todos os valores armazenados no cromossomo (os parâmetros) e retorna um valor numérico, cujo significado é uma métrica da qualidade da solução obtida usando-se aqueles parâmetros.
– A função de avaliação deve ser tal que se o cromossomo c1 representa uma solução melhor do que o cromossomo c2, então a avaliação de c1 deve ser maior do que a avaliação de c2.
![Page 46: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/46.jpg)
Operadores genéticos
– Seleção Natural
– Manipulação Genética por Mutação
– Manipulação Genética por Reprodução
![Page 47: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/47.jpg)
Operadores genéticos (a) (b)
Pai 1
Pai 2
Selecionamos um
ponto de corte
Pai 1
Pai 2
Depois do
operador de
crossover
Filho 1
Filho 2
Depois do
operador de mutação
Filho 1
Filho 2 Gen alterado
pela mutação
(c) (d)
![Page 48: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/48.jpg)
Seleção
– O método de seleção de pais deve simular o mecanismo de seleção natural:
• Pais mais capazes geram mais filhos;
• Pais menos aptos também podem gerar descendentes.
– Temos que privilegiar os indivíduos com função de avaliação alta, sem desprezar completamente aqueles indivíduos com função de avaliação extremamente baixa;
– Até indivíduos com péssima avaliação podem ter características genéticas que sejam favoráveis à criação de um indivíduo ótimo;
– Estas características podem não estar presentes em nenhum outro cromossomo.
![Page 49: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/49.jpg)
Seleção por Torneio – Utiliza sucessivas disputas para realizar a seleção.
– Para selecionar k indivíduos, realiza k disputas, cada disputa envolvendo n indivíduos escolhidos ao acaso.
– O indivíduo de maior aptidão na disputa é selecionado.
– Não é proporcional a aptidão.
![Page 50: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/50.jpg)
Os indivíduos são selecionados para os torneios com igual probabilidade.
O torneio é vencido pelo indivíduo com maior aptidão
![Page 51: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/51.jpg)
• Aumentando o tamanho k do torneio acarreta: • Aumento da pressão de seleção.
• Risco de convergência prematura.
• Por isso, o torneio binário é o mais utilizado.
![Page 52: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/52.jpg)
Seleção por torneio com probabilidades
(Reduz ainda mais a pressão de seleção)
O melhor indivíduo do torneio é selecionado com probabilidade p >
0,5
O segundo melhor é selecionado com probabilidade p(1-p)
O terceiro é selecionado com probabilidade p(1-p)2
e assim por diante...
![Page 53: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/53.jpg)
Operadores Genéticos
– A etapa de seleção, gera uma população intermediária de potenciais cromossomos pais.
– Na nova geração, escolhe-se aleatoriamente dois pais para aplicação de operadores genéticos (crossover e mutação).
– Produção de filhos é feita até completar o tamanho da população desejada.
![Page 54: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/54.jpg)
Cruzamento – Também chamado de reprodução ou crossover
– Combina as informações genéticas de dois indivíduos (pais) para gerar novos indivíduos (filhos)
– Versões mais comuns criam sempre dois filhos para cada operação
![Page 55: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/55.jpg)
Crossover´s convencionais
n-Pontos, uniforme
Não criam novas informações (i.e. novos números reais).
Crossover´s aritméticos
Operadores que realizam operações aritméticas entre os parâmetros.
Baseados da direção (usam derivadas)
![Page 56: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/56.jpg)
Cruzamento – Consiste em gerar dois cromossomos filhos (c1 e c2) a partir de dois
cromossomos pais (p1 e p2), usando a expressão: • Pais: ⟨x1,…,xn ⟩ e ⟨y1,…,yn⟩
• Filho1 é:
– O inverso para o outro filho com α = 0.5
![Page 57: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/57.jpg)
0 1 1 0 0 0 1
0 1 0 0 0 0 1
Operador de Mutação – Operador randômico de manipulação
– Introduz e mantém a variedade genética da população
– Garante a possibilidade de se alcançar qualquer ponto do espaço de busca
– Contorna mínimos locais
![Page 58: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/58.jpg)
Substitui o gene por um número aleatório de uma distribuição gaussiana.
onde N(pi,) é uma distribuição normal com média pi e desvio padrão .
Pode-se diminuir o valor de , à medida que aumenta a número de gerações (imitando a redução de temperatura no Recozimento Simulado).
contrário caso
se ),,(
i
i
ip
jipNc
![Page 59: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/59.jpg)
Espaço de busca
* - Representação de um indivíduo
![Page 60: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/60.jpg)
Elitismo:
– Mantém as melhores soluções encontradas previamente
nas gerações seguintes.
– A melhor solução não se deteriora nas gerações seguintes.
• Copiar diretamente as n% das soluções da população atual à
população seguinte.
• Criar a população seguinte a partir da população atual usando os
operadores genéticos usuais, e escolher as melhores N soluções de
ambas populações.
![Page 61: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/61.jpg)
Niching:
– Métodos de nichos (niching) estendem os algoritmos evolutivos para
domínios nos quais é requerida a identificação e manutenção de
múltiplas soluções.
– Os métodos de niching podem ser divididos em dois grandes grupos:
• O método sharing funciona através da redução do fitness de cada
indivíduo da população por uma quantidade proporcional a quantidade
de indivíduos similares.
• O método de crowding insere novos indivíduos na população
substituindo indivíduos similares.
![Page 62: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/62.jpg)
Passos para Implementar um Algoritmo Genético:
1. Definir uma representação a ser utilizada para indivíduo de maneira
que uma solução completa possa ser representada por ele;
2. Definir as estratégias de substituição, seleção, cruzamento e
mutação;
3. Definir a função de aptidão;
4. Ajustar os seguintes parâmetros: tamanho da população,
probabilidade de cruzamento,
5. Probabilidade da mutação e número de gerações.
![Page 63: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/63.jpg)
Diferenças entre os Algoritmos Genéticos e os Métodos de Otimização Tradicionais :
– Os AGs trabalham com uma população de soluções em cada iteração
ao invés de uma única solução.
– Os AG s não precisam de informação adicional a não ser o valor de aptidão
das soluções.
– Os AGs empregam regras probabilísticas para guiar a sua busca.
![Page 64: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/64.jpg)
Modelos de MOEAs
– 1° implementação de um MOEA foi proposta por Schaffer em 1985.
– Schaffer modificou os AGs para avaliar cada objetivo separadamente,
foi denominado VEGA (Vector Evaluated Genetic Algorithm).
– Goldberg [Goldberg, 1989] criou um procedimento para ordenação de
soluções baseado no conceito de dominância e um método de
compartilhamento .
– Com base nas ideias inicias propostas por Goldberg foram propostas
vários modelos de MOEAs.
![Page 65: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/65.jpg)
Diferentes Modelos MOEAs
![Page 66: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/66.jpg)
– O algoritmo MOGA [Fonseca e
Fleming, 1993] foi o prime iro a dar
ênfase ao conceito de dominância e
à diversidade das soluções.
– A cada solução é associado um valor
de ranking que é igual ao número de
soluções ni que a dominam mais um.
MOGA (Multi-Objective Genetic Algorithm)
![Page 67: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/67.jpg)
– Distribuir as soluções sob diferentes
regiões ou nichos no espaço de busca.
– Para cada solução i é calculado um valor
de contador de nicho nci.
– Soluções que residem em um nicho
menos ocupado terão melhor aptidão de
compartilhamento.
Compartilhamento de Aptidão no MOGA
![Page 68: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/68.jpg)
Compartilhamento de Aptidão no MOGA
![Page 69: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/69.jpg)
MOGA: Vantagens e Desvantagens
![Page 70: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/70.jpg)
MOGA: Vantagens e Desvantagens
– Simplicidade no cálculo do valor de aptidão.
– Tem desempenho melhor quando comparados com outros algoritmos não elitistas e é fácil de implementar.
– O valor ‘ri’ não fornece os mesmos valores para soluções que se
encontram na mesma frente, exceto a primeira.
– Sensível à forma da Fronteira de Pareto e à densidade das soluções no
espaço de busca [Deb, 2001].
– O cálculo do compartilhamento não garante que as soluções com valor
‘ri’ alto terão uma pior aptidão que soluções com ‘ri’ baixo.
![Page 71: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/71.jpg)
NPGA (Niched Pareto Genetic Algorithm)
– Proposto por Horn e colaboradores [Horn e t al., 1994], é um algoritmo genético
geracional com sobreposição.
– Utiliza um método de seleção por torneio denominado de Torneio de Pareto, baseado
no conceito de dominância.
– Duas soluções i e j são escolhidas aleatoriamente da população P. Estas soluções são comparadas com um subconjunto T de P de tamanho tdom < |P|.
1. Se a solução i domina o subconjunto T e a solução j é dominada por algum elemento de T, a solução i é a vencedora.
2. Caso contrário, se acontecer de ambas soluções dominarem T, ou que ao menos uma solução em T domine i e j, calcula-se o contador de nicho para escolher a solução vencedora.
![Page 72: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/72.jpg)
NPGA (Niched Pareto Genetic Algorithm)
![Page 73: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/73.jpg)
![Page 74: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/74.jpg)
NPGA: Vantagens e Desvantagens
– Não precisa de um método para calcular o valor de aptidão das soluções.
– Uso do operador de seleção por torneio torna o algoritmo computacionalmente eficiente.
– O NPGA usa dois parâmetros adicionais share e tdom. – Quando o parâmetro tdom é muito pequeno, as comparações de
dominância podem levar ao não destacamento das soluções não dominadas.
– Porém, quando tdom é muito grande, aumenta-se a complexidade
computacional do algoritmo NPGA.
![Page 75: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/75.jpg)
Non-Dominated Sorting Genetic Algorithm (NSGA)
– Ideia • Utiliza um esquema de seleção baseada em ordenamento para privilegiar
soluções não-dominadas.
• Método voltado para a criação de nichos para manter a diversidade.
– Procedimento • Determinação de fronteiras não dominadas.
• Para manter a diversidade na população as soluções não-dominadas compartilham os seus valores de aptidão segundo suas distâncias Euclidianas.
• Divide-se o valor da aptidão de cada indivíduo pelo contador de nichos que é proporcional ao número de vizinhos ao seu redor.
![Page 76: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/76.jpg)
![Page 77: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/77.jpg)
NSGA: Vantagens e Desvantagens
– Alta complexidade computacional do processo de ordenamento por não dominância;
– Ausência de elitismo que prejudicava o funcionamento do método;
– Necessidade de especificar o parâmetro de compartilhamento;
– Praticamente qualquer número de objetivos pode ser usado para os dois tipos de problemas: maximização ou minimização.
![Page 78: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/78.jpg)
Non-Dominated Sorting Genetic Algorithm – II (NSGA-II)
– Usa um mecanismo de elitismo para preservar e usar
previamente as melhores soluções encontradas em gerações
subsequentes;
– Usa o conceito de ordenamento por não dominância em AGs;
– Usa o operador de seleção por torneio de multidão para
preservar a diversidade entre as soluções não dominadas nos
estágios de execução posteriores.
![Page 79: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/79.jpg)
Ordenação por dominância
– A fronteira F1 contêm as soluções não-
dominadas de todo o conjunto M .
– A fronteira F2 possui as soluções não-
dominadas de M −F1;
– F3 contêm as soluções de M −(F1 ∪F2)
e assim sucessivamente.
Para cada solução i contida em P são calculados dois
valores: 1. ndi , o número de soluções que dominam a
solução i ;
2. Ui, o conjunto de soluções que são dominadas
pela solução i.
![Page 80: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/80.jpg)
Percorre o conjunto de soluções dominadas Ui para cada
solução i de F1. O contador ndj de cada solução j em Ui é
diminuído em 1. Se ndj = 0, então a solução j pertence a
próxima fronteira, neste caso, F2.
![Page 81: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/81.jpg)
![Page 82: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/82.jpg)
Esquema do modelo NSGA-II
![Page 83: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/83.jpg)
![Page 84: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/84.jpg)
Operador de comparação de multidão
Um a solução i é considerada ganhadora em um torneio
contra uma solução j, se:
– A solução i possui um melhor nível de não dominância;
– Se ambas soluções estão no mesmo nível, mas i tem uma
distância de multidão maior ,
![Page 85: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/85.jpg)
NSGA: Vantagens e Desvantagens
– O cálculo da distância de multidão não requer do parâmetro σshare , como no MOGA.
– Se o conjunto F1 tem um tamanho maior que N, o processo de escolher apenas N soluções usando a distância de multidão faz que sejam perdidas soluções.
– Dado um conjunto de soluções de uma fronteira Fi , depois de aplicar o algoritmo de corte para NSGA-II, elimina-se uma solução Pareto- ótima e se mantém a solução não dominada (mas não Pareto-ótima).
![Page 86: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/86.jpg)
Está é uma situação onde o algoritmo de corte para o NSGA-II erra!
![Page 87: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/87.jpg)
Strength Pareto Evolutionary Algorithm (SPEA2)
– Utiliza elitismo através de população externa E onde são guardadas as
soluções não dominadas.
– A população E tem tamanho fixo de N fornecido como parâmetro.
– Cria uma população aleatória P0 e uma população externa E
inicialmente vazia.
– Calcula-se os valores de aptidão para as soluções em R = P ∪ E.
![Page 88: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/88.jpg)
Esquema para o cálculo de aptidão no algoritmo SPEA2
Soluções não dominadas terão Fi < 1, e as demais soluções Fi ≥ 1.
Pode falhar quando existem muitas soluções não dominadas.
SPEA2 usa uma informação de densidade, baseada no método de k-vizinhos.
![Page 89: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/89.jpg)
Algoritmo de Corte em SPEA2
– Depois disto, existe m 3 possíveis situações: 1. |En+1| = N, e não se fazem modificações sobre |Et+1|.
2. |En+1| < N, então ordena-se R por Fi e copia- se as primeiras N−|En+1| soluções i de Q tal que Fi ≥ 1.
3. |En+1| > N, neste caso se utiliza um algoritmo de corte sobre |En+1|.
– Finalmente, se realiza o processo de seleção por torneio, cruzamento e mutação sobre En+1 para gerar a nova população Pn+1.
![Page 90: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/90.jpg)
Algoritmo de Corte em SPEA2
– Em cada iteração escolhe-se uma
solução tal que a sua distância para o
seu vizinho mais próximo seja a
menor possível.
– No caso de empate, se calcula a
segunda menor distância, e assim
por diante.
– Formalmente, em cada iteração uma
solução i é eliminada tal que i ≤d j
para todas as j ∈ En+1 .
![Page 91: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/91.jpg)
![Page 92: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/92.jpg)
SPEA2: Vantagens e Desvantagens
– Introduz um método baseado na dominância de Pareto que não requer
uma ordenação por não dominância, como no NSGA-II.
– O uso de uma população externa garante que as soluções Pareto-ótimas
sejam conservadas para a geração seguinte.
– Apresenta casos onde uma solução não Pareto-ótima, mas não dominada
até o momento, seja preferida a uma solução Pareto-ótima após a
aplicação do algoritmos de corte;
– SPEA2 introduz um parâmetro adicional, o tamanho da população externa
E.
![Page 93: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/93.jpg)
Comparar experimentalmente
diferentes métodos de
otimização envolve a noção
de performance.
Metas de convergência e
diversidade podem ser
conflitantes uma com a outra.
Neste caso, um algoritmo não é superior ao outro com
relação aos critérios de convergência e diversidade.
![Page 94: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/94.jpg)
A comparação dos algoritmos
dependerá fortemente da métrica
empregada.
Métricas de desempenho
classificadas em dois grupos:
– Métricas para medir a convergência;
– Métricas de diversidade.
![Page 95: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/95.jpg)
Métricas de Convergência
– Comparam o soluções P encontradas ao conjunto soluções Pareto-ótimas do problema, denotado por P′:
• Taxa de Erro;
• Distância Geracional;
• Métrica de Cobertura.
![Page 96: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/96.jpg)
Taxa de Erro
– Calcula o número de soluções em P que não estão em P’
– Assim, quanto menor for o valor de ER, melhor será a convergência.
– Se ER = 0, significa que P ⊆ P′.
![Page 97: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/97.jpg)
Distância Geracional
– Representa a distância Euclidiana média (no espaço de objetivos) entre as soluções de P e P’: GD (do inglês Generational Distance).
– Quanto mais próximo de zero for o valor GD, melhor será a convergência de P.
![Page 98: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/98.jpg)
Métrica de Cobertura
– Dados dois conjuntos de soluções P e Q, esta métrica calcula a proporção de soluções de Q que são fracamente dominadas pelas soluções de P.
– Quando SC(P,Q) = 1 todas as soluções de Q são dominadas por soluções de P.
– Se SC(P,Q) = 0, então nenhuma solução de Q é fracamente dominada pelas soluções em P.
![Page 99: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/99.jpg)
Métricas de Diversidade
– Calculam a distribuição das soluções de um conjunto P:
• Espaçamento;
• Número de nichos;
• Espalhamento.
![Page 100: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/100.jpg)
Espaçamento
– Calcula o desvio padrão entre as distâncias de soluções consecutivas (no espaço de objetivos) do conjunto P (Deb, 2001);
– neardisti representa a distância (no espaço de objetivos) entre a solução i e a solução mais próxima dela no conjunto P;
– Quanto menor for o valor da métrica SP , melhor distribuídas estarão as soluções do conjunto P.
![Page 101: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/101.jpg)
Número de nichos
– Calcula o número de nichos dentro de um conjunto de soluções P.
– onde distij a distância entre as soluções i e j do conjunto P;
– pode ser calculada no espaço de variáveis ou de objetivos;
– NC = número de soluções cuja distância entre elas é maior que o parâmetro σ;
– Quanto maior a quantidade de nichos formados em P, melhor distribuídas estão as soluções em tal conjunto.
![Page 102: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/102.jpg)
Métrica de Cobertura
– A métrica de espalhamento avalia: • A dispersão das soluções no conjunto P ao longo da fronteira de Pareto PF;
• A distribuição entre soluções contíguas (no espaço de objetivos) de P.
– O valor desta métrica, denotada como SPREAD é dado:
– onde extdistm representa a distância Euclidiana entre as soluções extremas na m-ésima função objetivo dos conjuntos P e P′.
![Page 103: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/103.jpg)
Conclusão
– Foram apresentados os conceitos principais sobre Algoritmos
Genéticos (AGs) como técnica de otimização;
– As características dos AGs permitem seu emprego em problemas de
otimização Multi-Objetivo;
– Foram detalhados os principais modelos de AGs para estes problemas;
– Finalmente, algumas métricas para avaliar o desempenho dos AGs
foram mostradas.
![Page 104: AGs para Otimização Multiobjetivo](https://reader033.vdocuments.net/reader033/viewer/2022052311/5572021e4979599169a2fcab/html5/thumbnails/104.jpg)