Algoritmos de Escalonamento
|
|
- André Ferreira Aldeia
- 6 Há anos
- Visualizações:
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
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
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
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
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
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
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.
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
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
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
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)
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
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
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/
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.
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,
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
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
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
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
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
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)
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
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
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
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
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
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.
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
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
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)
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
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)
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
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
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
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
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,
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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
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
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
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
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
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
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)
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
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
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)
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,
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
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
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
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...
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
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
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
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
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
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
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
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
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.
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
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
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
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
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
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
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,
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
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. 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
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
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
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.
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
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.
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
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
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
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
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 é
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
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
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,