ADAPTAÇÃO DE UM ALGORITMO BASEADO EM ENXAME DE PARTÍCULAS PARA RESOLVER PROBLEMAS DE OTIMIZAÇÃO COM DOIS OBJETIVOS

Tamanho: px
Começar a partir da página:

Download "ADAPTAÇÃO DE UM ALGORITMO BASEADO EM ENXAME DE PARTÍCULAS PARA RESOLVER PROBLEMAS DE OTIMIZAÇÃO COM DOIS OBJETIVOS"

Transcrição

1 UNIVERSIDADE ESTADUAL DE MONTES CLAROS DEPARTAMENTO DE CIÊNCIAS DA COMPUTAÇÃO ESPECIALIZAÇÃO EM ENGENHARIA DE SISTEMAS ADAPTAÇÃO DE UM ALGORITMO BASEADO EM ENXAME DE PARTÍCULAS PARA RESOLVER PROBLEMAS DE OTIMIZAÇÃO COM DOIS OBJETIVOS Monografia submetida à banca examinadora designada pelo Coordenador da Especialização em Engenharia de Sistemas da Universidade Estadual de Montes Claros, como parte dos requisitos exigidos para a obtenção do título de Especialista em Engenharia de Sistemas. por Felipe Túlio de Castro Orientador: Prof. Dr. Renato Dourado Maia Abril

2 Universidade Estadual de Montes Claros Departamento de Ciências da Computação Especialização em Engenharia de Sistemas ADAPTAÇÃO DE UM ALGORITMO BASEADO EM ENXAME DE PARTÍCULAS PARA RESOLVER PROBLEMAS DE OTIMIZAÇÃO COM DOIS OBJETIVOS Autor: Felipe Túlio de Castro Orientador: Prof. Dr. Renato Dourado Maia Monografia submetida à banca examinadora designada pelo Coordenador da Especialização em Engenharia de Sistemas da Universidade Estadual de Montes Claros, como parte dos requisitos exigidos para a obtenção do título de Especialista em Engenharia de Sistemas. Banca Examinadora Prof. Dr. Renato Dourado Maia (Unimontes) (Orientador) Prof. Me. Allysson Steve Mota Lacerda (Unimontes) Prof. Dr. João Batista Mendes (Unimontes) Montes Claros, MG Abril/2015

3 Resumo Esse trabalho visa adaptar um algoritmo intitulado Particle Swarm Opmization (PSO), que é baseado em inteligência de enxame, para trabalhar com problemas de otimização com dois objetivos. Foram utilizadas técnicas e ferramentas de desenvolvimento de software, específicas da área de inteligência Computacional, comumente aplicadas a problemas considerados de alta complexidade. Para a fase de testes optou-se por fazer uso dos problemas clássicos da linha de pesquisa denominada Otimização Multiobjetivo. O algoritmo desenvolvido para a adaptação mostrou uma capacidade razoável e satisfatória para obter os resultados nos problemas de benchmark ZDT, que conceitualmente falando, formam a chamada Fronteira Pareto, ou conjunto de pontos Pareto-ótimos. Palavras-chave: Otimização Multiobjetivo, algoritmo PSO, Problemas ZDT. Abstract This work aims to adapt an algorithm, called Particle Swarm Opmization (PSO), based on swarm intelligence, to work with optimization problems that require solving two objectives to achieve satisfactory results. Were used techniques, specific to the area of computational intelligence, commonly applied to problems that are considered as high complexity. For testing phase, we decided to make use of the classic problems of research line called Multi-objective Optimization. The algorithm developed for adaptation demonstrated a reasonable and satisfactory ability to get the results of ZDT benchmark problems, that conceptually speaking, form the so-called Pareto frontier, or Pareto-optimal set of points. Keywords: Multi-objective Optimization, PSO algorithm, ZDT problems.

4 Agradecimentos Primeiramente, gostaria de agradecer a meu orientador, o Prof. Dr. Renato Dourado Maia, pela enorme paciência durante todo o tempo investido na elaboração desse trabalho. Em seguida, agradeço a minha namorada, Aline Angélica Costa Teixeira, por ceder parte do nosso tempo juntos para que eu me dedicasse ao desenvolvimento da pesquisa científica. Por fim, agradeço ao amigo Breno Peixoto dos Santos pela colaboração firme nos processos de leitura, avaliação e revisão do texto escrito.

5 SUMÁRIO 1. INTRODUÇÃO Otimização Mono-objetivo (Otimização Escalar) Otimização Multiobjetivo (Otimização Vetorial) A determinação das soluções eficientes Algoritmo Particle Swarm Optimization (PSO) Multi-objective Particle Swarm Optimization (MOPSO) Caracterização do problema Metodologia Organização do trabalho DESENVOLVIMENTO METODOLÓGICO Ambiente de desenvolvimento Algoritmo implementado Parâmetros de configuração do algoritmo Verificação da dominância entre dois pontos Rankeamento das soluções não-dominadas RESULTADOS Problema ZDT Experimentos e resultados Problema ZDT Experimentos e resultados Problema ZDT Experimentos e resultados Problema ZDT Experimentos e resultados Problema ZDT Experimentos e resultados CONCLUSÕES REFERÊNCIAS BIBLIOGRÁFICAS... 59

6 LISTA DE FIGURAS Figura 1 - Superfície tridimensional e curvas de nível de uma função Figura 2 - A linha corresponde ao lugar geométrico dos pontos que satisfazem a restrição de igualdade hx = 0. Essa linha é a região factível de um problema de otimização Figura 3 - Superfícies que representam o gráfico de uma função não-linear de duas variáveis reais. Essas superfícies poderiam representar uma função Figura 4 a) Dominância do ponto y A em relação ao ponto y B. b) Situação onde tem-se vários pontos dominando vários outros pontos Figura 5 a) Conjunto de Pareto Y Y, associado ao conjunto-imagem I da função f(. ) da Figura 4a. b) Conjunto de Pareto Y Y, associado ao conjunto-imagem I da função f(. ) da Figura 4b Figura 6 - Exemplos de conexão entre as partículas. A figura à esquerda apresenta um exemplo do método gbest. A figura à direita, por outro lado, representa o método lbest Figura 7 Fronteira Pareto-ótima conhecida para o problema ZDT Figura 8 Os 4 primeiros gráficos apresentados mostram os resultados obtidos pelo MOPSO configurado com 50 partículas e alterando-se o número de iterações (50, 100, 150 e 200). Os 4 últimos apresentam o algoritmo com 100 partículas e as mesmas variações nas iterações Figura 9 - Os 4 primeiros gráficos mostram os resultados obtidos pelo MOPSO configurado com 150 partículas e alterando-se o número de iterações (50, 100, 150 e 200). Os 4 últimos apresentam o algoritmo com 200 partículas e as mesmas variações nas iterações Figura 10 Fronteira Pareto-ótimo conhecida do problema ZDT Figura 11 Os gráficos apresentados mostram os resultados obtidos pelo algoritmo MOPSO configurado com 50 partículas e alterando-se o número de iterações (50, 100, 150 e 200) Figura 12 Os gráficos mostram os resultados obtidos pelo MOPSO configurado com 100 partículas e alterando-se o número de iterações (50, 100, 150 e 200) Figura 13 Os gráficos mostram os resultados obtidos pelo MOPSO configurado com 150 partículas e alterando-se o número de iterações (50, 100, 150 e 200) Figura 14 Os gráficos mostram os resultados obtidos pelo MOPSO configurado com 200 partículas e alterando-se o número de iterações (50, 100, 150 e 200) Figura 15 Fronteira Pareto-ótima conhecida para o problema ZDT Figura 16 Os 4 primeiros gráficos mostram os resultados obtidos pelo MOPSO configurado com 50 partículas e alterando-se o número de iterações (50, 100, 150 e 200). Os 4 últimos apresentam o algoritmo com 100 partículas e as mesmas variações nas iterações

7 Figura 17 Os 4 primeiros gráficos mostram os resultados obtidos pelo MOPSO configurado com 150 partículas e alterando-se o número máximo de iterações (50, 100, 150 e 200). Os 4 últimos apresentam o algoritmo com 200 partículas e as mesmas variações na quantidade iterações Figura 18 Fronteira Pareto-ótimo conhecida para o Problema ZDT Figura 19 Os 4 primeiros gráficos mostram os resultados obtidos pelo MOPSO configurado com 50 partículas e alterando-se o número de iterações (50, 100, 150 e 200). Os 4 últimos apresentam o algoritmo com 100 partículas e as mesmas variações nas iterações Figura 20 Os 4 primeiros gráficos mostram os resultados obtidos pelo MOPSO configurado com 150 partículas e alterando-se o número de iterações (50, 100, 150 e 200). Os 4 últimos apresentam o algoritmo com 200 partículas e as mesmas variações nas iterações Figura 21 Fronteira Pareto-ótima conhecida para o problema ZDT Figura 22 Os 4 primeiros gráficos mostram os resultados obtidos pelo MOPSO configurado com 50 partículas e alterando-se o número de iterações (50, 100, 150 e 200). Os 4 últimos apresentam o algoritmo com 100 partículas e as mesmas variações nas iterações Figura 23 Os 4 primeiros gráficos mostram os resultados obtidos pelo MOPSO configurado com 150 partículas e alterando-se o número de iterações (50, 100, 150 e 200). Os 4 últimos apresentam o algoritmo com 200 partículas e as mesmas variações nas iterações

8 LISTA DE TABELAS Tabela 1 - Relação de parâmetros definidos pelo usuário para inicializar o algoritmo MOPSO implementado, bem como a descrição de suas funcionalidades Tabela 2 - Relação de parâmetros relativos à configuração interna do algoritmo MOPSO implementado, bem como a descrição de suas funcionalidades Tabela 3 - Relação de experimentos produzidos, especificados pela sua quantidade de partículas e de iterações Tabela 4 Relação dos resultados dos indicadores de qualidade do algoritmo MOPSO para o problema ZDT Tabela 5 Relação dos resultados dos indicadores de qualidade do algoritmo MOPSO para o problema ZDT Tabela 6 Relação dos resultados dos indicadores de qualidade do algoritmo MOPSO para o problema ZDT Tabela 7 Relação dos resultados dos indicadores de qualidade do algoritmo MOPSO para o problema ZDT Tabela 8 Relação dos resultados dos indicadores de qualidade do algoritmo MOPSO para o problema ZDT

9 LISTA DE ALGORITMOS Algoritmo 1 - Pseudocódigo do processo de inicialização do algoritmo PSO original Algoritmo 2 - Pseudocódigo do processo de atualização das partículas do algoritmo PSO original Algoritmo 3 - Pseudocódigo da função de rankeamento de soluções não-dominadas proposta... 35

10 DEFINIÇÕES E ACRÔNIMOS 1. PSO - Particle Swarm Optimization; 2. MOPSO Multi-Objective Particle Swarm Optimization; 3. POV - Problema de Otimização Vetorial; 4. DE - Diferential Evolution; 5. EDA - Estimation of Distribution Algorithm.

11 11 1. INTRODUÇÃO A Otimização, sob o ponto de vista prático, se trata do conjunto de métodos capazes de determinar as melhores configurações possíveis para a construção ou o funcionamento de sistemas de interesse para o ser humano [Takahashi (2007)]. Quem trabalha com problemas que necessitam de alguma melhoria na configuração inicial para maximizar ou minimizar um determinado resultado apresenta um conceito similar sobre a Otimização. Para Branke et al. (2008), o campo da Otimização é a tentativa de obter uma ou mais soluções que correspondam a minimização (ou maximização) de um ou mais objetivos e a satisfação de todas as restrições (se existir alguma). Inúmeras aplicações práticas apresentam a característica de gerarem resultados melhorados em comparação aos anteriores quando se utilizam parâmetros iniciais melhores do que os adotados antes. Podem-se encontrar exemplos nos mais diversos campos do conhecimento humano, desde a área biológica com a Medicina até a área de exatas com a Engenharia. É relativamente comum encontrar as aplicações da otimização também nas áreas de Administração e Economia, tendo em vista o aprimoramento da gestão dos recursos materiais e financeiros. Takahashi (2007) cita alguns exemplos onde pode-se observar a necessidade de alguma ideia de otimização para resolver uma situação real de forma a obter-se o melhor resultado possível das instâncias de entrada do problema matemático: Um engenheiro eletricista procura o melhor projeto possível para uma antena ou para um motor elétrico; Um engenheiro de controle e automação procura o melhor ajuste possível para os controles de um determinado processo industrial; Um engenheiro de produção busca a melhor configuração possível para encadear as etapas de fabricação de um produto; Um matemático computacional estuda modelos quantitativos de epidemias, procurando determinar as melhores políticas de vacinação; Um cientista da computação estuda o desempenho de uma rede de computadores, e tenta estabelecer a melhor estratégia de tráfego de informação possível, visando maximizar o fluxo global de informação nessa rede;

12 12 Um economista procura o melhor portfólio de investimentos, que maximiza a expectativa de retorno financeiro; Um veterinário ou zootecnista procura determinar a melhor política de compras e vendas das cabeças de um rebanho de gado. Apesar dos contextos apresentados serem bastante distintos uns dos outros, uma vez modelados matematicamente, todos os problemas trazem a mesma estrutura e a solução ideal se apresentará após a aplicação de técnicas inerentes à Otimização. Antes que a otimização possa de fato ser realizada, é preciso modelar o problema. Para Branke et al. (2008), o processo de modelagem é um passo importante, senão crítico, para a ação de otimizar. Normalmente, a maioria dos livros devotados aos métodos de otimização assumem que o problema já foi especificado corretamente. Entretanto, na prática, isso não é bem verdade para todos os casos. Quantificar e discutir os aspectos da modelagem dependem do contexto atual do entendimento do problema. Segundo a organização proposta por Branke et al. (2008), primeiro constrói-se o modelo base que consiste em obter as variáveis de decisão, os objetivos, as restrições e os espaços das variáveis. Logo após opta-se por uma técnica (algoritmo) capaz de encontrar a chamada solução ótima, que representa, dentro do espaço possíveis de variáveis, aquela que gerará o melhor resultado final. A quantidade de objetivos apresentados na modelagem matemática diferencia o tipo do problema a ser tratado. Basicamente, tem-se dois ramos da Otimização: a Otimização Monoobjetivo e a Otimização Multiobjetivo. Recentemente, pesquisadores definiram e estão trabalhando com problemas que possuem mais de 4 objetivos, sendo esse ramo denominado de Otimização com Muitos Objetivos. O presente trabalho visa adaptar uma técnica computacional para resolver problemas biobjetivo. Mais especificamente, deseja-se propor um algoritmo baseado em Enxame de Partículas capaz de encontrar as soluções ótimas para problemas com dois objetivos conflitantes a serem otimizados. Por fim, o desempenho do algoritmo será avaliado utilizando indicadores de qualidade encontrados na literatura especializada. Portanto, essa revisão focará apenas as duas primeiras linhas de trabalho da otimização com o intuito de contextualizar o objeto de trabalho apresentado.

13 Otimização Mono-objetivo (Otimização Escalar) Segundo Coello et al. (2007), os problemas de otimização mono-objetivo são definidos da seguinte maneira: min f(x) sujeito a: g i (x) 0, i = {1,, m} h j (x) = 0, j = {1,, p} sendo x Ω. Nessa estrutura, a solução final minimiza o escalar f(x), onde x é uma variável de decisão n-dimensional, ou seja, x = {x 1,, x n } dentro do espaço factível Ω. Observe que as duas últimas expressões matemáticas acima representam o conjunto de restrições que devem ser satisfeitas durante o processo de otimização do escalar f(x). Dentro desse cenário, o método para encontrar o ótimo global de qualquer função é conhecido como Otimização Global. A solução ótima para o problema é denotada por x. Como definido em Guimarães (2013), as letras que se apresentam em estilo negrito dizem respeito a grandezas vetoriais, ou seja, representam conjuntos de variáveis. Por outro lado, as letras que aparecerem sem o estilo negrito significam grandezas escalares. O vetor x contém as variáveis cujos valores deve-se escolher para atingir a melhor solução possível do problema. De maneira genérica, se o vetor x possui n variáveis reais, dizemos que x R n. Nem sempre o vetor de variáveis de otimização é composto de variáveis reais. Em muitos casos, as variáveis são descritas por números inteiros ou até mesmo por valores binários. Outro elemento da estrutura básica de um problema de Otimização é a função objetivo f(. ). Esse componente representa o índice de desempenho do sistema cujo valor, por convenção, deseja-se minimizar para alcançar a configuração ideal. Por exemplo, pode-se citar a redução dos custos na fabricação de um produto dentro de uma indústria qualquer. Nesse caso, a função objetivo f(x) será uma função que, para cada conjunto de valores que estiver especificado no vetor x, irá fornecer o custo de fabricação do produto descrito por esse vetor. Devido a essa interpretação de custo financeiro, muitas vezes a função objetivo é chamada, por diversos autores, de função custo [Takahashi (2007)]. Quando o problema modelado exige a maximização do valor final da função objetivo é comum recorrer a procedimento para transformar o problema de maximização em problema

14 14 de minimização. Para tanto, basta que multiplique-se o valor de f(x) por -1. Em outras palavras, se deseja-se maximizar uma função z(x) qualquer, basta fazer f(x) = z(x), de forma que ao determinar o vetor x que minimiza f(x), este será também, por consequência, o vetor que maximiza z(x) [Takahashi (2007)]. Para finalizar o entendimento sobre a formulação matemática, falta discutir o significado da igualdade e da desigualdade a que esteja sujeito o resultado da otimização. Essas são as chamadas restrições do problema. Elas significam o conjunto dos requisitos que o resultado do projeto deve atender para ser admissível enquanto solução. As restrições delimitam o espaço aceitável de valores que os resultados podem assumir para o problema, criando pontos dentro de todo o espaço de busca que não servem para representar a solução ótima. Em algumas situações tal condição fica clara, como por exemplo, na criação de um veículo automotivo, onde tem-se um orçamento máximo destinado ao projeto. Obviamente, nenhum projeto de construção pode gastar um valor monetário infinito, sendo então um limite superior definido pela diretoria da empresa. Com a delimitação das restrições surgem algumas nomenclaturas novas que referenciam os conceitos obtidos. De acordo com Guimarães (2013), são elas: Região factível: Conjunto dos pontos do espaço R n que satisfazem, simultaneamente, a todas as restrições (tanto de desigualdade quanto de igualdade). Às vezes a região factível é chamada de conjunto factível, ou de conjunto viável; Região infactível: Conjunto dos pontos do espaço R n que deixam de satisfazer (ou seja, violam) pelo menos uma das restrições do problema; Ponto factível: Ponto pertencente à região factível; Ponto infactível: Ponto pertencente à região infactível; Restrição violada: Cada uma das componentes do vetor g(x) que apresentar valor positivo, ou cada uma das componentes do vetor h(x) que apresentar valor não-nulo será chamada de restrição violada no ponto x. No intuito de ilustrar as ideias supracitadas tomemos como exemplo a modelagem de uma função qualquer que contenha uma restrição de desigualdade (g(x) 0). A Figura 1 mostra os gráficos da modelagem em três e duas dimensões. Na Figura 1.a (superfície tridimensional), é mostrada a superfície z = g 1 (x), com suas curvas de nível, e sua

15 15 interseção com o plano z = 0. A Figura 1.b mostra apenas a curva de nível g 1 (x) = 0. Nesse plano, a região N 1 corresponde aos pontos em que a função g 1 (. ) é negativa e P 1 corresponde aos pontos em que a função g 1 (. ) é positiva. A fronteira que separa essas regiões, G 1, corresponde aos pontos em que a função g 1 (. ) se anula. Quando inserimos no problema de otimização a exigência de que g 1 (x ) 0), informamos que iremos aceitar como soluções do problema de otimização apenas os pontos que sejam pertencentes ao conjunto N 1 ou ao conjunto G 1. Não serão admissíveis os pontos pertencentes ao conjunto P 1, que será assim denominado conjunto infactível, ou região infactível. Diz-se então que o conjunto factível, ou a região factível F 1 é a união de G 1 e N 1 [Vasconcelos (2009)]: F 1 = G 1 N 1 k Basicamente, esse é um problema da otimização restrita com restrições de desigualdade: tentar determinar o ponto x F (ou seja, pertencente à região factível) que minimiza a função f(. ) nessa região (ou seja, que produz o menor valor dessa função, quando comparado com os valores da função em todos os demais pontos da região factível) [Takahashi (2007)]. Figura 1 - Superfície tridimensional e curvas de nível de uma função. Fonte: Takahashi (2007). Quando houver o caso de uma modelagem que possua uma restrição de igualdade [h(x) = 0], então esse será o conjunto factível do problema de otimização. A Figura 2 traz um exemplo de como seria a representação gráfica desse modelo, considerando um problema de duas dimensões (quantidade de variáveis igual a 2).

16 16 Figura 2 - A linha corresponde ao lugar geométrico dos pontos que satisfazem a restrição de igualdade h(x) = 0. Essa linha é a região factível de um problema de otimização. Fonte: Takahashi (2007). Após a descrição dos modelos que envolvem restrições, faz-se importante discutir também sobre o caso mais simples da modelagem matemática, a denominada Otimização sem restrições, representada pela equação abaixo: x = arg min f(x) Nesse caso, o sistema responsável pela otimização da função matemática pode minimizar o valor de x sem nenhum tipo de condição que invalide as soluções encontradas durante o processo. Para visualizar graficamente esse conceito, suponha um vetor x com duas variáveis, ou seja, x R 2. Sem definir uma função objetivo explicitamente, a Figura 3 corresponde ao gráfico de uma função não-linear com duas variáveis reais.

17 17 Figura 3 - Superfícies que representam o gráfico de uma função não-linear de duas variáveis reais. Essas superfícies poderiam representar uma função. Fonte: Takahashi (2007). Sem a delimitação da região de pontos aceitos pelo modelo algumas características da função objetivo (ou seja, da superfície que está associada a essa função) surgem para definir que tipos de estratégias são efetivas para a otimização da mesma. Segundo Batista et al. (2014), para subsidiar a escolha dos métodos mais preparados para a otimização das funções, é possível classificá-las das seguintes maneiras: Modalidade: Unimodal / Multimodal; Diferenciabilidade: Diferenciável / Não-diferenciável; Convexidade: Convexa / Quasi-convexa / Não-convexa; Linearidade: Linear / Não-linear; Escala: Uni-escala / Multi-escala Otimização Multiobjetivo (Otimização Vetorial) Os problemas chamados de multiobjetivos foram definidos como sendo situações em que se tenta encontrar:...um vetor de variáveis de decisão que satisfaça as restrições e otimize a função vetorial cujos elementos representam as funções objetivo. Essas funções formam uma descrição matemática de critérios de desempenho que geralmente estão em conflito uns com os outros. Dessa forma, o termo otimizar significa encontrar uma

18 18 solução que retorne valores aceitáveis pelo tomador de decisões, para todas as funções objetivo. [Coelho et al. (2007)] Branke et al. (2008) e Caramia e Dellólmo (2008) afirmam que na Otimização com mais de um objetivo não se tem mais apenas uma solução ótima para resolver o problema, mas sim um conjunto de alternativas ideais, chamadas de soluções Pareto-ótimas ou soluções não-dominadas. Entretanto, independentemente da quantidade de soluções Pareto-ótimas obtidas, apenas uma será utilizada em termos práticos. Na Otimização Multiobjetivo duas questões são importantes: a escolha do método que realizará o procedimento de busca e obtenção das soluções Pareto-ótimas e a tomada de decisão para a escolha da solução preferida. Essa última não é o foco desse trabalho e, portanto, não será abordada mais detalhadamente. Azuma e Von Zuben (2011) descrevem os problemas de otimização multiobjetivo na seguinte forma matemática: min {f 1 (x), f 2 (x),, f k (x)} sujeito a: x S. Nessa formulação, k 2 representa a quantidade de funções-objetivo f i conflitantes que deseja-se minimizar simultaneamente. O vetor de variáveis de decisão x = (x 1, x 2,, x n ) pertence à região factível não vazia S R n. Nessa formulação geral do problema não foram fixados os tipos de restrições que delimitam a região factível. Para Vasconcelos (2009), uma nova gama de conceitos são introduzidos com o uso da formulação matemática para mais de um objetivo. Dessa forma, estão relacionadas as definições adotadas para esse trabalho, de forma a tentar facilitar a leitura deste tópico: X: espaço dos parâmetros de otimização. Neste trabalho, tal espaço será sempre identificado com um espaço R n ; X : conjunto de soluções eficientes, ou conjunto Pareto-ótimo, de um Problema de Otimização Vetorial (POV). O conjunto X é um subconjunto do espaço de parâmetros X; x : um ponto pertencente ao conjunto X ; F x : o conjunto dos pontos factíveis, subconjunto do conjunto X;

19 19 Y: espaço dos objetivos, isto é, o espaço no qual se representa a imagem da função f(. ). Neste trabalho, tal espaço será sempre identificado com um espaço R m ; I: o conjunto imagem da função f(. ), tendo por domínio todo o espaço X; F y : o conjunto imagem da função f(. ) restrita ao domínio F x. O conjunto F y é um subconjunto do espaço Y; Y : o conjunto imagem da função f(. ) com o domínio restrito ao conjunto X. O conjunto Y é um subconjunto de Y, e é denominado conjunto Pareto-ótimo no espaço de objetivos, ou ainda fronteira Pareto-ótima. Antes de mais nada, é preciso entender-se os conceitos que envolvem as soluções dos problemas. As soluções multiobjetivo, ou soluções de Pareto, são as melhores soluções entre as quais não existe um ordenamento (ou seja, não há como definir, a partir da avaliação dos funcionais objetivo, que uma solução é melhor que a outra). Batista et al. (2014) informam que normalmente o conjunto de soluções é grande (em alguns casos é infinito) e levantam alguns questionamentos sobre como caracterizar as soluções de um problema multiobjetivo e quais critérios utilizar para compará-los e ordenálos. Em face dessas questões elaborou-se o conceito de dominância. Definição 1 (Dominância) Diz-se que o ponto x 1 X domina o ponto x 2 X se f(x 1 ) f(x 2 ) e f(x 1 ) f(x 2 ). Equivalentemente, diz-se que f(x 1 ) Y domina f(x 2 ) Y, nessas mesmas condições. O conceito de dominância encontra-se ilustrado nas figuras a seguir. A Figura 4.a apresentada os pontos y A e y B pertencentes ao espaço de objetivos Y. Um cone paralelo aos eixos coordenados do espaço Y é colocado com vértice no ponto y A. Todos os pontos no interior desse cone são dominados por y A, de forma que y A domina y B. A Figura 4.b mostrada os pontos y A a y F pertencentes ao espaço de objetivos Y. Cones paralelos aos eixos coordenados do espaço Y são colocados com vértices em cada um desses pontos. Todos os pontos no interior de cada cone são dominados pelo ponto que se localiza no seu vértice, de forma que: (i) entre y A, y B e y E não há relação de dominância; (ii) y A domina y C e y F ; (iii) y B domina y C, y D e y F ; (iv) entre y C, y D e y E não há relação de dominância; (v) y C e y D dominam y F ; (vi) y E e y F não dominam nenhum outro ponto mostrado na figura.

20 20 Figura 4 a) Dominância do ponto y A em relação ao ponto y B. b) Situação onde tem-se vários pontos dominando vários outros pontos. Fonte: Takahashi (2007). Definição 2 (Solução Pareto-ótima) Diz-se que x F x é uma solução Pareto-ótima do POV se não existe qualquer outra solução x F x tal que f(x) f(x ) e f(x) f(x ), ou seja, se x não é dominado por nenhum outro ponto factível. Na literatura existem diferentes terminologias para fazer referência ao conjunto de soluções Pareto-ótimas, a saber de algumas: soluções eficientes, não-dominadas, não-inferior. Os conjuntos de Pareto (ou seja, conjuntos das soluções Pareto-ótimas) associados às Figuras 4.a e 4.b são apresentados abaixo. A Figura 5.a traz o conjunto de Pareto Y Y, associado ao conjunto-imagem I da função f(. ) e encontra-se representado em linha contínua. O restante da fronteira do conjunto I está representado em linha tracejada. O conjunto Y possui extremos nos pontos y A e y B, correspondentes aos mínimos individuais dos funcionais f 1 e f 2. Esta figura corresponde à Figura 4.a. Da mesma forma, a Figura 5.b mostra também o conjunto de Pareto Y Y, associado ao conjunto-imagem F y da função f(. ), representado em linha contínua. O restante da fronteira do conjunto F y está representado em linha tracejada. O conjunto Y possui extremos nos pontos y A e y B, correspondentes aos mínimos individuais dos funcionais f 1 e f 2. Esta figura corresponde à Figura 4.b.

21 21 Figura 5 a) Conjunto de Pareto Y Y, associado ao conjunto-imagem I da função f(. ) da Figura 4a. b) Conjunto de Pareto Y Y, associado ao conjunto-imagem I da função f(. ) da Figura 4b. Fonte: Takahashi (2007) A determinação das soluções eficientes De acordo com Caramia e Dellólmo (2008), os problemas multiobjetivo são comumente resolvidos combinando múltiplos objetivos dentro de uma função escalar mono-objetivo. Essas abordagens são conhecidas como Métodos Escalares. Para Branke et al. (2008), a razão para que essas abordagens sejam tão comuns é devido ao fato de que os algoritmos de otimização mono-objetivo são largamente conhecidos em comparação aos recentes, e ainda em estudo, métodos multiobjetivo. Elas compõem todo o grupo de técnicas clássicas da abordagem computacional. Para não fugir ao proposto nessa pesquisa, esses métodos não serão destrinchados nos mínimos detalhes. Apenas uma sucinta definição sobre cada um deles será apresentada ao leitor, seguindo as informações encontradas em Pereira (2004), Cohon (1978) e Steuer (1986): Método da soma ponderada (weighted-sum): Esta é a abordagem mais óbvia e ingênua para otimização multiobjetivo. Ela emprega uma soma ponderada dos objetivos e os métodos de direção de busca geralmente são aplicáveis para a resolução dos problemas;

22 22 Método da distância a um objetivo de referência: A formulação adotada para esse método baseia-se na minimização das distâncias entre o objetivo de referência e os demais objetivos. O problema dessa métrica é que o algoritmo é consideravelmente dependente do ponto de referência escolhido; Método ԑ-restrito: Essa abordagem transforma o problema multiobjetivo em um problema mono-objetivo com restrições adicionais. Nesse método, um dos objetivos é escolhido para ser minimizado e os demais objetivos são transformados em restrições de desigualdade; Método ԑ-restrito híbrido: Essa é uma abordagem híbrida entre o método ԑ- restrito e a soma ponderada dos objetivos. Aqui, uma soma ponderada dos objetivos é escolhida para ser minimizada, enquanto todos os objetivos são transformados em restrições de desigualdade que restringem a região factível; Método de programação por metas: Essa abordagem transforma o problema multiobjetivo em um problema mono-objetivo com restrições adicionais de igualdade. Algumas variáveis de folga associadas à distância para cada meta compõem o novo objetivo a ser minimizado; Método goal attainment: Os objetivos são transformados em restrições de desigualdade. Escolhe-se um vetor objetivo alvo, bem como adota-se uma direção de busca ω. A missão desse método é tentar minimizar um coeficiente escalar λ que representa o gap (a diferença) relativo ao vetor alvo; Programação de compromisso: é uma técnica de análise de decisão multicritério, que visa encontrar a melhor solução de compromisso para um problema de otimização com múltiplos objetivos. Essa solução de compromisso corresponde ao ponto mais próximo a uma solução ideal e está intimamente relacionado com o método da distância a um objetivo de referência; Métodos Fuzzy: Basicamente, esse método transforma o problema restrito original em um problema irrestrito. A minimização de vários objetivos simultaneamente pode ser interpretada como uma conjunção lógica. Outra linha de abordagem para os problemas multiobjetivo utiliza os algoritmos evolucionários como linha de frente para a resolução das modelagens. Branke et al. (2008) informam que esse é um campo de pesquisa estabelecido, já possuindo inúmeros livros, artigos, teses e conferências dedicados. Essa classe de algoritmos funciona de acordo com a

23 23 Teoria da Evolução de Charles Darwin. O principal representante das técnicas evolucionárias é o Algoritmo Genético, amplamente discutido e utilizado por pesquisadores. Contudo, a saber, pode-se citar também a Programação Genética, as Estratégias Evolutivas, o Algoritmo de Estimativa de Distribuição e o algoritmo de Evolução Diferencial. Por fim, em uma terceira vertente de técnicas estão aquelas baseadas em inteligência coletiva. As técnicas de otimização inspiradas nessas ideias ganharam uma enorme popularidade durante a última década. Elas são caracterizadas por um método descentralizado de trabalho que origina-se no comportamento das multidões de insetos sociais, no agrupamento de pássaros ou no cardume de peixes. As vantagens dessas abordagens, em comparação com as técnicas tradicionais, são a sua robustez e flexibilidade. Essas propriedades fazem das técnicas de inteligência coletiva um paradigma de sucesso para algoritmos que tratem de problemas com complexidade em crescimento. A despeito dos inúmeros algoritmos existentes nesse grupo de técnicas, discutiremos apenas os preceitos da técnica conhecida como Particle Swarm Optimization (PSO), haja vista que a mesma foi adotada para ser o método computacional desenvolvido nesse trabalho. A escolha por esse algoritmo ocorreu após um esforço de enumerar as técnicas que mais apareciam em publicações científicas no contexto atual. Nessa lista, o algoritmo PSO figurou entre os mais adotados por diversos especialistas Algoritmo Particle Swarm Optimization (PSO) Sobre a técnica, Batista et al. (2014) afirmam que a mesma é uma meta-heurística estocástica simples baseada em população e pertencente à categoria das técnicas de inteligência coletiva (Swarm Intelligence). A inspiração biológica dessa abordagem originase na inteligência coletiva manifestada por agrupamentos (rebanhos, enxames, cardumes, manadas, matilhas etc.) de agentes mais simples, pouco sofisticados e com capacidade individual limitada [Kennedy and Eberhart (1995)]. As técnicas baseadas em Inteligência Coletiva consistem em desenvolver sistemas multiagente inteligentes tomando por inspiração o comportamento coletivo apresentado em grupos de insetos que vivem em sociedade. Colônias de insetos sociais tem fascinado pesquisadores por muitos anos e os mecanismos utilizados por esses agrupamentos para gerenciar seus comportamentos continua sem uma conclusão científica satisfatória. De acordo com Takahashi (2007), apesar dos membros dessas colônias individualmente serem

24 24 considerados simples, quando em conjunto, são capazes de executar ações complexas. O comportamento coordenado emerge de ações relativamente simples ou de interações entre os membros das colônias. Em muitos aspectos as atividades coletivas são auto-organizadas e funcionam sem a centralização do comando. O algoritmo PSO é, atualmente, uma das técnicas mais destacadas dentre aquelas que trabalham com Inteligência Coletiva [Branke et al. (2008)]. Ele foi proposto por James Kennedy e Russell Eberhart em 1995 e, desde então, tem ganhado popularidade entre os pesquisadores e simpatizantes da área devido a sua robustez e eficiência para resolver problemas de otimização considerados difíceis. O termo em inglês Particle Swarm (Enxame de partículas) foi cunhado por seus criadores após vários estudos sobre os trabalhos envolvendo modelos de vida artificial, iniciados por Reynolds em 1987 com as pesquisas relativas à revoada de pássaros. Segundo informações do trabalho de Kennedy and Eberhart (1995), o algoritmo proposto possui um conceito simples e o paradigma pode ser implementado em poucas linhas de código. O PSO necessita apenas de operadores matemáticos básicos e os custos computacionais são inexpressivos em termos de memória e velocidade. Collette and Siarry (2004) descrevem que o algoritmo PSO trabalha essencialmente com elementos chamados de partículas individuais que representam uma solução em potencial que se movem através do espaço de busca do problema procurando a solução ótima x ou uma solução satisfatória. As partículas transmitem suas posições para as partículas vizinhas. A posição de cada partícula, por sua vez, é ajustada de acordo com as velocidades de cada uma (computacionalmente representada por uma taxa de mudança) e a diferença entre a sua posição atual, que é respectivamente a melhor posição encontrada pelos vizinhos e a melhor posição encontrada por ela até o momento. Como o modelo é interativo, o enxame de partículas vai concentrando-se mais e mais em uma determinada área do espaço de busca que contém soluções de qualidade. Como citado anteriormente, a velocidade de cada partícula é modificada interativamente pela melhor posição encontrada pela partícula em si e pela melhor posição encontrada pelas partículas da vizinhança. Seguindo essa ideia, adota-se o termo v i para denotar a velocidade da i-ésima partícula do enxame, x i para representar sua posição, p i para denotar a melhor posição encontrada pela partícula e p g para armazenar a posição encontrada pelas partículas da região próxima.

25 25 No algoritmo PSO original, proposto por Kennedy and Eberhart (1995), os termos matemáticos x i e v i, para todo i = 1, 2, n, são atualizados a cada geração seguindo as equações: v i v i + φ 1 (p i x i ) + φ 2 (p g x i ) x i x i + v i onde φ 1 = c 1 R 1 e φ 2 = c 2 R 2. Os elementos R 1 e R 2 são duas funções separadas que retornam vetores com valores uniformes gerados randomicamente dentro da faixa [0,1]. Os termos c 1 e c 2 são coeficientes de aceleração e o símbolo representa uma multiplicação pontual dos elementos dos vetores. Os Algoritmos 1 e 2 apresentam o pseudocódigo do passo de inicialização e do passo de atualização das partículas do algoritmo PSO, respectivamente. Algoritmo 1: Inicialização for each particle i in S do for each dimension d in D do //initialize all particle s position and velocity x i,d = rand (x min, x max ) v i,d = rand (-v max /3, v max /3) end for //initialize particle s best position p bi = x i //update the global best position if f(p bi ) < f(g b ) then g b = p bi end if end for Algoritmo 1 - Pseudocódigo do processo de inicialização do algoritmo PSO original. Fonte: Adaptado de Kennedy and Eberhart (1995).

26 26 Algoritmo 2: Atualização das partículas //initialize all particles Initialize repeat for each particle i in S do //update the paticle s best position if f(x i ) < f(p bi ) then p bi = x i end if //update the global best position if f(p bi ) < f(g b ) then g b = p bi end if end for //update particle s velocity and position for each particle i in S do for each dimension d in D do v i,d = v i,d + C 1 rand(0,1) [pb i,d x i,d ] + C 2 rand(0,1) [gb d x i,d ] x i,d = x i,d + v i,d end for end for //advance iteration it = it + 1 until it > MAX_ITERATIONS Algoritmo 2 - Pseudocódigo do processo de atualização das partículas do algoritmo PSO original. Fonte: Adaptado de Kennedy and Eberhart (1995). No processo de inicialização do PSO, as ações mais destacadas são a definição aleatória das posições e das velocidades iniciais de cada partícula do enxame, bem como a atribuição da posição da melhor partícula e a definição da melhor posição global, ou seja, do enxame criado. O passo de atualização, por outro prisma, consiste na evolução constante dos melhores valores de posição global e posição particular de cada partícula. Ao fim, observa-se o laço de iteração responsável pelas definições de velocidade e posição para a próxima geração do enxame. Da análise cuidadosa das equações anteriores percebe-se que a movimentação das partículas depende de algumas condições. Collette and Siarry (2004) citam as três particularidades necessárias para o andamento das partículas no espaço de busca:

27 27 Inércia: tendência em se movimentar na direção adotada na iteração anterior; Memória: tendência de se deslocar em direção ao melhor ponto encontrado na trajetória individual; Cooperação: tendência de deslocamento para o melhor ponto encontrado pelo grupo (vizinhança). Para o correto funcionamento das regras de movimentação das partículas é importante apresentar as possíveis estruturas conceituais de vizinhança para as partículas. Existem várias maneiras de definir-se como será a vizinhança das partículas no algoritmo. Devido ao fato de que essa contribui para definir a velocidade e, automaticamente, a nova posição das partículas, faz-se relevante considerar a topologia da abstração antes da implementação do algoritmo. Segundo Vasconcelos (2009) as mais relevantes são: Método gbest: a vizinhança é definida como sendo a população inteira, ou seja, todas as partículas estão conectadas entre si, conforme ilustrado na Figura 6.a; Método lbest: uma topologia pode representar a proximidade entre as partículas. A vizinhança de uma partícula equivale ao conjunto das partículas diretamente conectadas a ela, conforme ilustrado na Figura 6.b. Figura 6 - Exemplos de conexão entre as partículas. A Figura 6.a apresenta um exemplo do método gbest. A Figura 6.b, por outro lado, representa o método lbest. Fonte: Batista et al. (2014).

28 28 Das três regras supracitadas, referentes à movimentação das partículas, é possível distinguirmos uma característica do algoritmo: os indivíduos do enxame não são substituídos ao longo das iterações, mas sim modificados. Portanto, as partículas e a qualidade do enxame melhoram a cada repetição do processo de busca. O PSO tornou-se uma técnica com certo respaldo para resolver problemas monoobjetivo. Seguindo essa credibilidade vários pesquisadores interessaram-se pelo estudo e aplicação do algoritmo nos problemas de otimização multiobjetivo, sendo possível encontrar inúmeras adaptações na literatura especializada Multi-Objective Particle Swarm Optimization (MOPSO) Nos últimos tempos o PSO foi adaptado de maneira que o mesmo seja aplicado na resolução de problemas multiobjetivo. O primeiro PSO para problemas de otimização multiobjetivo foi proposto por Reyes-Sierra e Coello em No algoritmo proposto, a cada atualização das partículas, faz-se uma comparação entre a posição atual e um arquivo de posições para averiguar se a posição obtida era uma solução não-dominada. Após esse trabalho, autores publicaram um algoritmo intitulado MOPSO (Multi-objective PSO) que utilizava um arquivo externo para armazenar soluções não-dominadas do problema. Diversas versões do algoritmo PSO para resolução de problemas de otimização multiobjetivo vem sendo propostos recentemente. Um estudo conduzido por Reyes-Sierra e Coello (2006) mostra que, em 2006, havia aproximadamente 25 variantes do algoritmo PSO multiobjetivo publicados em eventos acadêmicos, indicando um considerável crescimento no interesse dos pesquisadores por esse método computacional. No mesmo trabalho, os autores estabeleceram as seguintes classificações para os MOPSOs apresentados na época, segundo o modelo adotado para o tratamento das funções objetivo: Abordagens agregativas; Abordagens de ordenação lexicográfica; Abordagens de subpopulação; Abordagens baseadas em Pareto; Os algoritmos desenvolvidos e categorizados como abordagens agregativas combinavam todos os objetivos do problema em um só. Em outras palavras, o problema multiobjetivo era transformado em um problema mono-objetivo. Os algoritmos de Parsopoulos e Vrahatis (2002) e Baumgartner et al. (2004) possuíam funções de agregação

29 29 linear para a transformação do problema em mono-objetivo e tinham como topologia do espaço de busca o método conhecido como gbest. Na categoria de ordenação lexicográfica, o usuário era solicitado a listar os objetivos em ordem de importância. A solução ótima era obtida minimizando-se as funções objetivo separadamente, começando pela mais importante e seguindo a ordem decrescente. Hu e Eberhart (2002) desenvolveram um MOPSO adotando a topologia de busca lbest e otimizando um objetivo por vez. As abordagens de subpopulação utilizavam grupos menores de partículas para funcionarem como otimizadores mono-objetivo. Depois, as subpopulações trocavam informações e se recombinavam para produzir as soluções ótimas com base nos resultados individuais. Parsopoulos et al. (2004) estudaram uma versão paralela do método Vector Evaluated Particle Swarm (VEPSO), variante baseada no Vector Evaluated Genetic Algorithm (VEGA). Nesse algoritmo cada enxame era avaliado usando apenas uma das funções objetivo do problema e, em seguida, a informação era distribuída para os outros enxames. Chow e Tsui (2004) propuseram um PSO como sendo um agente autônomo de resposta. Nesse modelo cada objetivo é considerado como uma espécie de enxame e as melhores soluções obtidas por cada espécie são propagadas através de um canal de comunicação estabelecido. Esse formato deu origem a uma variante do PSO tradicional e ficou conhecida como Multi-species PSO. O grupo de algoritmos que utilizavam a abordagem baseada na dominância Pareto para as técnicas de seleção de líderes apresentavam a característica de selecionar as partículas nãodominadas em relação ao enxame. Diversas variações para o modelo de seleção dos líderes são possíveis como, por exemplo, o estimador de densidade. Na época, essa categoria era a que continha maior quantidade de algoritmos publicados. Moore e Chapman (1999) desenvolveram um MOPSO que enfatizava a busca individual da partícula e a busca coletiva do enxame. Cada partícula gerava uma lista de todas as soluções não-dominadas que ele encontrava durante sua trajetória. Depois, todas as listas eram comparadas e a melhor solução não-dominada era escolhida para a vizinhança do enxame. Ray e Liew (2002) e Srinivasan e Hou (2003) incluíram em seu código conceitos de técnicas evolucionárias à dominância Pareto e ao enxame de partículas. A abordagem usava estimativa de densidade para promover diversidade e a manutenção dos líderes podia ser

30 30 considerada um arquivo externo. Além disso, operadores comuns em algoritmos evolutivos, como a mutação, foram incluídos para emular mecanismos do PSO original. O conjunto de versões do MOPSO nessa categoria era extensa. Diversas propostas traziam novos mecanismos para incrementar a capacidade de busca das soluções, para tratar as funções objetivo, para manter diversidade, para evitar a convergência prematura etc. Além dos agrupamentos listados anteriormente segundo o método de trabalho dos MOPSOs, outras duas categorias foram estabelecidas por Reyes-Sierra e Coello (2006): a dos algoritmos que utilizavam abordagens combinadas e a dos que adotavam métodos particulares e distintos uns dos outros. Devido ao fato dessas categorias representarem uma pequena parcela do conjunto elas não serão detalhadas nessa revisão Caracterização do problema Em vista da crescente quantidade de trabalhos apresentados em eventos relacionados às áreas de Otimização e Inteligência Computacional que envolvem a manipulação de problemas com mais de um objetivo a ser minimizado (ou maximizado), esse trabalho propõe a construção de um algoritmo baseado no PSO para aplicação em problemas multiobjetivo. Os algoritmos baseados em Enxame de Partículas foram adotados em muitos artigos na busca pela otimização de inúmeros casos em que existiam apenas um objetivo a ser tratado pelo modelo matemático. A motivação deve-se ao fato de que seu desempenho e confiabilidade já foram testados e discutidos. Contudo, como os trabalhos com problemas com dois ou mais objetivos são recentes, as discussões sobre a validade desse algoritmo ainda estão sendo discutidas. Portanto, o objeto desse trabalho é implementar um algoritmo Multi-objective Particle Swarm Optimization (MOPSO) para aplicação em problemas sintéticos, também conhecidos como Benchmark Problems, comumente utilizados por pesquisadores para validar seus algoritmos. Os benchmarks escolhidos são os da família de funções ZDT, propostos por Zitzler et al. (2000). Esse conjunto de funções foram selecionadas devido a sua popularidade quanto a capacidade de colocar à prova a performance dos métodos de otimização. Cada uma das funções de teste contém uma característica que representa um problema de otimização do mundo real. No Capítulo 3 serão descritas as definições matemáticas de cada problema da família ZDT, encontradas em Chase et al. (2005), juntamente com os resultados dos experimentos

31 31 realizados, à exceção do problema ZDT5, que não será tratado, pois ele é o único que manipula valores binários Metodologia Esse trabalho desenvolveu-se em três momentos distintos, a começar pela pesquisa e leitura de inúmeras publicações sobre as técnicas de Otimização, tornando-se possível verificar o interesse dos pesquisadores pelos problemas que apresentam mais de um objetivo. Durante essa fase também foi realizada a estruturação e definição do trabalho, necessários para a conclusão da pesquisa e o levantamento das melhores ferramentas computacionais para tratar o objeto desse trabalho. Na segunda parte iniciou-se então o desenvolvimento e a adaptação do algoritmo escolhido resolução de problemas de otimização biobjetivo de natureza contínua. Em outras palavras, o algoritmo foi adaptado de sua forma original para tratar problemas de otimização biobjetivo. Por fim, na terceira e última parte, seguiram-se os trabalhos de execução do algoritmo baseado em Enxame de Partículas, de geração e coleta de resultados e de observação e conclusão acerca dos mesmos Organização do trabalho A parte restante desse trabalho é composta por 3 capítulos. No Capítulo 2, o histórico evolutivo da metodologia proposta é apresentado, além da fundamentação teórica que serviu de base ao código. No Capítulo 3 são apresentados os resultados obtidos no desenvolvimento da pesquisa. Por fim, o último capítulo apresenta uma discussão geral sobre o trabalho e os desafios futuros de uma continuidade da pesquisa.

32 32 2. DESENVOLVIMENTO METODOLÓGICO Esse trabalho dividiu-se em três partes, cada qual direcionada a um objetivo. Inicialmente foi realizada uma pesquisa bibliográfica em livros e artigos científicos publicados em diversos eventos para edificar a estrutura teórica que deu sustentação aos objetivos da pesquisa e a aplicação deste conhecimento na fase experimental. Na segunda fase desse esforço científico, desenvolveu-se o algoritmo PSO para tratar problemas de otimização multiobjetivo. Por fim, logo após a implementação do algoritmo, executou-se o programa para efeito de teste e coleta de dados. Os resultados obtidos serviram de subsídio para as observações julgadas pertinentes e condizentes com o foco dessa pesquisa Ambiente de desenvolvimento Linguagens de programação e ambientes de desenvolvimento são normalmente escolhidos devido à facilidade e aos recursos de manipulação de estruturas de dados oferecidos ao programador para desenvolver algoritmos. Segundo esses critérios, adotou-se para esse trabalho a utilização do software MATrix LABoratory (MATLAB ), versão R2013b. O MATLAB é um software matemático interativo de alta performance utilizado em cálculos numéricos por cientistas, engenheiros, pesquisadores, estudantes e demais profissionais [Schettino e Tonini (2002)]. O software é composto de um módulo matemático básico fundamental ao qual podemos agregar as mais variadas ferramentas chamadas de toolbox (caixas de ferramentas). Pode-se citar tipos de ferramentas relativas a áreas como estatísticas, matemática financeira, matemática simbólica e otimização. Segundo Chaia e Daibert (2013), a primeira versão do MATLAB foi lançada em 1984 após vários estudos iniciarem-se no final da década. Seu precursor foi Cleve Moler, então presidente do departamento de ciência da computação da Universidade do Novo México. Uma das várias vantagens da linguagem de programação oferecida pelo MATLAB em relação a outras linguagens, como por exemplo o Pascal e o C/C++, é que ele permite a solução de muitos problemas numéricos em uma fração de tempo menor do que seria necessário para escrever um programa em outras linguagens. Além disso, o ambiente de

Otimização Aplicada à Engenharia de Processos

Otimização Aplicada à Engenharia de Processos Otimização Aplicada à Engenharia de Processos Aula 2: Programação Matemática Felipe Campelo http://www.cpdee.ufmg.br/~fcampelo Programa de Pós-Graduação em Engenharia Elétrica Belo Horizonte Março de 2013

Leia mais

Inteligência de Enxame

Inteligência de Enxame Inteligência de Enxame! Inteligência de enxames é a denominação aplicada a tentativa de desenvolvimento de algoritmos para a solução distribuída de problemas inspirando-se no comportamento coletivo de

Leia mais

1. Computação Evolutiva

1. Computação Evolutiva Computação Bioinspirada - 5955010-1 1. Computação Evolutiva Prof. Renato Tinós Depto. de Computação e Matemática (FFCLRP/USP) 1 1.7. Outras Metaheurísticas Populacionais 1.7.1. Metaheurísticas Populacionais

Leia mais

Minicurso Inteligência Artificial Aplicada a Sistemas Elétricos. Niterói, 12 de Maio de 2018

Minicurso Inteligência Artificial Aplicada a Sistemas Elétricos. Niterói, 12 de Maio de 2018 Minicurso Inteligência Artificial Aplicada a Sistemas Elétricos Niterói, 12 de Maio de 2018 Realização 2 Realização 3 Programação: manhã 9:30h-10:30H VISÃO GERAL: OTIMIZAÇÃO E INTELIGÊNCIA COMPUTACIONAL

Leia mais

4 Métodos Existentes. 4.1 Algoritmo Genético

4 Métodos Existentes. 4.1 Algoritmo Genético 61 4 Métodos Existentes A hibridização de diferentes métodos é em geral utilizada para resolver problemas de escalonamento, por fornecer empiricamente maior eficiência na busca de soluções. Ela pode ser

Leia mais

PSO Particle Swarm Optimization ou Otimização por enxame de partículas Introdução Inspiração Funcionamento Parametrização

PSO Particle Swarm Optimization ou Otimização por enxame de partículas Introdução Inspiração Funcionamento Parametrização Manoela Kohler PSO Particle Swarm Optimization ou Otimização por enxame de partículas Introdução Inspiração Funcionamento Parametrização Variantes de PSO Aplicações PSO+: algoritmo baseado em enxame de

Leia mais

Prof. Flávio Vinícius Cruzeiro Martins

Prof. Flávio Vinícius Cruzeiro Martins Prof. Flávio Vinícius Cruzeiro Martins Os mecanismos de otimização tratam da questão de determinar a melhor solução de problemas abstratos. Abordagem Escalar = mono-objetivo. O mecanismo de otimização

Leia mais

Inteligência Coletiva. Prof. Eduardo R. Hruschka (Slides adaptados dos originais elaborados pelo Prof. André C. P. L. F.

Inteligência Coletiva. Prof. Eduardo R. Hruschka (Slides adaptados dos originais elaborados pelo Prof. André C. P. L. F. Inteligência Coletiva Prof. Eduardo R. Hruschka (Slides adaptados dos originais elaborados pelo Prof. André C. P. L. F. de Carvalho) Principais tópicos Inteligência Coletiva (CI) Otimização por enxames

Leia mais

Teoria da Decisão. Otimização Vetorial. Prof. Lucas S. Batista. lusoba

Teoria da Decisão. Otimização Vetorial. Prof. Lucas S. Batista.  lusoba Teoria da Decisão Otimização Vetorial Prof. Lucas S. Batista lusoba@ufmg.br www.ppgee.ufmg.br/ lusoba Universidade Federal de Minas Gerais Escola de Engenharia Graduação em Engenharia de Sistemas Introdução

Leia mais

Inteligência Artificial. Algoritmos Genéticos. Aula I Introdução

Inteligência Artificial. Algoritmos Genéticos. Aula I Introdução Universidade Estadual do Oeste do Paraná Curso de Bacharelado em Ciência da Computação Inteligência Artificial Algoritmos Genéticos Aula I Introdução Roteiro Introdução Computação Evolutiva Algoritmos

Leia mais

4 Implementação Computacional

4 Implementação Computacional 4 Implementação Computacional 4.1. Introdução Neste capítulo é apresentada a formulação matemática do problema de otimização da disposição das linhas de ancoragem para minimizar os deslocamentos (offsets)

Leia mais

Teoria da Decisão. Otimização Vetorial. Prof. Lucas S. Batista. lusoba

Teoria da Decisão. Otimização Vetorial. Prof. Lucas S. Batista.   lusoba Teoria da Decisão Prof. Lucas S. Batista lusoba@ufmg.br www.ppgee.ufmg.br/ lusoba Universidade Federal de Minas Gerais Escola de Engenharia Graduação em Engenharia de Sistemas Introdução Sumário 1 Introdução

Leia mais

Jaime A. Ramírez Felipe Campelo Frederico G. Guimarães Lucas S. Batista Ricardo H.C. Takahashi

Jaime A. Ramírez Felipe Campelo Frederico G. Guimarães Lucas S. Batista Ricardo H.C. Takahashi Otimização ELE037 Introdução Jaime A. Ramírez Felipe Campelo Frederico G. Guimarães Lucas S. Batista Ricardo H.C. Takahashi Universidade Federal de Minas Gerais Departamento de Engenharia Elétrica J. A.

Leia mais

Algoritmos Genéticos e Evolucionários

Algoritmos Genéticos e Evolucionários Algoritmos Genéticos e Evolucionários Djalma M. Falcão COPPE/UFRJ PEE e NACAD falcao@nacad.ufrj.br http://www.nacad.ufrj.br/~falcao/ http://www.nacad.ufrj.br/~falcao/ag/ag.htm Resumo do Curso Introdução

Leia mais

Marina Andretta. 02 de agosto de 2010

Marina Andretta. 02 de agosto de 2010 Introdução Marina Andretta ICMC-USP 02 de agosto de 2010 Marina Andretta (ICMC-USP) sme0212 - Otimização não-linear 02 de agosto de 2010 1 / 19 Otimização Otimizar significa encontrar a melhor maneira

Leia mais

Inteligência Artificial

Inteligência Artificial Figura: Capa do Livro Hamburger, H., Richards, D. Logic and Language Models for Computer Science, Prentice Hall. Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Pós-Graduação

Leia mais

Otimização Escalar e Vetorial

Otimização Escalar e Vetorial Universidade Federal de Minas Gerais Departamento de Matemática Notas de Aula Otimização Escalar e Vetorial Volume 3: Otimização Vetorial Professor: Ricardo H. C. Takahashi Belo Horizonte, Janeiro de 2007

Leia mais

)XQGDPHQWRVGHSURJUDPDomRPDWHPiWLFD

)XQGDPHQWRVGHSURJUDPDomRPDWHPiWLFD )XQGDPHQWRVGHSURJUDPDomRPDWHPiWLFD,QWURGXomR A grande maioria dos problemas de engenharia pode ser solucionado de diferentes formas, uma vez que um número muito grande de soluções atende aos critérios

Leia mais

Algoritmos Genéticos. Estéfane G. M. de Lacerda DCA/UFRN Outubro/2008

Algoritmos Genéticos. Estéfane G. M. de Lacerda DCA/UFRN Outubro/2008 Estéfane G. M. de Lacerda DCA/UFRN Outubro/2008 Introdução São técnicas de busca e otimização. É a metáfora da teoria da evolução das espécies iniciada pelo Fisiologista e Naturalista inglês Charles Darwin.

Leia mais

BCC465 - TÉCNICAS DE MULTI-OBJETIVO. Gladston Juliano Prates Moreira 22 de novembro de 2017

BCC465 - TÉCNICAS DE MULTI-OBJETIVO. Gladston Juliano Prates Moreira   22 de novembro de 2017 BCC465 - TÉCNICAS DE OTIMIZAÇÃO MULTI-OBJETIVO Aula 04 - Otimização Não-linear Gladston Juliano Prates Moreira email: gladston@iceb.ufop.br CSILab, Departamento de Computação Universidade Federal de Ouro

Leia mais

PCC104 - Projeto e Análise de Algoritmos

PCC104 - Projeto e Análise de Algoritmos PCC104 - Projeto e Análise de Algoritmos Marco Antonio M. Carvalho Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade Federal de Ouro Preto 1 de novembro de 2018 Marco Antonio

Leia mais

3. Resolução de problemas por meio de busca

3. Resolução de problemas por meio de busca Inteligência Artificial - IBM1024 3. Resolução de problemas por meio de busca Prof. Renato Tinós Local: Depto. de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3. Resolução de problemas por

Leia mais

Um Algoritmo Genético com Aprendizado por Reforço Simples aplicado ao problema do Mundo de Grid

Um Algoritmo Genético com Aprendizado por Reforço Simples aplicado ao problema do Mundo de Grid 1 Um Algoritmo Genético com Aprendizado por Reforço Simples aplicado ao problema do Mundo de Grid Luciana Conceição Dias Campos Resumo Este trabalho consiste da aplicação de um algoritmo genético ao método

Leia mais

DETERMINAÇÃO DE FUNÇÕES DE TRANSFERÊNCIA DE PROCESSOS QUÍMICOS ATRAVÉS DO MÉTODO DE EVOLUÇÃO DIFERENCIAL UTILIZANDO O SCILAB

DETERMINAÇÃO DE FUNÇÕES DE TRANSFERÊNCIA DE PROCESSOS QUÍMICOS ATRAVÉS DO MÉTODO DE EVOLUÇÃO DIFERENCIAL UTILIZANDO O SCILAB DETERMINAÇÃO DE FUNÇÕES DE TRANSFERÊNCIA DE PROCESSOS QUÍMICOS ATRAVÉS DO MÉTODO DE EVOLUÇÃO DIFERENCIAL UTILIZANDO O SCILAB A. H. R. REZENDE 1, D. L. SOUZA 1 1 Universidade Federal do Triângulo Mineiro,

Leia mais

Otimização de Sistemas Hidrotérmicos por Enxame de Partículas: Uma Abordagem Orientada a Objetos

Otimização de Sistemas Hidrotérmicos por Enxame de Partículas: Uma Abordagem Orientada a Objetos Otimização de Sistemas Hidrotérmicos por Enxame de Partículas: Uma Abordagem Orientada a Objetos Gelson da Cruz JUNIOR 2, Cassio Dener Noronha VINHAL 3 Lauro Ramon GOMIDES 1, Gelson da Cruz JUNIOR 2, Cassio

Leia mais

Computação Evolucionária: Conceitos Básicos de Otimização

Computação Evolucionária: Conceitos Básicos de Otimização Computação Evolucionária: Conceitos Básicos de Otimização Prof. Dr. Rafael Stubs Parpinelli E-mail: rafael.parpinelli@udesc.br Otimização Min ou Max Sujeito a Otimização Função objetivo A qual se quer

Leia mais

Particle Swarm Optimization (PSO) Universidade Federal de Alfenas

Particle Swarm Optimization (PSO) Universidade Federal de Alfenas Otimização por Enxame de Partículas Particle Swarm Optimization (PSO) Universidade Federal de Alfenas Tiago Silveira ... Detalhe Otimizar é selecionar algo melhor. Otimizar é melhorar até onde pudermos.

Leia mais

Tópicos Especiais em Otimização

Tópicos Especiais em Otimização Tópicos Especiais em Otimização ivo.junior@ufjf.edu.br Juiz de Fora, 05 de Maio de 2016 Introdução Qual a diferença entre inteligência: ARTIFICIAL E COMPUTACIONAL? ARTIFICIAL: É a ciência que tenta compreender

Leia mais

Algoritmo Genético. Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto

Algoritmo Genético. Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto Algoritmo Genético Inteligência Artificial Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. Introdução 2. Conceitos Básicos 3. Aplicações 4. Algoritmo 5. Exemplo Introdução São técnicas de busca

Leia mais

Otimização Linear. Profª : Adriana Departamento de Matemática. wwwp.fc.unesp.br/~adriana

Otimização Linear. Profª : Adriana Departamento de Matemática. wwwp.fc.unesp.br/~adriana Otimização Linear Profª : Adriana Departamento de Matemática adriana@fc.unesp.br wwwp.fc.unesp.br/~adriana Forma geral de um problema Em vários problemas que formulamos, obtivemos: Um objetivo de otimização

Leia mais

Considere a função f(x). Para algum x a f (x) pode não existir. Suponha que. Max f(x) s. a a x b

Considere a função f(x). Para algum x a f (x) pode não existir. Suponha que. Max f(x) s. a a x b Considere a função f(x). Para algum x a f (x) pode não existir. Suponha que se queira resolver o seguinte PPNL: Max f(x) s. a a x b Pode ser que f (x) não exista ou que seja difícil resolver a equação

Leia mais

Programação Linear M É T O D O S : E S T A T Í S T I C A E M A T E M Á T I C A A P L I C A D A S D e 1 1 d e m a r ç o a 2 9 d e a b r i l d e

Programação Linear M É T O D O S : E S T A T Í S T I C A E M A T E M Á T I C A A P L I C A D A S D e 1 1 d e m a r ç o a 2 9 d e a b r i l d e Programação Linear A otimização é o processo de encontrar a melhor solução (ou solução ótima) para um problema. Existe um conjunto particular de problemas nos quais é decisivo a aplicação de um procedimento

Leia mais

Otimização Combinatória - Parte 4

Otimização Combinatória - Parte 4 Graduação em Matemática Industrial Otimização Combinatória - Parte 4 Prof. Thiago Alves de Queiroz Departamento de Matemática - CAC/UFG 2/2014 Thiago Queiroz (DM) Parte 4 2/2014 1 / 33 Complexidade Computacional

Leia mais

Modelagem Matemática de Problemas de Programação Linear

Modelagem Matemática de Problemas de Programação Linear Capítulo 1 Modelagem Matemática de Problemas de Programação Linear 1.1. Introdução Neste Capítulo analisamos brevemente a estratégia usada para encontrar a modelagem matemática de um problema de programação

Leia mais

3 Decisões de Localização de Instalações

3 Decisões de Localização de Instalações 3 Decisões de Localização de Instalações Historicamente, o estudo contemporâneo dos problemas de localização foi iniciado por Alfred Weber, que estudou a localização de uma fábrica com o objetivo de minimizar

Leia mais

1 - A capacidade de fluxo que corresponde a capacidade máxima que pode passar pelo arco.

1 - A capacidade de fluxo que corresponde a capacidade máxima que pode passar pelo arco. CONCEITOS DE REDE Uma rede é formada por um conjunto de nós, um conjunto de arcos e de parâmetros associados aos arcos. Nós Arcos Fluxo Interseções Rodovias Veículos Rodoviários Aeroportos Aerovia Aviões

Leia mais

Algoritmos Genéticos

Algoritmos Genéticos Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Algoritmos Genéticos Aluno: Fabricio Aparecido Breve Prof.: Dr. André Ponce de Leon F. de Carvalho São Carlos São Paulo Maio

Leia mais

Prof. Lorí Viali, Dr. PUCRS FAMAT: Departamento de Estatística. Curso: Engenharia de Produção

Prof. Lorí Viali, Dr. PUCRS FAMAT: Departamento de Estatística. Curso: Engenharia de Produção Considere a função f(x). Para algum x a f (x) pode não existir. Suponha que se queira resolver o seguinte PPNL: Max f(x) s. a a x b Pode ser que f (x) não exista ou que seja difícil resolver a equação

Leia mais

NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016

NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016 NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016 Metaheurística: São técnicas de soluções que gerenciam uma interação entre técnicas de busca local e as estratégias de nível superior para criar um processo de

Leia mais

Modelagem em Experimentos Mistura-Processo para Otimização de Processos Industriais 15

Modelagem em Experimentos Mistura-Processo para Otimização de Processos Industriais 15 Modelagem em Experimentos Mistura-Processo para Otimização de Processos Industriais 15 1 Introdução Na indústria moderna há uma contínua busca da otimização dos níveis de produção e da melhoria da qualidade

Leia mais

METAHEURÍSTICAS: 1 SIMULATED ANNEALING (S.A) 1.1 INTRODUÇÃO

METAHEURÍSTICAS: 1 SIMULATED ANNEALING (S.A) 1.1 INTRODUÇÃO 1 SIMULATED ANNEALING (S.A) 1.1 INTRODUÇÃO METAHEURÍSTICAS: É uma das primeiras metaheurísticas que foi utilizada com muito sucesso nos problemas complexos de pesquisa operacional. O S.A surgiu do campo

Leia mais

Pós-Graduação em Engenharia de Automação Industrial SISTEMAS INTELIGENTES PARA AUTOMAÇÃO

Pós-Graduação em Engenharia de Automação Industrial SISTEMAS INTELIGENTES PARA AUTOMAÇÃO Pós-Graduação em Engenharia de Automação Industrial SISTEMAS INTELIGENTES PARA AUTOMAÇÃO AULA 06 Algoritmos Genéticos Sumário Introdução Inteligência Artificial (IA) Algoritmos Genéticos Aplicações de

Leia mais

6 Estudos de Casos Porta Lógica OU de 4 Entradas

6 Estudos de Casos Porta Lógica OU de 4 Entradas 6 Estudos de Casos Com o objetivo de avaliar a síntese automática de circuitos de QCA usando técnicas de Hardware Evolucionário (EHW), alguns circuitos foram sintetizados e serão apresentados a seguir.

Leia mais

Algoritmos Genéticos. Pontos fracos dos métodos tradicionais. Características de alguns problemas. Tamanho do espaço de busca- Ex. caixeiro viajante:

Algoritmos Genéticos. Pontos fracos dos métodos tradicionais. Características de alguns problemas. Tamanho do espaço de busca- Ex. caixeiro viajante: Algoritmos Genéticos Prof. Luis Otavio Alvares INE/UFSC Características de alguns problemas Tamanho do espaço de busca- Ex. caixeiro viajante: 10 cidades: 181.000 soluções 20 cidades: 10.000.000.000.000

Leia mais

8 Conclusões e Trabalhos Futuros

8 Conclusões e Trabalhos Futuros 8 Conclusões e Trabalhos Futuros Este trabalho propôs investigar o apoio das técnicas de Inteligência Computacional no desenvolvimento da Nanociência e Nanotecnologia. Tal apoio é aqui denominado de Nanotecnologia

Leia mais

Geração de cenários de energia renovável correlacionados com hidrologia: uma abordagem bayesiana multivariada.

Geração de cenários de energia renovável correlacionados com hidrologia: uma abordagem bayesiana multivariada. Geração de cenários de energia renovável correlacionados com hidrologia: uma abordagem bayesiana multivariada [alessandro@psr-inc.com] Conteúdo Introdução Estimação não paramétrica (Kernel density) Transformação

Leia mais

PESQUISA OPERACIONAL Introdução. Professor Volmir Wilhelm Professora Mariana Kleina

PESQUISA OPERACIONAL Introdução. Professor Volmir Wilhelm Professora Mariana Kleina PESQUISA OPERACIONAL Introdução Professor Volmir Wilhelm Professora Mariana Kleina PESQUISA OPERACIONAL Ementa Revisão de Álgebra Linear. Modelos de Programação Linear. O Método Simplex. O Problema do

Leia mais

Pesquisa Operacional Introdução. Profa. Alessandra Martins Coelho

Pesquisa Operacional Introdução. Profa. Alessandra Martins Coelho Pesquisa Operacional Introdução Profa. Alessandra Martins Coelho julho/2014 Operational Research Pesquisa Operacional - (Investigação operacional, investigación operativa) Termo ligado à invenção do radar

Leia mais

Medida do Tempo de Execução de um Programa. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR

Medida do Tempo de Execução de um Programa. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Medida do Tempo de Execução de um Programa David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Medida do Tempo de Execução de um Programa O projeto de algoritmos é fortemente influenciado pelo

Leia mais

3 Aprendizado por reforço

3 Aprendizado por reforço 3 Aprendizado por reforço Aprendizado por reforço é um ramo estudado em estatística, psicologia, neurociência e ciência da computação. Atraiu o interesse de pesquisadores ligados a aprendizado de máquina

Leia mais

1. Computação Evolutiva

1. Computação Evolutiva Computação Bioinspirada - 5955010-1 1. Computação Evolutiva Prof. Renato Tinós Programa de Pós-Graduação Em Computação Aplicada Depto. de Computação e Matemática (FFCLRP/USP) 2 Computação Bioinspirada

Leia mais

Marcone Jamilson Freitas Souza

Marcone Jamilson Freitas Souza Otimização: Algumas aplicações Marcone Jamilson Freitas Souza Departamento de Computação Programa de Pós-Graduação em Ciência da Computação Universidade Federal de Ouro Preto http://www.decom.ufop.br/prof/marcone

Leia mais

5 VNS com Filtro e Reconexão por Caminhos

5 VNS com Filtro e Reconexão por Caminhos 5 VNS com Filtro e Reconexão por Caminhos A metaheurística VNS (Variable Neighborhood Search) foi proposta por Mladenović e Hansen [40] e possui como idéia básica a mudança de vizinhanças realizada da

Leia mais

Otimização Escalar e Vetorial

Otimização Escalar e Vetorial Universidade Federal de Minas Gerais Departamento de Matemática Notas de Aula Otimização Escalar e Vetorial Volume 2: Otimização Escalar Professor: Ricardo H. C. Takahashi Belo Horizonte, Janeiro de 2007

Leia mais

DESENVOLVIMENTO DE UM ALGORITMO PARALELO PARA APLICAÇÃO EM CLUSTER DE COMPUTADORES

DESENVOLVIMENTO DE UM ALGORITMO PARALELO PARA APLICAÇÃO EM CLUSTER DE COMPUTADORES DESENVOLVIMENTO DE UM ALGORITMO PARALELO PARA APLICAÇÃO EM CLUSTER DE COMPUTADORES João Ricardo Kohler Abramoski (PAIC/FUNDAÇÃO ARAUCÁRIA), Sandra Mara Guse Scós Venske (Orientadora), e-mail: ssvenske@unicentro.br

Leia mais

4 Modelos Propostos para Otimização de Planejamentos com Restrições de Precedência 4.1 Representação com Algoritmos Genéticos

4 Modelos Propostos para Otimização de Planejamentos com Restrições de Precedência 4.1 Representação com Algoritmos Genéticos 46 4 Modelos Propostos para Otimização de Planejamentos com Restrições de Precedência 4.1 Representação com Algoritmos Genéticos Para definir a representação de um modelo para problemas de planejamento

Leia mais

MÉTODOS DE OTIMIZAÇÃO MULTIOBJETIVO

MÉTODOS DE OTIMIZAÇÃO MULTIOBJETIVO 30 CAPÍTULO 3 MÉTODOS DE OTIMIZAÇÃO MULTIOBJETIVO 3.1 CONCEITOS BÁSICOS O problema matemático de otimização multiobjetivo consiste na obtenção de um conjunto de variáveis (solução) que satisfaça algumas

Leia mais

Método do Lagrangiano aumentado

Método do Lagrangiano aumentado Método do Lagrangiano aumentado Marina Andretta ICMC-USP 23 de novembro de 2010 Marina Andretta (ICMC-USP) sme0212 - Otimização não-linear 23 de novembro de 2010 1 / 17 Problema com restrições gerais Vamos

Leia mais

Computação Evolucionária

Computação Evolucionária UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ UTFPR Programa de Pós-Graduação em Engenharia e Informática CPGEI Laboratório de Bioinformática e Inteligência Computacional Câmpus Curitiba (PR) Computação Evolucionária

Leia mais

4 Metáforas de Optimização

4 Metáforas de Optimização 4 Metáforas de Optimização O gigantesco avanço tecnológico que vem sofrendo os sistemas de computação, mais precisamente as unidades de processamento, criou a base para o uso efetivo da Inteligência Computacional,

Leia mais

5 Decisão Sob Incerteza

5 Decisão Sob Incerteza 5 Decisão Sob Incerteza Os problemas de decisão sob incerteza são caracterizados pela necessidade de se definir valores de variáveis de decisão sem o conhecimento prévio da realização de parâmetros que,

Leia mais

Engenharia Software. Ení Berbert Camilo Contaiffer

Engenharia Software. Ení Berbert Camilo Contaiffer Engenharia Software Ení Berbert Camilo Contaiffer Características do Software Software não é um elemento físico, é um elemento lógico; Software é desenvolvido ou projetado por engenharia, não manufaturado

Leia mais

Cálculo Numérico BCC760

Cálculo Numérico BCC760 Cálculo Numérico BCC760 Resolução de Sistemas de Equações Lineares Simultâneas Departamento de Computação Página da disciplina http://www.decom.ufop.br/bcc760/ 1 Introdução! Definição Uma equação é dita

Leia mais

Computação Bioinspirada PROF. PAULO SALGADO

Computação Bioinspirada PROF. PAULO SALGADO Computação Bioinspirada AULA 1 APRESENTAÇÃO DA DISCIPLINA PROF. PAULO SALGADO Aula de hoje Falar sobre Objetivos Ementa Avaliação Roteiro Proposto (Cronograma) Referências Periódicos da Área Objetivos

Leia mais

Redes Neurais e Sistemas Fuzzy

Redes Neurais e Sistemas Fuzzy Redes Neurais e Sistemas Fuzzy Redes de uma única camada O Perceptron elementar Classificação de padrões por um perceptron A tarefa de classificação consiste em aprender a atribuir rótulos a dados que

Leia mais

MÉTODOS NEWTON E QUASE-NEWTON PARA OTIMIZAÇÃO IRRESTRITA

MÉTODOS NEWTON E QUASE-NEWTON PARA OTIMIZAÇÃO IRRESTRITA MÉTODOS NEWTON E QUASE-NEWTON PARA OTIMIZAÇÃO IRRESTRITA Marlon Luiz Dal Pasquale Junior, UNESPAR/FECILCAM, jr.marlon@hotmail.com Solange Regina dos Santos (OR), UNESPAR/FECILCAM, solaregina@fecilcam.br

Leia mais

6 Estudo de Casos: Valor da Opção de Investimento em Informação por Aproximação com Números Fuzzy 6.1. Introdução

6 Estudo de Casos: Valor da Opção de Investimento em Informação por Aproximação com Números Fuzzy 6.1. Introdução 6 Estudo de Casos: Valor da Opção de Investimento em Informação por Aproximação com Números Fuzzy 6.1. Introdução Este capítulo apresenta o segundo estudo de casos, no qual também são empregados números

Leia mais

APLICAÇÃO DE META-HEURÍSTICAS À ENGENHARIA DE PRODUÇÃ O

APLICAÇÃO DE META-HEURÍSTICAS À ENGENHARIA DE PRODUÇÃ O APLICAÇÃO DE META-HEURÍSTICAS À ENGENHARIA DE PRODUÇÃ O João Carlos Zayatz Universidade Estadual de Maringá jcarloszay@gmail.com Gislaine Camila Lapasini Leal Universidade Estadual de Maringá gclleal@uem.br

Leia mais

Computação Bioinspirada. Prof. Eduardo R. Hruschka (Slides baseados nos originais do Prof. André C. P. L. F. de Carvalho)

Computação Bioinspirada. Prof. Eduardo R. Hruschka (Slides baseados nos originais do Prof. André C. P. L. F. de Carvalho) Computação Bioinspirada Prof. Eduardo R. Hruschka (Slides baseados nos originais do Prof. André C. P. L. F. de Carvalho) 1 Principais tópicos Computação Bioinspirada Computação Biológica Biologia Computacional

Leia mais

Palestra COPPE Elétrica. Dezembro de 2010

Palestra COPPE Elétrica. Dezembro de 2010 Palestra COPPE Elétrica Dezembro de 2010 Aplicações de Computação Evolutiva e Otimização Multi-objetivo em Sistemas Elétricos de Potência Oriane Magela Neto Depto. De Engenharia Elétrica da UFMG Sistemas

Leia mais

Paradigma Simbólico. Sistemas de Informação UNISUL Aran Bey Tcholakian Morales, Dr. Eng. (Apostila 2)

Paradigma Simbólico. Sistemas de Informação UNISUL Aran Bey Tcholakian Morales, Dr. Eng. (Apostila 2) Paradigma Simbólico Sistemas de Informação UNISUL Aran Bey Tcholakian Morales, Dr. Eng. (Apostila 2) Revisão da aula anterior: definição de IA Podemos associar o termo IA com: Parte da ciência da computação

Leia mais

α ( u 1 - u 2 ) = u 3 - u 2.

α ( u 1 - u 2 ) = u 3 - u 2. 2- NOÇÕES DE CONVEXIDADE E FORMULAÇÃO MATEMÁTICA DE PROBLEMAS DE PROGRAMAÇÃO LINEAR 21 Noções de Convexidade 211 - Combinação Convexa de pontos ponto b = αx 1 Considere C um conjunto contendo os pontos

Leia mais

PEA 2522 MÉTODOS DE OTIMIZAÇÃO. Otimização

PEA 2522 MÉTODOS DE OTIMIZAÇÃO. Otimização PEA MÉTODOS DE OTIMIZAÇÃO Otimização Definir claramente o problema a ser resolvido Estabelecer os limites físicos (capacidades, restrições) Definir o modelo matemático adequado PEA 8 - PLANEJAMENTO DE

Leia mais

5 Estudo de Caso e Resultados

5 Estudo de Caso e Resultados 5 Estudo de Caso e Resultados 5.1. Introdução Finalizado o desenvolvimento da ferramenta, é indispensável testar suas funcionalidades e a eficácia da aplicação conjunta dos seus módulos de geração de experimentos

Leia mais

Em 1970, Bellman e Zadeh (Bellman, 1970) apresentaram a otimização IX]]\, que é um conjunto de técnicas utilizadas em problemas de otimização com

Em 1970, Bellman e Zadeh (Bellman, 1970) apresentaram a otimização IX]]\, que é um conjunto de técnicas utilizadas em problemas de otimização com 4 ±0('/$ 5'd Muito já foi feito no desenvolvimento de metodologias para a resolução de problemas de programação linear IX]]\. Entretanto a grande parte dos trabalhos apresentados procurou obter uma solução

Leia mais

Análise de Algoritmos

Análise de Algoritmos Análise de Algoritmos Parte 1 Prof. Túlio Toffolo http://www.toffolo.com.br BCC202 Aula 04 Algoritmos e Estruturas de Dados I Qual a diferença entre um algoritmo e um programa? Como escolher o algoritmo

Leia mais

Otimização Aplicada à Engenharia de Processos

Otimização Aplicada à Engenharia de Processos Otimização Aplicada à Engenharia de Processos Aula 4: Programação Linear Felipe Campelo http://www.cpdee.ufmg.br/~fcampelo Programa de Pós-Graduação em Engenharia Elétrica Belo Horizonte Março de 2013

Leia mais

Otimização Multiobjetivo

Otimização Multiobjetivo Otimização Multiobjetivo Introdução Professores: Eduardo G. Carrano Frederico G. Guimarães Lucas S. Batista {egcarrano,fredericoguimaraes,lusoba}@ufmg.br www.ppgee.ufmg.br/ lusoba Universidade Federal

Leia mais

I1, I2 e In são instruções simples ou estruturadas da linguagem Pascal.

I1, I2 e In são instruções simples ou estruturadas da linguagem Pascal. Capítulo 4 TESTES, ESCOLHAS E MALHAS DE REPETIÇÃO 1. INTRODUÇÃO Em muitos exemplos e exercícios realizados nos capítulos anteriores, não foram raras as vezes em que fizemos uso de elementos disponíveis

Leia mais

3 Algoritmos Genéticos

3 Algoritmos Genéticos Técnicas de Inteligência Computacional 33 3 Algoritmos Genéticos Este capítulo resume os principais conceitos sobre o algoritmo evolucionário empregado nesta dissertação. É apresentada uma breve explicação

Leia mais

Disciplina que estuda métodos analíticos para auxiliar na tomada de decisões.

Disciplina que estuda métodos analíticos para auxiliar na tomada de decisões. Edgard Jamhour Disciplina que estuda métodos analíticos para auxiliar na tomada de decisões. Procura encontrar soluções ótimas ou próximo de ótimas para problemas de engenharia industrial, economia e finanças,

Leia mais

Programação Linear. MÉTODOS QUANTITATIVOS: ESTATÍSTICA E MATEMÁTICA APLICADAS De 30 de setembro a 13 de novembro de 2011 prof. Lori Viali, Dr.

Programação Linear. MÉTODOS QUANTITATIVOS: ESTATÍSTICA E MATEMÁTICA APLICADAS De 30 de setembro a 13 de novembro de 2011 prof. Lori Viali, Dr. Programação Linear São problemas complexos, muitas vezes de difícil solução e que envolvem significativas reduções de custos, melhorias de tempos de processos, ou uma melhor alocação de recursos em atividades.

Leia mais

Inteligência Artificial. Conceitos Gerais

Inteligência Artificial. Conceitos Gerais Inteligência Artificial Conceitos Gerais Inteligência Artificial - IA IA é um campo de estudo multidisciplinar e interdisciplinar, que se apóia no conhecimento e evolução de outras áreas do conhecimento.

Leia mais

2 Algoritmos Genéticos Heurística Premissa: Localidade Fraca Conclusões Estrutura de um Algoritmo Genético 26

2 Algoritmos Genéticos Heurística Premissa: Localidade Fraca Conclusões Estrutura de um Algoritmo Genético 26 v Sumário Prefácio x 1 Introdução 1 1. Otimização 1 2. Heurística 8 3. Computação Evolutiva 13 4. Premissa: Localidade Fraca 16 5. Conclusões 20 I Métodos Bio-Inspirados 2 Algoritmos Genéticos 25 1. A

Leia mais

Programação Linear. (1ª parte) Informática de Gestão Maria do Rosário Matos Bernardo 2016

Programação Linear. (1ª parte) Informática de Gestão Maria do Rosário Matos Bernardo 2016 Programação Linear (1ª parte) Informática de Gestão 61020 Maria do Rosário Matos Bernardo 2016 Conteúdos Introdução O modelo de programação linear: Problema de minimização Exemplo Formalização Problema

Leia mais

ALGORITMO GENÉTICO COMO REPRESENTAÇÃO DAS MUTAÇÕES NA BIOLOGIA

ALGORITMO GENÉTICO COMO REPRESENTAÇÃO DAS MUTAÇÕES NA BIOLOGIA Patrocínio, MG, outubro de 2016 ENCONTRO DE PESQUISA & EXTENSÃO, 3., 2016, Patrocínio. Anais... Patrocínio: IFTM, 2016. ALGORITMO GENÉTICO COMO REPRESENTAÇÃO DAS MUTAÇÕES NA BIOLOGIA Igor Acassio Melo

Leia mais

Investigação Operacional

Investigação Operacional Modelos de Programação Linear (Mestrado) Engenharia Industrial http://dps.uminho.pt/pessoais/zan - Escola de Engenharia Departamento de Produção e Sistemas 1 Modelação Matemática As técnicas e algoritmos

Leia mais

Medida do Tempo de Execução de um Programa. Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP

Medida do Tempo de Execução de um Programa. Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP Medida do Tempo de Execução de um Programa Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP Medida do Tempo de Execução de um Programa O projeto de algoritmos é fortemente influenciado pelo estudo

Leia mais

Requisitos de Software

Requisitos de Software Requisitos de Software Engenharia de requisitos Estabelece os serviços que o cliente requer de um sistema e as restrições sob as quais tal sistema operará e será desenvolvido. Tais serviços e restrições

Leia mais

2. DESIGUALDADES MATRICIAIS LINEARES

2. DESIGUALDADES MATRICIAIS LINEARES 11 2. DESIGUALDADES MARICIAIS LINEARES Neste capítulo, introduziremos alguns conceitos básicos relacionados às Desigualdades Matriciais Lineares. Na seção 2.1, apresentamos uma introdução às LMI s; na

Leia mais

Método Simplex dual. Marina Andretta ICMC-USP. 24 de outubro de 2016

Método Simplex dual. Marina Andretta ICMC-USP. 24 de outubro de 2016 Método Simplex dual Marina Andretta ICMC-USP 24 de outubro de 2016 Baseado no livro Introduction to Linear Optimization, de D. Bertsimas e J. N. Tsitsiklis. Marina Andretta (ICMC-USP) sme0211 - Otimização

Leia mais

Marcos Flávio S. V. D Angelo Departamento de Ciências da Computação Universidade Estadual de Montes Claros

Marcos Flávio S. V. D Angelo Departamento de Ciências da Computação Universidade Estadual de Montes Claros SINTONIA ÓTIMA DE UM CONTROLADOR PID PARA CONTROLE DE VELOCIDADE DE UM MOTOR C.C. LINEAR SEM ESCOVAS UTILIZANDO O ALGORITMO A-CLUSTMPSO (ANOTHER CLUSTERING MULTIOBJECTIVE PARTICLE SWARM OPTIMIZATION) Renato

Leia mais

Programação Linear/Inteira - Aula 5

Programação Linear/Inteira - Aula 5 Unidade de Matemática e Tecnologia - RC/UFG Programação Linear/Inteira - Aula 5 Prof. Thiago Alves de Queiroz Aula 5 Thiago Queiroz (IMTec) Aula 5 Aula 5 1 / 43 Análise de Sensibilidade Estudar o efeito

Leia mais

3 Otimização Aplicada a Reconstituição de Acidentes

3 Otimização Aplicada a Reconstituição de Acidentes 27 3 Otimização Aplicada a Reconstituição de Acidentes 3.1. Otimização A otimização é uma metodologia empregada para minimizar ou maximizar uma função e geralmente são utilizados em problemas onde existam

Leia mais

3 Trabalhos Relacionados

3 Trabalhos Relacionados 3 Trabalhos Relacionados Este capítulo apresenta, em linhas gerais, dois trabalhos relacionados que contribuíram de alguma forma para a concepção e desenvolvimento do método de verificação de sistemas

Leia mais

5 Conclusões e Trabalhos Futuros

5 Conclusões e Trabalhos Futuros 5 Conclusões e Trabalhos Futuros Este trabalho apresentou a proposta de um novo modelo de programação genética linear (PGLIQ), inspirado no conceito da física quântica de superposição de estados, capaz

Leia mais

TP052-PESQUISA OPERACIONAL I Introdução. Prof. Volmir Wilhelm Curitiba, Paraná, Brasil

TP052-PESQUISA OPERACIONAL I Introdução. Prof. Volmir Wilhelm Curitiba, Paraná, Brasil TP052-PESQUISA OPERACIONAL I Introdução Prof. Volmir Wilhelm Curitiba, Paraná, Brasil TP052-PESQUISA OPERACIONAL I Ementa Revisão de Álgebra Linear. Modelos de Programação Linear. O Método Simplex. O Problema

Leia mais

4 Fundamentos Teóricos

4 Fundamentos Teóricos 4 Fundamentos Teóricos Neste capitulo são apresentados os fundamentos dos problemas de otimização matemática, abordando os diferentes conceitos e terminologias da otimização matemática, assim como seus

Leia mais

Pesquisa Operacional Introdução. Profa. Alessandra Martins Coelho

Pesquisa Operacional Introdução. Profa. Alessandra Martins Coelho Pesquisa Operacional Introdução Profa. Alessandra Martins Coelho agosto/2013 Operational Research Pesquisa Operacional - (Investigação operacional, investigación operativa) Termo ligado à invenção do radar

Leia mais

INTRODUÇÃO À INTELIGÊNCIA COMPUTACIONAL. Aula 04 Prof. Vitor Hugo Ferreira

INTRODUÇÃO À INTELIGÊNCIA COMPUTACIONAL. Aula 04 Prof. Vitor Hugo Ferreira Universidade Federal Fluminense Escola de Engenharia Departamento de Engenharia Elétrica INTRODUÇÃO À INTELIGÊNCIA COMPUTACIONAL Aula 04 Prof. Vitor Hugo Ferreira Busca em espaço de estados Estratégias

Leia mais