Algoritmos de Escalonamento

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

Download "Algoritmos de Escalonamento"

Transcrição

1 Algoritmos de Escalonamento Grupo 9 Luiz Otávio Duarte Marcelo Carvalho Sacchetin Orientação: Prof. Dr. Norian Marranghello

2 Sumário 1. Algoritmo Genético 1.1. Escalonamento de tarefas de Multiprocessadores usand Algoritmo Genético Resumo Introdução Escalonamento de multiprocessador 1.2. Escalonamneto para sisstemas de processadores paralelos Resumo Introdução 1.3. Algoritmos Genéticos Resumo Introdução O Algoritmo: Cruzamento (ou crossover) Mutação Como algoritmos genéticos s diferenciam de outras técnicas de procura 2. Algoritmo de Busca Tabu 2.1. Uma breve introdução 2.2. O uso da memória Dimensão de Qualidade Dimensão de Influência Dimensão de Novidade Dimensão de Freqüência Memória Explicita Memória Atributiva 2.3. Intensificação e diversificação Estratégia de intensificação Estratégia de diversificação 2.4 Utilização de busca Tabu em escalonamento Escalonamento para minimizar o tempo de comunicação em um sistema de multiprocessadores Escalonando tarefas de Multiprocessadores com Programas paralelos Escalonando tarefas em Multiprocessadores usando busca tabu paralela. 3. Outros Algoritmos: Algoritmo de Programação Linear 4. Bibliografia 2

3 1.1 ESCALONAMENTO DE TAREFAS DE MULTIPROCESSADORES USANDO ALGORITMO GENÉTICO Resumo: No problema de escalonamento para multiprocessadores, um dado programa deve ser escalonado em um dado sistema multiprocessador no qual o tempo de execução deve ser minimizado. Tem sido difícil encontrar uma solução exata para esse tipo de problema, existem muitos métodos heurísticos para encontrar um escalonamento quase ótimo. É proposto uma combinação, onde algoritmos genéticos são melhorados com a introdução de alguns conhecimentos sobre problemas de escalonamento representados pelo uso de uma lista de heurística nos operadores genéticos de crossover e mutação. Resultados de experimentos mostram que o uso dessa metodologia produz resultados bem melhores em termos de qualidade das soluções, apesar de ser lento em termos de tempo de execução Introdução: Em um sistema de multiprocessadores, cada processador tem sua própria memória e cada par de processadores comunicam-se exclusivamente por mensagens que trafegam através de uma rede de interconecção. Dado programa paralelo composto por tarefas de comunicações a serem executadas sob várias restrições de precedência. Para cada tarefa é associado um tempo de execução. Na ordem para ser executada, cada tarefa de um dado programa paralelo deve ser escalonada para algum processador de um dado sistema de multiprocessadores. Consequentemente, tarefas que se comunicam no programa paralelo devem ser escalonadas para diferentes processadores, que fazem esses processos se comunicarem durante a execução do programa paralelo. Essas comunicações diminuem a velocidade da execução do programa paralelo. Considerando essas comunicações e restrições de precedência entre tarefas, nos leva ao fato de que diferentes escalonamentos de cada tarefas satisfazendo as restrições de prioridade geram diferentes tempos de execução do programa paralelo. O problema de escalonamento de multiprocessadores consiste em encontrar o escalonamento de tarefas que minimize o tempo de execução dos programas paralelos e o números de processadores requeridos. No nosso caso, trataremos de uma versão mais simples do problemas, onde o número de processadores é fixo. Desde que uma busca exaustiva é impraticável, tem sido feito muito trabalho em métodos heurísticos rápidos para se encontrar soluções próximas da ótima. A maioria dos estudos de métodos heurísticos para escalonamento de multiprocessadores são chamados de lista de heurísticos. Um outro método heurístico usado no contexto do problema de escalonamento é o metaheurístico conhecido como algoritmo genético. Um algoritmo genético é um método de procura aleatória guiada onde os elementos (chamados indivíduos) em um dado conjunto de soluções (chamado população) são aleatoriamente combinadas (crossover) e modificadas (mutação) até que se atinja uma condição de parada. A população envolve iterações (gerações) no intuito de prover aptidão dos seus indivíduos. A aptidão de um indivíduo S1 é dita melhor que a de um indivíduo S2 se a solução correspondente à S1 está mais próxima da ótima que S2. Em cada iteração, o crossover gera uma nova população na qual supõem se que os indivíduos mantêm as boas características dos indivíduos das gerações anteriores. Um cromossomo representa uma prioridade para cada tarefa. Prioridades são definidas antes da execução, como o mais longo caminho de um nó até um nó que não envia mensagens. O algoritmo trabalha na prioridade através de padrões de crossover e mutação. 3

4 1.1.3 Escalonamento de multiprocessador: Um sistema de multiprocessador (homogêneo)é composto por por um conjunto P={p1,...,pm} de m processadores idênticos. Eles são conectados por uma rede de comunicação completa, onde os links são idênticos. Cada processador pode executar no máximo um tarefa por vez e a preempção não é permitida. Enquanto está computando, um processador pode se comunicar com um ou vários de seus links. O programa paralelo é descrito por um diagrama acíclico D=(T,A). Os vértices representam o conjunto T={t1,...,tn} de tarefas e cada curva representa a relação de precedência entre duas tarefas. Uma curva (ti1,ti2) pertencente à A representa o fato de que no final da execução, ti1 envia uma mensagem cujo conteúdo é requerido por ti2 para começar a executar. Nesse caso ti1 é dito ser um predecessor imediato de ti2, e ti2 é o sucessor imediato de ti1. Supondo que ti1 é a única tarefa sem nenhum predecessor imediato, um caminho é a seqüência de nós <ti1,...,tik>, 1<k<=n tal que ti1 é um predecessor de uma outra tarefa tik se existe um caminho <ti1,...,tik> em D. Para toda tarefa ti, é associado um valor representando sua duração, e assumimos que esses valores são conhecidos antes da execução do programa. Já a duração de todas as comunicações são conhecidas em tempo de compilação. Assim, para toda curva (ti1,ti2) pertencente à A existe um custo representando o tempo de transferência da mensagem enviada por ti1 para ti2. Se ambas mensagens destino e receptor são escalonadas para o mesmo processador, então o custo associado para essa curva se torna nulo. Um escalonamento é um vetor s = {s1,...,sn}, onde sj = {ti1,...tin}, sj é o conjunto das nj tarefas escalonadas para pj. Para cada tarefa ti pertencente a sj, l representa seu grau de execução em pj sob a alocação s. Para cada tarefa ti, nós denotamos p(ti,s) e r(ti,s), respectivamente o processador e o grau nesse de ti nesse processador sob a alocação s. O rendimento do tempo de execução por uma alocação é chamado makespan. Uma lista heurística constrói uma alocação passo a passo. As tarefas que podem ser alocadas (chamadas tarefas livres) são aquelas as quais todos predecessores já foram alocados. Então escolhemos uma dessas tarefas, dita ti, de acordo com uma certa regra R1. Escolhemos um processador dito pj, para qual ti será alocado de acordo com outra regra R2. Ao fazermos isso, acabamos de alocar ti para pj. Esse algoritmo acaba quando todas tarefas são alocadas. Afigura abaixo ilustra uma locação e as datas de introdução computadas por uma lista heurística. 4

5 O diagrama acíclico D mostrado nessa figura é composto de 5 tarefas, enquanto o sistema multiprocessador é composto de 3 processadores totalmente interconectados. Cada di indica o custo de ti e cada c(i1,i2) representa o tempo de comunicação associado à curva (ti1,ti2). A figura abaixo mostra uma alocação s das tarefas de D no sistema de multiprocessador mostrado. No diagrama são indicados o processador, a data de introdução, e a duração de cada tarefa de acordo com s, assim como o vetor representação da alocação s. 1.2 ESCALOMAMENTO PARA SISTEMAS DE PROCESSADORES PARALELOS 5

6 1.2.1 Resumo: Escalonamento de tarefas é essencial para o peculiar funcionamento de sistemas de processadores paralelos. Escalonamento de tarefas dentro de uma rede de processadores paralelos é um problema interessante que é bem definido e documentado na literatura. Entretanto a maioria das técnicas disponíveis são baseadas em heurísticas que resolvem certas instâncias do problema de escalonamento eficientemente e em uma quantia razoável de tempo. Nesse trabalho estudaremos um paradigma alternativo, baseado em algoritmos genéticos, para resolver eficientemente problemas de escalonamento sem precisar aplicar restrições de cada problema específico, assim como acontece quando se usa heurística Introdução: A impressionante proliferação no uso de sistemas de processamento paralelo é resultado de muitos avanços ao longo das últimas duas décadas. A maior questão na operação de sistemas de computação paralela é o do escalonamento, que também é um importante problema em diversas outras áreas. Em um sistema de processamento paralelo, poderíamos esperar uma melhora com o aumento do número de processadores usados. Entretanto, geralmente esse não é o caso devido aos fatores como overhead de comunicação, overhead de controle e restrições de precedência entre tarefas. A eficiência de um sistema de computação paralela é comumente medido pelo tempo de completamento, aceleração ou tempo de resposta, que refletem a qualidade do escalonador. Muitos métodos heurísticos tem dado soluções eficientes, entretanto somente para uma classe limitada de problemas de escalonamento. Nesse contexto encontramos uma aplicação que se encaixa perfeitamente para o uso de algoritmos genéticos. 1.3 Algoritmos Genéticos Resumo: Esses algoritmos se baseiam na idéia da seleção natural, onde sobrevivem os mais adaptados. É um algoritmo eficaz quando buscas exaustivas são inviáveis devido ao crescimento exponencial de possíveis soluções no espaço de busca Introdução: Na natureza, os processos evolutivos ocorrem quando são satisfeitas as seguintes condições: Há uma população de indivíduos que são capazes de se reproduzir; Existe alguma diversidade entre os indivíduos que se reproduzem; Há uma associação entre as diferenças na habilidade para sobreviver no ambiente em que vivem e esta variedade. A diversidade é garantida pela troca de cromossomos dos indivíduos durante a reprodução, acarretando uma variação na estrutura e comportamento desses indivíduos na população. A partir daí teremos indivíduos mais e menos aptos. Aquele que tem um maior grau de sobrevivência, adaptação e de reprodução é o mais apto (seleção natural). Com o passar do tempo, após várias gerações, teremos uma população alterada devido á seleção natural. Os algoritmos genéticos foram inspirados nos processos evolutivos que ocorrem na natureza. Uma algoritmo genético consiste em uma geração de uma população inicial de 6

7 indivíduos(processos), representado por identificadores(pid).uma nova população é gerada aplicando-se operadores genéticos sobre esses processos, permitindo introduzir novos pontos num espaço de busca. Os principais operadores são chamados de reprodução e mutação. Reprodução: combinações entre processos gerando um novo. Mutação: alterações que geram indivíduos diferentes. Também é necessário um operador de seleção, que permite o algoritmo favorecer os indivíduos mais aptos, quando há mudanças de geração. Assim os bons são replicados enquanto os maus são descartados. Dentro desse contexto sobrevivem somente os elementos melhores da população total. Um algoritmo genético tem início com uma população inicial que evolui através de gerações. Essa evolução começa com uma população inicial aleatoriamente gerada. No nosso caso a aptidão de um indivíduo é definida pela diferença entre os makespan entre eles. O melhor indivíduo será aquele com melhor aptidão, ou seja, menor makespan O Algoritmo: Algoritmo genético(){ Gerar população inicial; Avaliar população; Enquanto critério de parada não satisfeito{ Selecionar processos para a próxima população; Aplicar mutação e crossing over; Avaliar população; } } Esse algoritmo foi desenvolvido por John Holland, na Universidade de Michigan em 1975, baseados nos princípios Darwinianos da evolução. Um algoritmo genético típico apresenta os seguintes componentes: 1. Uma representação genética das soluções do problema; 2. Uma forma de criar uma população inicial de soluções; 3. Uma função de avaliação em termos de convergência e adaptação das soluções; 4. Operadores genéticos que possam compor uma nova população e diferente das anteriores. Definido o mecanismo de codificação, deve-se primeiramente criar uma população inicial. Geralmente isso é feito de uma forma aleatória. Em seguida devemos avaliar essa população para se identificar os indivíduos mais aptos. Isso é feito através de uma função que pode ser chamada de ajuste ou avaliação(fitness function). Esta é aplicada na string de bits gerando o valor de aptidão de cada indivíduo(processo). Depois de se identificar tantos os processos mais aptos, quanto os menos aptos, entra em cena os operadores genéticos para se obter a próxima população. Tipicamente um algoritmo genético termina depois de um certo número de gerações ou se um nível de aptidão foi obtido, ou um ponto no espaço de busca foi atingido. 7

8 1.3.4 Cruzamento (ou crossover): Operador que estabelece uma combinação do cromossomo de dois processos gerando outros dois. O procedimento consiste em criar dois cromossomos filhos, cada um dos quais possuindo características dos dois pais. Essa combinação dá-se através de uma manipulação da codificação atribuída. Isso é feito com base na idéia de que se combinarmos características de processos bons, podemos obter outros ainda melhores, já que os dois novos podem aumentar o desempenho global do sistema. Um outro papel importante desse operador dentro do algoritmo, é garantir que as características presentes nas melhores populações se propaguem ao longo das gerações. Exemplo de crossover: Primeira mente vamos definir alguns símbolos Tarefa alright é uma tarefa que já foi calculada; Tarefa replace é aquela que precisa ser reposta; Tarefa release é aquela que precisa ser movida; Tarefa stay é aquela que não deve ser movida. (RRANDS) 8

9 Passo 1: O primeiro passo é encontrar os pontos de crossover. Isso é obtido por uma seleção aleatória de um ponto na primeira sub-string de A (A.1) e então movendo para o primeiro cliff após esse ponto. Um cliff é um ponto onde a altura de dois vizinhos são diferentes. Tendo aleatoriamente selecionado a tarefa 25 como o ponto de cross, o ponto de cross é movido para a tarefa 27, a qual é o próximo cliff. As tarefas depois da 27 na substring A.1 serão transferida para string B, e as tarefas anteriores, incluindo a 27, permanecerão em A. Um ponto idêntico deve ser encontrado na string B.1. A condição que deve ser satisfeita na altura das tarefas que ficarão em B.1 é <= à altura da tarefa 27 e a altura das tarefas movidas são > que a altura da tarefa 27(nesse exemplo). O ponto de croosover encontrado em B.1 é a tarefa 21. Passo 2: após selecionados o pontos de cross, as tarefas a serem movidas devem ser checadas pelo sistema de RRANDS (Replace, Release na Save). 9

10 Check Alright Tasks Para cada tarefa depois do ponto de cross A.1 faça: Se a tarefa em B.1, e depois do ponto de cross Marque como Alright; Check for Replace tasks and Stay tasks for string A.1 Para cada tarefa após o ponto de cross A.1 que não está marcado como Alright e não marcado como Release: Encontre tarefa irmã em B; Se a tarefa está após a sub-string corrente Marque como Replace; Senão Marque como Stay; Check for Release tasks and Stay tasks for string B.1 Para cada tarefa após o ponto de cross B.1 que não está marcado como Alright e não marcado como Replace: Encontre tarefa irmã em A; Se a tarefa está após a sub-string corrente Marque como Release; Senão Marque como Stay; 10

11 Passo 3: Uma vez que as tarefas foram marcadas, as sub-strings podem ser crossed (transferidas). Move-se todas as tarefas depois do ponto de cross A.1 para depois o ponto de cross B.1. As tarefas Stay devem ser movidas com suas próprias sub-strings para manterem a propriedade de ascensão. Passo 4: Uma vez que o crossing (transferência) da última tarefa é feito, o algoritmo deve prosseguir para a próxima sub-tring, assumindo que ela exista. Passo5: A seleção do próximo ponto de cross deve levar em consideração as tarefas de Release e Replace. Para a string A, as tarefas Releases representam uma duplicação das tarefas com a string completa. Como visto acima, string A tem duas cópias da tarefa 30. Isso viola uma das pré-condições (cada string deve ter uma e apenas uma cópia de cada tarefa). Tarefas de Replace representam uma falta de tarefas, tarefas 28 e 29 precisam ser repostas, então a string A poderá ter um conjunto completo de tarefas. O oposto acontece com B; tarefas de Replace representam uma duplicação, e tarefas Release representam uma falta. Uma tarefa Stay representa uma violação de uma e somente uma regra se a tarefa é movida. Um ponto de cross deve ser encontrado na string A.2, obedecendo as regras de cliff e de que sua altura é menor ou igual à altura das tarefas Release na string A.2 e tarefas de Replace da string B.2. Uma vez que o ponto de cross é encontrado, para ambas sub-strings, o passo 2 é repetido até que todas sub-strings são feitas. 11

12 1.3.5 Mutação: Operador que produz um cromossomo filho através da alteração aleatória na seqüência de bits(gene) de um cromossomo pai. Esse operador pode levar á criação de um processo mais apto, mas a característica mais relevante, é que assim se possibilita a diversificação dos processos. Mutação é aleatoriamente aplicada com uma baixa probabilidade, tipicamente na faixa dos 0,1 até 1,0 por cento Como algoritmos genéticos s diferenciam de outras técnicas de procura: Para os algoritmos genéticos superarem outras técnicas em termos de robustez, eles devem se diferenciar em alguns aspectos fundamentais: 1. Trabalha com um conjunto de codificação de parâmetros, não com os parâmetros por si só; 2. Procura apartir de uma população de pontos, não de um simples ponto; 3. Uso de playoff(função objetiva), não derivativas ou outros conhecimentos auxiliares; 4. Usa regras de transições probabilísticas e não determinísticas; 5. Codificação. 12

13 2. Algoritmo de Busca Tabu 2.1. Uma breve introdução A filosofia da busca tabu (tabu search, TS) é derivar e explorar uma coleção de princípios de resolução de problemas de inteligência. Neste sentido, pode se dizer que a pesquisa tabu é baseada em conceitos selecionados que unem o campo de inteligência artificial e otimização. A forma básica da busca tabu é fundamentada na idéia proposta por Fred Glover. O método é baseado em processos desenhados para cruzar os limites de factibilidade ou otimalidade local, que eram usualmente tratados como barreiras. Busca tabu é uma meta-heurística que orienta um processo de busca heurístico local para explorar o espaço de soluções além da otimalidade local. O processo local é uma busca que usa uma operação chamada move para definir a vizinhança de qualquer solução dada. Um dos principais componentes da busca tabu é o uso de memória adaptativa, que cria um comportamento de busca mais flexível. Estratégias baseadas em memória são portanto as marcas de aproximações da busca tabu. A busca tabu é baseada na premissa que a resolução de um problema, em ordem para ser qualificada como inteligente, precisa incorporar memória adaptativa e exploração de resolução. A memória adaptativa prove a implementação de processos que são capazes de procurar o espaço de solução de uma maneira econômica e eficiente. A ênfase em exploração de resposta em busca tabu deriva da suposição que uma má escolha de estratégia pode render mais informações do que uma boa escolha randomica. (Em um sistema que utiliza memória, uma má escolha baseada em estratégia pode prover boas dicas sobre como a estratégia pode proveitosamente se mudada) 2.2. O uso da memória. As estruturas de memória na busca tabu opera por referencia a quatro dimensões principais. Constituindo novidade, freqüência, qualidade, e influência. 13

14 Dimensão de Qualidade A dimensão de qualidade refere-se a habilidade para diferenciar o valor das soluções visitadas durante a busca. Neste contexto a memória pode ser utilizada para identificar elementos que possuem soluções ótimas comuns ou caminhos que conduzem a estas soluções. Operacionalmente, qualidade se torna o fundamento para o incentivo base de aprendizagem, onde induções são tomadas para desencorajar ações que conduzam para más soluções Dimensão de Influência A dimensão de influência, considera o impacto que as escolhas provocam durante a busca, não somente em qualidade mas também em estrutura. Gravando informações sobre a influência das escolhas tomadas em uma particular solução incorpora um nível adicional de aprendizado Dimensão de Novidade O tipo de memória que observa os atributos das soluções que foram modificados durante um passado recente é chamada de memória baseada em novidade. Para explorar esta memória, selecionados atributos que ocorrem em soluções recentemente visitadas são chamados de tabu-active, e soluções que possuem atributos tabu-active, ou uma combinação particular desses atributos, são aquelas que se tornam tabu. Isto previne que certas soluções de um passado recente pertença a uma vizinhança modificada da solução anterior, e nem seja revisitada Dimensão de Freqüência Memória baseada em freqüência prove um tipo de informação que complementa a informação provida pela memória baseada em novidades, ampliando o fundamento para seleção de moves preferidos. Assim como na memória baseada em novidades, freqüência muitas vezes é pesada e decomposta em varias subclasses levando em consideração a dimensão da qualidade da solução e a influência do movimento. A memória usada na busca tabu é tanto explicita como atributiva Memória Explicita A memória explicita grava a solução completa, tipicamente considerando um conjunto de soluções visitadas durante o processo de busca. Uma extensão desta memória grava informações sobre as vizinhanças da elite de soluções. A elite de soluções (ou suas vizinhanças) memorizado são utilizados para expandir a busca local. Em alguns casos a memória explicita é utilizada para que a busca evite visitar a mesma solução duas vezes. 14

15 Memória Atributiva Como alternativa, a busca tabu utiliza memória atributiva. Este tipo de memória grava informação sobre os atributos da solução que mudam na movimentação de uma solução para outra. Por exemplo, no escalonamento de produções, o indicador de trabalhos deve ser utilizado como atributo para inibir ou encorajar o método a continuar a procura em determinada direção Intensificação e diversificação Dois componentes muito importantes da busca tabu são as estratégias de intensificação e de diversificação Estratégia de intensificação Estratégias de intensificação são baseadas em regras de modificação que encorajam a combinação de movimentos e características históricas das soluções achadas ótimas. Esta estratégia começa sua resposta analisando mais profundamente a vizinhança da resposta anterior. Como uma elite de soluções devem ser gravados para que seja possível a analise de sua vizinhança, memória explicita é claramente relacionada com a implementação de estratégias de intensificação Estratégia de diversificação A estratégia de diversificação, por outro lado, encoraja o processo de busca para examinar regiões não visitadas e a gerar soluções que diferem em vários aspectos daquelas que foram vistas anteriormente. Um exemplo gráfico de intensificação de diversificação pode ser observado: 15

16 2.4 Utilização de busca TABU em escalonamento Escalonamento para minimizar o tempo de comunicação em um sistema de multiprocessadores Máquinas Conexionistas (Connectionist Machines) estão atraindo grande atenção para seus valores como uma proliferação de arquiteturas de computadores maciçamente paralelos. Isto é particularmente verdade para a resolução de problemas de otimização combinatória aparecendo em uma variedade de aplicações de engenharia. Ao mesmo tempo, o objetivo do desenvolvimento e implementação de máquinas conexinistas introduz problemas desafiantes de otimização. Um problema importante é de minimizar o tempo de comunicação requerido para uma máquina conexionista. O tempo de comunicação freqüentemente é um determinante crucial de tudo que abrange custo e eficiência. Em uma classe significante de aplicativos, como analise de elementos finitos, a comunicação padrão é estática. A localização da memória definindo a origem e os destinos das mensagens não é modificada nesses aplicativos, apenas os dados comunicados variam. Melhores construções para alocação de processadores de acordo com a estrutura padrão de comunicação oferece um considerável potencial para reduzir custos e tempo. Foi desenvolvido por Chakrapani e Skorin-Kapov (1995) um método efetivo de busca tabu para o problema de mapeamento de tarefas para processadores para minimizar o tempo de comunicação em um sistema multiprocessador. O método incorpora a implementação de um processamento paralelo que inclui a memória da busca tabu e guia mecanismos para iterativamente selecionar pares de tarefas e troca-las de processador. A implementação envolve dois níveis de paralelismo. Primeiro, a tarefa candidata para ser trocada é identificada em paralelo. Segundo, mais do que um par de tarefas são trocadas em um simples iteração. Esta estratégia é desenvolvida para operar com aproximações eficientes. Os autores propõem uma diversificação desta estratégia que faz a busca robusta sobre essas circunstancias Escalonando tarefas de Multiprocessadores com Programas paralelos Quando programas de aplicação paralelos são executados em maquinas MIMD, a porção paralela da aplicação pode ser acelerada de acordo com o número de processadores alocados nela. Em uma arquitetura homogênea, onde todos os processadores são idênticos, a porção seqüencial do programa terá que ser executada em um desses processadores, degradando consideravelmente o tempo de execução. Em uma estrutura heterogênea, onde um processador rápido, responsável por executar a porção seqüencial de uma aplicação paralela e é fortemente acoplada a menores processadores, melhores performances devem ser alcançadas. O processo de determinar as tarefas de determinado processador (escalonamento de tarefas) é mais complexo no caso de um sistema heterogêneo, onde os processadores tem taxas de processamento distintas. Porto e Ribeiro (1995a) tem aplicado busca tabu para o problemas de escalonamento de tarefas em um ambiente heterogêneo de multiprocessadores sobre 16

17 obstáculos precedentes. Uma série parâmetros e estratégias de busca tabu foi estudada lado a lado com uma variedade de gráficos precedentes de tarefas ( topologia, número de tarefas, serial fraction, demanda de serviço de cada tarefa) e a configuração do sistema (número de processadores, medida de heterogeneidade da arquitetura pelo poder médio de processamento). O algoritmo por si só é muito robusto e efetivo, sistematicamente melhora em aproximadamente 25% o makespan das soluções obtidas pelo algoritmo que prove a solução inicial Escalonando tarefas em Multiprocessadores usando busca tabu paralela. Porto e Ribeiro (1995b) tem desenvolvido e implementado estratégias de busca tabu de paralelização para o problema de escalonamento de tarefas para multiprocessadores. Paralelização conta com exclusivamente com a decomposição da exploração do espaço de solução. O problema de escalonamento de tarefas considerado neste estudo é caracterizado por uma grande estrutura de vizinhança, que não só reduz o tempo de computação mas produz melhores soluções para muitos problemas de teste. 3. Outros Algoritmos: Programação Linear Uma outra forma alternativa de se escalonar processos é através da programação linear (P.L.). A programação linear e o Método Simplex foram desenvolvidos por Dantzig em 1947, com o apoio do serviço militar dos EUA. A P.L. é frequentemente usada como parte de vários esquemas para solucionar problemas de programação não-linear, problemas discretos, problemas combinatórios, problemas de controle de otimalidade e programação sob incerteza. Um problema de P.L. é um problema de minimização ou maximização de uma função linear na presença de restrições lineares de uma inequação e/ou equação. No nosso estudo estaremos interesados em maximizar o rendimento do tempo de execução (makespan), restrito a uma alocação de processos. max C1 X1 + C2 X Cn Xn = z sujeito a a11 X1 + a12 X a1n Xn >= b1 a21 X1 + a22 X a2n Xn >= b am1 X1 + m12 X m1n Xn >= bm X1, X2,..., Xn >=0 17

18 O Método simplex é usado para solucionar o problema descrito acima. 4. Bibliografia Glover, Fred and Laguna Manuel (1997) Tabu Search Kluwer Academic Publishers 18

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

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

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. 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

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

Iterated Local Search. Helena R. Lorenço, Olivier Martinz and THOMAS STUTZLE

Iterated Local Search. Helena R. Lorenço, Olivier Martinz and THOMAS STUTZLE I Iterated Local Search Helena R. Lorenço, Olivier Martinz and THOMAS STUTZLE Idéias Metaheurística deve ser simples, eficiente e mais genérica possível. Problema específico deve ser incorporado à metaheurística.

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

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

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

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

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

Uma Introdução à Busca Tabu André Gomes

Uma Introdução à Busca Tabu André Gomes Uma Introdução à Busca Tabu André Gomes Departamento de Ciência da Computação, Instituto de Matemática e Estatística, Universidade de São Paulo, SP, Brasil Novembro de 2009 INTRODUÇÃO Método de Busca Local

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

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

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

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 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

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

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

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

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

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

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

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

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

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

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

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

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

METAHEURÍSTICA Encontrar soluções boas ou até mesmo ótima

METAHEURÍSTICA Encontrar soluções boas ou até mesmo ótima METAHEURÍSTICAS METAHEURÍSTICA Encontrar soluções boas ou até mesmo ótima Consiste em aplicar iterativamente uma heurística subordinada (busca local) Tem algum mecanismo para escapar de ótimos locais (vales)

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

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

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

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

5 VNS com Filtro e Reconexão por Caminhos

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

Leia mais

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

Modelos Evolucionários e Tratamento de Incertezas

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,

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

3 Aprendizado por reforço

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

Leia mais

INTRODUÇÃO À. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR

INTRODUÇÃO À. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR INTRODUÇÃO À COMPUTAÇÃO EVOLUTIVA Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR Fev/2018 Computação Evolutiva Ramo da ciência da computação que propõe um paradigma

Leia mais

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 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

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

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.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

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

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. 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

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

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

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

Otimização Aplicada à Engenharia de Processos

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

Leia mais

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

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

Leia mais

Otimização por Enxame de Partículas (PSO) e Otimização por Colônias de Formigas (ASO) aplicadas ao Problema do Caixeiro Viajante (TSP)

Otimização por Enxame de Partículas (PSO) e Otimização por Colônias de Formigas (ASO) aplicadas ao Problema do Caixeiro Viajante (TSP) Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Otimização por Enxame de Partículas (PSO) e Otimização por Colônias de Formigas (ASO) aplicadas ao Problema do Caixeiro Viajante

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

Problema de Satisfação de Restrições

Problema de Satisfação de Restrições Problema de Satisfação de Restrições Exemplos de PSR (CSP, Constraint Satisfaction Problem) Busca genérica aplicada a PSRs Backtracking Verificação forward Heurísticas para PSRs Problema de Satisfação

Leia mais

Problema de Satisfação de Restrições. Problema de Satisfação de Restrições. Grafo de restrições. Exemplo: 4 Rainhas como um PSR

Problema de Satisfação de Restrições. Problema de Satisfação de Restrições. Grafo de restrições. Exemplo: 4 Rainhas como um PSR Problema de Satisfação de Restrições Problema de Satisfação de Restrições Exemplos de PSR (CSP, Constraint Satisfaction Problem) Busca genérica aplicada a PSRs Backtracking Verificação forward Heurísticas

Leia mais

Desempenho de computação paralela

Desempenho de computação paralela Desempenho de computação paralela o paralelismo existente na aplicação decomposição do problema em subproblemas menores a alocação destes subproblemas aos processadores o modo de acesso aos dados: a existência

Leia mais

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

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

Leia mais

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 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

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

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

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

Leia mais

BUSCA LOCAL (PARTE 4 Resolução de problemas por meio de busca) (C)Russell & Norvig, capítulo 4

BUSCA LOCAL (PARTE 4 Resolução de problemas por meio de busca) (C)Russell & Norvig, capítulo 4 BUSCA LOCAL (PARTE 4 Resolução de problemas por meio de busca) (C)Russell & Norvig, capítulo 4 1 Roteiro Algoritmos de Busca Local Subida de encosta (Hill-climbing) Têmpera Simulada (Simulated Anealing)

Leia mais

4 Metáforas de Optimização

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

Leia mais

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

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

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

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

AULA 06: PROGRAMAÇÃO EM MÁQUINAS PARALELAS

AULA 06: PROGRAMAÇÃO EM MÁQUINAS PARALELAS ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 06: PROGRAMAÇÃO EM MÁQUINAS PARALELAS Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação PROGRAMAÇÃO PARALELA

Leia mais

Tópicos em Métodos Heurísticos META-HEURÍSTICAS

Tópicos em Métodos Heurísticos META-HEURÍSTICAS Tópicos em Métodos Heurísticos META-HEURÍSTICAS MÉTODOS HEURÍSTICOS QUE PERMITEM A CONTINUIDADE DAS EXPLORAÇÕES ALÉM DA OTIMALIDADE LOCAL, EM PARTICULAR, SUPERPONDO-SE A HEURÍSTICAS DE BUSCA LOCAL I) SIMULATED

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

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

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

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

Otimização com Algoritmos Genéticos no MATLAB. Prof. Rafael Saraiva Campos CEFET-RJ

Otimização com Algoritmos Genéticos no MATLAB. Prof. Rafael Saraiva Campos CEFET-RJ Otimização com Algoritmos Genéticos no MATLAB Prof. Rafael Saraiva Campos CEFET-RJ Conteúdo do Mini-Curso PARTE 1 Teoria PARTE 2 Prática Conteúdo do Mini-Curso PARTE 1 Teoria 1.1. Conceitos Básicos de

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

Escalonador de Ordens de Produção Utilizando Algoritmos Genéticos

Escalonador de Ordens de Produção Utilizando Algoritmos Genéticos Escalonador de Ordens de Produção Utilizando Algoritmos Genéticos Nome: Wilian Kohler Supervisor na FURB: Prof. Jomi Fred Hübner Orientador na Empresa: Evaldo Moresco Jr. Empresa: Metalúrgica Siemsen Ltda.

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

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

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

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

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

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves CAP 254 CAP 254 Otimização Combinatória Professor: Dr. L.A.N. Lorena Assunto: Metaheurísticas Antonio Augusto Chaves Conteúdo C Simulated Annealing (2//7). C2 Busca Tabu (22//7). C3 Colônia de Formigas

Leia mais

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

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

Leia mais

Algoritmos Genéticos e Evolucionários

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

Leia mais

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

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

PCC104 - Projeto e Análise de Algoritmos

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

Leia mais

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

5 Detalhamento da solução

5 Detalhamento da solução 5 Detalhamento da solução Partindo das equações estabelecidas no capítulo 3 e da técnica de otimização definida no capítulo 4, chega-se a uma solução concreta para o problema que será detalhado nesse capítulo.

Leia mais

1. Computação Evolutiva

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

Leia mais

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

Assim, no algoritmo BIOCLIM, qualquer ponto do espaço pode ser classificado como:

Assim, no algoritmo BIOCLIM, qualquer ponto do espaço pode ser classificado como: ANEXO A ALGORITMOS BIOCLIM E GARP A.1 Algoritmo BIOCLIM O algoritmo BIOCLIM implementa o conceito de envelope bioclimático (Nix, 1986). O algoritmo calcula a média e o desvio-padrão para cada variável

Leia mais

Marcone Jamilson Freitas Souza

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

Leia mais

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

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

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Aula 19: Memória Virtual: Introdução Diego Passos Última Aula Paginação Método de gerenciamento de memória mais usado hoje. Espaço de endereçamento de um processo é

Leia mais

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

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

Leia mais

TÓPICOS EM INTELIGÊNCIA ARTIFICIAL Redes Neurais Artificiais

TÓPICOS EM INTELIGÊNCIA ARTIFICIAL Redes Neurais Artificiais TÓPICOS EM INTELIGÊNCIA ARTIFICIAL Redes Neurais Artificiais ricardo.kerschbaumer@ifc.edu.br http://professor.luzerna.ifc.edu.br/ricardo-kerschbaumer/ Introdução O Cérebro humano Mais fascinante processador

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