SOBRE ESCALONAMENTO EM MÁQUINAS PARALELAS COM CAPACIDADES DISTINTAS

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

Download "SOBRE ESCALONAMENTO EM MÁQUINAS PARALELAS COM CAPACIDADES DISTINTAS"

Transcrição

1 SOBRE ESCALONAMENTO EM MÁQUINAS PARALELAS COM CAPACIDADES DISTINTAS Mitre Costa Dourado 1 Rosiane de Freitas Rodrigues 2 Jayme Luiz Szwarcfiter 3 1 Instituto de Ciências Exatas - UFRRJ e NCE-UFRJ 2 Engenharia de Sistemas e Computação, COPPE - UFRJ e DCC-UFAM 3 Instituto de Matemática, NCE, COPPE - UFRJ Universidade Federal do Rio de Janeiro-UFRJ, RJ, Brasil mitre@nce.ufrj.br, rosiane@cos.ufrj.br, jayme@nce.ufrj.br. Resumo Este trabalho aborda problemas de escalonamento de tarefas em máquinas paralelas uniformes. Neste caso, o escalonamento é realizado em um conjunto de máquinas em paralelo, onde as mesmas possuem características distintas expressas em termos de velocidades distintas de execução. São apresentados algoritmos para os problemas Q p j = 1 w j U j e Q p j = p w j U j, com n tarefas independentes e m máquinas paralelas uniformes. Os problemas envolvem tarefas com tempos de processamento iguais (unitários ou não) e diferentes prioridades representadas por pesos distintos. O objetivo consiste em determinar escalonamentos ótimos com um número mínimo de tarefas tardias ponderadas. A melhor solução vigente para estes problemas, envolve a modelagem dos mesmos como um problema de alocação (assignment problem), resultando em um algoritmo de complexidade O(n 3 ). Este trabalho apresenta algoritmos que resolvem tais problemas de maneira mais eficiente, em tempo O(n log n) tanto para os casos onde as tarefas não possuem pesos quanto para os casos com tarefas ponderadas. Palavras-chave: escalonamento teórico, máquinas uniformes, política EDD, tempo unitário de processamento. Área Principal: Otimização Combinatória. Abstract This paper tackles problems of scheduling tasks on uniform parallel machines. In this case, the scheduling can be done in a set of machines in parallel, where they have distinct characteristics expressed in terms of different speeds of execution. Algorithms are presented for problems Q p j = 1 w j U j and Q p j = p w j U j, with n independent jobs and m parallel uniform machines. The problems involving tasks with equal processing times (unit time or not), and different priorities. The objective is to determine optimal scheduling with a minimum number of weighted tardy jobs. The best current solution to these problems, involves their modeling as an assignment problem, resulting in an algorithm of complexity O(n 3 ). Our proposed algorithm solve these problems in time O(n log n) both for cases with jobs without weights, as for cases with weighted jobs. Keywords: EDD rule, scheduling theory, uniform machines, unit executing time. Main Area: Combinatorial Optimization. XLI SBPO Pesquisa Operacional na Gestão do Conhecimento Pág. 2752

2 1 Introdução Escalonamentos de tarefas em máquinas paralelas uniformes representam uma importante classe de problemas de escalonamento. Neste caso, o escalonamento é realizado em um conjunto de máquinas em paralelo, onde as mesmas possuem características distintas expressas em termos de velocidades distintas de execução (cada máquina pode possuir uma velocidade diferente de execução, independente da tarefa que está sendo executada). As máquinas uniformes são também denominadas de máquinas relacionadas. De uma maneira geral, os problemas abordados podem ser definidos como segue. Dadas n tarefas J = {J 1,..., J n } a serem escalonadas em m máquinas paralelas uniformes Q = {Q 1,..., Q m }, onde cada máquina Q i possui uma velocidade específica q i e cada tarefa J j possui um tempo de processamento p j. A execução da tarefa J j na máquina Q i requer p j q j unidades de tempo. Um caso especial é quando a velocidade para qualquer máquina Q i é a mesma (q i = q), onde tem-se o caso de máquinas paralelas idênticas (P ). Os casos de interesse deste trabalho envolvem problemas de escalonamento onde as tarefas possuem tempos de processamento iguais (unitários ou não), estando disponíveis para serem processadas a qualquer momento respeitando-se apenas as datas estipuladas para que a execução de cada uma termine. O objetivo consiste em minimizar o número de tarefas tardias, com prioridades diferenciadas ou não (Leung 2004, Brucker 2004). Usando a notação padrão para representar problemas de escalonamento proposta por Graham et al. (1979), os problemas abordados são: Q p j = 1 U j e Q p j = p U j (versões com tarefas não-ponderadas); Q p j = 1 w j U j e Q p j = p w j U j (versões com tarefas ponderadas). Para tais problemas de interesse, a melhor solução encontrada na literatura modela os mesmos como sendo problemas de alocação (assigment problems), resolvendo-os em O(n 3 ), tanto para as versões não-ponderadas quanto para as ponderadas (Brucker e Knust (2009), Durr(2009), Pinedo (2002)). Neste trabalho, algoritmos mais eficientes estão sendo propostos. Tanto para as versões não-ponderadas, Q p j = 1 U j e Q p j = p U j, quanto para as versões ponderadas - Q p j = 1 w j U j e Q p j = p w j U j, a complexidade fica em O(n log n). Tais estratégias de solução foram baseadas nas estratégias de solução para os problemas 1 p j = 1; r j U j e P p j = 1; r j U j, propostas por Rodrigues (2009) e Dourado et al. (2008). O restante deste artigo está estruturado da seguinte maneira. Na Seção 2, são definidos os problemas e apresentados os conceitos necessários. Na Seção 3 é apresentado um algoritmo para os casos onde as tarefas não possuem pesos. Na Seção 4 é apresentado um algoritmo para os casos com tarefas ponderadas. Por fim, considerações finais são feitas na Seção 5. XLI SBPO Pesquisa Operacional na Gestão do Conhecimento Pág. 2753

3 2 Os Problemas Q p j = 1 w j U j e Q p j = p w j U j O problema Q p j = p w j U j é equivalente ao problema Q p j = 1 w j U j (Brucher e Kravchenko (2006)), onde os tempos de processamento p j e as datas de término d j podem ser escalados pelo fator 1 p. Sendo assim, a partir deste ponto será considerado apenas o problema Q p j = 1 w j U j. O problema Q p j = 1 w j U j, em notação de 3-campos (Graham et al. (1979)), pode ser definido como segue. Dado um conjunto de n tarefas J = {J 1,..., J n }, todas disponíveis ao mesmo tempo para execução (r j = 0), mas cada uma tendo datas de término não-obrigatórias due date d j, requerendo um tempo de execução unitário unit execution time p j = 1 e tendo prioridades distintas representadas por pesos w j. Tais tarefas devem ser escalonadas em m, 1 m n, máquinas paralelas uniformes Q = {Q 1,..., Q m }, ou seja, cada máquina Q i possuindo uma capacidade q i distinta de processamento (velocidades diferentes). A execução da tarefa J j na máquina Q i requer p j q i, onde para tarefas de tempos unitários tem-se 1 q i. Assume-se que para cada tarefa, suas datas término e seus pesos são inteiros não-negativos. Cada máquina pode processar no máximo uma tarefa e cada tarefa pode ser processada em uma única máquina. Conseqüentemente, um escalonamento é uma função injetiva S, a qual associa para cada tarefa J j J um número s j, chamado tempo de início da tarefa J j, e uma máquina específica Q y Q. Dizemos que J j tem sido escalonado para iniciar no tempo s j na máquina Q y. Considerando que a tarefa J j seja escalonada na k-ésima posição da máquina Q i, denota-se por C j = k q i, o tempo de completude (completion time) desta tarefa J j. Uma tarefa factível no tempo t, nestes casos, é uma tarefa que satisfaz 0 C j d j. Um escalonamento S é factível quando cada tarefa J j é factível para seus tempos de completude C j. Se uma tarefa J j é tardia (C j > d j ), então uma penalidade unitária é definida como U j = 1, caso contrário a tarefa J j está adiantada ou em-tempo (C j d j ), e uma penalidade nula U j = 0 é atribuída. O problema consiste no escalonamento de todas as tarefas de tal forma a minimizar a função objetivo w j U j, ou seja, minimizar o número total das tarefas tardias ponderadas. Um escalonamento para (J, Q) pode ser visto como sendo uma partição induzida (S, T ), onde S representa o conjunto de tarefas em-tempo e T representa o conjunto de tarefas tardias. A Figura 1 ilustra a atribuição da k-ésima tarefa ao k-ésimo possível tempo de completude, dentre os n gerados. Nas próximas seções são apresentados algoritmos para a resolução de versões do problema descrito nesta seção. 3 Algoritmo para o caso não-ponderado O algoritmo para o problema Q p j = 1 U j se baseia em uma estratégia simples onde primeiramente as tarefas são ordenadas em ordem não-decrescente de suas datas de término (política EDD, do inglês Earliest Due Date first). Sem perda de generalidade, assume-se que (d 1 d 2... d n ). Os tempos de execução possíveis são previamente determinados, da seguinte forma. Uma fila de prioridades fpq para conter os possíveis tempos de execução é criada, contendo inicialmente os valores 1 q i, para cada máquina Q i. Em seguida, remove-se o menor valor da fila de prioridades fpq e reserve-o. Assumindo que em um XLI SBPO Pesquisa Operacional na Gestão do Conhecimento Pág. 2754

4 Figura 1: Esquema que representa a atribuição da k-ésima tarefa ao k-ésimo possível tempo de completude, dentre os n gerados. passo geral o menor valor em fpq seja k q i, é re-inserido em fpq o valor k+1 q i. Repete-se este procedimento até que n valores serem gerados, t 1 t 2... t n, representando os n possíveis tempos de completudes para um conjunto de n tarefas serem executadas nas máquinas paralelas uniformes. Por fim, atribui-se a k-ésima tarefa de menor data de término (d k ) ao menor tempo de completude t k, e assim sucessivamente. Ao se tentar fazer esta atribuição, se d k < t k então J k é uma tarefa tardia e deve ser reservada para ser escalonada ao final do processo. Caso contrário, se d k t k, a tarefa J j deve ser alocada na posição t k (que indica o tempo e a respectiva máquina). Ao final, a fila de tarefas ordenadas por suas datas de término que foram consideradas tardias são atribuídas, nesta ordem, aos tempos de completude restantes. O Algoritmo 1 apresenta o pseudo-código do método descrito acima. Algoritmo 1 algoritmo para Q p j = 1 U j ordene as tarefas aplicando a política EDD - (d 1 d 2... d n ). crie uma fila de prioridades fpq(), inserindo primeiramente os tempos 1 q i de cada máquina Q i. faça k = 1, representando o índice do k-ésimo tempo de completude a ser previamente gerado. repita remova o menor valor de fpq() e atribua a t k. Assumindo que o mesmo seja k q i, insira em fpq() o tempo k+1 q i. k := k + 1. até (k = n tempos de completude serem gerados) para cada tarefa J j faça se d j <= t j então atribua J j a t j e indique-a como indisponível. senão defina J j como tardia. fim se fim para escalone cada tarefa tardia no final em qualquer t k restante. Quanto a complexidade computacional, a ordenação das tarefas em ordem EDD custa O(n log n). Criar a fila de prioridades fpq contendo inicialmente o primeiro tempo de completude possível em cada XLI SBPO Pesquisa Operacional na Gestão do Conhecimento Pág. 2755

5 máquina, para uma tarefa de tempo de execução unitária, leva tempo O(m). O primeiro laço de repetição é feito n vezes e dentro dele, a cada passo a fila de prioridades fpq é manipulada, com uma remoção e uma inserção, seguida de re-ordenamento para devolver sempre seu menor valor dentre os m possíveis. Assim, tal repetição custa O(n log m). Para o segundo laço de repetição, cada uma das n tarefas é considerada para ser escalonada (atribuída) a um dos tempos de completude gerados no passo anterior. Dentro deste laço, é verificado em tempo constante se a tarefa em questão é tardia ou não, escalonandoa ou reservando-a para ser escalonada ao final. Sendo assim, tais passos representados pelo segundo laço custam O(n). Então, assumindo que m n, a complexidade de tempo total do Algoritmo 1 é de O(n log n). A Figura 2 apresenta a situação do conjunto de n tarefas e tempos de completude ao final do Algoritmo 1. Figura 2: Esquema que representa a situação do conjunto de n tarefas e tempos de completude ao final do Algoritmo 1. 4 Algoritmo para o caso ponderado Para o caso do problema com tarefas de prioridades distintas, Q p j = 1 w j U j, deseja-se um número mínimo de tarefas tardias (o mesmo número obtido para a versão não-ponderada do problema (Seção 3), tal que o peso total das tarefas tardias seja o menor possível. Sendo assim, apesar do número de tarefas tardias ser igual, o conjunto de tarefas pode ser diferente. A Figura 3 representa a busca, no k-ésimo passo, pelo menor peso dentre os pesos das tarefas emtempo, que ainda assim seja menor do que o peso w j da tarefa tardia J j corrente, tal como descrito no Algoritmo 2. O Algoritmo 2 apresenta o pseudo-código para a versão ponderada do problema descrito acima. XLI SBPO Pesquisa Operacional na Gestão do Conhecimento Pág. 2756

6 Figura 3: Esquema que representa a busca linear, no k-ésimo passo, pelo maior peso que seja menor do que o peso w j da tarefa tardia J j corrente,tal como descrito no Algoritmo 2. Algoritmo 2 algoritmo para Q p j = 1 w j U j ordene as tarefas aplicando a política EDD - (d 1 d 2... d n ). crie uma fila de prioridades fpqt, inserindo primeiramente os tempos 1 q i de cada máquina Q i. faça k = 1, representando o índice do k-ésimo tempo de completude a ser previamente gerado. repita remova o menor valor de fpqt e atribua a t k. Assumindo que o mesmo seja k q i, insira em fpqt o tempo k+1 q i. k := k + 1. até (k = n tempos de completude serem gerados) crie uma fila de prioridades fpqw, para fornecer o menor peso dentre as tarefas escalonadas em-tempo. para cada tarefa J j faça se d j <= t j então atribua J j a t j e indique-a como indisponível. insira J j em fpqw. senão verifique se wk = min J k S{w k wk < w j} (ou seja, compare o valor retornado por fpqw com o peso de J j ). se J k então troque J k por J j (atualize fpqw). Faça J k ser tardia. senão Faça J j ser tardia. fim se fim se fim para escalone cada tarefa tardia no final em qualquer unidade de tempo t restante. A estratégia embutida no Algoritmo 2 pode ser realizada em tempo O(n log n), tal como segue. Tal como para o Algoritmo 1, a geração dos n tempos possíveis de execução acontece da mesma forma. Sendo assim, a ordenação das tarefas em ordem EDD custa O(n log n). Criar a fila de prioridades fpqt XLI SBPO Pesquisa Operacional na Gestão do Conhecimento Pág. 2757

7 contendo inicialmente o primeiro tempo de completude possível em cada máquina, para uma tarefa de tempo de execução unitária, leva tempo O(m). O primeiro laço de repetição é feito n vezes e dentro dele, a cada passo a fila de prioridades fpqt é manipulada, com uma remoção e uma inserção, seguida de re-ordenamento para devolver sempre seu menor valor dentre os m possíveis. Assim, tal repetição custa O(n log m). Para o segundo laço de repetição, cada uma das n tarefas é considerada para ser escalonada (atribuída) a um dos tempos de completude gerados no passo anterior. Dentro deste laço, é verificado em tempo constante se a tarefa J j em questão pode ser escalonada em tempo ou não. Se a tarefa J j puder ser escalonada em tempo, nada mais a fazer. Senão, verificar dentre as S tarefas escalonadas (tarefas em-tempo), se existe alguma com peso menor do que J j, pode ser feito usando-se uma outra fila de prioridades - fpqw - que forneça sempre o menor peso dentre as S tarefas escalonadas. Isto pode ser feito em tempo O(log S ). A troca é feita em tempo constante O(1). Observa-se que a fila de prioridades fpqw deve ser inicializada de modo a validar as operações posteriores. No final, as T tarefas que ficaram definidas como tardias são alocados nos n S tempos de completude restantes. Como o número de tempos de completude é invariante, ocorrendo apenas a busca e troca de tarefas associadas aos mesmos, se as condições de busca forem satisfeitas, então usando-se estruturas de dados adequadas, como filas de prioridades (ou heaps), tais buscas e trocas podem ser feitas de maneira eficiente. Então, a complexidade de tempo total do Algoritmo 1 é de O(n log m + n log n) e, assumindo que m n, a complexidade total é de O(n log n). 5 Conclusões Neste trabalho, foram apresentados algoritmos para os problemas Q p j = 1 U j, Q p j = p U j, Q p j = 1 w j U j e Q p j = p w j U j, que encontram escalonamentos que minimizam o número de tarefas tardias (ponderadas ou não), em máquinas paralelas que possuem capacidades distintas de processamento (máquinas paralelas uniformes). O primeiro método, Algoritmo 1, calcula todos os possíveis tempos de completude das n tarefas e depois considera cada tarefa em ordem EDD para atribuí-las aos tempos gerados, tendo complexidade O(n log n). O Algoritmo 2 apresenta uma pequena modificação em relação ao Algoritmo 1, pois também realiza trocas entre tarefas tardias e tarefas emtempo, de tal forma a minimizar a soma total das tarefas tardias ponderadas. Tal processo, representado pelo Algoritmo 2, possui complexidade de tempo O(n log n). A Tabela 1 apresenta uma relação dos problemas abordados e suas complexidades, comparando-os com os melhores resultados disponíveis na literatura. Tais resultados apresentados neste artigo, juntamente com os propostos por Rodrigues (2009) e Dourado et al. (2008), motivam a abordagem dos problemas Q p j = 1; r j U j e Q p j = 1; r j w j U j, que se encontram em aberto, dentre as pesquisas futuras. XLI SBPO Pesquisa Operacional na Gestão do Conhecimento Pág. 2758

8 Tabela 1: Quadro comparativo dos resultados. Complexidade Problema Literatura Resultados Propostos Q p j = 1 U j Q p j = p U j O(n 3 ) O(n log n) Q p j = 1 w j U j Q p j = p w j U j O(n 3 ) O(n log n) Q p j = 1; r j U j Q p j = 1; r j w j U j em aberto em estudo Referências Brucker, P. e Knust, S. (2009). Complexity Results for Scheduling Problems, Disponível em Brucker, P. (2004). Scheduling Algorithms, 4rd ed., Springer-Verlag, New York. Dourado, M., Rodrigues, R. e Szwarcfiter, J. (2008). Scheduling unit time jobs with integer release dates to minimize the weighted number of tardy jobs, In: Annals of Operations Research, Springer Netherlands, 169(1),81 91, DOI: /s y, ISSN: (Print) (Online). Durr, C. (2009). The Scheduling Zoo: a searchable bibliography on scheduling. Disponível em durr/query/. Leung, J. (ed.) (2004). Handbook of Scheduling: Algorithms, Models, and Performance Analysis, Computer and Information Science Series, Chapman&Hall and CRS Press. Pinedo, M. (2002), Scheduling: Theory, Algorithms, and Systems, Prentice-Hall, 2a. ed. Rodrigues, R. (2009), Caracterizações e Algoritmos para Problemas Clássicos de Escalonamento, Tese (Doutorado) - Programa de Engenharia de Sistemas e Computação - COPPE, UFRJ, XLI SBPO Pesquisa Operacional na Gestão do Conhecimento Pág. 2759

Scheduling and Task Allocation ADVANCED COMPUTER ARCHITECTURE AND PARALLEL PROCESSING Hesham El-Rewini 2005 Capítulo 10 Autor...: Antonio Edson Ceccon Professor..: Prof. Heitor Silvério Lopes Apresentação

Leia mais

Ordenação Externa. Ordenação Externa. Ordenação Externa. Ordenação Externa

Ordenação Externa. Ordenação Externa. Ordenação Externa. Ordenação Externa Ordenação Externa Ordenação Externa Estrutura de Dados II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação

Leia mais

Complexidade Assintótica de Programas Letícia Rodrigues Bueno

Complexidade Assintótica de Programas Letícia Rodrigues Bueno Complexidade Assintótica de Programas Letícia Rodrigues Bueno Análise de Algoritmos 1. Introdução; Análise de Algoritmos 1. Introdução; 2. Conceitos básicos; Análise de Algoritmos 1. Introdução; 2. Conceitos

Leia mais

Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula

Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula Tópicos Introdução Alocação sequencial Listas lineares,

Leia mais

Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo

Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó

Leia mais

Complexidade de algoritmos Notação Big-O

Complexidade de algoritmos Notação Big-O Complexidade de algoritmos Notação Big-O Prof. Byron Leite Prof. Tiago Massoni Engenharia da Computação Poli - UPE Motivação O projeto de algoritmos é influenciado pelo estudo de seus comportamentos Problema

Leia mais

Listas de Prioridade. Fonte de consulta: Szwarcfiter, J.; Markezon, L. Estruturas de Dados e seus Algoritmos, 3a. ed. LTC.

Listas de Prioridade. Fonte de consulta: Szwarcfiter, J.; Markezon, L. Estruturas de Dados e seus Algoritmos, 3a. ed. LTC. Listas de Prioridade Fonte de consulta: Szwarcfiter, J.; Markezon, L. Estruturas de Dados e seus Algoritmos, 3a. ed. LTC. Capítulo 6 Prioridade } Algumas aplicações precisam recuperar rapidamente um dado

Leia mais

Algoritmos em Grafos: Caminho Mínimo

Algoritmos em Grafos: Caminho Mínimo Algoritmos em Grafos: Caminho Mínimo Letícia Rodrigues Bueno UFABC Problema 2: Menor caminho entre duas cidades Dado um mapa de cidades, contendo as distâncias entre cidades, qual o menor caminho entre

Leia mais

Estruturas de Dados. Árvores AVL: Partes I e II. Desempenho de ABBs (Revisão)

Estruturas de Dados. Árvores AVL: Partes I e II. Desempenho de ABBs (Revisão) Estruturas de Dados Árvores AVL: Partes I e II Prof. Ricardo J. G. B. Campello Parte deste material é baseado em adaptações e extensões de slides disponíveis em http://ww3.datastructures.net (Goodrich

Leia mais

MPE(S)- Metodologias de Planeamento e Escalonamento Planning and Scheduling Methodologies

MPE(S)- Metodologias de Planeamento e Escalonamento Planning and Scheduling Methodologies MPE(S)- Metodologias de Planeamento e Escalonamento Planning and Scheduling Methodologies Eugénio Oliveira / Henrique L. Cardoso {eco, hlc}@fe.up.pt Sítio web institucional Sítio web específico: http://paginas.fe.up.pt/~eol/prodei/mpe1415_eng.htm

Leia mais

Filas de prioridade. Algoritmos e Estruturas de Dados AED 2005/2006 AEDA 2009/2010

Filas de prioridade. Algoritmos e Estruturas de Dados AED 2005/2006 AEDA 2009/2010 Filas de prioridade Algoritmos e Estruturas de Dados AED 2005/2006 AEDA 2009/2010 Qual a Utilidade das Filas de Prioridade? Trabalhos maiores devem ser executados no fim (mesmo que não tenha sido o último

Leia mais

Estrututas de Dados e Algoritmos. Estrutura de Dados e Algoritmos

Estrututas de Dados e Algoritmos. Estrutura de Dados e Algoritmos Estruturas de Dados e Algoritmos Algoritmos conceitos básicos Algoritmo: Sequência de passos simples, claramente especificada, para resolver um determinado problema. Uma receita. Problemas e Algoritmos

Leia mais

ANÁLISE DE DESEMPENHO DE REGRAS DE PRIORIDADE PARA PROGRAMAÇÃO EM SISTEMAS FLOW SHOP HÍBRIDO E TEMPOS DE SETUP DEPENDENTES DA SEQUÊNCIA

ANÁLISE DE DESEMPENHO DE REGRAS DE PRIORIDADE PARA PROGRAMAÇÃO EM SISTEMAS FLOW SHOP HÍBRIDO E TEMPOS DE SETUP DEPENDENTES DA SEQUÊNCIA ANÁLISE DE DESEMPENHO DE REGRAS DE PRIORIDADE PARA PROGRAMAÇÃO EM SISTEMAS FLOW SHOP HÍBRIDO E TEMPOS DE SETUP DEPENDENTES DA SEQUÊNCIA CANTIERE, Patricia Castoldi, IC, Fecilcam, CNPq, Engenharia de Produção

Leia mais

4 Testes e experimentos realizados 4.1. Implementação e banco de dados

4 Testes e experimentos realizados 4.1. Implementação e banco de dados 32 4 Testes e experimentos realizados 4.1. Implementação e banco de dados Devido à própria natureza dos sites de redes sociais, é normal que a maior parte deles possua uma grande quantidade de usuários

Leia mais

Hashing: conceitos. Hashing

Hashing: conceitos. Hashing Hashing: conceitos hashing é uma técnica conhecida como espalhamento, mapeamento ou randomização que tenta distribuir dados em posições aleatórias de uma tabela (array) associa cada objeto (de um determinado

Leia mais

5COP096 TeoriadaComputação

5COP096 TeoriadaComputação Sylvio 1 Barbon Jr barbon@uel.br 5COP096 TeoriadaComputação Aula 13 Prof. Dr. Sylvio Barbon Junior Sumário - Problemas NP-Completo Algoritmos Não-deterministas; Classes NP-Completo e NP-Dificil; Teorema

Leia mais

Lista de exercícios sobre contagem de operações Prof. João B. Oliveira

Lista de exercícios sobre contagem de operações Prof. João B. Oliveira Lista de exercícios sobre contagem de operações Prof. João B. Oliveira 1. metodo m ( Vetor V ) int i, res = 0; para i de 1 a V.size res = res + V[i]; return res; Soma de elementos de um vetor, O( ). 2.

Leia mais

2. Ordenação por Seleção

2. Ordenação por Seleção 1 Algoritmos de Ordenação Simples (SelectionSort, InsertionSort, BubbleSort) 1. Introdução Objetivo: Determinar a seqüência ordenada dos elementos de um vetor numérico. Algumas considerações: O espaço

Leia mais

INF1010 Lista de Exercícios 2

INF1010 Lista de Exercícios 2 INF00 Lista de Exercícios 2 Árvores. Construir algoritmo para dada uma árvore n-ária, transformá-la em uma árvore binária. 2. Qual a maior e menor quantidade de nós que podem existir em uma árvore binária

Leia mais

Estruturas de Dados. Módulo 17 - Busca. 2/6/2005 (c) Dept. Informática - PUC-Rio 1

Estruturas de Dados. Módulo 17 - Busca. 2/6/2005 (c) Dept. Informática - PUC-Rio 1 Estruturas de Dados Módulo 17 - Busca 2/6/2005 (c) Dept. Informática - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora Campus (2004)

Leia mais

Programação Linear - Parte 3

Programação Linear - Parte 3 Matemática Industrial - RC/UFG Programação Linear - Parte 3 Prof. Thiago Alves de Queiroz 1/2016 Thiago Queiroz (IMTec) Parte 3 1/2016 1 / 26 O Método Simplex Encontre o vértice ótimo pesquisando um subconjunto

Leia mais

4º 20/10/2003. ÍNDICE

4º 20/10/2003. ÍNDICE Universidade Federal de Juiz de Fora UFJF. Departamento de Ciência da Computação DCC. Curso de Ciência da Computação. Análise e Projeto de Algoritmos 4º período. Filippe Jabour. Atualizado em 20/10/2003.

Leia mais

Davidson Rodrigo Boccardo

Davidson Rodrigo Boccardo Gerenciamento de processos Davidson Rodrigo Boccardo flitzdavidson@gmail.com Revisão Critérios de alocação: Utilização da CPU Produtividade (Throughput) Número de processos finalizados por unidade de tempo

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 5 Estruturas de Repetição Profa. Marina Gomes marinagomes@unipampa.edu.br 26/04/2017 Engenharia de Computação - Unipampa 1 Aula de Hoje Estrutura de repetição Comando for

Leia mais

Algoritmos Greedy. Pedro Ribeiro 2014/2015 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Algoritmos Greedy 2014/ / 40

Algoritmos Greedy. Pedro Ribeiro 2014/2015 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Algoritmos Greedy 2014/ / 40 Algoritmos Greedy Pedro Ribeiro DCC/FCUP 2014/2015 Pedro Ribeiro (DCC/FCUP) Algoritmos Greedy 2014/2015 1 / 40 Algoritmos Greedy Vamos falar de algoritmos greedy. Em português são conhecidos como: Algoritmos

Leia mais

Matrizes esparsas: definição

Matrizes esparsas: definição Matrizes esparsas: definição o objetivo é mostrar os métodos de armazenamento e manipulação de matrizes esparsas esparsidade de uma matriz é a relação entre o número de elementos nulos de uma matriz e

Leia mais

Teoria dos Grafos. Fluxo Máximo em Redes

Teoria dos Grafos. Fluxo Máximo em Redes Teoria dos Grafos Valeriano A. de Oliveira Socorro Rangel Silvio A. de Araujo Departamento de Matemática Aplicada antunes@ibilce.unesp.br, socorro@ibilce.unesp.br, saraujo@ibilce.unesp.br Fluxo Máximo

Leia mais

4ª Lista de Exercícios de Programação I

4ª Lista de Exercícios de Programação I 4ª Lista de Exercícios de Programação I Instrução As questões devem ser implementadas em C. 1. Faça um algoritmo que leia 10 valores inteiros armazenando-os em um vetor e depois calcule a soma dos valores

Leia mais

Grafos: árvores geradoras mínimas. Graça Nunes

Grafos: árvores geradoras mínimas. Graça Nunes Grafos: árvores geradoras mínimas Graça Nunes 1 Motivação Suponha que queremos construir estradas para interligar n cidades Cada estrada direta entre as cidades i e j tem um custo associado Nem todas as

Leia mais

Algoritmos e Estrutura de Dados. Aula 01 Apresentação da Disciplina e Introdução aos Algoritmos Prof. Tiago A. E. Ferreira

Algoritmos e Estrutura de Dados. Aula 01 Apresentação da Disciplina e Introdução aos Algoritmos Prof. Tiago A. E. Ferreira Algoritmos e Estrutura de Dados Aula 01 Apresentação da Disciplina e Introdução aos Algoritmos Prof. Tiago A. E. Ferreira Ementa e Objetivos Ementa: Análise de Algoritmos: Notação O e Análise Assintótica.

Leia mais

Henrique Daniel Oliveira Lopes

Henrique Daniel Oliveira Lopes Henrique Daniel Oliveira Lopes Aplicação de um algoritmo de pesquisa meta-heurística por geração de colunas (SearchCol) ao problema de máquinas paralelas UMinho 2012 Henrique Daniel Oliveira Lopes Aplicação

Leia mais

Tecnicas Essencias Greedy e Dynamic

Tecnicas Essencias Greedy e Dynamic Tecnicas Essencias Greedy e Dynamic Paul Crocker RELEASE - Reliable and Secure Computation Group Universidade da Beira Interior, Portugal October 2010 1 / 27 Outline 1 Introdução 2 Exemplo Greedy I : Interval

Leia mais

Árvore Binária de Busca Ótima

Árvore Binária de Busca Ótima MAC 5710 - Estruturas de Dados - 2008 Referência bibliográfica Os slides sobre este assunto são parcialmente baseados nas seções sobre árvore binária de busca ótima do capítulo 4 do livro N. Wirth. Algorithms

Leia mais

3. Conteúdo de um vértice v é conteúdo dos filhos de v.

3. Conteúdo de um vértice v é conteúdo dos filhos de v. Árvore Hierárquica Em inglês é chamada de Heap. Representar: conjunto C de elementos com relação. Operações: Ins x,c (inserir x em C e ExMax C (extrair o máximo do conjunto). Chamado também de Fila de

Leia mais

Compactação de Dados Letícia Rodrigues Bueno

Compactação de Dados Letícia Rodrigues Bueno Compactação de Dados Letícia Rodrigues Bueno UFABC Compactação de Dados: Introdução Objetivo: Compactação de Dados: Introdução Compactação de Dados: Introdução Objetivo: 1. minimizar espaço de memória

Leia mais

Departamento de Engenharia Informática Licenciatura em Engenharia Informática Computadores e Sistemas Sistemas de Tempo Real

Departamento de Engenharia Informática Licenciatura em Engenharia Informática Computadores e Sistemas Sistemas de Tempo Real 1. O modelo de processos - Notação Comecemos por sumariar a notação tipicamente utilizada durante as aulas teóricas. C D T Γ 1 Γ 1,1 Γ 1,2 0 3 6 9 12 tempo Activação da tarefa Fim da execução da tarefa

Leia mais

Arquivos Sequenciais Ordenados Fisicamente

Arquivos Sequenciais Ordenados Fisicamente Arquivos Sequenciais Ordenados Fisicamente Estrutura de Dados II Aula 05 UFS - DComp Adaptados a partir do material da Profa. Kenia Kodel Cox Arquivos Sequenciais Podem ser: 1. Desordenados 2. Ordenados,

Leia mais

Lista de Exercícios Programação Inteira. x 2 0 e inteiros.

Lista de Exercícios Programação Inteira. x 2 0 e inteiros. Lista de Exercícios Programação Inteira ) Resolva os problemas a seguir usando o método B&B a) Max z = 5 x + 2 y s.a x + y 2 x + y 5 x, y 0, x e y inteiros b) Max z = 2 x + y s.a x + 2y 0 x + y 25 x, y

Leia mais

Caminho Mínimo de Fonte Única em Grafos sem Pesos Negativos

Caminho Mínimo de Fonte Única em Grafos sem Pesos Negativos Caminho Mínimo de Fonte Única em Grafos sem Pesos Negativos Letícia Rodrigues Bueno UFABC Problema : Menor caminho entre duas cidades Dado um mapa de cidades, contendo as distâncias entre cidades, qual

Leia mais

Árvores AVL e Árvores B. Jeane Melo

Árvores AVL e Árvores B. Jeane Melo Árvores AVL e Árvores B Jeane Melo Roteiro Árvores Binárias Árvores AVL Definição Motivação Balanceamento Operações de rebalanceamento Árvores B Introdução Árvores Binárias Árvores binárias Cada nó tem

Leia mais

Lista de Exercícios Programação Inteira. x 2 0 e inteiros.

Lista de Exercícios Programação Inteira. x 2 0 e inteiros. Lista de Exercícios Programação Inteira ) Resolva os problemas a seguir usando o método B&B a) Max z = 5 x + y s.a x + y x + y 5 b) Max z = x + y s.a x + y 0 x + y 5 c) Max z = x + y s.a x + 9y 6 8 x +

Leia mais

Álgebra Linear e Geometria Analítica Bacharelados e Engenharias Parte II Matrizes (continuação)

Álgebra Linear e Geometria Analítica Bacharelados e Engenharias Parte II Matrizes (continuação) Álgebra Linear e Geometria Analítica Bacharelados e Engenharias Parte II Matrizes (continuação) Prof.a Tânia Preto Departamento Acadêmico de Matemática UTFPR - 2014 Importante Material desenvolvido a partir

Leia mais

Medida do Tempo de Execução de um Programa. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR

Medida do Tempo de Execução de um Programa. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Medida do Tempo de Execução de um Programa David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Classes de Comportamento Assintótico Se f é uma função de complexidade para um algoritmo F, então

Leia mais

Processos. Escalonamento de Processos

Processos. Escalonamento de Processos Processos Escalonamento de Processos Objetivos do Escalonamento Maximizar a taxa de utilização da UCP. Maximizar a vazão ( throughput ) do sistema. Minimizar o tempo de execução ( turnaround ). Turnaround:

Leia mais

Teoria da Complexidade Computacional

Teoria da Complexidade Computacional Teoria da Complexidade Computacional 25 de novembro de 2011 Enquanto a teoria de análise de algoritmos estuda a análise de complexidade de algoritmos, a teoria da complexidade estuda a classificação de

Leia mais

Pesquisa Operacional Introdução. Profa. Alessandra Martins Coelho

Pesquisa Operacional Introdução. Profa. Alessandra Martins Coelho Pesquisa Operacional Introdução Profa. Alessandra Martins Coelho agosto/2013 Operational Research Pesquisa Operacional - (Investigação operacional, investigación operativa) Termo ligado à invenção do radar

Leia mais

Árvores Auto-ajustadas

Árvores Auto-ajustadas Árvores Árvores Auto-ajustadas As árvores binárias de pesquisa são projetadas para um acesso rápido à informação. A velocidade das operações de inserção, remoção e busca realizadas sobre as árvores é mais

Leia mais

- UNIVERSIDADE DO VALE DO RIO DOS SINOS CIÊNCIAS EXATAS E TECNOLÓGICAS Curso: Informática / Ciência da Computação

- UNIVERSIDADE DO VALE DO RIO DOS SINOS CIÊNCIAS EXATAS E TECNOLÓGICAS Curso: Informática / Ciência da Computação Programação 1I Prof. Osório Lista Linear Seqüencial (Alocação Estática) Pag.: 1 - UNIVERSIDADE DO VALE DO RIO DOS SINOS CIÊNCIAS EXATAS E TECNOLÓGICAS Curso: Informática / Ciência da Computação Programação

Leia mais

Uma forma de classificação

Uma forma de classificação Uma forma de classificação L. Não-RE ou f. nãocomputáveis LRE ou MT ou f. comput. L. Indecidíveis ou Procedimentos L. Recursivas ou Decidíveis ou Algoritmos Outra forma de classificação Problemas Indecidíveis

Leia mais

Minimização do custo de antecipação e atraso para o problema de sequenciamento de uma máquina com tempo de preparação dependente da sequência.

Minimização do custo de antecipação e atraso para o problema de sequenciamento de uma máquina com tempo de preparação dependente da sequência. Minimização do custo de antecipação e atraso para o problema de sequenciamento de uma máquina com tempo de preparação dependente da sequência. Leandro de Morais Bustamante Universidade Federal de Minas

Leia mais

2. Algoritmos. Prof. Renato Tinós. Local: Depto. de Computação e Matemática (FFCLRP/USP) Introdução à Computação I IBM1006

2. Algoritmos. Prof. Renato Tinós. Local: Depto. de Computação e Matemática (FFCLRP/USP) Introdução à Computação I IBM1006 Introdução à Computação I IBM1006 2. Algoritmos Prof. Renato Tinós Local: Depto. de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 2. Algoritmos 2.1. Introdução 2.2. Pseudo-código 2.3. Fluxograma

Leia mais

Prof. Lorí Viali, Dr.

Prof. Lorí Viali, Dr. Prof. Lorí Viali, Dr. viali@pucrs.br http://www.pucrs.br/famat/viali/ Dentre a grande variedade de sistemas que podem ser modelados e para os quais a simulação pode ser aplicada com proveito, uma classe

Leia mais

Método prático para extrair uma base de um conjunto de geradores de um subespaço de R n

Método prático para extrair uma base de um conjunto de geradores de um subespaço de R n Método prático para extrair uma base de um conjunto de geradores de um subespaço de R n 1. Descrição do método e alguns exemplos Colocamos o seguinte problema: dado um conjunto finito: A = {a 1, a 2,...,

Leia mais

Grafos: componentes fortemente conexos, árvores geradoras mínimas

Grafos: componentes fortemente conexos, árvores geradoras mínimas Grafos: componentes fortemente conexos, árvores geradoras mínimas SCE-183 Algoritmos e Estruturas de Dados 2 Thiago A. S. Pardo Maria Cristina 1 Componentes fortemente conexos Um componente fortemente

Leia mais

O Problema do Fluxo de Custos Mínimos Terça-feira 2 de abril. O Problema do Caminho mais Curto. Fórmula. Outra Fórmula

O Problema do Fluxo de Custos Mínimos Terça-feira 2 de abril. O Problema do Caminho mais Curto. Fórmula. Outra Fórmula 15.053 Terça-feira 2 de abril O Problema do Caminho mais Curto Algoritmo de Dijkstra para solucionar o Problema do Caminho mais Curto Distribuir: Observações de Aula 1 O Problema do Fluxo de Custos Mínimos

Leia mais

ESTÁGIOS DOMINANTES FLEXÍVEIS EM SISTEMAS DE PRODUÇÃO FLOW SHOP HÍBRIDOS

ESTÁGIOS DOMINANTES FLEXÍVEIS EM SISTEMAS DE PRODUÇÃO FLOW SHOP HÍBRIDOS ESTÁGIOS DOMINANTES FLEXÍVEIS EM SISTEMAS DE PRODUÇÃO FLOW SHOP HÍBRIDOS João Vitor Moccellin Departamento de Engenharia de Produção Escola de Engenharia de São Carlos, Universidade de São Paulo. Av. Trabalhador

Leia mais

Desempenho de computação paralela

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

Leia mais

Complexidade de Algoritmos

Complexidade de Algoritmos Complexidade de Algoritmos! Uma característica importante de qualquer algoritmo é seu tempo de execução! é possível determiná-lo através de métodos empíricos, considerando-se entradas diversas! é também

Leia mais

Um Algoritmo Genético para o Problema de Roteamento de Veículos com Janelas de Tempo

Um Algoritmo Genético para o Problema de Roteamento de Veículos com Janelas de Tempo Um Algoritmo Genético para o Problema de Roteamento de Veículos com Janelas de Tempo Francisco Henrique de Freitas Viana Pontifícia Universidade Católica do Rio de Janeiro PUC-Rio Departamento de Informática

Leia mais

Pesquisa Operacional. Evanivaldo Castro Silva Júnior

Pesquisa Operacional. Evanivaldo Castro Silva Júnior Evanivaldo Castro Silva Júnior Conteúdo Fundamentos da Pesquisa Operacional. Modelos Lineares. Métodos de solução gráfica e algoritmo simplex. Aplicações de Programação Linear. Análise de Sensibilidade.

Leia mais

Compressão de Textos. Introdução. Introdução. Introdução. O volume de informação textual disponível on-line é imenso:

Compressão de Textos. Introdução. Introdução. Introdução. O volume de informação textual disponível on-line é imenso: Compressão de Textos Estrutura de Dados II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM O volume

Leia mais

Análise e Projeto de Algoritmos

Análise e Projeto de Algoritmos Análise e Projeto de Algoritmos Mestrado em Ciência da Computação Prof. Dr. Aparecido Nilceu Marana Faculdade de Ciências I think the design of efficient algorithms is somehow the core of computer science.

Leia mais

Análise da Complexidade de Algoritmos

Análise da Complexidade de Algoritmos Análise da Complexidade de Algoritmos (revisões) Algoritmos e Estruturas de Dados II Licenciatura em Engenharia Informática e Computação www.fe.up.pt/ rcamacho/cadeiras/aed2 LIACC/FEUP Universidade do

Leia mais

Corte Máximo em Grafos Notas de aula de MAC-5727

Corte Máximo em Grafos Notas de aula de MAC-5727 Corte Máximo em Grafos Notas de aula de MAC-577 (Material Extra do Capítulo ) Prof. a Yoshiko Wakabayashi Versão pós-aula feita por Bruno Takahashi C. de Oliveira em 09/03/09 15 de agosto de 016 1 Definições

Leia mais

AULA 8- ÁLGEBRA MATRICIAL VERSÃO: OUTUBRO DE 2016

AULA 8- ÁLGEBRA MATRICIAL VERSÃO: OUTUBRO DE 2016 CURSO DE ADMINISTRAÇÃO CENTRO DE CIÊNCIAS SOCIAIS APLICADAS UNIVERSIDADE CATÓLICA DE PETRÓPOLIS MATEMÁTICA 01 AULA 8- ÁLGEBRA MATRICIAL VERSÃO: 0.1 - OUTUBRO DE 2016 Professor: Luís Rodrigo E-mail: luis.goncalves@ucp.br

Leia mais

BC1424 Algoritmos e Estruturas de Dados I Aula 05 Custos de um algoritmo e funções de complexidade

BC1424 Algoritmos e Estruturas de Dados I Aula 05 Custos de um algoritmo e funções de complexidade BC1424 Algoritmos e Estruturas de Dados I Aula 05 Custos de um algoritmo e funções de complexidade Prof. Jesús P. Mena-Chalco 1Q-2016 1 1995 2015 2 Custo de um algoritmo e funções de complexidade Introdução

Leia mais

Segundo trabalho prático de implementação Sistema de reserva de assentos

Segundo trabalho prático de implementação Sistema de reserva de assentos Segundo trabalho prático de implementação Sistema de reserva de assentos 1. Descrição do problema Computação Concorrente (MAB-117) 2016/2 Prof. Silvana Rossetto 1 DCC/IM/UFRJ 17 de novembro de 2016 Um

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação. Estruturas de repetição

Universidade Federal de Uberlândia Faculdade de Computação. Estruturas de repetição Universidade Federal de Uberlândia Faculdade de Computação Estruturas de repetição Prof. Renato Pimentel 1 Estruturas de repetição Utilização: Trecho de um algoritmo precisa ser executado mais de uma vez:

Leia mais

INTERPOLAÇÃO LINEAR E BILINEAR: APLICAÇÃO EM TRANSFORMAÇÕES GEOMÉTRICAS DE IMAGEM INTRODUÇÃO

INTERPOLAÇÃO LINEAR E BILINEAR: APLICAÇÃO EM TRANSFORMAÇÕES GEOMÉTRICAS DE IMAGEM INTRODUÇÃO INTERPOLAÇÃO LINEAR E BILINEAR: APLICAÇÃO EM TRANSFORMAÇÕES GEOMÉTRICAS DE IMAGEM Autores: Giulia Denise Kujat VIEIRA; Milene Karine GUBETTI. Identificação autores: Estudantes do Curso Técnico em Informática

Leia mais

FACULDADE CAMPO LIMPO PAULISTA BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO. Projeto a Análise de Algoritmos I Lista de Exercícios 1

FACULDADE CAMPO LIMPO PAULISTA BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO. Projeto a Análise de Algoritmos I Lista de Exercícios 1 FACULDADE CAMPO LIMPO PAULISTA BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO Projeto a Análise de Algoritmos I Lista de Exercícios 1 Prof. Osvaldo. 1. Descreva alguns problemas associados ao emprego de metodologias

Leia mais

Departamento de Engenharia Rural Centro de Ciências Agrárias. Programação I

Departamento de Engenharia Rural Centro de Ciências Agrárias. Programação I Departamento de Engenharia Rural Centro de Ciências Agrárias Programação I Algoritmos de busca Basicamente podem ser citadas duas estratégias para procurar (ou buscar) algo em uma coleção de dados: Busca

Leia mais

Prática 02. Total. Pré-requisitos 2 MTM112. N o

Prática 02. Total. Pré-requisitos 2 MTM112. N o Disciplina Pesquisa Operacional I MINISTÉRIO DA Departamento DEPARTAMENTO DE COMPUTAÇÃO Carga Horária Semanal Pré-requisitos 1 CIC170 Teórica EDUCAÇÃO E CULTURA DIRETORIA DE ENSINO 1 PROGRAMA DE DISCIPLINA

Leia mais

Pesquisa Operacional Introdução. Profa. Alessandra Martins Coelho

Pesquisa Operacional Introdução. Profa. Alessandra Martins Coelho Pesquisa Operacional Introdução Profa. Alessandra Martins Coelho julho/2014 Operational Research Pesquisa Operacional - (Investigação operacional, investigación operativa) Termo ligado à invenção do radar

Leia mais

SCC-503 Algoritmos e Estruturas de Dados II. Modificado por Moacir Ponti Jr, do original de:

SCC-503 Algoritmos e Estruturas de Dados II. Modificado por Moacir Ponti Jr, do original de: Árvores-B (Parte II) SCC-503 Algoritmos e Estruturas de Dados II Modificado por Moacir Ponti Jr, do original de: Thiago A. S. Pardo Cristina D. A. Ciferri Leandro C. Cintra M.C.F. de Oliveira Algoritmo:

Leia mais

UNIDADE 4 ESTRUTURAS DE CONTROLE

UNIDADE 4 ESTRUTURAS DE CONTROLE 1 UNIDADE 4 ESTRUTURAS DE CONTROLE Na criação de algoritmos, utilizamos os conceitos de bloco lógico, entrada e saída de dados, variáveis, constantes, atribuições, expressões lógicas, relacionais e aritméticas,

Leia mais

Projeto e Análise de Algoritmos NP Completude. Prof. Humberto Brandão

Projeto e Análise de Algoritmos NP Completude. Prof. Humberto Brandão Projeto e Análise de Algoritmos NP Completude Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br Universidade Federal de Alfenas versão da aula: 0.4 Introdução Problemas intratáveis ou difíceis são comuns

Leia mais

XLVI Pesquisa Operacional na Gestão da Segurança Pública

XLVI Pesquisa Operacional na Gestão da Segurança Pública UM ALGORITMO HEURÍSTICO MULTIOBJETIVO BASEADO NO MÉTODO DE NEWTON PARA O PROBLEMA INTEGRADO DE ALOCAÇÃO DE RECURSOS E SEQUENCIAMENTO DE OPERAÇÕES Miguel Angel Fernández Pérez fernandezmiguelp@gmail.com

Leia mais

Processos. Aula Passada. Aula Passada (2) Ciclos de CPU e de I/O (1)

Processos. Aula Passada. Aula Passada (2) Ciclos de CPU e de I/O (1) Aula Passada Processos (Aula 6) Escalonamento de Processos O SO gerencia os recursos do sistema de computação em benefício dos processos Para isso, mantem estruturas de controles Tabelas (memória, I/O,

Leia mais

AULA 24. Algoritmos p.856/905

AULA 24. Algoritmos p.856/905 AULA 24 Algoritmos p.856/905 Máximo divisor comum CLRS 31.1 e 31.2 Algoritmos p.857/905 Divisibilidade Suponha que a, b e d são números inteiros. Dizemos que d divide a se a = k d para algum número inteiro

Leia mais

Métodos de Ordenação Parte 3

Métodos de Ordenação Parte 3 Estrutura de Dados II Métodos de Ordenação Parte 3 Prof a Márcio Bueno ed2tarde@marciobueno.com / ed2noite@marciobueno.com Material baseado nos materiais do Prof. Robson Lins Classificação em Memória Primária

Leia mais

Algoritmos Genéticos. Estéfane G. M. de Lacerda DCA/UFRN Outubro/2008

Algoritmos Genéticos. Estéfane G. M. de Lacerda DCA/UFRN Outubro/2008 Estéfane G. M. de Lacerda DCA/UFRN Outubro/2008 Introdução São técnicas de busca e otimização. É a metáfora da teoria da evolução das espécies iniciada pelo Fisiologista e Naturalista inglês Charles Darwin.

Leia mais

Curso de Formação de Oficiais Conhecimentos Específicos ENGENHARIA DE COMPUTAÇÃO CADERNO DE QUESTÕES

Curso de Formação de Oficiais Conhecimentos Específicos ENGENHARIA DE COMPUTAÇÃO CADERNO DE QUESTÕES Curso de Formação de Oficiais Conhecimentos Específicos ENGENHARIA DE COMPUTAÇÃO CADERNO DE QUESTÕES 2014 1 a QUESTÃO Valor: 1,00 a) (0,30) Defina gramáticas livre de contexto. b) (0,30) Crie uma gramática

Leia mais

BCC402 Algoritmos e Programação Avançada Prof. Marco Antonio M. Carvalho Prof. Túlio Ângelo M. Toffolo 2011/1

BCC402 Algoritmos e Programação Avançada Prof. Marco Antonio M. Carvalho Prof. Túlio Ângelo M. Toffolo 2011/1 BCC402 Algoritmos e Programação Avançada Prof. Marco Antonio M. Carvalho Prof. Túlio Ângelo M. Toffolo 2011/1 Na aula anterior Prova 2 Na aula de hoje Técnicas básicas de contagem; Tentativa e Erro; Recursividade.

Leia mais

Sistemas Operacionais: Escalonamento de processos

Sistemas Operacionais: Escalonamento de processos Sistemas Operacionais: Escalonamento de processos Escalonamento Critérios de escalonamento Algoritmos de escalonamento Escalonamento em multiprocessadores Escalonamento tempo real Características de processos

Leia mais

Estruturas de Dados I

Estruturas de Dados I Estruturas de Dados I Rodrigo Porfírio da Silva Sacchi rodrigosacchi@ufgd.edu.br 3410-2075 Aula 6: Listas Encadeadas e Alocação Dinâmica Listas Encadeadas e Alocação Dinâmica Alocação Seqüencial versus

Leia mais

Algoritmo Genético. Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto

Algoritmo Genético. Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto Algoritmo Genético Inteligência Artificial Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. Introdução 2. Conceitos Básicos 3. Aplicações 4. Algoritmo 5. Exemplo Introdução São técnicas de busca

Leia mais

Este conceito é bastante simples e será útil e conveniente nos itens seguintes, na definição das estruturas básicas de controle de execução.

Este conceito é bastante simples e será útil e conveniente nos itens seguintes, na definição das estruturas básicas de controle de execução. Capítulo 7 Controle de Fluxo de Execução Até o momento os algoritmos estudados utilizam apenas instruções primitivas de atribuição, e de entrada e saída de dados. Qualquer conjunto de dados fornecido a

Leia mais

BC1424 Algoritmos e Estruturas de Dados I Aula 03: Recursão / Recursividade

BC1424 Algoritmos e Estruturas de Dados I Aula 03: Recursão / Recursividade BC1424 Algoritmos e Estruturas de Dados I Aula 03: Recursão / Recursividade Prof. Jesús P. Mena-Chalco 1Q-2016 1 Sobre a Lista 01 2 Lista 01 Solve me first Simple Array Sum A Very Big Sum Diagonal Difference

Leia mais

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE)

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE) Algoritmos e Estruturas de Dados 1 Prof. Eduardo 1 ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE) Já vimos entrada, processamento e saída, que compõem os algoritmos puramente

Leia mais

UMA HEURÍSTICA VNS MULTIOBJETIVO PARA O PROBLEMA DE SEQUENCIAMENTO DE TAREFAS EM UMA MÁQUINA COM PENALIDADES POR ANTECIPAÇÃO E ATRASO E FLUXO TOTAL

UMA HEURÍSTICA VNS MULTIOBJETIVO PARA O PROBLEMA DE SEQUENCIAMENTO DE TAREFAS EM UMA MÁQUINA COM PENALIDADES POR ANTECIPAÇÃO E ATRASO E FLUXO TOTAL XXX ENCONTRO NACIONAL DE ENGENHARIA DE PRODUÇÃO Maturidade e desafios da Engenharia de Produção: competitividade das empresas, condições de trabalho, meio ambiente. São Carlos, SP, Brasil, 12 a15 de outubro

Leia mais

Computadores e Programação (DCC/UFRJ)

Computadores e Programação (DCC/UFRJ) Computadores e Programação (DCC/UFRJ) Aula 3: 1 2 3 Abstrações do Sistema Operacional Memória virtual Abstração que dá a cada processo a ilusão de que ele possui uso exclusivo da memória principal Todo

Leia mais

03 Análise de Algoritmos (parte 3) SCC201/501 - Introdução à Ciência de Computação II

03 Análise de Algoritmos (parte 3) SCC201/501 - Introdução à Ciência de Computação II 03 Análise de Algoritmos (parte 3) SCC201/501 - Introdução à Ciência de Computação II Prof. Moacir Ponti Jr. www.icmc.usp.br/~moacir Instituto de Ciências Matemáticas e de Computação USP 2010/2 Moacir

Leia mais

Vol. 20, No. 1, junho de 2000 Pesquisa Operacional

Vol. 20, No. 1, junho de 2000 Pesquisa Operacional Vol. 20, No. 1, junho de 2000 Pesquisa Operacional 31 UMA HEURÍSTICA DE TROCAS PARA O PROBLEMA DE SEQUENCIAMENTO DE TAREFAS EM PROCESSADORES UNIFORMES Felipe Martins Müller Universidade Federal de Santa

Leia mais

PROGRAMAÇÃO DA PRODUÇÃO FLOW SHOP PERMUTACIONAL COM MINIMIZAÇÃO DO TEMPO MÉDIO DE FLUXO

PROGRAMAÇÃO DA PRODUÇÃO FLOW SHOP PERMUTACIONAL COM MINIMIZAÇÃO DO TEMPO MÉDIO DE FLUXO PROGRAMAÇÃO DA PRODUÇÃO FLOW SHOP PERMUTACIONAL COM MINIMIZAÇÃO DO TEMPO MÉDIO DE FLUXO Marcelo Seido Nagano Faculdade de Economia, Administração e Contabilidade, Universidade de São Paulo Av. dos Bandeirantes,

Leia mais

Análise estrutural do problema de programação da produção F3 r j, s ijk C max

Análise estrutural do problema de programação da produção F3 r j, s ijk C max Análise estrutural do problema de programação da produção F3 r j, s ijk C max Sânia da Costa Fernandes (UFG) saninha_fernandes@hotmail.com Tatiane Albuquerque Pires (UFG) tati_albuquerque_3@hotmail.com

Leia mais

Resolução da 1ª Prova de Álgebra Linear II da UFRJ, período

Resolução da 1ª Prova de Álgebra Linear II da UFRJ, período www.engenhariafacil.net Resolução da 1ª Prova de Álgebra Linear II da UFRJ, período 2013.1 OBS: Todas as alternativas corretas são as letras A. 1) Para ter ao menos uma solução devemos escalonar para ver

Leia mais

Programação Linear: Profa. Silvana Bocanegra UFRPE - DEINFO

Programação Linear: Profa. Silvana Bocanegra UFRPE - DEINFO Programação Linear: Profa. Silvana Bocanegra UFRPE - DEINFO Tipos de Problemas 1. Dada uma variedade de alimentos, escolher uma dieta de menor custo que atenda as necessidades nutricionais de um indivíduo?

Leia mais

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição 1 Comando while Deseja-se calcular o valor de: 1 + 2 + 3 +... + N. Observação: não sabemos, a priori, quantos termos

Leia mais

COLORAÇÃO TOTAL EQUILIBRADA DE GRAFOS UM MODELO PARA REDES DE INTERCONEXÃO

COLORAÇÃO TOTAL EQUILIBRADA DE GRAFOS UM MODELO PARA REDES DE INTERCONEXÃO versão impressa ISSN 00-78 / versão online ISSN 78- COLORAÇÃO TOTAL EQUILIBRADA DE GRAFOS UM MODELO PARA REDES DE INTERCONEXÃO Abel Rodolfo Garcia Lozano Departamento de Matemática / FFP Universidade do

Leia mais

BCC202 - Estrutura de Dados I

BCC202 - Estrutura de Dados I BCC202 - Estrutura de Dados I Aula 15: Ordenação: ShellSort Reinaldo Fortes Universidade Federal de Ouro Preto, UFOP Departamento de Computação, DECOM Website: www.decom.ufop.br/reifortes Email: reifortes@iceb.ufop.br

Leia mais