Utilizando Algoritmo Genético no Problema do Corte de Estoque Bidimensional Guilhotinado Restrito [1]

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

Download "Utilizando Algoritmo Genético no Problema do Corte de Estoque Bidimensional Guilhotinado Restrito [1]"

Transcrição

1 Utilizando Algoritmo Genético no Problema do Corte de Estoque Bidimensional Guilhotinado Restrito [1] OLIVEIRA, Jorge Alexandre de ALVES, Marcus Vinícius Resende Costa OLIVEIRA, Jorge Alexandre de; ALVES, Marcus Vinícius Resende Costa. Utilizando Algoritmo Genético no Problema do Corte de Estoque Bidimensional Guilhotinado Restrito. Revista Científica Multidisciplinar Núcleo do Conhecimento. Edição 06. Ano 02, Vol. 01. pp , Setembro de ISSN: RESUMO Este trabalho tem como objetivo apresentar uma comparação entre duas implementações avaliando a performance e o desempenho entre o algoritmo exato de Wang e Algoritmo Genético, tendo como parâmetros de comparação a estrutura e os métodos utilizados para garantir a exatidão apresentada pelo algoritmo de Wang contra os métodos evolutivos do algoritmo genético explicando detalhadamente a estrutura de seu funcionamento e apresentando de forma clara a sua representação na natureza em seus processos de seleção, cruzamento, mutação e geração de uma nova população, sendo aplicado para a otimização de corte guilhotinado bidimensionais restrito. O problema a ser resolvido pode ser determinado como: dado um número finito de peças retangulares m, de largura w i e altura h i a serem obtidos de retângulos maiores de dimensão WxH denominados chapas, encontrar padrões de corte da chapa que atendam a demanda de peças solicitada com o menor desperdício possível. Mesmo tratando-se de uma abordagem heurística, os resultados da aplicação do Algoritmo Genético mostraram-se muito satisfatório quando comparados à solução apresentada por um método exato para o processo de corte bidimensional guilhotinado restrito, como é o caso do algoritmo de Wang. Palavras-Chave: Corte Guilhotinado Bidimensional Restrito, Algoritmo Genético, Algoritmo de Wang. 1. INTRODUÇÃO Os problemas de corte começaram a serem pesquisados por volta de 1940, embora os principais estudos tenham surgido nos anos 60. Observa-se que as pesquisas nesta área têm caminhado no sentido de desenvolver técnicas heurísticas adaptadas para a resolução de tais problemas, pois são da classe Não Polinomial Complexos, e técnicas exatas, que até o momento, não podem ser utilizadas para resolver problemas práticos, caso bidimensional, por questões de eficiência. Na década de 60 surgiram vários trabalhos importantes publicados na área. As modelagens e métodos de resolução de maior repercussão na literatura foram os publicados por Gilmore e Gomory (1965). Christofides e Withlock (1977) propuseram um método de solução que incorpora programação dinâmica e uma rotina de transporte em uma árvore de busca, para o problema de corte bidimensionxal restrito. O método de solução proposto por Wang (1983) encontra padrões de corte guilhotinado adicionando retângulos sucessivamente. Para reduzir o número de combinações Wang (1983) incluiu parâmetros que tornam possível a rejeição de padrões indesejáveis.

2 Neste trabalho será utilizado o algoritmo genético para desenvolver uma proposta de solução para o problema de corte de estoque bidimensional guilhotinado restrito. A proposta para solucionar o problema de corte parte da idéia dos problemas enfrentados por empresas que usam esse processo de corte, para isso usou algoritmo genético para poder chegar a uma solução para tal problema. Os algoritmos genéticos são uma família de modelos computacionais inspirados na evolução, que incorporam uma solução potencial para um problema específico numa estrutura semelhante à de um cromossomo e aplicam operadores de seleção e cruzamento a essas estruturas de forma a preservar informações críticas relativas à solução do problema. Normalmente os algoritmos genéticos são vistos como otimizadores de funções, embora a quantidade de problemas para o qual os algoritmos genéticos se aplicam seja bastante abrangente. Nesse trabalho o algoritmo genético é uma busca de subida de encosta estocástica em que é mantida uma grande população de estados. Novos estados são gerados por mutação e por cruzamento, que combina pares de estados da população Objetivo Geral Propor uma alternativa para garantir o mínimo possível de desperdício em um de cortes em usando como exemplo o beneficiamento em chapas de vidro em uma fábrica de vidros temperados e tendo como base os métodos e funcionamento de algoritmo genético Problema O presente trabalho inicia-se colocando em foco uma das grandes dificuldades das empresas na gestão de compras e na logística de materiais que possuem processos de corte de estoque bidimensional restrito, dificuldade como a previsão da demanda de material a ser adquirido e a perda do material depois do corte. Otimizar as compras não é algo trivial e requer grande esforço e integração dos departamentos para obtenção de ganhos reais. Estoques desnecessários ou falta de chapas resultam em custos desnecessários ou menor poder de negociação junto aos fornecedores. O objetivo do presente trabalho é apresentar uma aplicação do algoritmo genético para gerar soluções de maneira eficiente e rápida para o problema de corte. Problema esse que consiste na resolução de padrões de corte de unidades de chapas de maneira a determinar um conjunto de unidades menores, satisfazendo determinadas restrições e minimizando ou limitando a perda. Em grande parte das indústrias, ainda não é possível prever quanto de chapas será consumida para atender uma determinada ordem de produção. A falta de ferramentas de apoio ao departamento de PCP (Planejamento e Controle da Produção) e aos operadores das máquinas é uma das principais causas. Somente após todo o processo de corte ser realizado é que será possível saber a perda da chapa, que é o material que não será usado depois do corte. Durante a etapa de corte de estoque bidimensional guilhotinado restrito, a sequência em que as peças serão cortadas a partir das chapas irá determinar o grau de aproveitamento do material. Com grandes quantidades de peças fica impraticável se obter um alto índice de aproveitamento, sem auxílio de ferramentas de apoio Hipótese Será utilizada uma aplicação do algoritmo genético para a resolução do problema gastando-se menos tempo e com uma perda considerável e com isso compará-lo ao método exato de Wang (1983), como o objetivo de apresentar uma aplicação satisfatória.

3 1.4. Visão geral do trabalho No capítulo 2 será feito um levantamento bibliográfico do problema de corte de estoque bidimensional restrito, a utilização do método de busca local, uma explicação do que é o algoritmo genético e sobre o algoritmo de Wang (1983) no qual será feito uma comparação. No capítulo 3 será apresentado o desenvolvimento do trabalho, a representação do problema utilizando algoritmo genético, as partes que envolvem o algoritmo genético, como cromossomos, cruzamento, mutação e seleção. Na seqüência no capítulo 5 serão feitos os testes e apresentação dos resultados e as comparações com o algoritmo de Wang (1983). Finalizando o trabalho, serão apresentadas as conclusões. 2. LEVANTAMENTO BIBLIOGRÁFICO 2.1. O Problema de Corte de Estoque Bidimensional Guilhotinado Restrito O problema de corte de estoque bidimensional guilhotinado restrito além de ser um problema de difícil solução exata, ele é importante em diversos processos industriais de corte de chapas retangulares. Como é apresentado no artigo (Cláudia Maria, Celso Junior e Marcelo Rocha (2004)) que as indústrias deparamse frequentemente com o problema de se cortar chapas inteiras em pedaços menores geralmente solicitados por clientes ou setores internos. É necessário planejar os cortes para minimizar gastos que levam a utilização de um maior número de peças grandes, aumentando os custos de produção. O problema de corte de estoque bidimensional guilhotinado restrito é um problema tipicamente presente em indústrias como vidro, aço, madeira, alumínio, placas de circuito impresso dentre outras. O problema é de estoque porque utiliza peças presentes no estoque da empresa para serem colocados na chapa, é bidimensional porque envolve duas dimensões relevantes para a solução, a altura e a largura das chapas, é guilhotinado devido às restrições impostas pelos equipamentos, os cortes ao serem realizados sobre um retângulo, corta de uma extremidade a outra produzindo dois retângulos, e é restrito porque há uma restrição dada pelo tamanho da chapa, ou seja, sua altura e largura. O problema consiste em obter geometricamente peças em chapas inteiras de modo a atender à demanda, acelerando a produção e minimizando as perdas. Essa obtenção das peças é chamada padrão de corte. Associadas ao problema estão às restrições físicas, relativas às duas dimensões das chapas, e as restrições encontradas nas situações práticas, relativas aos tipos de corte, que definem a disposição das peças sobre a chapa. Ao tratar desse problema e analisando métodos chegamos a alguns exemplos de autores como Wang (1983), que propôs um método heurístico que combina peças em arranjos horizontais e verticais para formar padrões de corte; em Vasko (1989) e Oliveira e Ferreira (1990), que apresentaram refinamentos do algoritmo de Wang (1983); Christofides e Whitlock (1977), que apresentaram um algoritmo de busca em árvore que utiliza uma rotina baseada no problema de transporte para obter limitantes durante a busca Conceito e Definições Demanda: Demanda representa a quantidade de itens que devem ser obtidos dos objetos maiores, como por exemplo, as peças que deverão ser cortadas em uma chapa de aço. Peças: Como visto na tese de Franceschette (Franceschette (2008)), chama-se de peças pequenos retângulos (Fritsch, 1995) que são itens de uma demanda de pedidos em uma linha de produção, que devem ser projetados sobre uma lâmina (Daza, 1995) (Oliveira, 1990) denominada aqui de chapa. No caso deste

4 trabalho, as peças e as chapas são regulares, formadas por retângulos ortogonais (Morabito, 1995). As peças não regulares possuem formas não convexas, não simétricas, ângulos diferentes, quantidade de lados variados podendo ter retas ou curvas (Fritsch, 1995). Padrão de Corte: O arranjo das peças na chapa é denominado de plano de corte e, quando este plano é utilizado mais de uma vez, é denominado de padrão de corte. Neste trabalho usam-se tais conceitos como sinônimos. Corte Guilhotina: O tipo de corte é considerado guilhotina quando este percorre a placa de um lado ao outro, ou seja, após o corte são produzidos dois retângulos como está representado na Figura 1 (Farney, 1990) (Morabito, 1997) (Morabito, 1995) (Morabito, 1996). Quando o corte é do tipo guilhotina, diz-se que o padrão de corte é do tipo guilhotina. Figura 1 Corte Guilhotinado Na Figura 2 o padrão gera cinco retângulos e neste caso o corte é considerado não guilhotina, isso porque, cada um dos cortes não pode percorrer a chapa de um lado outro. Figura 2 Corte Não Guilhotinado No padrão de corte guilhotina, o primeiro corte normalmente é paralelo ao lado mais curto da chapa, para isso, deve-se observar a estrutura da guilhotina. O segundo corte é feito no sentido oposto ao primeiro,

5 representando assim, uma seqüência de estágios sucessivos (Silva, 2005). Dois fatores definem a prioridade de cada corte, um deles é a largura da guilhotina, o outro é a dimensão das peças que deve ser respeitada de forma que estas não sejam danificadas durante utilização da guilhotina. Na Figura 3 os números representam os estágios de corte e as setas à incisão da guilhotina. Figura 3 Estágios do corte guilhotinado O corte pode ser restrito ou irrestrito. Restrito é em relação a restrição dada pelo tamanho da chapa a ser cortada, e é irrestrito quando não existe este limite. À medida que as peças são combinadas na chapa, entre elas pode haver um espaço não aproveitado, que se chama desperdício interno (Vasko, 1989). Isso ocorre normalmente em função das dimensões das peças serem diferentes. Caso as peças tenham dimensões iguais, e/ou os lados de uma peça toquem os lados de outras peças de forma a não deixar espaço entre elas, então, o desperdício interno não existe. O desperdício externo ocorre quando o espaço está além do conjunto de peças já projetadas e nele não cabe mais nenhuma outra peça na parte externa da chapa. Observa-se na Figura 4. Figura 4 Desperdícios Segundo Christofides (Christofides, 1995) o corte pode ser normalizado ou corte não normalizado. O corte é normalizado quando uma peça é projetada ao lado da outra e tem um de seus lados encostado a esta, ou seja, entre as peças não tem área de desperdício interno, como mostrado na Figura 5.

6 Figura 5 Corte Normalizado Para a utilização de guilhotina, o corte deve ser ortogonal, ou seja, quando as peças regulares são projetadas, um de seus lados é paralelo a um dos lados da chapa. O corte ainda pode ser classificado como homogêneo, quando peças a serem projetadas têm as mesmas dimensões e não homogêneo, quando tais peças possuem dimensões diferentes (Araujo,2006). Também é preciso que se faça um controle para que a soma da área da próxima peça projetada mais a área das peças já projetadas, não ultrapassem a largura e a altura da chapa, e dessa forma o corte seja possível. Restrito: É quando a uma restrição dada pelo tamanho da chapa a ser cortada. Objetivos da resolução de um problema de corte guilhotina: Os objetivos de um problema de corte guilhotina estão relacionados ao que se deseja otimizar no problema, dessa forma, o objetivo pode ser maximizar o total da área ocupada, o que é o equivalente a minimizar áreas em desperdício, ou então pode ser maximizar o valor total de pedaços cortados independente da área. Dessa maneira, um problema de corte guilhotinado consiste em um conjunto de peças retangulares, cada uma com um dado valor e tamanho que devem ser cortadas em uma chapa retangular principal, no qual o objetivo pode ser: Maximizar o valor de peças cortadas; Minimizar o desperdício nos padrões; Determinar a melhor sequência de cortes; Determinar soluções exatas; Determinar soluções aproximadas; Qualquer um destes objetivos pode estar sujeito a restrições quanto ao número de peças, demanda número de guilhotinas e tempo disponível para o trabalho. Ainda pode-se ter a combinação de dois ou mais objetivos. Este trabalho está concentrado em encontrar padrões de corte de modo a minimizar o desperdício e atender à demanda Algoritmo Exato de Wang Para este problema, Wang (1983) descreveu dois algoritmos construtivos que geram os padrões de corte combinando retângulos de R. O método utilizado emprega a seguinte terminologia: Uma Construção horizontal de dois retângulos A 1 = p 1 x q 1 e A 2 = p 2 x q 2 é um retângulo S u que tem dimensões Max(p 1, p 2 )

7 x (q 1 + q 2 ) e contém A 1 e A 2. Uma Construção vertical de A 1 e A 2 é o retângulo S v de dimensões (p 1 + p 2 ) x Max(q 1, q 2 ). Um exemplo de S u e S v é dado na Figura 6. Nenhuma dimensão de S u ou de S v deve ultrapassar H ou W. Figura 6 Construção Horizontal e Construção Vertical Wang utiliza dois parâmetros b 1 e b 2 para determinar a perda máxima aceitável em um retângulo T gerado no algoritmo. O primeiro algoritmo utiliza b 1 que é calculado a partir da placa de estoque H x W, e o segundo algoritmo utiliza b 2 que é calculado a partir da área a(t) de T. O procedimento combina os pares de retângulo R 1, R 2,, R n em construções horizontais e verticais. O algoritmo adiciona o retângulo gerado ao retângulo original R i para formar um retângulo de corte guilhotinado maior. O processo é repetido e cada nova construção horizontal ou vertical forma-se um novo retângulo guilhotinado maior a partir de dois retângulos guilhotinados menores. Algoritmo 1 Passo 1. a. Escolha um valor parab 1, 0 b Defina L (0) = F (0) = {R 1, R 2,, R n }, e faça k = 1. Passo 2. a. Compute F (k) com o conjunto de todos os retângulos T que satisfaçam T é formado por uma construção horizontal ou vertical de dois retângulos de L (k-1),

8 A perda acumulada em T não excede a b 1 HW, e Os retângulos R i não aparecem em T não violam a restrição de demanda b i. 1. Faça L (k) = L (k-1) È F (k). Remova padrões repetitivos de L (k). Passo 3 Se F (k) não estiver vazio, faça k = k 1 e vá para o Passo 2, caso contrário, Passo 4 a. Faça M = k Escolha o retângulo de L (M) que possua a menor perda total quando colocado na folha de estoque H x W. Algoritmo 2 Para o Algoritmo 2, faz-se a seguinte modificação: troca-se b 1 do Algoritmo 1 por b 2 no Passo 1. a. e troque o Passo 2.a.(ii) por: A perda acumulada em T não excede a b 2 a(t). Em todas as implementações apresentadas aqui, a entrada de dados é feita através de um arquivo que contém as o número de retângulos, as dimensões da placa, o percentual de perda aceitável, o número de cada retângulo (peça) a ser cortado, suas dimensões e sua demanda, a estrutura deste arquivo é apresentada na Figura 7 e a extensão do arquivo deve ser um documento.txt. Figura 7 Estrutura do Arquivo de Entrada 2.3. Método de Busca Local Como visto no livro de Russel (2004), o método de busca local opera usando um conjunto de estados corrente (em vez de vários caminhos) e em geral se movem apenas para os vizinhos dos estados pertencentes ao conjunto. Normalmente, os caminhos seguidos pela busca não são guardados. Embora os algoritmos de busca local não serem sistemáticos, eles têm duas vantagens: usam pouquíssima memória que quase sempre um valor constante e frequentemente pode encontrar soluções razoáveis em grandes ou infinitos espaços (contínuos) de estados para os quais os algoritmos sistemáticos são inadequados. Além de encontrar objetivos, os algoritmos de busca local são úteis para resolver problemas de

9 otimização que seria o caso abordado nesse trabalho, esses problemas que nos quais o objetivo é encontrar o melhor estado, ou seja, a melhor otimização para que não haja perda de material, de acordo com uma função objetivo. Para entender a busca local, é muito útil considerar a topologia de espaço de estados. Uma topologia tem ao mesmo tempo posição (definida pelo estado) e elevação (definida pelo valor da função objetivo). Se a elevação corresponder ao custo, o objetivo será encontrar o vale mais baixo, ou seja, a perda considerável, um mínimo global; se a elevação corresponder a uma função objetivo, que seria a menor perda possível para tal distribuição das chapas, então o objetivo será encontrar o pico mais alto, um máximo global. Os algoritmos de busca local exploram essa topologia. Um algoritmo de busca local completo sempre encontra um objetivo, caso ele exista. Nesse trabalho iremos utilizar esse método para poder chegar a uma solução para que não haja perda da chapa inteira a ser cortada a partir dos tamanhos das peças desejadas, se houver perda, que seja no limite aceitável para tal Algoritmo Genético Como descrito no artigo de Miranda (Miranda (2009)), os Algoritmos Genéticos (Goldberg, 1989) são métodos de otimização e busca inspirados nos mecanismos de evolução de população de seres vivos. Os algoritmos baseados nesta técnica seguem o princípio da seleção natural e sobrevivência do mais apto. De acordo com Charles Darwin, Quanto melhor um indivíduo se adaptar ao seu meio ambiente, melhor será sua chance de sobreviver e gerar descendentes. As técnicas de busca e otimização geralmente apresentam: um espaço de busca, onde estão todas as possíveis soluções do problema; uma função objetiva, que é utilizada para avaliar as soluções produzidas, associando a cada uma delas uma nota. Miranda (Miranda (2009)) ainda diz que a otimização consiste em achar uma solução que corresponda ao ponto de máximo ou mínimo da função objetivo. Se a função for de maximizar, deseja-se encontrar o ponto de máximo, caso contrário, deseja-se encontrar o ponto de mínimo. Como se deseja a minimização do desperdício que é gerado no encaixe das peças na chapa retangular, espera-se encontrar o ponto de mínimo da função objetivo. Os algoritmos genéticos simples normalmente trabalham com descrições de entrada formadas por cadeias de bits de tamanho fixo. Outros tipos de algoritmos genéticos podem trabalhar com cadeias de bits de tamanho variável, como por exemplo, algoritmos genéticos usados para Programação Genética. Os algoritmos genéticos possuem um paralelismo implícito decorrente da avaliação independente de cada uma dessas cadeias de bits, ou seja, pode-se avaliar a viabilidade de um conjunto de parâmetros para a solução do problema de otimização em questão. O algoritmo genético é indicado para a solução de problemas de otimização complexos, NP Complexos, como o caixeiro viajante, que envolvem um grande número de variáveis e, consequentemente, espaços de soluções de dimensões elevadas. Além disso, em muitos casos onde outras estratégias de otimização falham na busca de uma solução, os algoritmos genéticos convergem. Os algoritmos genéticos são numericamente robustos, ou seja, não são sensíveis a erros de arredondamento no que se refere aos seus resultados finais. Existem três tipos de representação possíveis para os cromossomos: binário, inteiro ou real. A essa representação se dá o nome de alfabeto do algoritmo genético. De acordo com a classe de problema que se deseje resolver pode-se usar qualquer um dos três tipos. Uma implementação de um algoritmo genético começa com uma população aleatória de cromossomos. Essas estruturas são, então, avaliadas e associadas a uma probabilidade de reprodução de tal forma que as maiores probabilidades são associadas aos cromossomos que representam uma melhor solução para o problema de otimização do que àqueles que representam uma solução pior. Figura 8 ilustra dois cromossomos em forma binária.

10 Figura 8 Cromossomos em Forma Binária O fitness da solução é tipicamente definido com relação à população corrente. A função objetivo de um problema de otimização é construída a partir dos parâmetros envolvidos no problema. Ela fornece uma medida da proximidade da solução em relação a um conjunto de parâmetros. Os parâmetros podem ser conflitantes, ou seja, quando um aumenta o outro diminui. O objetivo é encontrar o ponto ótimo. A função objetivo permite o cálculo do fitness de cada indivíduo, que fornecerá o valor a ser usado para o cálculo de sua probabilidade de ser selecionada a próxima geração. Com referência a Figura 9, observa-se que cada iteração do algoritmo genético corresponde à aplicação de um conjunto de quatro operações básicas: cálculo do fitness, seleção, cruzamento e mutação. Ao fim destas operações cria-se uma nova população, chamada de geração que, espera-se, representa uma melhor aproximação da solução do problema de otimização que a população anterior. A população inicial é gerada atribuindo-se aleatoriamente valores aos genes de cada cromossomo. O fitness bruto de um indivíduo da população é medida por uma função de erro, também chamada de função objetivo do problema de otimização. O fitness bruto é em seguida normalizado (fitness normalizado), para permitir um melhor controle do processo de seleção. Como critérios de parada do algoritmo em geral são usados o fitness do melhor indivíduo em conjunto com a limitação do número de gerações. Outros critérios podem envolver, por exemplo, um erro abaixo de um valor especificado pelo projetista para um determinado parâmetro do problema. A estrutura básica do algoritmo genético é mostrada na Figura 9 abaixo:

11

12 Figura 9 Estrutura Básica do Algoritmo Genético O inicio é com uma população de n indivíduos são gerados aleatoriamente. Cada um dos indivíduos da população representa uma possível solução para o problema, ou seja, um ponto no espaço de soluções. Geralmente o fitness do indivíduo é determinado através do cálculo da função objetivo, que depende das especificações de projeto. Nesta explicação, cada indivíduo é uma entrada para uma ferramenta de análise de desempenho, cuja saída fornece medidas que permitem ao algoritmo genético o cálculo do fitness do indivíduo. Seleção Na fase de seleção os indivíduos mais aptos da geração atual são selecionados. Esses indivíduos são utilizados para gerar uma nova população por cruzamento. Cada indivíduo tem uma probabilidade de ser selecionado proporcional ao seu fitness. Para visualizar este método considere um círculo dividido em n regiões (tamanho da população), onde a área de cada região é proporcional ao fitness do indivíduo. Colocam-se sobre este círculo uma roleta com n cursores, igualmente espaçados. Após um giro da roleta a posição dos cursores indica os indivíduos selecionados. Este método é denominado amostragem universal estocástica. Evidentemente, os indivíduos cujas regiões possuem maior área terão maior probabilidade de serem selecionados várias vezes. Como consequência, a seleção de indivíduos pode conter várias cópias de um mesmo indivíduo enquanto outros podem desaparecer. Cruzamento O cruzamento opera em determinados genes dos cromossomos dos pais e cria novas descendências. A maneira mais simples de fazer isso é escolher aleatoriamente alguns pontos de cruzamento e copiar tudo o que vem antes desse ponto de um dos pais e então copiar tudo o que vem depois desse ponto do outro pai. Um novo cromossomo é gerado permutando-se a metade final de um cromossomo com a metade final do outro. Deve-se notar que se o cromossomo for representado por uma cadeia de bits, o ponto de corte pode incidir em qualquer posição (bit) no interior de um gene, não importando os limites do gene. No caso de genes representados por números reais, a menor unidade do cromossomo que pode ser permutada é o gene. Há outras maneiras de fazer cruzamento. Por exemplo, pode escolher mais pontos de cruzamento. O cruzamento pode ser um pouco complicado e depender principalmente da codificação dos cromossomos. Cruzamentos específicos feitos para problemas específicos podem melhorar o desempenho dos algoritmos genéticos. Mutação Depois que um cruzamento é realizado, acontece à mutação. A mutação tem a intenção de prevenir que todas as soluções do problema dessa população caiam em um ponto ótimo local. A operação de mutação muda aleatoriamente a descendência criada pelo cruzamento. No caso de uma codificação binária, podemos mudar aleatoriamente alguns bits escolhidos de 1 para 0, ou de 0 para 1. A técnica da mutação, da mesma forma que a do cruzamento, depende muito da codificação dos cromossomos. Por exemplo, quando codificamos permutações, mutações podem ser realizadas como uma troca de dois genes. 3. DESENVOLVIMENTO Nesse capítulo será descrito um algoritmo genético moldado ao problema de corte de estoque

13 bidimensional guilhotinado restrito. Serão colocadas as restrições que foram consideradas e as técnicas usadas. Foi utilizada a linguagem C# junto com o programa Visual Studio 2010 para o desenvolvimento dos algoritmos Representação do Problema Utilizando Algoritmos Genéticos Considere o caso da minimização de perda de material, quando se deseja cortar a partir de chapas retangulares, um conjunto de peças menores, com forma e quantidades máximas pré-estabelecidas, de maneira a minimizar a perda de material envolvida e o número de peças grandes utilizadas no processo. Devido à geometria das peças e do tipo de corte envolvidos, limitaremos a classe de cortes de estoque bidimensional guilhotinado restrito. Uma proposta para a solução do problema descrito é um padrão de corte, ou seja, uma combinação de retângulos, retirados do conjunto de retângulos pedidos, que pode ser cortada da uma chapa onde o número de vezes que um retângulo pode aparecer é limitado. Um padrão de corte estará então completamente definido pela sua altura, largura e pelo número de vezes que cada retângulo aparece. Considere-se então a seguinte notação: W largura da chapa; H altura da chapa; m número de retângulos diferentes a cortar; w p largura do padrão de corte; h p altura do padrão de corte; w i largura do retângulo i; h i altura do retângulo i; b i número máximo de vezes que o retângulo i pode ser usado; x i número de vezes que o retângulo i é efetivamente usado num padrão de corte. Os dados de corte, placa, padrões a serem cortados, demanda e percentual de perda permitida, vem do arquivo de padrão de corte. A Figura 10 apresenta um padrão de corte com as restrições consideradas, e ilustra parte da notação definida.

14 Powered by TCPDF ( Figura 10 Padrão de corte A solução ótima deste problema é um padrão de corte, como foi acima definido, que minimiza a perda, isto é, que é a solução do seguinte modelo: Foram utilizadas para a construção de um padrão de corte arquivos de texto separado por tabulação, onde a primeira linha representa a chapa e as demais linhas representam as peças. A Tabela 1 representa o arquivo G0101 que será usado como exemplo. Esse arquivo contém a chapa inteira com dimensões H = 40 que é a altura por H = 70 que é a largura, considerando 10% de perda, sendo que se houver um padrão que ultrapasse esse valor ele é eliminado na pré-seleção. Nesta chapa pretende-se cortar 2 peças com as dimensões h 1 = 4 (altura) por w 1 = 11 (largura), 4 peças com h 2 = 39 (altura) por w 2 = 37 (largura), 5 peças com h 3 = 11 (altura) por w 3 = 44 (largura), 4 peças com h 4 = 35 (altura) por w 4 = 9 (largura) e 2 peças com h 5 = 28 (altura) por w 5 = 7 (largura). CHAPA

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

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

Algoritmos Genéticos. Princípio de Seleção Natural. Sub-áreas da Computação Evolutiva. Idéias básicas da CE. Computação Evolutiva

Algoritmos Genéticos. Princípio de Seleção Natural. Sub-áreas da Computação Evolutiva. Idéias básicas da CE. Computação Evolutiva Computação Evolutiva Algoritmos Genéticos A computação evolutiva (CE) é uma área da ciência da computação que abrange modelos computacionais inspirados na Teoria da Evolução das Espécies, essencialmente

Leia mais

Algoritmos Genéticos

Algoritmos Genéticos Algoritmos Genéticos Roteiro Introdução Algoritmos Genéticos Otimização Representação Seleção Operadores Genéticos Aplicação Caixeiro Viajante Introdução Algoritmos Genéticos (AGs), são métodos de otimização

Leia mais

Inteligência Artificial

Inteligência Artificial Inteligência Artificial Aula 6 Algoritmos Genéticos M.e Guylerme Velasco Roteiro Introdução Otimização Algoritmos Genéticos Representação Seleção Operadores Geneticos Aplicação Caixeiro Viajante Introdução

Leia mais

Introdução a Algoritmos Genéticos

Introdução a Algoritmos Genéticos Introdução a Algoritmos Genéticos Tiago da Conceição Mota Laboratório de Inteligência Computacional Núcleo de Computação Eletrônica Universidade Federal do Rio de Janeiro Outubro de 2007 O Que São? Busca

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

Exemplo de Aplicação de Algoritmos Genéticos. Prof. Juan Moisés Mauricio Villanueva cear.ufpb.br/juan

Exemplo de Aplicação de Algoritmos Genéticos. Prof. Juan Moisés Mauricio Villanueva cear.ufpb.br/juan Exemplo de Aplicação de Algoritmos Genéticos Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br cear.ufpb.br/juan Estrutura do Algoritmo Genético Algoritmo genético Inicio t = 0 inicializar P(t)

Leia mais

Algoritmos Genéticos. Texto base: Stuart Russel e Peter Norving - Inteligência Artificial

Algoritmos Genéticos. Texto base: Stuart Russel e Peter Norving - Inteligência Artificial Algoritmos Genéticos Texto base: Stuart Russel e Peter Norving - Inteligência Artificial junho/2007 Algoritmo Genético Uma variante da busca em feixe estocástica Estado sucessor gerado pela combinação

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

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

INSTITUTO DE PÓS GRADUAÇÃO ICPG GESTÃO DA TECNOLOGIA DA INFORMAÇÃO

INSTITUTO DE PÓS GRADUAÇÃO ICPG GESTÃO DA TECNOLOGIA DA INFORMAÇÃO INSTITUTO DE PÓS GRADUAÇÃO ICPG GESTÃO DA TECNOLOGIA DA INFORMAÇÃO Prof. Msc. Saulo Popov Zambiasi (saulopz@gmail.com) Informação - ICPG - Criciuma - SC 1 Características Gerais, operadores, algoritmo.

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

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

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

Buscas Informadas ou Heurísticas - Parte III

Buscas Informadas ou Heurísticas - Parte III Buscas Informadas ou Heurísticas - Parte III Prof. Cedric Luiz de Carvalho Instituto de Informática - UFG Mestrado em Ciência da Computação / 2006 BUSCA SMA* (Simplified Memory-Bounded A*) BUSCA SMA* (Simplified

Leia mais

Introdução aos Algoritmos Genéticos

Introdução aos Algoritmos Genéticos Introdução aos Algoritmos Genéticos Prof. Matheus Giovanni Pires EXA 868 Inteligência Artificial Não-Simbólica B Universidade Estadual de Feira de Santana 2 Algoritmos Genéticos: Introdução Introduzidos

Leia mais

Computação Evolutiva Eduardo do Valle Simões Renato Tinós ICMC - USP

Computação Evolutiva Eduardo do Valle Simões Renato Tinós ICMC - USP Computação Evolutiva Eduardo do Valle Simões Renato Tinós ICMC - USP 1 Principais Tópicos Introdução Evolução Natural Algoritmos Genéticos Aplicações Conclusão 2 Introdução http://www.formula-um.com/ Como

Leia mais

Metahuerísticas: Algoritmos Genéticos. Sistemas de Informação/Ciências da Computação UNISUL Aran Bey Tcholakian Morales, Dr. Eng.

Metahuerísticas: Algoritmos Genéticos. Sistemas de Informação/Ciências da Computação UNISUL Aran Bey Tcholakian Morales, Dr. Eng. Metahuerísticas: Algoritmos Genéticos Sistemas de Informação/Ciências da Computação UNISUL Aran Bey Tcholakian Morales, Dr. Eng. (Apostila 8) Meta-heurísticas Classificação de métodos heurísticos: os métodos

Leia mais

Computação Evolutiva. Computação Evolutiva. Principais Tópicos. Evolução natural. Introdução. Evolução natural

Computação Evolutiva. Computação Evolutiva. Principais Tópicos. Evolução natural. Introdução. Evolução natural Computação Evolutiva Eduardo do Valle Simões Renato Tinós ICMC - USP Principais Tópicos Introdução Evolução Natural Algoritmos Genéticos Aplicações Conclusão 1 2 Introdução Evolução natural http://www.formula-um.com/

Leia mais

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ ALGORITMOS GENÉTICOS. Metaheurísticas de Buscas

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ ALGORITMOS GENÉTICOS. Metaheurísticas de Buscas PR UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ ALGORITMOS GENÉTICOS Metaheurísticas de Buscas ALGORITMOS GENÉTICOS (AG) Popularizados por John Holland podem ser considerados os primeiros modelos algorítmicos

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

Computação Evolutiva. Aula 4 Usando AEs Prof. Tiago A. E. Ferreira

Computação Evolutiva. Aula 4 Usando AEs Prof. Tiago A. E. Ferreira Computação Evolutiva Aula 4 Usando AEs Prof. Tiago A. E. Ferreira Roteiro Exemplos: Problema das 8 rainhas Comportamentos Típicos dos AE CE no contexto da Otimização Global Relembrando Na Aula Passada,

Leia mais

Algoritmos Evolutivos para Otimização

Algoritmos Evolutivos para Otimização Algoritmos Evolutivos para Otimização A área de aplicação que tem recebido mais atenção é a otimização. Uma das razões é que existem uma variedade de problemas de otimização e a maioria deles sem solução

Leia mais

INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial INF 1771 Inteligência Artificial Aula 06 Algoritmos Genéticos Edirlei Soares de Lima Algoritmos Genéticos Método de busca local. Boa abordagem para lidar com espaços de busca muito

Leia mais

Aprendizado Evolutivo: Introdução aos Algoritmos Genéticos

Aprendizado Evolutivo: Introdução aos Algoritmos Genéticos Aprendizado Evolutivo: Introdução aos Algoritmos Genéticos SCC-230 Inteligência Artificial Thiago A. S. Pardo Solange O. Rezende 1 Computação Evolutiva (CE) Trata de sistemas para a resolução de problemas

Leia mais

Algoritmos Genéticos

Algoritmos Genéticos Algoritmos Genéticos Introdução Um Algoritmo Genético (AG), conceitualmente, segue passos inspirados no processo biológico de evolução natural segundo a teoria de Darwin Algoritmos Genéticos seguem a idéia

Leia mais

Algoritmos genéticos Abordagem unificada de algoritmos evolutivos simples

Algoritmos genéticos Abordagem unificada de algoritmos evolutivos simples Introdução Inspiração biológica Histórico da computação evolutiva Algoritmo evolutivo simples Programação evolutiva Estratégias evolutivas Algoritmos genéticos Abordagem unificada de algoritmos evolutivos

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

Problemas de otimização

Problemas de otimização Problemas de otimização Problemas de decisão: Existe uma solução satisfazendo certa propriedade? Resultado: sim ou não Problemas de otimização: Entre todas as soluções satisfazendo determinada propriedade,

Leia mais

Técnicas de Inteligência Artificial

Técnicas de Inteligência Artificial Universidade do Sul de Santa Catarina Ciência da Computação Técnicas de Inteligência Artificial Aula 9 Algoritmos Genéticos Max Pereira Algoritmos Genéticos Algoritmos Genéticos São técnicas de busca e

Leia mais

INVESTIGANDO O PROBLEMA DA MOCHILA IRRESTRITA EM SUA VERSÃO BIDIMENSIONAL

INVESTIGANDO O PROBLEMA DA MOCHILA IRRESTRITA EM SUA VERSÃO BIDIMENSIONAL INVESTIGANDO O PROBLEMA DA MOCHILA IRRESTRITA EM SUA VERSÃO BIDIMENSIONAL Mirella Augusta Sousa Moura, mirella.asm14@hotmail.com Thiago Alves de Queiroz, th.al.qz@catalão.ufg.br Resumo: Empacotamento consiste

Leia mais

3 Métodos de Otimização

3 Métodos de Otimização 3 Métodos de Otimização Problemas de otimização são relacionados a minimização ou maximização de função de uma ou mais variáveis num determinado domínio, possivelmente com a existência de um conjunto de

Leia mais

Figura 3.1: Fluxograma do algoritmo da Programação Genética.

Figura 3.1: Fluxograma do algoritmo da Programação Genética. 3 Programação Genética O termo Programação Genética passou a ser utilizado em 1990 nos trabalhos publicados por Koza [30] e De Garis [31]. A definição de Koza para este termo passou a predominar após a

Leia mais

Técnicas de Inteligência Artificial

Técnicas de Inteligência Artificial Universidade do Sul de Santa Catarina Ciência da Computação Técnicas de Inteligência Artificial Aula 9 Algoritmos Genéticos Max Pereira Algoritmos Genéticos São técnicas de busca e otimização. Uma metáfora

Leia mais

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

INTRODUÇÃO À INTELIGÊNCIA COMPUTACIONAL. Aula 06 Prof. Vitor Hugo Ferreira Universidade Federal Fluminense Escola de Engenharia Departamento de Engenharia Elétrica INTRODUÇÃO À INTELIGÊNCIA COMPUTACIONAL Aula 06 Prof. Vitor Hugo Ferreira Representação por cromossomos Codificação

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

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

APLICAÇÃO DE ALGORITMOS BIO-INSPIRADOS EM CONTROLE ÓTIMO

APLICAÇÃO DE ALGORITMOS BIO-INSPIRADOS EM CONTROLE ÓTIMO APLICAÇÃO DE ALGORITMOS BIO-INSPIRADOS EM CONTROLE ÓTIMO Profa. Mariana Cavalca Baseado em: Material didático do Prof. Dr. Carlos Henrique V. Moraes da UNIFEI Curso de verão da Profa. Gisele L. Pappa Material

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

Otimização. Unidade 6: Algoritmo Genético. Jaime Arturo Ramírez. 7. Teoria do processo evolutivo num GA. 8. Aspectos avançados

Otimização. Unidade 6: Algoritmo Genético. Jaime Arturo Ramírez. 7. Teoria do processo evolutivo num GA. 8. Aspectos avançados Otimização Jaime Arturo Ramírez Conteúdo 1. Introdução 2. Analogia de mecanismos de seleção natural com sistemas artificiais 3. Algoritmo genético modelo 4. Um GA simples 5. Representação, genes e cromossomos

Leia mais

Resumo. Como um agente busca de seqüência de ações para alcançar seus objetivos.

Resumo. Como um agente busca de seqüência de ações para alcançar seus objetivos. Resumo Inteligência Artificial Russel e Norvig Capítulos 3,4 e 5 Prof. MsC Ly Freitas UEG Resolução de problemas por meio de busca Como um agente busca de seqüência de ações para alcançar seus objetivos.

Leia mais

3 Computação Evolucionária

3 Computação Evolucionária 34 3 Computação Evolucionária Computação Evolucionária compreende diversos algoritmos inspirados no princípio Darwiniano da evolução das espécies e na genética. São algoritmos probabilísticos, que fornecem

Leia mais

Estratégias Evolutivas EEs. Prof. Juan Moisés Mauricio Villanueva

Estratégias Evolutivas EEs. Prof. Juan Moisés Mauricio Villanueva Estratégias Evolutivas EEs Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br www.cear.ufpb.br/juan Estratégias Evolutivas Desenvolvidas por Rechenberg e Schwefel, e estendida por Herdy, Kursawe

Leia mais

Métodos de Busca. Inteligência Artificial. Algoritmos Genéticos. Algoritmos Evolucionários. Prof. Ms. Luiz Alberto Contato:

Métodos de Busca. Inteligência Artificial. Algoritmos Genéticos. Algoritmos Evolucionários. Prof. Ms. Luiz Alberto Contato: Inteligência Artificial Prof. Ms. Luiz Alberto Contato: lasf.bel@gmail.com Métodos de Busca Busca Cega ou Exaustiva: Não sabe qual o melhor nó da fronteira a ser expandido. Apenas distingue o estado objetivo

Leia mais

Inteligência Artificial

Inteligência Artificial Inteligência Artificial Prof. Kléber de Oliveira Andrade pdjkleber@gmail.com Algoritmos Genéticos Conteúdo Introdução O Algoritmo Genético Binário Noções de Otimização O Algoritmo Genético com Parâmetros

Leia mais

ALGORITMOS GENÉTICOS. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR

ALGORITMOS GENÉTICOS. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR ALGORITMOS GENÉTICOS Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR Fev/2018 Introdução Algoritmos Genéticos são algoritmos heurísticos de busca, que utilizam regras

Leia mais

INTELIGÊNCIA ARTIFICIAL

INTELIGÊNCIA ARTIFICIAL Figura: Capa do Livro Russell, S., Norvig, P. Artificial Intelligence A Modern Approach, Pearson, 2009. Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Pós-Graduação

Leia mais

11/1/2012. Agenda. Classe de problemas de interesse. Busca Local. Busca Local. Exemplo de Espaço de Estados

11/1/2012. Agenda. Classe de problemas de interesse. Busca Local. Busca Local. Exemplo de Espaço de Estados Agenda PCS / PCS 09 Inteligência Artificial Prof. Dr. Jaime Simão Sichman Profa. Dra. Anna Helena Reali Costa Busca Local e Problemas de Otimização. Introdução. Busca Local I. Subida da Encosta (Hill-Climbing)

Leia mais

CTC-17 Inteligência Artificial Busca Competitiva e Busca Iterativa. Prof. Paulo André Castro

CTC-17 Inteligência Artificial Busca Competitiva e Busca Iterativa. Prof. Paulo André Castro CTC-17 Inteligência Artificial Busca Competitiva e Busca Iterativa Prof. Paulo André Castro pauloac@ita.br www.comp.ita.br/~pauloac Sala 110, IEC-ITA Sumário Busca Competitiva Para Ambientes multiagentes...

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ PROGRAMA DE PÓS-GRADUAÇÃO DE MÉTODOS NUMÉRICOS EM ENGENHARIA

UNIVERSIDADE FEDERAL DO PARANÁ PROGRAMA DE PÓS-GRADUAÇÃO DE MÉTODOS NUMÉRICOS EM ENGENHARIA UNIVERSIDADE FEDERAL DO PARANÁ PROGRAMA DE PÓS-GRADUAÇÃO DE MÉTODOS NUMÉRICOS EM ENGENHARIA CLAUDIA FRANCESCHETTE UMA ABORDAGEM HEURÍSTICA PARA O PROBLEMA DE CORTE GUILHOTINADO BIDIMENSIONAL APLICADO A

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

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

SOLUÇÕES HEURÍSTICAS PARA O JOGO DE DAMAS

SOLUÇÕES HEURÍSTICAS PARA O JOGO DE DAMAS Universidade Federal do Tocantins SOLUÇÕES HEURÍSTICAS PARA O JOGO DE DAMAS Diogo Rigo de Brito Guimarães Alexandre Tadeu Rossini da Silva Objetivo Implementar soluções heurísticas para o Jogo de Damas

Leia mais

Buscas Informadas ou Heurísticas - Parte II

Buscas Informadas ou Heurísticas - Parte II Buscas Informadas ou Heurísticas - Parte II Prof. Cedric Luiz de Carvalho Instituto de Informática - UFG Graduação em Ciência da Computação / 2006 FUNÇÕES HEURÍSTICAS - 1/7 FUNÇÕES HEURÍSTICAS - 2/7 Solução

Leia mais

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

Computação Evolutiva. Prof. Eduardo R. Hruschka (Slides baseados nos originais do Prof. André C. P. L. F. de Carvalho) Computação Evolutiva Prof. Eduardo R. Hruschka (Slides baseados nos originais do Prof. André C. P. L. F. de Carvalho) Principais Tópicos Computação Evolutiva Algoritmos Genéticos Codificação Função de

Leia mais

Max Pereira. Inteligência Artificial

Max Pereira. Inteligência Artificial Max Pereira Inteligência Artificial Algoritmos Genéticos Algoritmos Genéticos São técnicas de busca e otimização. Uma metáfora da teoria da evolução das espécies iniciada pelo Naturalista inglês Charles

Leia mais

Utilização de Algoritmos Genéticos para Otimização de Altura de Coluna da Matriz de Rigidez em Perfil no Método dos Elementos Finitos

Utilização de Algoritmos Genéticos para Otimização de Altura de Coluna da Matriz de Rigidez em Perfil no Método dos Elementos Finitos Utilização de Algoritmos Genéticos para Otimização de Altura de Coluna da Matriz de Rigidez em Perfil no Método dos Elementos Finitos André Luiz Ferreira Pinto Pontifícia Universidade Católica do Rio de

Leia mais

ESTUDO DOS PARAMETROS DE UM ALGORITMO GENÉTICO PARA POSTERIOR USO NA SOLUÇÃO DE PROBLEMAS DO TIPO JOB-SHOP

ESTUDO DOS PARAMETROS DE UM ALGORITMO GENÉTICO PARA POSTERIOR USO NA SOLUÇÃO DE PROBLEMAS DO TIPO JOB-SHOP ESTUDO DOS PARAMETROS DE UM ALGORITMO GENÉTICO PARA POSTERIOR USO NA SOLUÇÃO DE PROBLEMAS DO TIPO JOB-SHOP Gilson Rogério Batista, Gideon Villar Leandro Universidade Regional do Noroeste do Estado do Rio

Leia mais

Algoritmos Genéticos. 1 Semestre de Cleber Zanchettin UFPE - Universidade Federal de Pernambuco CIn - Centro de Informática

Algoritmos Genéticos. 1 Semestre de Cleber Zanchettin UFPE - Universidade Federal de Pernambuco CIn - Centro de Informática Algoritmos Genéticos 1 Semestre de 2015 Cleber Zanchettin UFPE - Universidade Federal de Pernambuco CIn - Centro de Informática 1 2 Introdução Darwin Naturalistas: cada espécie havia sido criada separadamente

Leia mais

Tópicos Especiais em Informática Fatec Indaiatuba

Tópicos Especiais em Informática Fatec Indaiatuba Prof. Dilermando Piva Jr. ((Compilação de diversas fontes na Internet)) Principal motivação para o estudo da computação evolutiva Otimização de processos complexo e que possuem um grande número de variáveis

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

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

INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial Edirlei Soares de Lima INF 1771 Inteligência Artificial Aula 04 Algoritmos Genéticos Introdução Algoritmos genéticos são bons para abordar espaços de buscas muito grandes e navegálos

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

Codificação das variáveis: binária Iniciação da população: aleatória Avaliação: função aptidão Operadores. Critério de parada: número de gerações

Codificação das variáveis: binária Iniciação da população: aleatória Avaliação: função aptidão Operadores. Critério de parada: número de gerações AG Simples/Canônico (AGS) AG introduzido por Holland Funciona bem para problemas de otimização simples e/ou de pequenas dimensões A maior parte da teoria dos AGs está baseada no AGS Utilidade didática

Leia mais

OTIMIZAÇÃO FUNÇÕES UTILIZANDO ALGORITMOS GENÉTICOS NO APLICATIVO MS EXCEL RESUMO INTRODUÇÃO

OTIMIZAÇÃO FUNÇÕES UTILIZANDO ALGORITMOS GENÉTICOS NO APLICATIVO MS EXCEL RESUMO INTRODUÇÃO OTIMIZAÇÃO FUNÇÕES UTILIZANDO ALGORITMOS GENÉTICOS NO APLICATIVO MS EXCEL Miquéias Augusto Ferreira Nantes 1, Douglas Peixoto de Carvalho 1 (Alunos do Curso de Matemática da Universidade Anhanguera - Uniderp)

Leia mais

Pesquisa Operacional Aplicada à Mineração

Pesquisa Operacional Aplicada à Mineração Pesquisa Operacional Aplicada à Mineração Módulo de Otimização Parte II-b Prof. Marcone J. F. Souza Prof. Túlio A. M. Toffolo marcone.freitas@yahoo.com.br tulio@toffolo.com.br Departamento de Computação

Leia mais

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

Computação Evolutiva. Prof. Eduardo R. Hruschka (Slides baseados nos originais do Prof. André C. P. L. F. de Carvalho) Computação Evolutiva Prof. Eduardo R. Hruschka (Slides baseados nos originais do Prof. André C. P. L. F. de Carvalho) Principais Tópicos Computação Evolutiva Algoritmos Genéticos Codificação Função de

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

Resolução de problemas com apenas restrições lineares de igualdade

Resolução de problemas com apenas restrições lineares de igualdade Resolução de problemas com apenas restrições lineares de igualdade Marina Andretta ICMC-USP 14 de outubro de 2014 Marina Andretta (ICMC-USP) sme0212 - Otimização não-linear 14 de outubro de 2014 1 / 22

Leia mais

Algoritmos Genéticos. Indivíduos em uma população competem por recursos e parceiros. Os indivíduos mais bem sucedidos em cada competição vão produzir

Algoritmos Genéticos. Indivíduos em uma população competem por recursos e parceiros. Os indivíduos mais bem sucedidos em cada competição vão produzir Algoritmos Genéticos Algoritmos Genéticos (GA) são algoritmos de busca heurística baseados em ideias de seleção natural e genética. Dessa forma, eles representam uma forma inteligente de se fazer uma busca

Leia mais

Aplicação de algoritmos genéticos. Problema da Mochila (knapsack problem)

Aplicação de algoritmos genéticos. Problema da Mochila (knapsack problem) Aplicação de algoritmos genéticos Problema da Mochila (knapsack problem) Algoritmos genéticos Passos inspirados no processo biológico de evolução Ideia de sobrevivência dos mais adaptados Soluções cada

Leia mais

OTIMIZAÇÃO DA LIMPEZA DE REDES DE TROCADORES DE CALOR EMPREGANDO OS ALGORITMOS GENÉTICOS

OTIMIZAÇÃO DA LIMPEZA DE REDES DE TROCADORES DE CALOR EMPREGANDO OS ALGORITMOS GENÉTICOS OTIMIZAÇÃO DA LIMPEZA DE REDES DE TROCADORES DE CALOR EMPREGANDO OS ALGORITMOS GENÉTICOS C. de O. GONÇALVES 1, E. M. QUEIROZ 2, F. L. P. PESSOA 2, F. S. LIPORACE 3, S. G. OLIVEIRA 3 e A. L. H. COSTA 1

Leia mais

Busca com informação e exploração. Capítulo 4 Russell & Norvig Seção 4.2 e 4.3

Busca com informação e exploração. Capítulo 4 Russell & Norvig Seção 4.2 e 4.3 Busca com informação e exploração Capítulo 4 Russell & Norvig Seção 4.2 e 4.3 1 Revisão da aula passada: Busca A * Idéia: evitar expandir caminhos que já são caros Função de avaliação f(n) = g(n) + h(n)

Leia mais

Algoritmos Randomizados: Geometria Computacional

Algoritmos Randomizados: Geometria Computacional Algoritmos Randomizados: Geometria Computacional Celina Figueiredo Guilherme Fonseca Manoel Lemos Vinicius de Sá 26º Colóquio Brasileiro de Matemática IMPA Rio de Janeiro Brasil 2007 Resumo Introdução

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

Aplicação da Metaheurística Algoritmos Genéticos na solução do problema das n Rainhas

Aplicação da Metaheurística Algoritmos Genéticos na solução do problema das n Rainhas Aplicação da Metaheurística Algoritmos Genéticos na solução do problema das n Rainhas Resumo Gardiego Luiz da Silva 1 Henrique Faria de Oliveira 2 Faculdade

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

Inteligência Computacional Aplicada. O que é Inteligência Computacional? Áreas de Aplicação Algoritmos Genéticos

Inteligência Computacional Aplicada. O que é Inteligência Computacional? Áreas de Aplicação Algoritmos Genéticos Inteligência Computacional Aplicada Resumo O que é Inteligência Computacional? Áreas de Aplicação Algoritmos Genéticos O que é Inteligência Computacional? Técnicas e sistemas computacionais que imitam

Leia mais

GT-JeDi - Curso de Desenv. de Jogos IA para Jogos. Gustavo Pessin 2007

GT-JeDi - Curso de Desenv. de Jogos IA para Jogos. Gustavo Pessin 2007 GT-JeDi - Curso de Desenv. de Jogos IA para Jogos Gustavo Pessin 2007 Cronograma Base conceitual Exemplo: Achando o máximo de uma função... Como criar uma pequena aplicação: Exercício-Exemplo [Animal selvagem...]

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

GA Conceitos Básicos. Capítulo 3 Prof. Ricardo Linden

GA Conceitos Básicos. Capítulo 3 Prof. Ricardo Linden GA Conceitos Básicos Capítulo 3 Prof. Ricardo Linden Algoritmos Evolucionários Algoritmos evolucionários usam modelos computacionais dos processos naturais de evolução como uma ferramenta para resolver

Leia mais

3 Extração de Regras Simbólicas a partir de Máquinas de Vetores Suporte 3.1 Introdução

3 Extração de Regras Simbólicas a partir de Máquinas de Vetores Suporte 3.1 Introdução 3 Extração de Regras Simbólicas a partir de Máquinas de Vetores Suporte 3.1 Introdução Como já mencionado na seção 1.1, as SVMs geram, da mesma forma que redes neurais (RN), um "modelo caixa preta" de

Leia mais

Algoritmos Evolutivos Canônicos

Algoritmos Evolutivos Canônicos Algoritmos Evolutivos Canônicos Como representar os indivíduos Vetor de comprimento fixo com L características escolhidas previamente. Ex.: Definição

Leia mais

3 Algoritmos Genéticos

3 Algoritmos Genéticos Algoritmos Genéticos Algoritmos Genéticos (AGs) constituem um mecanismo de busca adaptativa que se baseia no princípio Darwiniano de seleção natural e reprodução genética [101]. AGs são tipicamente empregados

Leia mais

Inteligência Artificial

Inteligência Artificial Inteligência Artificial Fabrício Olivetti de França 07 de Junho de 2018 1 Heurísticas e Meta-Heurísticas 2 Heurística Heurística, derivada do grego encontrar ou descobrir, são técnicas para encontrar a

Leia mais

Busca com informação e exploração. Inteligência Artificial. Revisão da aula passada: Heurística Admissível. Revisão da aula passada: Busca A *

Busca com informação e exploração. Inteligência Artificial. Revisão da aula passada: Heurística Admissível. Revisão da aula passada: Busca A * Inteligência Artificial Aula 6 Profª Bianca Zadrozny http://www.ic.uff.br/~bianca/ia Busca com informação e exploração Capítulo 4 Russell & Norvig Seção 4.2 e 4.3 Revisão da aula passada: Busca A * Idéia:

Leia mais

IF-705 Automação Inteligente Algoritmos Evolucionários

IF-705 Automação Inteligente Algoritmos Evolucionários IF-705 Automação Inteligente Algoritmos Evolucionários Aluizio Fausto Ribeiro Araújo Universidade Federal de Pernambuco Centro de Informática - CIn Departamento de Sistemas da Computação aluizioa@cin.ufpe.br

Leia mais

Roteirização de veículo para realização de coleta utilizando algoritmo evolucionários

Roteirização de veículo para realização de coleta utilizando algoritmo evolucionários Departamento de Sistemas e Computação FURB Curso de Ciência da Computação Trabalho de conclusão de curso 2014/01 Roteirização de veículo para realização de coleta utilizando algoritmo evolucionários Acadêmico:

Leia mais

Teoria da Computação. Complexidade computacional classes de problemas

Teoria da Computação. Complexidade computacional classes de problemas Teoria da Computação Complexidade computacional classes de problemas 1 Universo de problemas Problemas indecidíveis ou não-computáveis Não admitem algoritmos Problemas intratáveis Não admitem algoritmos

Leia mais

Uso de Algoritmo Genético para a otimização do ponto de corte da probabilidade de sucesso estimada do modelo de Regressão Logística

Uso de Algoritmo Genético para a otimização do ponto de corte da probabilidade de sucesso estimada do modelo de Regressão Logística Uso de Algoritmo Genético para a otimização do ponto de corte da probabilidade de sucesso estimada do modelo de Regressão Logística José Edson Rodrigues Guedes Gondim 1 Joab de Oliveira Lima 2 1 Introdução

Leia mais

Introdução Paradigmas

Introdução Paradigmas Introdução Paradigmas Recursividade Algoritmos tentativa e erro Divisão e conquista Programação dinâmica Algoritmos gulosos Algoritmos aproximados 1 Introdução O projeto de algoritmos requer abordagens

Leia mais

Introdução ao Algoritmo Genético

Introdução ao Algoritmo Genético Introdução ao Algoritmo Genético Sadao Massago Agosto de 2013 1 Introdução O algoritmo genético é um método de otimização bio insperado, desenvolvida por John Henry Holland em 1975. Segundo a teoria evolucionária

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

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

Quinta-feira, 11 de abril

Quinta-feira, 11 de abril 15.053 Quinta-feira, 11 de abril Mais alguns exemplos de programação inteira Técnicas de planos de corte para obter melhores limitações Entregar: Observações de Aula 1 Exemplo: Localização do corpo de

Leia mais

UMA INTRODUÇÃO AOS ALGORITMOS GENETICOS

UMA INTRODUÇÃO AOS ALGORITMOS GENETICOS UMA INTRODUÇÃO AOS ALGORITMOS GENETICOS Uma visão geral dos GAs Um algoritmo genético é uma classe de algoritmo de busca. O algoritmo procura uma solução dentro de um espaço para um problema de otimização.

Leia mais

5 Projeto de Novos Polímeros Condutores

5 Projeto de Novos Polímeros Condutores 5 Projeto de Novos Polímeros Condutores Polímeros condutores constituem uma nova classe de materiais eletrônicos com propriedades incomuns, baseadas em novos fenômenos físicos, tendo aplicações com largo

Leia mais