HEURÍSTICAS COMPUTACIONAIS APLICADAS À OTIMIZAÇÃO ESTRUTURAL DE TRELIÇAS BIDIMENSIONAIS

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

Download "HEURÍSTICAS COMPUTACIONAIS APLICADAS À OTIMIZAÇÃO ESTRUTURAL DE TRELIÇAS BIDIMENSIONAIS"

Transcrição

1 JOÃO PAULO GONÇALVES PEREIRA HEURÍSTICAS COMPUTACIONAIS APLICADAS À OTIMIZAÇÃO ESTRUTURAL DE TRELIÇAS BIDIMENSIONAIS Dissertação de Mestrado

2 1 JOÃO PAULO GONÇALVES PEREIRA HEURÍSTICAS COMPUTACIONAIS APLICADAS À OTIMIZAÇÃO ESTRUTURAL DE TRELIÇAS BIDIMENSIONAIS Dissertação apresentada ao Curso de Mestrado em Modelagem Matemática e Computacional do Centro Federal de Educação Tecnológica de Minas Gerais, como requisito parcial à obtenção do título de Mestre em Modelagem Matemática e Computacional. Área de concentração: Sistemas Inteligentes. Orientador: Prof. Dr. Gray Farias Moita Belo Horizonte Centro Federal de Educação Tecnológica de Minas Gerais Diretoria de Pesquisa e Pós-Graduação 2007

3 2 P436h Pereira, João Paulo Gonçalves 2007 Heurísticas computacionais aplicadas à otimização estrutural de treliças bidimensionais f. Orientador: Gray Farias Moita Dissertação (mestrado) Centro Federal de Educação Tecnológica de Minas Gerais. 1. Programação heurística. 2. Otimização combinatória. 3. Análise estrutural. I. Moita, Gray Farias. II. Centro Federal de Educação Tecnológica de Minas Gerais. III. Título. CDD 519.6

4 3 Folha de aprovação. Esta folha será fornecida pelo Programa de Pós- Graduação e deverá substituir esta página.

5 4 O rio sempre segue seu curso porque aprendeu a contornar os obstáculos. (Provérbio chinês).

6 5 AGRADECIMENTOS A Deus por me conceder a honra e o privilégio de estar vivendo este momento. Obrigado! Ao meu orientador, Prof. Dr. Gray Farias Moita, pela amizade, paciência, orientação e por acreditar em mim. Ao Prof. Dr. Roque Pitangueira da UFMG, por fornecer o software INSANE para a realização deste trabalho. À minha família, especialmente minha avó Helena, fonte de ensinamentos; meu avô José, por todo o carinho e apoio, meus tios Maria Helena e Victor, pelo ombro nas horas difíceis, e aos meus pais pelo incentivo. Aos meus sogros Wamberto e Margareth, a vocês toda minha gratidão por me receberem como o quarto filho da família e pela confiança depositada em mim. A Linkcom Informática LTDA, por possibilitar a realização deste projeto, permitindo conciliar trabalho e estudo. Aos professores do Cefet, aos meus colegas de mestrado Alexandre, João Paulo Xará, Jeferson, Magela, Manoel e aos demais; todos os amigos e companheiros do trabalho, obrigado pelo incentivo. E à minha noiva Carolina, futura esposa, amiga e eterna companheira, a você eu dedico cada página, pela sua paciência, pelo seu carinho, pelo seu amor. Dizem que, na história, por trás de todos os grandes homens existiu sempre uma grande mulher. Eu posso não ser um grande homem, mas com certeza você é uma grande mulher. De todo meu coração, muito obrigado. A vida é como o mar, incansável na busca pela onda perfeita, até descobrir que a perfeição está na própria busca.

7 6 SUMÁRIO LISTA DE FIGURAS...7 LISTA DE TABELAS...10 LISTA DE QUADROS...11 LISTA DE ABREVIATURAS E SIGLAS...12 RESUMO...13 ABSTRACT INTRODUÇÃO Considerações iniciais Introdução às Heurísticas Motivação e Objetivos do Trabalho Organização do Trabalho HEURÍSTICAS COMPUTACIONAIS Algoritmos Genéticos VNS GRASP Simulated Annealing Busca Tabu Colônia de Formigas MODELAGEM E IMPLEMENTAÇÃO DOS ALGORITMOS Modelagem do Problema Implementação dos Algoritmos Algoritmos Genéticos...42

8 VNS GRASP Simulated Annealing Busca Tabu Colônia de Formigas DESENVOLVIMENTO O Software INSANE e sua Integração Inicialização de variáveis ANÁLISE DOS RESULTADOS OBTIDOS Estrutura de 10 Barras Descrição do Problema Resultados Análise dos Resultados Estrutura de 18 Barras Descrição do Problema Resultados Análise dos Resultados Estrutura de 47 Barras Descrição do Problema Resultados Análise dos Resultados Análise Comparativa entre os métodos CONCLUSÃO Considerações Gerais Conclusões Sugestões para Trabalhos Futuros REFERÊNCIAS ANEXO A CONFIGURAÇÃO DO AMBIENTE DE DESENVOLVIMENTO...119

9 7 LISTA DE FIGURAS FIGURA 2.7: Otimização por Colônia de Formigas FIGURA 3.1: Funcionamento dos operadores de Crossover utilizados no AG. 45 FIGURA 3.8: Esquema da matriz de feromônio FIGURA 4.1: Interface do software INSANE...64 FIGURA 4.2: Exemplo do arquivo de inicialização IniFile.XML FIGURA 4.3: Executando o sistema OtimoEstrutura FIGURA 4.4: Interface gráfica do sistema OtimoEstrutura...67 FIGURA 4.5: Exemplo do arquivo de inicialização do AG FIGURA 4.6: Padronização de nomenclatura da modelagem de problemas no INSANE...69 FIGURA 4.7: Seqüência de eventos e intercâmbio de dados com o software INSANE...70 FIGURA 5.1: Topologia da estrutura com 10 barras. Fonte: Yokota et al. (1998) FIGURA 5.2: Gráfico de Peso (lbs) x Tempo (s) do AG (10 Barras) FIGURA 5.3: Gráfico de Peso (lbs) x Tempo (s) do VNS (10 Barras) FIGURA 5.4: Gráfico de Peso (lbs) x Tempo (s) do GRASP com VNS (10 Barras)....79

10 8 FIGURA 5.5: Gráfico de Peso (lbs) x Tempo (s) do SA (10 Barras)...79 FIGURA 5.6: Gráfico de Peso (lbs) x Tempo (s) da BT (10 Barras) FIGURA 5.7: Gráfico de Peso (lbs) x Tempo (s) do AC (10 Barras) FIGURA 5.8: Melhores resultados de cada algoritmo (10 Barras) FIGURA 5.9: Topologia da estrutura com 18 barras. Fonte: Fawaz et al. (2005) FIGURA 5.10: Topologia da estrutura de 18 barras otimizada. Fonte: Fawaz et al. (2005)...86 FIGURA 5.11: Gráfico de Peso (lbs) x Tempo (s) do AG (18 Barras) FIGURA 5.12: Gráfico de Peso (lbs) x Tempo (s) do VNS (18 Barras) FIGURA 5.13: Gráfico de Peso (lbs) x Tempo (s) do GRASP com VNS (18 Barras)...91 FIGURA 5.14: Gráfico de Peso (lbs) x Tempo (s) do SA (18 Barras)...92 FIGURA 5.15: Gráfico de Peso (lbs) x Tempo (s) da BT (18 Barras) FIGURA 5.16: Gráfico de Peso (lbs) x Tempo (s) do AC (18 Barras) FIGURA 5.17: Melhores resultados de cada algoritmo (18 Barras) FIGURA 5.18: Topologia da torre de 47 barras. Fonte: Castro (2001) FIGURA 5.19: Gráfico de Peso (lbs) x Tempo (s) do AG (47 Barras) FIGURA 5.20: Gráfico de Peso (lbs) x Tempo (s) do VNS (47 Barras)

11 9 FIGURA 5.21: Gráfico de Peso (lbs) x Tempo (s) do GRASP com VNS (47 Barras) FIGURA 5.22: Gráfico de Peso (lbs) x Tempo (s) do SA (47 Barras) FIGURA 5.23: Gráfico de Peso (lbs) x Tempo (s) da BT (47 Barras) FIGURA 5.24: Gráfico de Peso (lbs) x Tempo (s) do AC (47 Barras) FIGURA 5.25: Melhores resultados de cada algoritmo (47 Barras)

12 10 LISTA DE TABELAS TABELA 5.1: Restrições de projeto e valores de coeficientes. Fonte: Yokota et al. (1998)...74 TABELA 5.2: Melhores resultados obtidos em dez execuções para a treliça de 10 Barras...76 TABELA 5.3: Tensão máxima e deslocamento máximo das soluções para a treliça de 10 Barras TABELA 5.4: Melhores resultados obtidos em dez execuções para a treliça de 18 Barras...88 TABELA 5.5: Tensão máxima e deslocamento máximo das soluções para a treliça de 18 Barras TABELA 5.6: Melhores resultados obtidos em dez execuções para a treliça de 47 Barras...99 TABELA 5.7: Tensão máxima e deslocamento máximo das soluções para a treliça de 47 Barras TABELA 5.8: Análise comparativa entre os algoritmos implementados

13 11 LISTA DE QUADROS QUADRO 3.1: PSEUDOCÓDIGO DO AG IMPLEMENTADO...48 QUADRO 3.2: PSEUDOCÓDIGO DO MÉTODO VNS QUADRO 3.3: PSEUDOCÓDIGO DO MÉTODO GRASP...52 QUADRO 3.4: PSEUDOCÓDIGO DO MÉTODO SIMULATED ANNEALING...53 QUADRO 3.5: PSEUDOCÓDIGO DO MÉTODO BUSCA TABU QUADRO 3.6: PSEUDOCÓDIGO DO MÉTODO COLÔNIA DE FORMIGAS...61

14 12 LISTA DE ABREVIATURAS E SIGLAS AC AG BT JDK SA VNS WWW XML Ant Colony Colônia de Formigas. Algoritmos Genéticos. Busca Tabu. Java Development Kit. Simulated Annealing. Variable Neighborhood Search - VNS. World Wide Web. Extensible Markup Language.

15 13 RESUMO Este trabalho visa mostrar o funcionamento de métodos computacionais, conhecidos como Heurísticas, na pesquisa de boas soluções para problemas de análise estrutural. O problema de otimização estrutural foi tratado estudando estruturas com treliças bidimensionais para obter as dimensões mínimas suficientes para as áreas de seção transversal de cada barra, obedecendo às restrições impostas pelo projeto. As heurísticas computacionais implementadas aqui são utilizadas com o intuito de fornecer métodos alternativos para minimizar o peso e, conseqüentemente, o custo destas estruturas. As vantagens e desvantagens de cada heurística implementada são descritas, analisando os resultados obtidos por meio de sua aplicação em três problemas com configurações estruturais distintas. Espera-se, através da análise de comportamento de cada heurística e dos resultados alcançados em cada problema, contribuir para fornecer métodos auxiliares à engenharia como forma de aprimorar projetos de construção de estruturas e ao mesmo tempo incorporar um arcabouço de conhecimentos em heurísticas computacionais e suas aplicações. PALAVRAS-CHAVE: Otimização estrutural, Heurísticas computacionais, Treliças bidimensionais.

16 14 ABSTRACT The present work is focused on demonstrating the functioning of the computational method known as heuristics, as used on the search of a solution for structural analysis. The problem of structural optimization was approached by optimizing plane trussed structures to obtain their minimal cross sectional area, restricted to the limitations imposed by the project. Computational Heuristics was used with the goal of finding alternative shapes to minimize the weight - and therefore the costs - of such structures. The advantages and drawbacks of each method are demonstrated, including the analysis of the results obtained in three different structural problems, as compared to the results of the methods applied on the different tests. This work and its results are aimed to contribute to the use of auxiliary methods in the field of Engineering as a mean to improve the structural projects, and to simultaneously compile a knowledge base on heuristics and its applications. KEY WORDS: Optimization, Computational heuristical, Plane trusses.

17 15 1 INTRODUÇÃO 1 INTRODUÇÃO

18 16 Este capítulo contém uma introdução ao estudo do problema de pesquisa tratado neste trabalho, que se refere à avaliação de métodos computacionais, conhecidos como heurísticas, aplicados a uma classe específica de problemas de otimização: projetos estruturais. Neste trabalho foi estudado um modelo específico, conhecido como Treliça. A Seção 1.1 descreve uma breve introdução contendo os conceitos relacionados com o problema tratado. A Seção 1.2 contém um pequeno resumo sobre heurísticas computacionais. A Seção 1.3 apresenta os principais motivos que idealizaram este estudo e a Seção 1.4 descreve a organização deste trabalho. 1.1 CONSIDERAÇÕES INICIAIS Nos dias atuais é muito comum utilizar estruturas treliçadas em projetos de grandes construções. Tais estruturas podem ser encontradas em diversos locais, como por exemplo, ginásios cobertos, estádios de futebol, viadutos, frutos da criatividade e inteligência humana. Treliças são estruturas compostas por barras articuladas nas extremidades - interligadas por rótulas e, por isso, unicamente sujeitas a esforços axiais. Essa configuração faz com que a estrutura seja leve e ao mesmo tempo resistente. Sendo assim, a idéia deste trabalho consiste em diminuir os custos de projetos que utilizam treliças em suas construções, reduzindo a quantidade de material empregado nestas estruturas, com o intuito de diminuir seu peso, mas de acordo com as restrições impostas pelo projeto. Para realizar o processo de otimização estrutural proposto foi utilizado um conjunto de métodos conhecidos como heurísticas computacionais. A seção seguinte descreve como tais métodos são utilizados na busca pela diminuição do peso estrutural e, principalmente, como estes métodos podem atingir boas soluções a um baixo custo computacional.

19 INTRODUÇÃO ÀS HEURÍSTICAS Segundo Castro (2001), o conceito de otimização de qualquer tarefa ou processo está diretamente ligado à sua realização, do modo mais eficiente possível. Esta eficiência pode ser avaliada de inúmeras maneiras, como por exemplo, a minimização de tempo gasto na limpeza de um jardim, a maximização de velocidade de processamento de um chip, dentre outros. Existem várias formas de realizar a otimização. A primeira linha de métodos desenvolvidos para este fim foi a Programação Matemática. Esta linha de pesquisa trata o problema de maneira iterativa e determinista, através de operações matriciais, gradientes, etc. A programação matemática é mais adequada para problemas que possuem um espaço de soluções viáveis bem definido, suavidade da função objetivo e convexidade do problema. Sua desvantagem é que ainda não existe nenhum método que possibilite a busca de soluções ótimas globais, ou seja, a busca pode convergir e se prender a qualquer solução ótima local. Sendo assim, devido a estas características, a programação matemática não é indicada para a classe de problemas estudada neste trabalho. Uma outra linha de métodos desenvolvidos para realizar a otimização é formada por um conjunto de técnicas compostas de algoritmos conhecidos como heurísticas computacionais. Para compreender melhor a idéia por trás dos métodos heurísticos veja a descrição a seguir: O desafio é produzir, em tempo reduzido, soluções tão próximas quanto possível da solução ótima. Muitos esforços têm sido feitos nessa direção e heurísticas muito eficientes foram desenvolvidas para diversos problemas. Entretanto, a maioria dessas heurísticas desenvolvidas é muito específica para um problema particular, não sendo eficiente (ou mesmo aplicável) na resolução de uma classe mais ampla de problemas. (SOUZA, 2005, p.2) Analisando a citação anterior, podem-se perceber dois conceitos distintos: o primeiro revela que as heurísticas podem atingir bons resultados, mas não garante em nenhum momento que a solução encontrada é a melhor solução global para o problema (porém, diferentemente da programação matemática, existem estratégias

20 18 que permitem escapar de ótimos locais). O segundo, e não menos importante, demonstra a necessidade da experimentação. Como cada heurística é desenvolvida para um problema em particular, a mesma pode não ser tão eficiente para outros problemas de explosão combinatória 1. Neste caso, os métodos devem ser calibrados para o problema em questão, e tal calibragem somente é possível por meio de inúmeros e variados testes, ajustando os parâmetros de cada uma das heurísticas, a fim de obter os melhores resultados. 1.3 MOTIVAÇÃO E OBJETIVOS DO TRABALHO A decisão de se trabalhar com métodos heurísticos reside nas respostas de duas perguntas: a) Tempo é considerado primordial? b) É preciso atingir boas soluções com um custo baixo de processamento? Estas duas perguntas descrevem exatamente as vantagens de se utilizar métodos heurísticos na resolução de problemas de pesquisa operacional. Com o objetivo de analisar o comportamento dos métodos heurísticos foi escolhida a área de otimização estrutural, utilizando treliças planas, por ser extremamente ampla e largamente utilizada atualmente. A utilização de heurísticas computacionais neste tipo de problema mostra-se muito vantajosa, podendo inclusive encorajar aqueles que buscam formas alternativas de reduzir os custos de seus projetos com um baixo tempo computacional. Contextualizando estas vantagens é possível, por exemplo, produzir a diminuição dos custos de um projeto de estruturas por meio de métodos heurísticos, visando diminuir a área da seção transversal das barras de aço utilizadas no projeto inicial. Uma redução de 30%, por exemplo, poderia significar uma grande redução nos custos totais da obra e, ainda assim, os requisitos de sustentação continuariam 1 Problemas classificados na literatura como NP-Dificeis, que não podem ser resolvidos em tempo polinomial, de maneira que um computador pode levar vários anos para encontrar a melhor solução.

21 19 sendo atendidos. O mesmo processo poderia ser empregado em outra variável, por exemplo, o tipo de material, ou até mesmo permitir a alteração das coordenadas dos nós que compõem a estrutura, permitindo que sua topologia seja modificada. Tal otimização poderia ainda inferir que determinadas barras que compõem o projeto poderiam ser removidas e, ainda assim, os requisitos de sustentação continuariam sendo atendidos. Estes são apenas alguns exemplos das inúmeras possibilidades que este processo de aperfeiçoamento pode oferecer. Para aplicar tal processo foram selecionadas algumas das principais heurísticas computacionais utilizadas atualmente. Dentro deste contexto, o presente trabalho possui os seguintes objetivos: Analisar cada heurística aplicada com o intuito de descobrir, para a classe de problemas analisada, quais os métodos mais eficientes, os métodos menos eficientes, e os métodos de melhor relação custo / benefício, onde o custo está relacionado à facilidade de implementação e o benefício diretamente ligado à eficiência e qualidade das soluções obtidas; Determinar a importância da modelagem do problema e sua direta influência no desempenho do algoritmo; Analisar o papel do operador de Mutação no processo de pesquisa do Algoritmo Genético; Executar testes de experimentação e calibração para determinar fatores como eficiência e facilidade de implementação de cada método, aplicados em problemas existentes na literatura. Muitos trabalhos vêm sendo realizados com relação à utilização de métodos heurísticos na resolução de problemas das mais diversas áreas. Na área de otimização aplicada à engenharia de estruturas, pode-se citar Castro (2001), Yang (2002), Fonseca e Pitangueira (2004), Dimou e Koumousis (2003), entre outros.

22 20 Espera-se que, por meio da análise dos algoritmos e dos resultados obtidos, este trabalho possa fornecer um arcabouço de conhecimentos àqueles que lidam diariamente com projetos estruturais. 1.4 ORGANIZAÇÃO DO TRABALHO O capítulo 2 introduz as heurísticas computacionais por meio de uma revisão de sua bibliografia. As heurísticas empregadas neste trabalho são detalhadas, fornecendo a teoria necessária para a compreensão de suas aplicações. O capítulo 3 descreve em detalhes como, a partir dos conceitos relacionados no capítulo 2, os algoritmos foram implementados e adaptados para o tipo de problema proposto. O capítulo 4 descreve o ambiente de desenvolvimento, bem como a maneira como foi realizada a integração do sistema aqui desenvolvido com o software INSANE, e suas variáveis de inicialização. O capítulo 5 exibe os problemas estruturais utilizados para a aplicação dos métodos heurísticos, juntamente com suas restrições e resultados obtidos para cada algoritmo implementado. Ainda neste capítulo é realizada uma análise dos resultados obtidos em cada problema através da aplicação de cada algoritmo, citando as vantagens e desvantagens de cada heurística utilizada. O capítulo 6 descreve as conclusões obtidas com este trabalho, bem como as contribuições e sugestões para futuros trabalhos na área de otimização estrutural.

23 21 2 HEURÍSTICAS COMPUTACIONAIS 2 HEURÍSTICAS COMPUTACIONAIS

24 22 Este capítulo contém uma revisão da bibliografia das diversas Heurísticas Computacionais utilizadas ao longo deste trabalho. Exemplos de aplicações que utilizam tais métodos, suas funcionalidades e suas características individuais serão detalhadas com o intuito de fornecer um embasamento teórico que será um facilitador para o entendimento dos algoritmos implementados neste trabalho. A Seção 2.1 descreve em detalhes as características e o funcionamento do método Algoritmos Genéticos. A Seção 2.2 detalha o método de Pesquisa em Vizinhança Variável, também conhecido como Variable Neighborhood Search VNS. A Seção 2.3 explica o método GRASP - Busca Gulosa e Randomizada. A Seção 2.4 descreve o método de Recozimento Simulado, conhecido como Simulated Annealing. A Seção 2.5 detalha o método Busca Tabu e a Seção 2.6 descreve o método Colônia de Formigas. 2.1 ALGORITMOS GENÉTICOS Dimou e Koumousis (2003) descrevem esta heurística de maneira simples e clara: Algoritmos genéticos são algoritmos de busca baseados nos conceitos de seleção natural e sobrevivência do indivíduo mais apto. São compostos por uma seqüência de rotinas computacionais, elaboradas com o intuito de simular o comportamento da evolução natural por meio do computador. Para compreender melhor seu funcionamento são descritos brevemente alguns conceitos associados à seleção natural e à genética, facilitando assim o entendimento do algoritmo ao perceber sua semelhança com a biologia. Charles Darwin ( ) revolucionou as idéias acerca da evolução da vida e da origem das espécies. Durante suas pesquisas, Darwin observou que nem todos os organismos que nascem se reproduzem ou até mesmo sobrevivem. Darwin percebeu que os organismos que conseguiam sobreviver o faziam pelo fato de possuírem determinadas características que facilitavam sua adaptação ao ambiente. Tais organismos, devido a essas características que os permitia sobreviver, teriam uma probabilidade maior de se reproduzir, deixando descendentes. Desta maneira,

25 23 as características que proporcionavam maior adaptabilidade do organismo ao ambiente seriam passadas de geração a geração, garantindo a sobrevivência da espécie. De modo semelhante, as características que dificultavam a adaptabilidade iam sendo extintas, pois dificultavam a sobrevivência dos organismos que as possuíam e, por isso, não eram passadas de geração a geração. Zimmer (2003) relata que, segundo Darwin, este processo de evolução é lento, contínuo e aleatório, pois surge por meio de várias gerações, cada qual contribuindo para diversificar as características genéticas da espécie. Sua grande contribuição para a teoria da evolução foi o conceito de Seleção Natural, sendo esta composta das seguintes premissas (maiores detalhes podem ser encontrados nos livros de Darwin: Sobre a Origem das Espécies por Meio da Seleção Natural e A Descendência do Homem e Seleção em Relação ao Sexo ), segundo suas observações: 1. Indivíduos de uma mesma espécie exibem modificações aleatórias tanto em sua fisiologia quanto em sua forma; 2. Parte de tais modificações é transmitida aos seus descendentes; 3. Nem todos os indivíduos de uma mesma espécie se reproduzem. Caso isto ocorresse, as populações de inúmeras espécies cresceriam de forma exponencial; 4. Os seres de uma população lutam pela sua sobrevivência, pois os recursos disponíveis no meio ambiente são limitados; 5. Desta maneira, somente os indivíduos mais aptos (e que nem sempre são os mais fortes, e sim mais adaptados às condições ambientais) sobrevivem, possuindo mais chance de se reproduzirem; 6. Por conseguinte, as espécies de gerações futuras passam a ser compostas por indivíduos cada vez mais adaptados ao meio ambiente;

26 24 O processo de evolução realiza-se por meio de modificações, totalmente aleatórias, das características genéticas dos indivíduos que compõem a população. Ainda neste mesmo processo, a presença de uma ou mais características vantajosas à adaptação dos indivíduos aumenta de forma gradual à medida que os indivíduos mais adaptados se reproduzem. Este processo ocorre na natureza por meio da ação da Seleção Natural. Segundo Mitchell (1998), o primeiro passo em busca de um modelo matemático que representasse a teoria de Darwin surgiu com a obra The Genetic Theory of Natural Selection, elaborado pelo biólogo evolucionista R. A. Fisher. Logo em seguida, John H. Holland elaborou os Algoritmos Genéticos, juntamente com seus alunos e colegas da Universidade de Michigan em meados dos anos 60 e 70. Como resultado deste trabalho, Holland publica o livro Adaptation in Natural Systems e, no ano de 1989, David Goldberg (1989) publica Genetic Algorithms in Search, Optimization and Machine Learning, considerado até hoje um dos livros mais importantes sobre os Algoritmos Genéticos. De acordo com Mitchell (1998), baseado nas informações acima descritas tornase mais fácil descrever o Algoritmo Genético: é um conjunto de técnicas computacionais, normalmente empregadas na resolução de problemas de otimização, dotadas de uma plausibilidade biológica que se relaciona com a genética e as teorias de evolução e seleção natural. As variáveis dos problemas são representadas como genes em um cromossomo (também chamado de indivíduo ). Uma população é composta de vários indivíduos. Novos indivíduos são gerados por meio de operadores genéticos como Mutação, Seleção, Cruzamento e Clonagem, dando origem a uma nova população. A cada geração uma nova população é construída e esta, por sua vez, corresponde a um conjunto de possíveis soluções para um dado problema. A cada geração é aplicado o princípio da Seleção Natural, de maneira que somente os indivíduos mais aptos (que representam as melhores soluções para o problema naquele momento) sofrerão ação dos operadores genéticos (podendo

27 25 sofrer Mutação, Cruzamento, Clonagem, entre outros), enquanto os demais (menos aptos) serão descartados. Desta maneira pode-se compreender a evolução de um Algoritmo Genético como um processo de busca pela melhor solução para o problema tratado. Apesar de existirem diferentes implementações de Algoritmos Genéticos, algumas características são comuns entre elas: A partir de uma população inicial (geração zero), inicia-se a construção de novas populações (gerações futuras) pela aplicação dos operadores genéticos. Os operadores mais utilizados são: Mutação, Cruzamento e Clonagem. Podem existir algumas diferenças na maneira como os operadores são implementados, mas basicamente as regras são as mesmas: a Mutação seleciona um gene do indivíduo e modifica este gene, introduzindo assim uma nova característica na população; o Cruzamento é realizado entre dois indivíduos (pais), cruzando seus genes para a construção de novos indivíduos (filhos); e a Clonagem copia um indivíduo gerando outro novo idêntico a ele, que irá fazer parte da nova população. A Seleção, como o próprio nome sugere, seleciona os indivíduos mais aptos da população que irão sofrer ação destes operadores, como forma de produzir novos indivíduos para a próxima geração; Apresentam muita flexibilidade, no sentido de permitir, sem muita dificuldade, uma grande quantidade de modificações em sua implementação, permitindo fácil hibridização. O alto grau de flexibilização permite testar situações diversificadas no intuito de observar como ocorre a evolução até a resposta. Por outro lado, torna difícil a calibração do método uma vez que permite um número elevado de combinações entre os parâmetros.

28 26 Cada indivíduo da população recebe o nome de cromossomo e, segundo Souza (2005), cada cromossomo está associado a uma solução do problema e cada gene está associado a um componente da solução. Desta maneira, cada cromossomo da população é considerado um ponto entre os vários pontos existentes no espaço de busca. O fato de que cada cromossomo está associado a uma solução do problema não significa que esta solução seja viável. O processo de avaliação e seleção dos indivíduos está diretamente relacionado com a análise de viabilidade destas soluções, de maneira que indivíduos considerados de baixa ou nenhuma adaptabilidade são aqueles estão associados a soluções inviáveis ou de baixa qualidade. Para maiores detalhes é recomendada a leitura de Goldberg (1989). 2.2 PESQUISA EM VIZINHANÇA VARIÁVEL Este método, do inglês VNS (Variable Neighborhood Search), foi proposto por Mladenovic e Hansen (1997). É um método de busca local que realiza modificações sistemáticas das estruturas de vizinhanças para explorar o espaço de soluções. Sua idéia mais interessante reside no fato de que ele não segue uma trajetória específica em busca da solução. Ele explora vizinhanças cada vez mais distantes da solução corrente e redireciona a busca por uma nova solução se e somente se acontecer uma melhora na qualidade da solução encontrada. A busca se inicia da mesma maneira que os Algoritmos Genéticos: partindo de uma solução inicial, buscando novas soluções a partir desta e terminando quando atingir um critério de parada. A diferença é que o AG inicia sua pesquisa com uma população inicial (ou seja, vários cromossomos que representam várias soluções candidatas), enquanto o VNS parte de uma única solução inicial que, a partir desta, soluções vizinhas são geradas dentro da estrutura de vizinhança corrente. Para compreender melhor o funcionamento da pesquisa nas estruturas de vizinhança, torna-se necessário utilizar um problema de otimização como exemplo. Sendo assim, considere o problema do Caixeiro Viajante. Partindo de uma

29 27 determinada cidade, o viajante deverá visitar as demais cidades uma única vez e retornar à cidade de origem, de maneira a percorrer a menor distância possível. Trata-se de um problema de minimização de distâncias, em que o principal objetivo é diminuir os custos reduzindo a distância total percorrida. Considere um trajeto qualquer elaborado aleatoriamente. Este trajeto, por ser o primeiro, pode ser melhorado, mas serve de ponto de partida para a geração de um novo trajeto (nova solução) através de seu refinamento. Sendo assim, considere a elaboração de vários trajetos partindo do trajeto inicial, em que cada novo trajeto é construído modificando a ordem de visitação entre apenas duas cidades simultaneamente. Desta maneira, várias novas soluções são elaboradas e avaliadas, em que a única regra consiste na modificação da ordem de visitação de apenas duas cidades por vez. Sendo assim foi estabelecida uma estrutura de vizinhança do projeto inicial, composta por todos os trajetos elaborados a partir do trajeto inicial, modificando-se apenas a ordem de visitação entre somente duas cidades simultaneamente. De modo semelhante, uma outra estrutura de vizinhança poderia ser composta por todos os trajetos elaborados modificando-se a ordem de visitação entre somente quatro cidades por vez. Deste modo, trajetos cada vez mais distintos serão elaborados, diversificando a pesquisa e ampliando de forma gradual o espaço de soluções. A compreensão acerca do funcionamento das estruturas de vizinhança se faz necessária para o entendimento do método como um todo. A partir do trajeto inicial, o método inicia sua pesquisa gerando novas soluções, que estão contidas em uma determinada estrutura de vizinhança. A cada solução gerada é aplicado um método de busca local (que será explicado posteriormente). Se a solução resultante desta busca for melhor que a melhor solução encontrada até o momento, o método atualiza a melhor solução e redireciona a busca para a primeira estrutura de vizinhança. Caso contrário, o método modifica a estrutura de vizinhança e pesquisa uma nova solução dentro da nova estrutura. O processo é repetido até atingir um critério de parada, conforme será explicado posteriormente.

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 C01 Simulated Annealing (20/11/07). C02 Busca Tabu (22/11/07). C03 Colônia

Leia mais

Algoritmos Genéticos

Algoritmos Genéticos UNIVERSIDADE PRESBITERIANA MACKENZIE Laboratório de Computação Natural LCoN I ESCOLA DE COMPUTAÇÃO NATURAL Algoritmos Genéticos Rafael Xavier e Willyan Abilhoa Outubro/2012 www.computacaonatural.com.br

Leia mais

Complemento IV Introdução aos Algoritmos Genéticos

Complemento IV Introdução aos Algoritmos Genéticos Complemento IV Introdução aos Algoritmos Genéticos Esse documento é parte integrante do material fornecido pela WEB para a 2ª edição do livro Data Mining: Conceitos, técnicas, algoritmos, orientações e

Leia mais

BUSCA LOCAL ITERADA (ILS ITERATED LOCAL SEARCH)

BUSCA LOCAL ITERADA (ILS ITERATED LOCAL SEARCH) BUSCA LOCAL ITERADA (ILS ITERATED LOCAL SEARCH) Francisco A. M. Gomes 1º sem/2009 MT852 Tópicos em pesquisa operacional Iterated local search (ILS) Método que gera uma sequência de soluções obtidas por

Leia mais

Inteligência Computacional Aplicada a Engenharia de Software

Inteligência Computacional Aplicada a Engenharia de Software Inteligência Computacional Aplicada a Engenharia de Software Estudo de caso III Prof. Ricardo de Sousa Britto rbritto@ufpi.edu.br Introdução Em alguns ambientes industriais, pode ser necessário priorizar

Leia mais

Módulo 4. Construindo uma solução OLAP

Módulo 4. Construindo uma solução OLAP Módulo 4. Construindo uma solução OLAP Objetivos Diferenciar as diversas formas de armazenamento Compreender o que é e como definir a porcentagem de agregação Conhecer a possibilidade da utilização de

Leia mais

A Otimização Colônia de Formigas

A Otimização Colônia de Formigas A Otimização Colônia de Formigas Estéfane G. M. de Lacerda Departamento de Engenharia da Computação e Automação UFRN 22/04/2008 Índice A Inspiração Biológica O Ant System Aplicado ao PCV O Ant System Aplicado

Leia mais

Projeto e Análise de Algoritmos Projeto de Algoritmos Heurísticas e Algoritmos Aproximados

Projeto e Análise de Algoritmos Projeto de Algoritmos Heurísticas e Algoritmos Aproximados Projeto e Análise de Algoritmos Projeto de Algoritmos Heurísticas e Algoritmos Aproximados Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br Universidade Federal de Alfenas Departamento de Ciências

Leia mais

Dadas a base e a altura de um triangulo, determinar sua área.

Dadas a base e a altura de um triangulo, determinar sua área. Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação ana.santos@qi.edu.br Conceitos Preliminares

Leia mais

Inteligência de Enxame: ACO

Inteligência de Enxame: ACO Inteligência de Enxame: ACO! Otimização colônia de formigas é uma meta-heurística: «baseada em população «inspirada no comportamento forrageiro das formigas.! Muitas espécies de formigas são quase cegas.!

Leia mais

ALGORITMOS GENÉTICOS: UMA VISÃO EXPLANATÓRIA

ALGORITMOS GENÉTICOS: UMA VISÃO EXPLANATÓRIA 136 ALGORITMOS GENÉTICOS: UMA VISÃO EXPLANATÓRIA FILITTO, Danilo 1 Resumo: Os algoritmos Genéticos inspiram-se no processo de evolução natural e são utilizados para resolver problemas de busca e otimização

Leia mais

Técnicas para Programação Inteira e Aplicações em Problemas de Roteamento de Veículos 14

Técnicas para Programação Inteira e Aplicações em Problemas de Roteamento de Veículos 14 1 Introdução O termo "roteamento de veículos" está relacionado a um grande conjunto de problemas de fundamental importância para a área de logística de transportes, em especial no que diz respeito ao uso

Leia mais

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR 6LPXODomR GH6LVWHPDV )HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR #5,6. Simulador voltado para análise de risco financeiro 3RQWRV IRUWHV Fácil de usar. Funciona integrado a ferramentas já bastante conhecidas,

Leia mais

Pesquisa com Professores de Escolas e com Alunos da Graduação em Matemática

Pesquisa com Professores de Escolas e com Alunos da Graduação em Matemática Pesquisa com Professores de Escolas e com Alunos da Graduação em Matemática Rene Baltazar Introdução Serão abordados, neste trabalho, significados e características de Professor Pesquisador e as conseqüências,

Leia mais

Projeto e Análise de Algoritmos Projeto de Algoritmos Introdução. Prof. Humberto Brandão humberto@dcc.ufmg.br

Projeto e Análise de Algoritmos Projeto de Algoritmos Introdução. Prof. Humberto Brandão humberto@dcc.ufmg.br Projeto e Análise de Algoritmos Projeto de Algoritmos Introdução Prof. Humberto Brandão humberto@dcc.ufmg.br aula disponível no site: http://www.bcc.unifal-mg.edu.br/~humberto/ Universidade Federal de

Leia mais

Meta-heurísticas. Métodos Heurísticos José António Oliveira zan@dps.uminho.pt. meta-heurísticas

Meta-heurísticas. Métodos Heurísticos José António Oliveira zan@dps.uminho.pt. meta-heurísticas Meta-heurísticas 105 meta-heurísticas Propriedades e Características: são estratégias que guiam o processo de pesquisa; - o objectivo a atingir é a exploração eficiente do espaço de pesquisa de modo a

Leia mais

Árvores Binárias de Busca

Árvores Binárias de Busca Árvores Binárias de Busca Uma Árvore Binária de Busca T (ABB) ou Árvore Binária de Pesquisa é tal que ou T = 0 e a árvore é dita vazia ou seu nó contém uma chave e: 1. Todas as chaves da sub-árvore esquerda

Leia mais

4 Arquitetura básica de um analisador de elementos de redes

4 Arquitetura básica de um analisador de elementos de redes 4 Arquitetura básica de um analisador de elementos de redes Neste capítulo é apresentado o desenvolvimento de um dispositivo analisador de redes e de elementos de redes, utilizando tecnologia FPGA. Conforme

Leia mais

Análise e Complexidade de Algoritmos

Análise e Complexidade de Algoritmos Análise e Complexidade de Algoritmos Uma visão de Intratabilidade, Classes P e NP - redução polinomial - NP-completos e NP-difíceis Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com http://www.bolinhabolinha.com

Leia mais

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior MRP II Introdução A lógica de cálculo das necessidades é conhecida há muito tempo Porém só pode ser utilizada na prática em situações mais complexas a partir dos anos 60 A partir de meados da década de

Leia mais

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 SUMÁRIO 1 Conceitos Básicos... 3 1.1 O que é Software?... 3 1.2 Situações Críticas no desenvolvimento

Leia mais

PLANEJAMENTO DA MANUFATURA

PLANEJAMENTO DA MANUFATURA 58 FUNDIÇÃO e SERVIÇOS NOV. 2012 PLANEJAMENTO DA MANUFATURA Otimizando o planejamento de fundidos em uma linha de montagem de motores (II) O texto dá continuidade à análise do uso da simulação na otimização

Leia mais

APLICAÇÃO DE MÉTODOS HEURÍSTICOS EM PROBLEMA DE ROTEIRIZAÇÃO DE VEICULOS

APLICAÇÃO DE MÉTODOS HEURÍSTICOS EM PROBLEMA DE ROTEIRIZAÇÃO DE VEICULOS APLICAÇÃO DE MÉTODOS HEURÍSTICOS EM PROBLEMA DE ROTEIRIZAÇÃO DE VEICULOS Bianca G. Giordani (UTFPR/MD ) biancaggiordani@hotmail.com Lucas Augusto Bau (UTFPR/MD ) lucas_bau_5@hotmail.com A busca pela minimização

Leia mais

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Introdução Modelos de Processo de Desenvolvimento de Software Os modelos de processos de desenvolvimento de software surgiram pela necessidade de dar resposta às

Leia mais

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES 3.1 - IDENTIFICADORES Os objetos que usamos no nosso algoritmo são uma representação simbólica de um valor de dado. Assim, quando executamos a seguinte instrução:

Leia mais

Pós-Graduação em Gerenciamento de Projetos práticas do PMI

Pós-Graduação em Gerenciamento de Projetos práticas do PMI Pós-Graduação em Gerenciamento de Projetos práticas do PMI Planejamento do Gerenciamento das Comunicações (10) e das Partes Interessadas (13) PLANEJAMENTO 2 PLANEJAMENTO Sem 1 Sem 2 Sem 3 Sem 4 Sem 5 ABRIL

Leia mais

INF 1771 Inteligência Artificial

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

Leia mais

Inteligência Computacional: resolvendo problemas difíceis da vida real

Inteligência Computacional: resolvendo problemas difíceis da vida real Instituto de Computação Semana Nacional da Ciência e Tecnologia Escola Agrotécnica Federal de Inconfidentes Inteligência Computacional: resolvendo problemas difíceis da vida real Carlos Eduardo de Andrade

Leia mais

Software livre: solução ou problema? Autores: Prates, C. F., Souza, C. H. F. B., Castro, C. V., Vilela, D. R. G., Almeida, N. M

Software livre: solução ou problema? Autores: Prates, C. F., Souza, C. H. F. B., Castro, C. V., Vilela, D. R. G., Almeida, N. M Software livre: solução ou problema? Autores: Prates, C. F., Souza, C. H. F. B., Castro, C. V., Vilela, D. R. G., Almeida, N. M Resumo Quando o tema da discussão são softwares livres, é possível perceber

Leia mais

Manual SAGe Versão 1.2 (a partir da versão 12.08.01)

Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Submissão de Relatórios Científicos Sumário Introdução... 2 Elaboração do Relatório Científico... 3 Submissão do Relatório Científico... 14 Operação

Leia mais

Memória Cache. Prof. Leonardo Barreto Campos 1

Memória Cache. Prof. Leonardo Barreto Campos 1 Memória Cache Prof. Leonardo Barreto Campos 1 Sumário Introdução; Projeto de Memórias Cache; Tamanho; Função de Mapeamento; Política de Escrita; Tamanho da Linha; Número de Memórias Cache; Bibliografia.

Leia mais

Otimização de Funções Não Lineares por Meio do Algoritmo Árvore da Montanha

Otimização de Funções Não Lineares por Meio do Algoritmo Árvore da Montanha Otimização de Funções Não Lineares por Meio do Algoritmo Árvore da Montanha Amarildo de Vicente Colegiado do Curso de Matemática Centro de Ciências Exatas e Tecnológicas da Universidade Estadual do Oeste

Leia mais

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador>

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador> FACULDADE DE ENGENHARIA DE COMPUTAÇÃO PROJETO FINAL I e II PLANO DE TRABALHO O Trabalho de Conclusão de Curso (TCC) a ser desenvolvido

Leia mais

ALGORITMOS GENÉTICOS

ALGORITMOS GENÉTICOS ALGORITMOS GENÉTICOS INTRODUÇÃO São métodos adaptativos que podem ser usados para resolver problemas de busca e otimização. Na natureza a combinação de boas características provenientes de diferentes indivíduos

Leia mais

IW10. Rev.: 02. Especificações Técnicas

IW10. Rev.: 02. Especificações Técnicas IW10 Rev.: 02 Especificações Técnicas Sumário 1. INTRODUÇÃO... 1 2. COMPOSIÇÃO DO IW10... 2 2.1 Placa Principal... 2 2.2 Módulos de Sensores... 5 3. APLICAÇÕES... 6 3.1 Monitoramento Local... 7 3.2 Monitoramento

Leia mais

Faculdade de Engenharia Optimização. Prof. Doutor Engº Jorge Nhambiu

Faculdade de Engenharia Optimização. Prof. Doutor Engº Jorge Nhambiu 1 Programação Não Linear Aula 25: Programação Não-Linear - Funções de Uma única variável Mínimo; Mínimo Global; Mínimo Local; Optimização Irrestrita; Condições Óptimas; Método da Bissecção; Método de Newton.

Leia mais

Guia de Especificação de Caso de Uso Metodologia CELEPAR

Guia de Especificação de Caso de Uso Metodologia CELEPAR Guia de Especificação de Caso de Uso Metodologia CELEPAR Agosto 2009 Sumário de Informações do Documento Documento: guiaespecificacaocasouso.odt Número de páginas: 10 Versão Data Mudanças Autor 1.0 09/10/2007

Leia mais

GUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas

GUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas PIM PROGRAMA DE INTEGRAÇÃO COM O MERCADO GUIA DE CURSO Tecnologia em Sistemas de Informação Tecnologia em Desenvolvimento Web Tecnologia em Análise e Desenvolvimento de Sistemas Tecnologia em Sistemas

Leia mais

Simulação Computacional de Sistemas, ou simplesmente Simulação

Simulação Computacional de Sistemas, ou simplesmente Simulação Simulação Computacional de Sistemas, ou simplesmente Simulação Utilização de métodos matemáticos & estatísticos em programas computacionais visando imitar o comportamento de algum processo do mundo real.

Leia mais

Requisitos de Software

Requisitos de Software Requisitos de Software Prof. José Honorato F.N. Prof. José Honorato F.N. honoratonunes@gmail.com Requisitos de Software Software é o conjunto dos programas e dos meios não materiais que possibilitam o

Leia mais

Figura 5.1.Modelo não linear de um neurônio j da camada k+1. Fonte: HAYKIN, 2001

Figura 5.1.Modelo não linear de um neurônio j da camada k+1. Fonte: HAYKIN, 2001 47 5 Redes Neurais O trabalho em redes neurais artificiais, usualmente denominadas redes neurais ou RNA, tem sido motivado desde o começo pelo reconhecimento de que o cérebro humano processa informações

Leia mais

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande região de armazenamento formada por bytes ou palavras, cada

Leia mais

Introdução. 1. Introdução

Introdução. 1. Introdução Introdução 1. Introdução Se você quer se atualizar sobre tecnologias para gestão de trade marketing, baixou o material certo. Este é o segundo ebook da série que o PDV Ativo, em parceria com o Agile Promoter,

Leia mais

Algoritmos não se aprendem: Copiando algoritmos Estudando algoritmos Algoritmos só se aprendem: Construindo algoritmos Testando algoritmos

Algoritmos não se aprendem: Copiando algoritmos Estudando algoritmos Algoritmos só se aprendem: Construindo algoritmos Testando algoritmos 1. INTRODUÇÃO A ALGORITMOS O uso de algoritmos é quase tão antigo quanto a matemática. Com o passar do tempo, entretanto, ele foi bastante esquecido pela matemática. Com o advento das máquinas de calcular

Leia mais

Resolução de problemas e desenvolvimento de algoritmos

Resolução de problemas e desenvolvimento de algoritmos SSC0101 - ICC1 Teórica Introdução à Ciência da Computação I Resolução de problemas e desenvolvimento de algoritmos Prof. Vanderlei Bonato Prof. Cláudio Fabiano Motta Toledo Sumário Análise e solução de

Leia mais

Perfil de investimentos

Perfil de investimentos Perfil de investimentos O Fundo de Pensão OABPrev-SP é uma entidade comprometida com a satisfação dos participantes, respeitando seus direitos e sempre buscando soluções que atendam aos seus interesses.

Leia mais

Prof. Antonio Torres antonioctorres@gmail.com @_antonioctorres. Fundamentos de Sistemas Operacionais UNIP/2015

Prof. Antonio Torres antonioctorres@gmail.com @_antonioctorres. Fundamentos de Sistemas Operacionais UNIP/2015 Prof. Antonio Torres antonioctorres@gmail.com @_antonioctorres Fundamentos de Sistemas Operacionais UNIP/2015 Disciplinas FUNDAMENTOS DE SISTEMAS OPERACIONAIS Horários Quarta-feira Fundamentos de Sistemas

Leia mais

Guia Site Empresarial

Guia Site Empresarial Guia Site Empresarial Índice 1 - Fazer Fatura... 2 1.1 - Fazer uma nova fatura por valores de crédito... 2 1.2 - Fazer fatura alterando limites dos cartões... 6 1.3 - Fazer fatura repetindo última solicitação

Leia mais

DESENVOLVIMENTO DE UM SOFTWARE NA LINGUAGEM R PARA CÁLCULO DE TAMANHOS DE AMOSTRAS NA ÁREA DE SAÚDE

DESENVOLVIMENTO DE UM SOFTWARE NA LINGUAGEM R PARA CÁLCULO DE TAMANHOS DE AMOSTRAS NA ÁREA DE SAÚDE DESENVOLVIMENTO DE UM SOFTWARE NA LINGUAGEM R PARA CÁLCULO DE TAMANHOS DE AMOSTRAS NA ÁREA DE SAÚDE Mariane Alves Gomes da Silva Eliana Zandonade 1. INTRODUÇÃO Um aspecto fundamental de um levantamento

Leia mais

Feature-Driven Development

Feature-Driven Development FDD Feature-Driven Development Descrição dos Processos Requisitos Concepção e Planejamento Mais forma que conteúdo Desenvolver um Modelo Abrangente Construir a Lista de Features Planejar por

Leia mais

Engenharia de Software III

Engenharia de Software III Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,

Leia mais

Introdução a Avaliação de Desempenho

Introdução a Avaliação de Desempenho Introdução a Avaliação de Desempenho Avaliar é pronunciar-se sobre as características de um certo sistema. Dado um sistema real qualquer, uma avaliação deste sistema pode ser caracterizada por toda e qualquer

Leia mais

Projeto e Análise de Algoritmos Projeto de Algoritmos Tentativa e Erro. Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br

Projeto e Análise de Algoritmos Projeto de Algoritmos Tentativa e Erro. Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br Projeto e Análise de Algoritmos Projeto de Algoritmos Tentativa e Erro Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br Laboratório de Pesquisa e Desenvolvimento Universidade Federal de Alfenas versão

Leia mais

INSTITUTO FLORENCE DE ENSINO COORDENAÇÃO DE PÓS-GRADUAÇÃO CURSO DE PÓS-GRADUAÇÃO EM (TÍTULO DO PROJETO) Acadêmico: Orientador:

INSTITUTO FLORENCE DE ENSINO COORDENAÇÃO DE PÓS-GRADUAÇÃO CURSO DE PÓS-GRADUAÇÃO EM (TÍTULO DO PROJETO) Acadêmico: Orientador: INSTITUTO FLORENCE DE ENSINO COORDENAÇÃO DE PÓS-GRADUAÇÃO CURSO DE PÓS-GRADUAÇÃO EM (TÍTULO DO PROJETO) Acadêmico: Orientador: São Luis 2015 (TÍTULO DO PROJETO) (NOME DO ALUNO) Projeto de Pesquisa do Programa

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

O QUE É E COMO FUNCIONA O CREDIT SCORING PARTE I

O QUE É E COMO FUNCIONA O CREDIT SCORING PARTE I O QUE É E COMO FUNCIONA O CREDIT SCORING PARTE I! A utilização de escores na avaliação de crédito! Como montar um plano de amostragem para o credit scoring?! Como escolher as variáveis no modelo de credit

Leia mais

ATENÇÃO: * Arquivos com tamanho superior a 500 KB NÃO SERÃO ACEITOS * SOMENTE serão aceitos documentos do formato: PDF

ATENÇÃO: * Arquivos com tamanho superior a 500 KB NÃO SERÃO ACEITOS * SOMENTE serão aceitos documentos do formato: PDF TUTORIAL DE DIGITALIZAÇÃO DIRIGIDO AO USO DO PROCESSO ELETRÔNICO Adaptado do tutorial elaborado pelo colega MAICON FALCÃO, operador de computador da subseção judiciária de Rio Grande. Introdução Este tutorial

Leia mais

Aplicação do algoritmo genético na otimização da produção em indústrias de açúcar e álcool

Aplicação do algoritmo genético na otimização da produção em indústrias de açúcar e álcool Aplicação do algoritmo genético na otimização da produção em indústrias de açúcar e álcool Lucélia Costa Oliveira¹; Mário Luiz Viana Alvarenga² ¹ Aluna do curso de Engenharia de Produção e bolsista do

Leia mais

5 Mecanismo de seleção de componentes

5 Mecanismo de seleção de componentes Mecanismo de seleção de componentes 50 5 Mecanismo de seleção de componentes O Kaluana Original, apresentado em detalhes no capítulo 3 deste trabalho, é um middleware que facilita a construção de aplicações

Leia mais

Este documento foi elaborado sob a licença

Este documento foi elaborado sob a licença 1 2 Este documento foi elaborado sob a licença Atribuição - Não Comercial - Sem Trabalhos Derivados Brasil (CC BY-NC-ND 4.0) Sobre este documento, você tem o direito de: Compartilhar - reproduzir, distribuir

Leia mais

FATEC Cruzeiro José da Silva. Ferramenta CRM como estratégia de negócios

FATEC Cruzeiro José da Silva. Ferramenta CRM como estratégia de negócios FATEC Cruzeiro José da Silva Ferramenta CRM como estratégia de negócios Cruzeiro SP 2008 FATEC Cruzeiro José da Silva Ferramenta CRM como estratégia de negócios Projeto de trabalho de formatura como requisito

Leia mais

1. Conceitos de sistemas. Conceitos da Teoria de Sistemas. Conceitos de sistemas extraídos do dicionário Aurélio:

1. Conceitos de sistemas. Conceitos da Teoria de Sistemas. Conceitos de sistemas extraídos do dicionário Aurélio: 1. Conceitos de sistemas Conceitos da Teoria de Sistemas OPTNER: É um conjunto de objetos com um determinado conjunto de relações entre seus objetos e seus atributos. TILLES: É um conjunto de partes inter-relacionadas.

Leia mais

4 Segmentação. 4.1. Algoritmo proposto

4 Segmentação. 4.1. Algoritmo proposto 4 Segmentação Este capítulo apresenta primeiramente o algoritmo proposto para a segmentação do áudio em detalhes. Em seguida, são analisadas as inovações apresentadas. É importante mencionar que as mudanças

Leia mais

Backup. Permitir a recuperação de sistemas de arquivo inteiros de uma só vez. Backup é somente uma cópia idêntica de todos os dados do computador?

Backup. Permitir a recuperação de sistemas de arquivo inteiros de uma só vez. Backup é somente uma cópia idêntica de todos os dados do computador? Backup O backup tem dois objetivos principais: Permitir a recuperação de arquivos individuais é a base do típico pedido de recuperação de arquivo: Um usuário apaga acidentalmente um arquivo e pede que

Leia mais

Curso de Graduação em Administração. Administração da Produção e Operações I

Curso de Graduação em Administração. Administração da Produção e Operações I Curso de Graduação em Administração Administração da Produção e Operações I 22º Encontro - 11/05/2012 18:50 às 20:30h COMO SERÁ NOSSO ENCONTRO HOJE? - ABERTURA - CAPACIDADE E TURNOS DE TRABALHO. 02 Introdução

Leia mais

O DNA é formado por pedaços capazes de serem convertidos em algumas características. Esses pedaços são

O DNA é formado por pedaços capazes de serem convertidos em algumas características. Esses pedaços são Atividade extra Fascículo 2 Biologia Unidade 4 Questão 1 O DNA é formado por pedaços capazes de serem convertidos em algumas características. Esses pedaços são chamados de genes. Assinale abaixo quais

Leia mais

6 Construção de Cenários

6 Construção de Cenários 6 Construção de Cenários Neste capítulo será mostrada a metodologia utilizada para mensuração dos parâmetros estocásticos (ou incertos) e construção dos cenários com respectivas probabilidades de ocorrência.

Leia mais

Gestão da Qualidade em Projetos

Gestão da Qualidade em Projetos Gestão da Qualidade em Projetos Você vai aprender: Introdução ao Gerenciamento de Projetos; Gerenciamento da Integração; Gerenciamento de Escopo- Declaração de Escopo e EAP; Gerenciamento de Tempo; Gerenciamento

Leia mais

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB Calculando a capacidade de disco: Capacidade = (# bytes/setor) x (méd. # setores/trilha) x (# trilhas/superfície) x (# superfícies/prato) x (# pratos/disco) Exemplo 01: 512 bytes/setor 300 setores/trilha

Leia mais

IA Colônia de Formigas. Prof. Ricardo Britto DIE-UFPI rbritto@ufpi.edu.br

IA Colônia de Formigas. Prof. Ricardo Britto DIE-UFPI rbritto@ufpi.edu.br IA Colônia de Formigas Prof. Ricardo Britto DIE-UFPI rbritto@ufpi.edu.br Sumário Introdução O Experimento da Ponte Binária. Ant System Aplicado ao PCV. Elitist Ant System. Introdução Otimização colônia

Leia mais

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem

Leia mais

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas CMP1132 Processo e qualidade de software II Prof. Me. Elias Ferreira Sala: 402 E Quarta-Feira:

Leia mais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais Notas da Aula 17 - Fundamentos de Sistemas Operacionais 1. Gerenciamento de Memória: Introdução O gerenciamento de memória é provavelmente a tarefa mais complexa de um sistema operacional multiprogramado.

Leia mais

Protocolo em Rampa Manual de Referência Rápida

Protocolo em Rampa Manual de Referência Rápida Protocolo em Rampa Manual de Referência Rápida 1 O que é o Protocolo em Rampa O protocolo em rampa é um protocolo para testes de esforço que não possui estágios. Nele o incremento da carga se dá de maneira

Leia mais

1 INTRODUÇÃO Internet Engineering Task Force (IETF) Mobile IP

1 INTRODUÇÃO Internet Engineering Task Force (IETF) Mobile IP 1 INTRODUÇÃO Devido ao crescimento da Internet, tanto do ponto de vista do número de usuários como o de serviços oferecidos, e o rápido progresso da tecnologia de comunicação sem fio (wireless), tem se

Leia mais

Uma Heurística para o Problema de Redução de Padrões de Corte

Uma Heurística para o Problema de Redução de Padrões de Corte Uma Heurística para o Problema de Redução de Padrões de Corte Marcelo Saraiva Limeira INPE/LAC e-mail: marcelo@lac.inpe.br Horacio Hideki Yanasse INPE/LAC e-mail: horacio@lac.inpe.br Resumo Propõe-se um

Leia mais

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá. INTRODUÇÃO A lógica de programação é extremamente necessária para as pessoas que queiram trabalhar na área de programação, seja em qualquer linguagem de programação, como por exemplo: Pascal, Visual Basic,

Leia mais

Arquitetura de Rede de Computadores

Arquitetura de Rede de Computadores TCP/IP Roteamento Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 4. Roteamento i. Máscara de Rede ii. Sub-Redes iii. Números Binários e Máscara de Sub-Rede iv. O Roteador

Leia mais

3 Qualidade de Software

3 Qualidade de Software 3 Qualidade de Software Este capítulo tem como objetivo esclarecer conceitos relacionados à qualidade de software; conceitos estes muito importantes para o entendimento do presente trabalho, cujo objetivo

Leia mais

MELHORAMENTO DE PLANTAS AUTÓGAMAS POR HIBRIDAÇÃO

MELHORAMENTO DE PLANTAS AUTÓGAMAS POR HIBRIDAÇÃO MELHORAMENTO DE PLANTAS AUTÓGAMAS POR HIBRIDAÇÃO 7 INTRODUÇÃO Vimos no capítulo anterior a utilização da seleção no melhoramento de espécies autógamas. O requisito básico para utilizarmos essa técnica

Leia mais

Modelagem e Simulação

Modelagem e Simulação AULA 11 EPR-201 Modelagem e Simulação Modelagem Processo de construção de um modelo; Capacitar o pesquisador para prever o efeito de mudanças no sistema; Deve ser próximo da realidade; Não deve ser complexo.

Leia mais

ISO/IEC 12207: Gerência de Configuração

ISO/IEC 12207: Gerência de Configuração ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que

Leia mais

Manual de regras do Programa de valorização de boas idéias

Manual de regras do Programa de valorização de boas idéias GLOBAL SERVIÇOS E ASSISTÊNCIA 24H NO AR Manual de regras do Programa de valorização de boas idéias Versão 1.0 25/02/2011 Ano 2011 RESUMO Este documento tem como objetivo esclarecer as regras e os critérios

Leia mais

Entendendo como funciona o NAT

Entendendo como funciona o NAT Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços

Leia mais

CAPÍTULO 5 CONCLUSÕES, RECOMENDAÇÕES E LIMITAÇÕES. 1. Conclusões e Recomendações

CAPÍTULO 5 CONCLUSÕES, RECOMENDAÇÕES E LIMITAÇÕES. 1. Conclusões e Recomendações 153 CAPÍTULO 5 CONCLUSÕES, RECOMENDAÇÕES E LIMITAÇÕES 1. Conclusões e Recomendações Um Estudo de Caso, como foi salientado no capítulo Metodologia deste estudo, traz à baila muitas informações sobre uma

Leia mais

Introdução às Redes Neurais Artificiais

Introdução às Redes Neurais Artificiais Introdução às Redes Neurais Artificiais Treinamento via Algoritmos Genéticos Prof. João Marcos Meirelles da Silva http://www.professores.uff.br/jmarcos Departamento de Engenharia de Telecomunicações Escola

Leia mais

Projeto de Sistemas I

Projeto de Sistemas I Instituto Federal de Educação, Ciência e Tecnologia de São Paulo Projeto de Sistemas I Professora: Kelly de Paula Cunha E-mail:kellypcsoares@ifsp.edu.br Requisitos: base para todo projeto, definindo o

Leia mais

SERVIÇO DE ANÁLISE DE REDES DE TELECOMUNICAÇÕES APLICABILIDADE PARA CALL-CENTERS VISÃO DA EMPRESA

SERVIÇO DE ANÁLISE DE REDES DE TELECOMUNICAÇÕES APLICABILIDADE PARA CALL-CENTERS VISÃO DA EMPRESA SERVIÇO DE ANÁLISE DE REDES DE TELECOMUNICAÇÕES APLICABILIDADE PARA CALL-CENTERS VISÃO DA EMPRESA Muitas organizações terceirizam o transporte das chamadas em seus call-centers, dependendo inteiramente

Leia mais

3 Estratégia para o enriquecimento de informações

3 Estratégia para o enriquecimento de informações 34 3 Estratégia para o enriquecimento de informações Podemos resumir o processo de enriquecimento de informações em duas grandes etapas, a saber, busca e incorporação de dados, como ilustrado na Figura

Leia mais

Simulação Transiente

Simulação Transiente Tópicos Avançados em Avaliação de Desempenho de Sistemas Professores: Paulo Maciel Ricardo Massa Alunos: Jackson Nunes Marco Eugênio Araújo Dezembro de 2014 1 Sumário O que é Simulação? Áreas de Aplicação

Leia mais

PLANOS DE CONTINGÊNCIAS

PLANOS DE CONTINGÊNCIAS PLANOS DE CONTINGÊNCIAS ARAÚJO GOMES Capitão SC PMSC ARAÚJO GOMES defesacivilgomes@yahoo.com.br PLANO DE CONTINGÊNCIA O planejamento para emergências é complexo por suas características intrínsecas. Como

Leia mais

O que é RAID? Tipos de RAID:

O que é RAID? Tipos de RAID: O que é RAID? RAID é a sigla para Redundant Array of Independent Disks. É um conjunto de HD's que funcionam como se fosse um só, isso quer dizer que permite uma tolerância alta contra falhas, pois se um

Leia mais

GUIA DE REDAÇÃO PARA TRABALHO DE EM974

GUIA DE REDAÇÃO PARA TRABALHO DE EM974 GUIA DE REDAÇÃO PARA TRABALHO DE EM974 CONSIDERAÇÕES GERAIS O objetivo deste documento é informar a estrutura e a informação esperadas num texto de Trabalho de Graduação. O conteúdo do texto deverá ser

Leia mais

RELATÓRIO TREINAMENTO ADP 2013 ETAPA 01: PLANEJAMENTO

RELATÓRIO TREINAMENTO ADP 2013 ETAPA 01: PLANEJAMENTO RELATÓRIO TREINAMENTO ADP 2013 ETAPA 01: PLANEJAMENTO 1. Apresentação geral Entre os dias 15 e 18 de Abril de 2013 foram realizados encontros de quatro horas com os servidores e supervisores da Faculdade

Leia mais

SUGESTÕES PARA ARTICULAÇÃO ENTRE O MESTRADO EM DIREITO E A GRADUAÇÃO

SUGESTÕES PARA ARTICULAÇÃO ENTRE O MESTRADO EM DIREITO E A GRADUAÇÃO MESTRADO SUGESTÕES PARA ARTICULAÇÃO ENTRE O MESTRADO EM DIREITO E A GRADUAÇÃO Justificativa A equipe do mestrado em Direito do UniCEUB articula-se com a graduação, notadamente, no âmbito dos cursos de

Leia mais

Visite o hotsite do livro: http://bit.ly/1ysv0da

Visite o hotsite do livro: http://bit.ly/1ysv0da Este ebook possui 5 dicas práticas avançadas de Facebook Ads que foram retiradas do novo livro que estamos escrevendo, chamado Facebook Marketing Avançado, que vai possuir muitas outras dicas práticas,

Leia mais

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO 10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO UMA DAS GRANDES FUNÇÕES DA TECNOLOGIA É A DE FACILITAR A VIDA DO HOMEM, SEJA NA VIDA PESSOAL OU CORPORATIVA. ATRAVÉS DELA, ELE CONSEGUE

Leia mais

O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2

O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2 3.2 O Espaço Nulo de A: Resolvendo Ax = 0 11 O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2 Esta seção trata do espaço de soluções para Ax = 0. A matriz A pode ser quadrada ou retangular. Uma solução imediata

Leia mais