ALGORITMO MEMÉTICO PARALELO APLICADO A PROBLEMAS DE SEQÜENCIAMENTO EM MÁQUINA SIMPLES
|
|
- Jerónimo Belo Barata
- 6 Há anos
- Visualizações:
Transcrição
1 ALGORITMO MEMÉTICO PARALELO APLICADO A PROBLEMAS DE SEQÜENCIAMENTO EM MÁQUINA SIMPLES Vinícius Jacques Garcia Alexandre de Sousa Mendes Paulo Morelato França Pablo Alberto Moscato Departamento de Engenharia de Sistemas Faculdade de Engenharia Elétrica e de Computação Universidade Estadual de Campinas CP. 60, Cep Campinas SP {jacques, smendes, franca, moscato}@densis.fee.unicamp.br Resumo Este trabalho propõe um modelo de algoritmo memético paralelo aplicado à resolução do problema de Seqüenciamento em Máquina Simples. Modelos clássicos de algoritmos evolutivos paralelos são discutidos assim como a estrutura geral dos algoritmos meméticos. Os testes referentes à eficiência da abordagem paralela são realizados em um conjunto de oito instâncias; quatro com 7 tarefas e quatro com 00 tarefas. Palavras-chave: algoritmos genéticos, algoritmos meméticos, problemas de seqüenciamento, computação paralela. Abstract This work proposes Parallel Memetic Algorithm model applied to the Single Machine Scheduling problem. Classical models of Parallel Evolution Algorithms and the general structure of memetic algorithms are also discussed. Computational tests related to the efficiency of the parallel approach were done using a set of eight instances, four with 7 jobs and four with 00 jobs. Key-words: genetic algorithms, memetic algorithms, scheduling problems, parallel computing. Introdução Desde o aparecimento dos seus fundamentos teóricos, baseados na teoria evolucionista de Darwin e enunciados por Holland [4], os Algoritmos Genéticos (AGs) têm experimentado uma enorme evolução e ganharam grande popularidade para solucionar uma ampla gama de problemas de várias áreas da ciência. Uma contribuição importante, bastante utilizada na área de otimização combinatória, são os AGs híbridos, que utilizam operadores de busca local para fazer com que indivíduos da população evoluam autonomamente (ou seja, sem sofrer mutações ou recombinações com outros indivíduos) para ótimos locais. Uma generalização dessa idéia foi apontada por Moscato [8] através da criação do termo Algoritmo Memético (AM) onde é previsto que indivíduos possam evoluir autonomamente acrescentando unidades de informação cultural (memes).
2 Várias aplicações de AM têm demonstrado que, a despeito de um maior esforço computacional despendido pelos operadores de busca local, a adoção de tais operadores fornecem resultados melhores quando comparados àqueles produzidos com os AGs (Buriol et al. [2], França et al. [8], França et al. [9] e Mendes et al. [7]). A eficiência dos AMs pode ser comprovada pelos experimentos de Buriol et al. [2], França et al. [8], França et al. [9] e Mendes et al. [7]. O desempenho encontrado em todos estes trabalhos se deve a um bom procedimento de busca local, geralmente específico para o problema que se quer resolver, a uma representação adequada para o cromossomo e ao operador de recombinação utilizado. Um grande desafio para esses algoritmos é o emprego de bons operadores de busca local para grandes instâncias devido ao tamanho da vizinhança associada. Uma das formas de contornar esse problema é o emprego de técnicas para redução de vizinhança. Há, contudo, outros casos em que, mesmo com uma boa redução, a exploração da vizinhança resultante continua bastante custosa. Fica, então, perfeitamente justificável o desenvolvimento de algoritmos que explorem técnicas paralelas de execução, deixando-os literalmente paralelos (algoritmos evolutivos paralelos). Várias formas clássicas de algoritmos evolutivos paralelos são encontradas na literatura, como demonstra Cantú-Paz [3] e mais recentemente Cantú-Paz e Goldberg [5]. Moscato [8], em seu trabalho pioneiro em AMs, também observou a importância de tais métodos, exemplificados no trabalho de Gorges-Schleuter [0], onde é proposto um AG com uma população na forma de uma matriz. Cada indivíduo é atribuído a uma unidade de processamento e ocupa uma posição neste espaço bi-dimensional. Seleção e recombinação são feitos de forma independente através do estabelecimento de uma vizinhança limitada. Fazendo-se algumas generalizações em relação às funcionalidades, pode-se caracterizar três classes principais de algoritmos evolutivos paralelos: Algoritmos Evolutivos Paralelos Globais (AEPG); Algoritmos Evolutivos Paralelos Multi-Populacionais (AEPMP); Algoritmos Evolutivos Paralelos Híbridos (AEPH). Os primeiros são assim chamados porque os operadores de seleção, reprodução e mutação são aplicados à população inteira. A implementação geralmente é realizada com programas mestreescravo; uma unidade (mestre) atribui certas funções do algoritmo a outras (escravos), que realizam a tarefa e retornam o resultado. Nos AGs, a tarefa comumente distribuída para os escravos é a avaliação dos indivíduos, por ser independente para cada um. Dessa forma, uma fração da população é atribuída a cada escravo e a comunicação ocorre quando a mesma é enviada ou recebida. Quando a unidade mestre espera pelas respostas de todas as unidades escravo o algoritmo é dito AEPG síncrono, preservando todas as características do comportamento evolutivo do algoritmo seqüencial porém com melhor desempenho. Outra possibilidade é fazer com que a unidade mestre não mais espere por todas as respostas, o que caracteriza os AEPG assíncronos. Neste caso ocorre uma diferenciação em relação às propriedades do algoritmo seqüencial: indivíduos de uma geração passam para as próximas como se houvessem migrado, o que modifica o comportamento evolutivo do algoritmo. Os AEPGs não requerem uma arquitetura computacional específica, podem ser implementados eficientemente em computadores com memória compartilhada ou distribuída. No primeiro caso, a população é deixada na memória compartilhada e cada unidade do sistema multiprocessado tem acesso à parte que lhe cabe. No outro, a população reside em uma unidade que é responsável pelo envio dos indivíduos aos demais e pela coleta dos resultados. Em ambos há um custo associado à comunicação, resultando num compromisso entre número de unidades escravo e eficiência. Cantú-Paz [4] analisa detalhadamente este compromisso, fornecendo resultados que indicam a existência de um número ótimo de unidades escravo que minimiza o tempo de execução do algoritmo. A Figura ilustra o diagrama básico de um AEPG. 2
3 PHVWUH HVFUDYR HVFUDYR HVFUDYR HVFUDYR Q Figura : Diagrama básico de um AEPG Mestre-Escravo. A próxima classe, os Algoritmos Evolutivos Paralelos Multi-Populacionais (AEPMP), caracteriza-se principalmente pela migração de indivíduos entre populações. Duas abordagens são estudadas em Cantú-Paz [3]: a primeira emprega poucas populações com tamanho médio/grande ; a segunda adota muitas populações com tamanho pequeno. O primeiro caso recebe a denominação de Algoritmos Evolutivos distribuídos ou modelo de ilhas devido, principalmente, à baixa taxa de comunicação e à semelhança com o modelo natural usado para descrever populações isoladas geograficamente. A idéia central é dividir a população principal em várias populações, sendo cada uma atribuída a uma unidade do sistema multiprocessado. Cada uma dessas unidades, por sua vez, executa um algoritmo evolutivo seqüencial, restrito a sua população. A troca de material genético é realizada através migração. Projetar de forma eficiente este modelo é bastante penoso porque envolve muitos parâmetros inter-relacionados, como por exemplo tamanho e número de populações, organização ou topologia entre as populações e critérios de migração. O estudo de Cantú-Paz [6] traz uma análise completa desses parâmetros, sinalizando algumas direções promissoras. A figura a seguir descreve graficamente este modelo. Pop. Pop. 2 Pop. 3 Pop. 4 Figura 2: Diagrama básico de um AEPMP Distribuído. Na outra abordagem, com várias populações de tamanho pequeno, ocorre uma comunicação intensa entre elas na tentativa de disseminar boas soluções. Novamente cada unidade do sistema multiprocessado está restrita à sua população. Enquanto que não havia maiores requisitos de arquitetura computacional nos modelos anteriores, aqui ela é determinante, sendo necessárias máquinas do tipo MIMD ( multiple instruction, multiple data ). O sistema ASPARAGOS, proposto por Gorges-Schleuter [0] é um exemplo típico desta subclasse de algoritmos evolutivos paralelos. Além deste, deve-se citar Baluja [], que desenvolveu um AG massivamente paralelo com populações sobrepostas e descreve a superioridade destes métodos em relação aos AGs seqüenciais. Por fim tem-se os AEPH, onde a maior dificuldade está relacionada com a complexidade resultante da associação de dois ou mais modelos de algoritmos evolutivos paralelos. Os modelos mais comuns usam uma hierarquia, combinando os modelos anteriores, sendo o nível mais elevado composto pelo AEPMP distribuído. Em um nível abaixo pode haver um AEPMP massivamente paralelo, um AEPG mestre-escravo ou até mesmo o próprio AEPMP distribuído. As figuras a seguir ilustram essas possibilidades. 3
4 Figura 3: AEPH com dois níveis, AEPMP distribuído e AEPMP massivamente paralelo. Gorges-Schleuter [] atualizou o ASPARAGOS substituindo a estrutura em escada da população por um anel, devido a maior diferenciação entre os indivíduos. A nova versão mantém várias populações compostas por anéis formados por várias subpopulações, combinando, assim, a mesma estrutura com dois níveis de hierarquia. Figura 4: AEPH com dois níveis, AEPMP distribuído e AEPG Mestre-Escravo. Figura 5: AEPH com dois níveis do AEPMP distribuído. Neste artigo propõe-se um modelo de AM paralelo do tipo mestre-escravo síncrono que será usado para resolver o problema de Seqüenciamento em Máquina Simples. Simula-se um computador multiprocessado com memória distribuída através de troca de mensagens entre os computadores que compõem a rede em que o algoritmo está sendo executado. A implementação foi feita em linguagem Java, plataforma.2 e utilizou-se uma rede padrão FastEthernet (00MBits/s) com 6 computadores padrão IBM PC, todos com processador Pentium Celeron 330 MHz e 64MB de memória RAM. O restante deste artigo está organizado da seguinte forma: na próxima seção defini-se o problema, seguido da breve descrição do AM seqüencial na seção 3. O modelo proposto é apresentado na seção 4, seguido de resultados computacionais (seção 5), conclusões (seção 6) e bibliografia. 4
5 2 Problema de Seqüenciamento em Máquina Simples O problema de Seqüenciamento em Máquina Simples (SMS) é um dos mais estudados problemas de otimização combinatória. O interesse particular provém da freqüência com que é encontrado em problemas práticos de engenharia industrial. Os trabalhos de Graham et al. [2] e Graves [3] são considerados pioneiros e introdutórios para esta classe de problemas na área de Seqüenciamento. A configuração das máquinas envolvidas no seqüenciamento caracteriza o tipo de problema: uma única máquina ou múltiplas. Em se tratando de múltiplas máquinas elas podem ser idênticas ou não, em paralelo ou em shops. Há diferentes formulações para o problema de SMS em decorrência do tipo de dados de entrada e função objetivo. Uma formulação muito comumente encontrada na literatura é o seqüenciamento de n tarefas, dado um tempo de processamento e uma data de entrega para cada uma delas. A função objetivo minimiza o atraso total, caracterizado pela soma dos atrasos em relação à data de entrega de cada tarefa. A formulação anterior pode ser estendida com a inclusão de tempos de preparação de cada tarefa, dependentes da seqüência, restrições de precedência, etc. O problema a ser tratado neste trabalho pode ser assim descrito: Entrada: dado n tarefas a serem processadas em uma máquina, uma lista {t,...,t n } de tempos de processamento e outra {d,..., d n } com as datas de entrega das respectivas tarefas. Dado ainda uma matriz {s ij } de tempos de preparação, onde s ij é o tempo de preparação da tarefa j depois da máquina ter processado a tarefa i. Objetivo: encontrar uma permutação que minimize o atraso total do seqüenciamento. Este atraso é calculado da seguinte forma: n k= max [0, c k d k ], onde c k representa o instante em que a tarefa k terminou de ser processada e d k e data de entrega da mesma. Os tempos de preparação são dependentes da seqüência em que as tarefas são processadas. Em geral s ij s ji. A figura a seguir ilustra uma possível seqüência para uma instância com cinco tarefas ( ), assim como a representação gráfica do atraso total. c 2 - d 2 c 5 d 5 S 4 4 S 43 3 S 32 2 S 25 5 d d 2 d 3 d 4 d 5 Figura 6: Gráfico de Gantt de uma solução para o problema de SMS. O problema de SMS mais simples, sem tempos de preparação, já é NP-hard, como demonstra Du e Leung [7]. Muitas técnicas foram propostas para sua resolução, com algumas variações em relação à formulação adotada neste trabalho. Raman et al. [20] e Lee et al. [5] usam regras de despacho no cálculo do índice de prioridade para construir uma seqüência aproximada, a ser otimizada posteriormente por um procedimento de busca local. Rubin e Ragatz [2] criaram um novo operador de recombinação e aplicaram AGs. Ainda Tan e Narasimhan [22] desenvolveram um método que utiliza Simulated Annealing. França et al. [9] propuseram um AM para resolução do SMS, com a população estruturada de forma hierárquica. 5
6 3 Algoritmo Memético Seqüencial Os AMs foram categorizados e descritos como uma nova classe de algoritmos evolutivos por Moscato [8]. Assim como nos AGs, os AMs também se baseiam nos princípios biológicos de seleção, reprodução (recombinação) e mutação. O que os diferencia dos anteriores é o emprego da evolução cultural, onde a informação cultural é transmitida pela comunicação entre os indivíduos e não pelo mecanismo de recombinação. A busca no espaço de soluções é realizada com várias soluções (indivíduos/agentes), como em qualquer algoritmo populacional, constituindo assim um processo inerentemente paralelo. A implementação adotada é descrita por França et al. [9]. Um pseudo-código simplificado é ilustrado a seguir. Procedimento Algoritmo Memético baseado em Busca Local. Inicialize a população Pop; 2. Realize um procedimento de otimização em cada indivíduo de Pop; 3. Faça (laço das gerações): 4. Estabeleça um número de recombinações; 5. Para cada recombinação faça: 6. Selecione indivíduos para recombinação; 7. Gere um novo indivíduo a partir dos pais selecionados no passo 6; 8. Realize mutação no novo indivíduo; 9. Realize um procedimento de otimização no novo indivíduo; 0. Tente adicionar o novo indivíduo na população; Fim; Até que o critério de parada seja satisfeito;. Fim. O detalhamento da estrutura da população e dos procedimentos básicos do algoritmo estão em França et al. [9]. Cabe salientar a independência do procedimento de otimização (busca local, para esse algoritmo) dos passos 2 e 9, sendo realizado de forma independente para cada indivíduo. 4 Algoritmo Memético Paralelo Mestre-Escravo Como já dito na introdução, o uso de técnicas paralelas de execução de algoritmos torna-se imprescindível quando o tamanho da instância é médio/grande. Através de uma análise detalhada em todas as partes básicas do AM descrito na seção anterior conclui-se que há um paralelismo inerente ao modelo, bem como em alguns operadores específicos. Assumindo uma única população, as operações de avaliação e otimização são, de certa forma, independentes para cada indivíduo. Considerando o compromisso entre complexidade computacional e desempenho e a parcela de tempo que cada uma dessas operações têm em relação ao tempo total de execução do algoritmo, percebe-se que o operador de otimização é o que mais requer o uso dessas técnicas. Outro fator que aponta nessa direção é a baixa comunicação durante a otimização dos indivíduos, até mesmo nula na maior parte dos casos. A estrutura mais simples e direta para se obter um melhor desempenho está no modelo de algoritmo evolutivo paralelo mestre-escravo. Sendo assim, propõe-se um modelo mestre-escravo síncrono para aumentar o desempenho do algoritmo descrito na seção anterior, simulando um computador multiprocessado com uma rede de computadores. Cada computador seria, assim, uma unidade da máquina multiprocessada virtual. Desta forma agrega-se mais poder de processamento sem alterar o comportamento evolutivo, conforme mencionado na introdução. Pode-se imaginar o AM como um conjunto de duas camadas, sendo a superior incumbida de processar todas as tarefas menos a otimização dos indivíduos e a inferior somente desta última, conceitualmente o funcionamento se dá de forma análoga ao do algoritmo da seção anterior. Somente 6
7 quatro passos serão necessários para que essa funcionalidade seja agregada: a primeira seria a inicialização da camada mestre-escravo; a segunda a chamada propriamente dita para a execução da otimização de um determinado indivíduo gerado; a terceira faz com que o algoritmo não prossiga enquanto a otimização de todos os indivíduos não esteja completada e a última a finalização. O pseudo-código a seguir demonstra o funcionamento básico do algoritmo proposto. Procedimento Algoritmo Memético Paralelo baseado em Busca Local. Inicialize a população Pop; 2. Realize um procedimento de otimização em cada indivíduo de Pop; 3. Iniciar camada mestre-escravo; 4. Faça (laço das gerações): 5. Estabeleça um número de recombinações; 6. Para cada recombinação faça: 7. Selecione indivíduos para recombinação; 8. Gere um novo indivíduo a partir dos pais selecionados no passo 7; 9. Realize mutação no novo indivíduo; 0. Realize um procedimento de otimização no novo indivíduo através da camada mestre-escravo; Fim;. Espere até que a otimização de todos os indivíduos gerados seja completada; 2. Para cada indivíduo gerado faça: 3. Tente adicionar indivíduo gerado na população; Fim; Até que o critério de parada seja satisfeito; 4. Finalizar camada mestre-escravo; 5. Fim. Os passos que diferenciam esta implementação da mencionada na seção anterior são o 3, 0,, 2 e 3. Enquanto que lá o laço de geração de um novo indivíduo compreendia todas as funções relativas ao mesmo (geração, mutação, otimização e inserção na população), aqui ele compreende somente a geração, mutação e otimização. Um outro laço executa o passo seguinte, que é a inserção dos indivíduos na população. Isso se justifica porque a unidade principal da máquina multiprocessada virtual deve gerar todos os pedidos de otimização de indivíduos e só prosseguir depois de receber todas as respostas (indivíduos otimizados). Esses pedidos, indivíduos a serem otimizados, são postos em uma fila de requisições. Cada escravo, que é um computador da rede, portanto uma unidade da máquina multiprocessada virtual, irá processar esses pedidos desta fila depositando a resposta em outra, chamada de fila de respostas, de onde os indivíduos serão retirados para inserção na população. A alocação pré-determinada de tarefas a escravos não existe, o que permite um balanceamento de carga de acordo com a demanda (os escravos mais rápidos processarão mais tarefas). A Figura 7 ilustra esse processo. 7
8 Mestre Fila de requisições Fila de respostas Servidor Servidor 2 Servidor n Rede de computadores Escravo Escravo 2 Escravo n Figura 7: Arquitetura simplificada do algoritmo mestre-escravo proposto. O objetivo do projeto dessa estrutura é aplicá-la na resolução do problema de SMS, comparando o ganho de desempenho em relação ao algoritmo seqüencial mencionado na seção anterior. 5 Resultados Computacionais Deve-se escolher um critério para avaliar quantas vezes mais rápido, em termos de tempo computacional, o algoritmo paralelo é em relação ao seqüencial. Para tanto, imaginamos que ambos os algoritmos são idênticos em todos os aspectos, apenas com a diferença que o primeiro será executado em um único processador e o segundo em vários. As referências a seguir são feitas a um único algoritmo. Deve-se salientar que o único interesse é avaliar ganhos de desempenho relativos a tempo de execução, desprezando a qualidade de soluções encontradas, visto que esse trabalho tem por objetivo propor uma técnica para aumentar o desempenho (referente ao tempo computacional) do algoritmo desenvolvido por França et al. [9]. O critério de desempenho adotado é chamado de speedup, definido em Neary e Cappello [9]. Apesar da sua precisão limitada, ele fornece uma boa aproximação para a análise prática que se quer. Tradicionalmente speedup pode ser definido como S = T / T p, sendo T o tempo necessário para executar um algoritmo de forma seqüencial, em um processador (unidade da máquina multiprocessada virtual) e T p o tempo para executá-lo de forma paralela em p processadores. Sendo um pouco rigoroso, essa definição se aplica para ambientes homogêneos, onde todos os processadores são idênticos (capacidade de processamento e memória) e ainda assim há fatores que complicam, como carga de processamento em cada processador. Restringir a aplicação apenas para estes ambientes é impraticável, segundo o propósito deste trabalho. Assim, define-se uma variação do conceito anterior que contempla, ao menos, ambientes heterogêneos (outros fatores como volume de tráfego na rede e volume de processamento nos processadores serão desprezados): dados M,..., M k sendo k diferentes tipos de processadores, p = p p k o número total de processadores, T (i) o tempo para executar o algoritmo seqüencial em um processador do tipo i e T p o tempo para executar o algoritmo paralelo no conjunto de processadores p. O tempo médio ponderado para a execução do algoritmo em um processador, T, e o speedup, S, são calculados conforme as equações abaixo, respectivamente. T ( p,..., p k ) = p T () p T ( k) p k p k T ( p,..., p S = T ( p,..., p p k k ) ) 8
9 O algoritmo proposto foi aplicado na resolução de 8 de instâncias do problema de SMS, com 7 e 00 tarefas, utilizadas do trabalho de Mendes et al. [6]. As mesmas foram construídas a partir de instâncias do Problema do Caixeiro Viajante Assimétrico (ATSP), para quais a solução ótima é conhecida na literatura. O nome da instância é composto de duas partes: a primeira é o próprio nome da instância do ATSP e a segunda é composta de duas letras. Elas indicam características como intervalo de distribuição das datas de entrega e a proporção tempo de processamento/tempo de setup. O critério de parada foi estabelecido com sendo de 0 gerações, para todas as instâncias. Foram realizados testes considerando desde um até seis processadores. A otimização dos indivíduos, que é a tarefa a ser distribuída para os escravos, é feita por um procedimento de busca local utilizando duas vizinhanças clássicas: trocas e inserção. Para ambas utilizou-se uma redução de 50% das soluções vizinhas. Para execução dos testes utilizou-se uma rede padrão FastEthernet (00MBits/s) com 8 computadores padrão IBM PC, todos com processador Pentium Celeron 330 MHz e 64MB de memória RAM. A Tabela mostra os resultados dos testes. A coluna T () contém o tempo (em segundos) para executar o algoritmo em processador. A colunas referentes a cada configuração de número de processadores está dividida em duas. A primeira se refere ao speedup, expresso em número de vezes de aceleração em relação ao processamento seqüencial. A segunda se refere ao percentual do speedup em relação ao speedup máximo teórico, que é igual a p, onde p é o número de processadores. Speedup (x) / fração do speedup máximo (%) # de procs. 2 procs. 3 procs. 4 procs. 5 procs. 6 procs. Instância x % x % x % x % x % T ()(seg.) kro24phh,34 67,0,34 69,7 2,79 69,8 3,43 68,6 3,94 65,7 368,87 kro24phs,29 64,5,29 67,7 2,58 64,5 3,02 60,4 3,64 60,7 345,29 kro24plh,5 57,5,5 57,0 2,27 56,8 2,82 56,4 3,4 52,3 92,78 kro24pls,2 56,0,2 55,3 2,40 60,0 2,70 54,0 2,95 49,2 78,26 ftv70hh,6 58,0,6 56,3 2,3 53,3 2,57 5,4 3,04 50,7 97,35 ftv70hs,4 57,0,4 59,7 2,58 64,5 2,93 58,6 3,0 5,7 04,32 ftv70lh,05 52,5,05 52,0,93 48,3 2,25 45,0 2,34 39,0 56,52 ftv70ls, 55,5, 55,3 2,03 50,8 2,29 45,8 2,43 40,5 57,82 Tabela : Resultados dos testes. 4 Desempenho Alg. Memético Paralelo 3 Speedup Número de processadores kro24phh kro24plh ftv70hh ftv70lh Figura 8: Desempenho do Algoritmo Memético Paralelo implementado. 9
10 6 Conclusões A aplicação de técnicas de computação paralelas para execução de algoritmos evolutivos é bastante promissora quando se avalia tempo computacional como critério de desempenho. A complexidade associada se mostrou bastante aceitável considerando o ganho de desempenho obtido. O desempenho teórico ideal seria ter um speedup igual a p, sendo p o número de processadores em paralelo nos quais o algoritmo está sendo executado. Embora os resultados estejam um pouco distante desse limitante superior, acredita-se que os valores obtidos estejam um pouco subestimados. Isso se deve a avaliação que não é precisa no cálculo do tempo exato que cada um dos escravos consumiu no processador remoto. Mesmo assim o aperfeiçoamento do algoritmo proposto é promissor a partir destes resultados iniciais. A Tabela mostra que, na média, o speedup aumenta com o tamanho e dificuldade da instância. O melhor valor foi obtido justamente com a maior e mais difícil instância (kro24phh), para seis processadores. Isso pode ser explicado pelo fato de que para instâncias maiores, a fração do tempo gasto com a busca local, em relação ao tempo total, é bem maior, reduzindo, assim, a proporção dos tempos de comunicação entre mestre e escravos no tempo total. Isso fica bem claro nas colunas que representam a relação speedup / speedup máximo. Para as instâncias menores, essa relação fica entre 40% e 60%. Para as instâncias maiores, o valor sobe para 50% / 70% do valor máximo teórico. Esse resultado é, por si só, muito bom e demonstra a qualidade da estrutura empregada. Como trabalhos futuros pretende-se testar o algoritmo desenvolvido com instâncias maiores, o que provavelmente fará a relação do speedup obtido com o máximo teórico aumentar. Pode-se ainda testar a mesma abordagem com outras classes de problemas, para verificar se a tendência se mantém. Agradecimentos Este trabalho foi financiado pela Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES), pelo Conselho Nacional de Desenvolvimento Científico e Tecnológico (CNPq) e pela Fundação de Amparo à Pesquisa do Estado de São Paulo (FAPESP). Os autores também agradecem a Eder N. Mathias pela cordialidade em proporcionar acesso ao laboratório da PUC-RS, aonde foram realizados os testes. Referências Bibliográficas [] Baluja, S., A massively distributed parallel genetic algorithm, Technical Report No. CMU-CS R, Pittsburgh, Pennsylvania, Carnegie Mellon University, 992. [2] Buriol, L.S., França, P.M., Moscato, P., A New Memetic Algorithm for the Asymmetric Traveling Salesman Problem, Submitted to Journal of Heuristics, 999. [3] Cantú-Paz, E., A Survey of Parallel Genetic Algorithms, IlliGAL Report No , 997. [4] Cantú-Paz, E., Designing Efficient Master-Slave Parallel Genetic Algorithms, IlliGAL Report No , 997. [5] Cantú-Paz, E., Goldberg, D.E., Efficient parallel genetic algorithms: theory and practice, Computer methods in applied mechanics and engineering, 86, pp , [6] Cantú-Paz, E., Topologies, Migration Rates, and Multi-Population Parallel Genetic Algorithms, IlliGAL Report No , 999. [7] Du, J., Leung, J.Y.T., Minimizing total tardiness on one machine is NP-hard, Mathematics of Operations Research, 5, pp , 990. [8] França, P.M., Gupta, J.D., Mendes, A.S., Moscato, P., Veltink, K.J., Metaheuristic Approaches for the Pure Flowshop Manufacturing Cell Problem, 7 th International Workshop On Project Management and Scheduling, Osnabrück, Germany, [9] França, P.M., Mendes, A. S., Moscato, P., A Memetic Algorithm for the total tardiness Single Machine Sheduling Problem, European Journal of Operational Research, 32-, pp ,
11 [0] Gorges-Schleuter, M., ASPARAGOS An asynchronous Parallel Genetic Optimization Strategy, Proceedings of the Third International Conference of Genetic Algorithms, pp. 422, 989. [] Gorges-Schleuter, M., ASPARAGOS96 and the traveling salesman problem, Proceedings of the Fourth International Conference on Evlutionary Computation, pp. 7-74, 997. [2] Graham, R.L., Lawler, E.L., Lenstra, J.K., Rinooy, Kan, A.H.G., Optimization and Approximation in deterministic sequencing and scheduling: A survey, Annals of Discrete Mathematics, 5, pp , 979. [3] Graves, S.C., A review of production scheduling, Operations Research, vol. 29, pp , 98. [4] Holland. J., Adaptation in Natural and Artificial Systems, The University of Michigan Press, 975. [5] Lee, Y.H., Bhaskaran, K., Pinedo, M., A heuristic to minimize the total weighted tardiness with sequence-dependent setups, IIE Transactions, 29, pp , 997. [6] Mendes, A., França, P., Moscato, P., Fitness landscape for the Total Tardiness Single Machine Scheduling problem, to appear in Neural Network World. [7] Mendes, A.S., Müller, F.M., França, P.M., Moscato, P., Comparing Meta-heuristic Approaches for Parallel Machine Scheduling Problems with Sequence-Dependent Setup Times, CARS & FOF 99 5 th Intl. Conf. on CAD/CAM Robotics & Factories of the Future, Águas de Lindóia, Brazil, 999. [8] Moscato, P., On evolution, search, optimization, genetic algorithms and martial arts: towards memetic algorithms, Technical Report, Caltech Concurrent Computation Program, C3P Report 826, 989. [9] Neary, M.O., Cappello, P., Internet-Based TSP Computation with Javelin++, Workshop on Scalable Web Services (ICPP 2000 Workshops), Toronto, Canada, August 2-24, [20] Raman, N., Rachamadugu, R.V., Talbot, F.B., Real time scheduling of an automated manufacturing center, European Journal of Operations Research, 40, pp , 989. [2] Rubin, P.A., Ragatz, G.L., Scheduling in a sequence dependent setup enviroment with genetic search, Computers and Operations Research, 22-, pp , 995. [22] Tan, K.C., Narasimhan, R., Minimizing tardiness on a simple processor with sequencedependent setup times: a simulated annealing approach, OMEGA International Journal of Management Science, 25-6, pp , 997.
ESTÁGIOS DOMINANTES FLEXÍVEIS EM SISTEMAS DE PRODUÇÃO FLOW SHOP HÍBRIDOS
ESTÁGIOS DOMINANTES FLEXÍVEIS EM SISTEMAS DE PRODUÇÃO FLOW SHOP HÍBRIDOS João Vitor Moccellin Departamento de Engenharia de Produção Escola de Engenharia de São Carlos, Universidade de São Paulo. Av. Trabalhador
HEURÍSTICAS GRASP PARA A MINIMIZAÇÃO DO ATRASO TOTAL NO PROBLEMA DE PROGRAMAÇÃO DE TAREFAS EM UMA MÁQUINA COM SETUP TIME
HEURÍSTICAS GRASP PARA A MINIMIZAÇÃO DO ATRASO TOTAL NO PROBLEMA DE PROGRAMAÇÃO DE TAREFAS EM UMA MÁQUINA COM SETUP TIME Gilberto Vinícius P. Nunes Departamento de Informática, Universidade Federal de
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
Algoritmos Meméticos
Algoritmos Meméticos Universidade Federal do Paraná Tópicos em Inteligência Artificial Dra. Aurora Pozo Alunos: Ademir Roberto Freddo freddo@utfpr.edu.br Robison Cris Brito robison@utfpr.edu.br Introdução
Programação da produção em sistema no-wait flow shop com minimização do tempo total de fluxo
Programação da produção em sistema no-wait flow shop com minimização do tempo total de fluxo Lucas Yamada Scardoelli (EESC/USP) scarty@terra.com.br R. General Glicério, 340, Centro, CEP 15900-000, Taquaritinga,
Um Algoritmo Genético para o Problema de Roteamento de Veículos com Janelas de Tempo
Um Algoritmo Genético para o Problema de Roteamento de Veículos com Janelas de Tempo Francisco Henrique de Freitas Viana Pontifícia Universidade Católica do Rio de Janeiro PUC-Rio Departamento de Informática
Análise de Desempenho da Paralelização do Problema de Caixeiro Viajante
Análise de Desempenho da Paralelização do Problema de Caixeiro Viajante Gabriel Freytag Guilherme Arruda Rogério S. M. Martins Edson L. Padoin Universidade Regional do Noroeste do Estado do Rio Grande
Algoritmos evolutivos paralelos. Carlos Eduardo Cuzik Marcos Felipe Eipper Ramon Artner Rocha
Algoritmos evolutivos paralelos Carlos Eduardo Cuzik Marcos Felipe Eipper Ramon Artner Rocha Introdução O mesmo de sempre mas com thread. Obrigado Fake news Introdução de verdade Era da informação - Big
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
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
Modelos Evolucionários e Tratamento de Incertezas
Ciência da Computação Modelos Evolucionários e Tratamento de Incertezas Aula 01 Computação Evolucionária Max Pereira Motivação Se há uma multiplicidade impressionante de algoritmos para solução de problemas,
Arquitecturas Paralelas I Computação Paralela em Larga Escala LESI - 4º Ano. Desenvolvimento de Aplicações Paralelas
Arquitecturas Paralelas I Computação Paralela em Larga Escala LESI - 4º Ano Desenvolvimento de Aplicações Paralelas (gec.di.uminho.pt/lesi/ap10203/aula06aplicaçõespar.pdf) João Luís Ferreira Sobral Departamento
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
1.1 Descrição do problema A programação genética (PG) é uma meta-heurística utilizada para gerar programas de computadores, de modo que o computador
1 Introdução 1.1 Descrição do problema A programação genética (PG) é uma meta-heurística utilizada para gerar programas de computadores, de modo que o computador possa resolver problemas de forma automática
PROGRAMAÇÃO FLOW SHOP PERMUTACIONAL COM TEMPOS DE SETUP ASSIMÉTRICOS E DEPENDENTES DA SEQÜÊNCIA POR MEIO DE ANÁLISE DA FLUTUAÇÃO DO GARGALO
A pesquisa Operacional e os Recursos Renováveis 4 a 7 de novembro de 2003, Natal-RN PROGRAMAÇÃO FLOW SHOP PERMUTACIONAL COM TEMPOS DE SETUP ASSIMÉTRICOS E DEPENDENTES DA SEQÜÊNCIA POR MEIO DE ANÁLISE DA
Implementação de um escalonador de processos em GPU
Implementação de um escalonador de processos em GPU Guilherme Martins guilhermemartins@usp.br 6 de abril de 2017 Guilherme Martins (guilhermemartins@usp.br) Implementação de um escalonador de processos
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
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
Um Calculador de Capacidade de Computação para Nós de Máquinas Virtuais LAM/MPI
Um Calculador de Capacidade de Computação para Nós de Máquinas Virtuais LAM/MPI Diego Luis Kreutz 1 Lucas Mello Schnorr 2 Cleverton Marlon Possani 3 Resumo Este texto apresenta um calculador de capacidade
UM MODELO DE PROGRAMAÇÃO INTEIRA MISTA PARA A PROGRAMAÇÃO DA PRODUÇÃO EM FLOWSHOP HÍBRIDO COM BUFFERS LIMITADOS
UM MODELO DE PROGRAMAÇÃO INTEIRA MISTA PARA A PROGRAMAÇÃO DA PRODUÇÃO EM FLOWSHOP HÍBRIDO COM BUFFERS LIMITADOS Pedro Luis Miranda Lugo Universidade Federal de São Carlos Departamento de Engenharia de
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
Organização e Arquitetura de Computadores I
Universidade Federal de Campina Grande Centro de Engenharia Elétrica e Informática Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de
Universidade Federal do Paraná UFPR Curso de Ciência da Computação CI801 Tópicos em Inteligência Artificial. Algoritmo Memético
Universidade Federal do Paraná UFPR Curso de Ciência da Computação CI801 Tópicos em Inteligência Artificial Algoritmo Memético aplicação para o problema do caixeiro viajante Kelly Rodrigues Abreu Federico
Minimização da duração total da programação em sistemas de produção flowshop, sem interrupção de execução e tarefas
Minimização da duração total da programação em sistemas de produção flowshop, sem interrupção de execução e tarefas Fábio José Ceron Branco (EESC-USP) fbranco@hotmail.com R. General Glicério, 340, Centro,
Um AG Baseado em Ordem para o Problema do Ladrão de Jóias com Múltiplas Restrições
> REVISTA DE INTELIGÊNCIA COMPUTACIONAL APLICADA (ISSN: XXXXXXX), Vol. X, No. Y, pp. 1-10 1 Um AG Baseado em Ordem para o Problema do Ladrão de Jóias com Múltiplas Restrições Jarbas Silva Abstract Neste
REDUÇÃO DO ESTOQUE EM PROCESSAMENTO EM SISTEMAS DE PRODUÇÃO FLOW SHOP
REDUÇÃO DO ESTOQUE EM PROCESSAMENTO EM SISTEMAS DE PRODUÇÃO FLOW SHOP Marcelo Seido Nagano Departamento de Engenharia de Produção Escola de Engenharia de São Carlos, Universidade de São Paulo. Av. Trabalhador
Equivalência de Fluxos e Modelagem Hierárquica. Profa. Jussara M. Almeida 1 o Semestre de 2014
Equivalência de Fluxos e Modelagem Hierárquica Profa. Jussara M. Almeida 1 o Semestre de 2014 Modelagem Hierárquica Modelos mais sofisticados que podem incluir detalhes adicionais do sistema sendo representado
Aluno de Pós-Graduação em Engenharia de Software para Dispositivos Móveis pela UNINTER
COMPARAÇÃO DE DESEMPENHO NA PROGRAMAÇÃO PARALELA HÍBRIDA (MPI + OPENMP) NA BUSCA DE TEXTO EM ARQUIVOS 1 COMPARISON OF PERFORMANCE IN HYBRID PARALLEL PROGRAMMING (MPI + OPENMP) IN SEARCH OF TEXT IN FILES
UM ITERATED LOCAL SEARCH PARA A MINIMIZAÇÃO DO MAKESPAN EM SISTEMAS DE PRODUÇÃO FLOWSHOP COM EXECUÇÃO CONTÍNUA DAS TAREFAS
UM ITERATED LOCAL SEARCH PARA A MINIMIZAÇÃO DO MAKESPAN EM SISTEMAS DE PRODUÇÃO FLOWSHOP COM EXECUÇÃO CONTÍNUA DAS TAREFAS Francisco Régis Abreu Gomes (UFC) frag.82@ig.com.br O Problema de Seqüenciamento
Aluno: Chidambaram Chidambaram Prof. Heitor Silvério Lopes
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA E INFORMÁTICA INDUSTRIAL Disciplina - Tópicos Especiais em Computação Paralela Capítulo 8 - Parallel Particle
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
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
Sistemas de Produção em Fluxo
Uma introdução a problemas de sequenciamento em sistemas de produção em fluxo Faculdade de Ciências da Universidade do Porto 18 de Janeiro de 2012 Sumário Introdução Literatura (Makespan) Pesquisa Local
Fundamentos de Inteligência Artificial [5COP099]
Fundamentos de Inteligência Artificial [5COP099] Dr. Sylvio Barbon Junior Departamento de Computação - UEL Disciplina Anual Assunto Aula 19 ACO - Ant Colony Optimization 2 de 15 Sumário Problema do Caixeiro
Modelo de Algoritmo Genético para o Escalonamento de Tarefas em uma Arquitetura Multiprocessadora
Modelo de Algoritmo Genético para o Escalonamento de Tarefas em uma Arquitetura Multiprocessadora Autor: Adilmar Coelho Dantas 1, Orientador: Márcia Aparecida Fernandes 1 1 Programa de Pós-Graduação em
UMA ABORDAGEM AO PROBLEMA DE SEQUENCIAMENTO EM UMA MÁQUINA COM PENALIDADES POR ANTECIPAÇÃO E ATRASO DA PRODUÇÃO POR MEIO DE ALGORITMOS EVOLUTIVOS
UMA ABORDAGEM AO PROBLEMA DE SEQUENCIAMENTO EM UMA MÁQUINA COM PENALIDADES POR ANTECIPAÇÃO E ATRASO DA PRODUÇÃO POR MEIO DE ALGORITMOS EVOLUTIVOS Renato da Silva Ramos Discente do curso de Ciência da Computação
Algoritmos genéticos para o problema de programação de tarefas em máquinas paralelas idênticas com dois critérios
Algoritmos genéticos para o problema de programação de tarefas em máquinas paralelas idênticas com dois critérios José Elias Claudio Arroyo 1, Dalessandro Soares Vianna 2 1 Departamento de Informática
Algoritmo Genético: um experimento comparativo entre a execução paralela com troca de indivíduos de populações e a não paralela.
Algoritmo Genético: um experimento comparativo entre a execução paralela com troca de indivíduos de populações e a não paralela. Marlos A. S. Lima 1, Davi Magalhães 2, F. C. de Lima Júnior 3, Rommel W.
Planejamento para fundições: uma aplicação do método das K-melhores mochilas. 1 Introdução
Planejamento para fundições: uma aplicação do método das K-melhores mochilas Murilo S. Pinheiro, Franklina M.B. Toledo, Instituto de Ciências Matemáticas e de Computação, Universidade de São Paulo, Av.
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)
1_1 1_2 2_1 1_ _ _ Fonte: Autor
75 7. Resultados Os resultados aqui apresentados utilizam o modelo proposto na Seção 6.2, resolvido através do software de otimização AIMMS para os problemas com Datas prometidas. Já para o problema sem
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
Algoritmos Branch e Bound para o problema de sequenciamento em uma única máquina
Trabalho apresentado no XXXV CNMAC, Natal-RN, 2014. Algoritmos Branch e Bound para o problema de sequenciamento em uma única máquina Carlos E. Ferreira Instituto de Matemática e Estatística, IME, USP 05508-090,
UMA COMPARAÇÃO EMPÍRICA DE OPERADORES DE CROSSOVER PARA O PROBLEMA DE JOB SHOP COM DATAS DE ENTREGAS
XXX ENCONTRO NACIONAL DE ENGENHARIA DE PRODUÇÃO Maturidade e desafios da Engenharia de Produção: competitividade das empresas, condições de trabalho, meio ambiente. São Carlos, SP, Brasil, 12 a15 de outubro
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
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
de petróleo. Um novo domínio chamado computação de propósito geral em processadores gráficos (GPGPU) surgiu quando os pipelines de gráficos de
12 1 1.1. Motivações Dentre os tipos de técnicas de Inteligência Artificial existentes, as técnicas de Programação Genética (PG) continuam mudando rapidamente conforme os pesquisadores e profissionais
ALGORITMOS MEMÉTICOS APLICADOS AOS PROBLEMAS DE SEQUENCIAMENTO EM MÁQUINAS
UNIVERSIDADE ESTADUAL DE CAMPINAS FACULDADE DE ENGENHARIA ELÉTRICA E DE COMPUTAÇÃO - FEEC DEPARTAMENTO DE ENGENHARIA DE SISTEMAS - DENSIS ALGORITMOS MEMÉTICOS APLICADOS AOS PROBLEMAS DE SEQUENCIAMENTO
Sumário. Referências utilizadas. Introdução. MAFIA: Merging of Adaptive Finite Intervals. Introdução Visão Geral e Objetivos do MAFIA
Sumário : Merging of Adaptive Finite Intervals Elaine Ribeiro de Faria Análise de Agrupamento de Dados ICMC-USP Dezembro 2010 Introdução Visão Geral e Objetivos do Algoritmo Grid Adaptativo Algoritmo Algoritmo
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 Curitiba (PR) Computação Evolucionária
Gustavo Simão Rodrigues
Gustavo Simão Rodrigues O Problema do Sequenciamento em Uma Única Máquina, com Tempos de Preparação Dependentes da Sequência e Penalidades por Antecipação e Atraso: Estudo de Caso de um Processo de Fabricação
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
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
Análise da Performance de um Modelo de Escalonamento Baseado em Pesquisa Tabu Aplicado em um Sistema de Manufatura Flexível
Análise da Performance de um Modelo de Escalonamento Baseado em Pesquisa Tabu Aplicado em um Sistema de Manufatura Flexível Antonio G. RODRIGUES, Leandro T. HOFFMANN e Arthur T. GÓMEZ Universidade do Vale
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
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
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
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
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
Formulações de Programação Matemática para o Problema de Seqüenciamento em uma Máquina com Janelas de Entrega Distintas e Tempo de Preparação
Anais do CNMAC v.2 ISSN 1984-820X Formulações de Programação Matemática para o Problema de Seqüenciamento em uma Máquina com Janelas de Entrega Distintas e Tempo de Preparação Dependente da Seqüência de
Scheduling and Task Allocation ADVANCED COMPUTER ARCHITECTURE AND PARALLEL PROCESSING Hesham El-Rewini 2005 Capítulo 10 Autor...: Antonio Edson Ceccon Professor..: Prof. Heitor Silvério Lopes Apresentação
ALGORITMOS GENÉTICOS, QUADTREE E LÓGICA FUZZY NA SEGMENTAÇÃO E CLASSIFICAÇÃO DE IMAGENS COM ALTO DESEMPENHO 1. INTRODUÇÃO
ALGORITMOS GENÉTICOS, QUADTREE E LÓGICA FUZZY NA SEGMENTAÇÃO E CLASSIFICAÇÃO DE IMAGENS COM ALTO DESEMPENHO SILVA, Frederico Corrêa da 1 ; AGUIAR, Marilton Sanchotene de 1. 1 Programa de Pós-Graduação
ANÁLISE COMPARATIVA DE HEURÍSTICAS PARA MINIMIZAÇÃO DE ADIANTAMENTOS E ATRASOS EM FLOW SHOP COM TEMPOS DE SETUP
ANÁLISE COMPARATIVA DE HEURÍSTICAS PARA MINIMIZAÇÃO DE ADIANTAMENTOS E ATRASOS EM FLOW SHOP COM TEMPOS DE SETUP John Lennon Damas David UFG/Campus Catalão johnlennon_13@yahoo.com.br Hélio Yochihiro Fuchigami
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
Angelo Aliano Filho 1 e Antônio Carlos Moretti 2 Universidade Estadual de Campinas - IMECC 1
UM ALGORITMO MEMÉTICO NO PROBLEMA DO CORTE UNIDIMENSIONAL INTEIRO Angelo Aliano Filho 1 e Antônio Carlos Moretti 2 Universidade Estadual de Campinas - IMECC E-mail: 1 angeloaliano@hotmail.com 2 moretti@ime.unicamp.br
3 Metaeurísticas e Resolvedores MIP
3 Metaeurísticas e Resolvedores MIP A combinação entre metaeurísticas e resolvedores MIP é uma estratégia relativamente recente, tendo seus primeiros estudos realizados ao longo da última década. O survey
Unidade de Matemática e Tecnologia, Universidade Federal de Goiás Regional Catalão
1 CAPÍTULO O MÉTODO SIMULATED ANNEALING APLICADO EM LOCALIZAÇÃO E ROTEAMENTO Ferreira, Kamyla Maria 1 * ; Queiroz, Thiago Alves de 2 1 Unidade de Matemática e Tecnologia, Universidade Federal de Goiás
PROGRAMAÇÃO DA PRODUÇÃO EM SISTEMAS POR BATELADAS: UM ESTUDO PARA A OTIMIZAÇÃO DO MAKESPAN
PROGRAMAÇÃO DA PRODUÇÃO EM SISTEMAS POR BATELADAS: UM ESTUDO PARA A OTIMIZAÇÃO DO MAKESPAN R. P. da ROCHA 1, M. de F. MORAIS 1, M. A. da S. S. RAVAGNANI 2, C. M. G. ANDRADE 2, C. M. P. R. PARAÍSO 2 1 Universidade
ANÁLISE DA FLUTUAÇÃO DO GARGALO EM FLOW SHOP PERMUTACIONAL COM TEMPOS DE SETUP ASSIMÉTRICOS E DEPENDENTES DA SEQÜÊNCIA
ANÁLISE DA FLUTUAÇÃO DO GARGALO EM FLOW SHOP PERMUTACIONAL COM TEMPOS DE SETUP ASSIMÉTRICOS E DEPENDENTES DA SEQÜÊNCIA Alexandre Damas de Barros João Vitor Moccellin Departamento de Engenharia de Produção,
Algoritmos e Estruturas de Dados I Prof. Tiago Eugenio de Melo
Algoritmos e Estruturas de Dados I Prof. Tiago Eugenio de Melo tmelo@uea.edu.br www.tiagodemelo.info Observações O conteúdo dessa aula é parcialmente proveniente do Capítulo 11 do livro Fundamentals of
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
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
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,
ALGORITMO GENÉTICO COM BUSCA LOCAL APLICADO AO PROBLEMA DE JUST-IN-TIME JOB-SHOP SCHEDULING
ALGORITMO GENÉTICO COM BUSCA LOCAL APLICADO AO PROBLEMA DE JUST-IN-TIME JOB-SHOP SCHEDULING Rodolfo Pereira Araujo Universidade Federal de Viçosa Av. P.H. Rolfs, s/n, DPI Campus UFV 36.570-000 Viçosa,
{katyannefaraujo,
UMA ESTRATÉGIA DE BUSCA LOCAL EFICIENTE PARA O PROBLEMA DE MINIMIZAÇÃO DO ATRASO TOTAL RESULTANTE DO SEQUENCIAMENTO DA PRODUÇÃO EM UMA MÁQUINA COM TEMPOS DE SETUP Katyanne Farias, Arthur Kramer, Anand
ANÁLISE DE DESEMPENHO DE REGRAS DE PRIORIDADE PARA PROGRAMAÇÃO EM SISTEMAS FLOW SHOP HÍBRIDO E TEMPOS DE SETUP DEPENDENTES DA SEQUÊNCIA
ANÁLISE DE DESEMPENHO DE REGRAS DE PRIORIDADE PARA PROGRAMAÇÃO EM SISTEMAS FLOW SHOP HÍBRIDO E TEMPOS DE SETUP DEPENDENTES DA SEQUÊNCIA CANTIERE, Patricia Castoldi, IC, Fecilcam, CNPq, Engenharia de Produção
Otimização por Colônia de Formigas (Ant Colony Optimization - ACO)
Otimização por Colônia de Formigas (Ant Colony Optimization - ACO) Eros Moreira de Carvalho Gabriel Silva Ramos CI209 - Inteligência Artificial BCC - Bacharelado em Ciência da Computação DInf - Departamento
Toward an Architecture-Independent Analysis of Parallel Algorithms
1/22 Introdução O algoritmo de aproximação Aplicações em Problemas Concretos Problemas Abertos Referências Toward an Architecture-Independent Analysis of Parallel Algorithms Mijail Gamarra Holguin 18 de
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.
6 ESCALONAMENTO DE CPU
6 ESCALONAMENTO DE CPU O escalonamento de CPU é ponto chave da multiprogramação. Ela permite que haja mais de um processo em execução ao mesmo tempo. Em ambientes com um único processador, o escalonador
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
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
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
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/
Algoritmo Genético e Busca Local para o problema Justin-Time Job-Shop Scheduling
Algoritmo Genético e Busca Local para o problema Justin-Time Job-Shop Scheduling Rodolfo P. Araujo, André G. dos Santos, José E. C. Arroyo Departamento de Informática Universidade Federal de Viçosa (UFV)
Caixeiro Viajante. Estruturas de Dados II. Prof. a Mariella Berger. 1. Objetivo
Estruturas de Dados II Prof. a Mariella Berger Caixeiro Viajante 1. Objetivo O objetivo deste trabalho é implementar diferentes soluções para o problema clássico do Caixeiro Viajante. 2. Introdução O Problema
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
IN-1131 Computação Evolucionária. Aluizio Fausto Ribeiro Araújo Universidade Federal de Pernambuco Centro de Informática
IN-1131 Computação Evolucionária Aluizio Fausto Ribeiro Araújo Universidade Federal de Pernambuco Centro de Informática aluizioa@cin.ufpe.br Objetivos Este curso visa oferecer introdução abrangente em
XLVI Pesquisa Operacional na Gestão da Segurança Pública
UM ALGORITMO HEURÍSTICO MULTIOBJETIVO BASEADO NO MÉTODO DE NEWTON PARA O PROBLEMA INTEGRADO DE ALOCAÇÃO DE RECURSOS E SEQUENCIAMENTO DE OPERAÇÕES Miguel Angel Fernández Pérez fernandezmiguelp@gmail.com
LIMITANTE INFERIOR PARA O PROBLEMA DE MINIMIZAR O NÚMERO DE TROCAS DE FERRAMENTAS
LIMITANTE INFERIOR PARA O PROBLEMA DE MINIMIZAR O NÚMERO DE TROCAS DE FERRAMENTAS Horacio Hideki Yanasse Instituto Nacional de Pesquisas Espaciais INPE/LAC, Avenida dos Astronautas 1758, Jardim da Granja
Avaliação de métodos heurísticos em sistemas de produção no-wait flow shop
Avaliação de métodos heurísticos em sistemas de produção no-wait flow shop Marcelo Seido Nagano (USP) - drnagano@usp.br Lucas Yamada Scardoelli (USP) - scarty@terra.com.br João Vitor Moccellin (USP) -
3 Redes Neurais Artificiais
3 Redes Neurais Artificiais 3.1. Introdução A capacidade de implementar computacionalmente versões simplificadas de neurônios biológicos deu origem a uma subespecialidade da inteligência artificial, conhecida
Algoritmo Evolutivo para o Problema de Corte de Estoque Unidimensional com Redução do Número de Padrões de Corte
Algoritmo Evolutivo para o Problema de Corte de Estoque Unidimensional com Redução do Número de Padrões de Corte Henrique A. Kobersztajn 1, Kelly C. Poldi 2, Instituto de Ciência e Tecnologia, Unifesp
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
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
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
Medida de desempenho
Medida de desempenho Aceleração (Speedup) = (Tempo em 1 CPU) / (Tempo em p CPUs) O que devemos comparar? Programa paralelo em 1 CPU? Programa equivalente sequencial? Melhor programa sequencial? Fator de
MÉTODOS HEURÍSTICOS CONSTRUTIVOS PARA PROGRAMAÇÃO DA PRODUÇÃO EM SISTEMAS FLOW SHOP
MÉTODOS HEURÍSTICOS CONSTRUTIVOS PARA PROGRAMAÇÃO DA PRODUÇÃO EM SISTEMAS FLOW SHOP HÍBRIDOS COM TEMPOS DE PREPARAÇÃO DAS MÁQUINAS ASSIMÉTRICOS E DEPENDENTES DA SEQÜÊNCIA Hélio Yochihiro Fuchigami Programa
USO DE PARALELISMO DE DADOS PARA MAIOR EFICIÊNCIA DE ALGORITMOS DE PROCESSAMENTO DE IMAGENS
Universidade Federal de Ouro Preto - UFOP Instituto de Ciências Exatas e Biológicas - ICEB Departamento de Computação - DECOM USO DE PARALELISMO DE DADOS PARA MAIOR EFICIÊNCIA DE ALGORITMOS DE PROCESSAMENTO