NILO AMÉRICO FONSECA DE MELO

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

Download "NILO AMÉRICO FONSECA DE MELO"

Transcrição

1 DESENVOLVIMENTO DE UM MODELO DE ARMAZENAMENTO DINÂMICO DE DADOS PARA RESOLUÇÃO DE SISTEMAS LINEARES ESPARSOS E SEU USO EM PROBLEMAS DE OTIMIZAÇÃO NÃO LINEARES NILO AMÉRICO FONSECA DE MELO UNIVERSIDADE ESTADUAL DO NORTE FLUMINENSE - UENF CAMPOS DOS GOYTACAZES - RJ NOVEMBRO - 22

2 DESENVOLVIMENTO DE UM MODELO DE ARMAZENAMENTO DINÂMICO DE DADOS PARA RESOLUÇÃO DE SISTEMAS LINEARES ESPARSOS E SEU USO EM PROBLEMAS DE OTIMIZAÇÃO NÃO LINEARES NILO AMÉRICO FONSECA DE MELO Tese apresentada ao Centro de Ciências e Tecnologia da Universidade Estadual do Norte Fluminense, como parte das eigências para obtenção de título de Doutor em Ciências de Engenharia. Orientador: Prof. José Ramón Arica Chávez CAMPOS DOS GOYTACAZES - RJ NOVEMBRO - 22 ii

3 Ficha catalográfica feita na Biblioteca do CCT UENF MELO, Nilo Américo Fonseca. Desenvolvimento de um Modelo de Armazenamento Dinâmico de Dados para Resolução de Sistemas Lineares Esparsos e seu uso em Problemas de Otimização Não Lineares. / Nilo Américo Fonseca de Melo -- [ Campos dos Goytacazes ], 22., 174 f., enc.; 3 cm (CCT/UENF, D. Sc. Ciências de Engenharia - Engenharia de Produção, 22). Tese - Universidade Estadual do Norte Fluminense, CCT. Bibliografia: f Matrizes Esparsas. 2.Problemas Lineares Esparsos. 3. Programação não Linear. I. UENF.CCT II. Título. CDD iii

4 DESENVOLVIMENTO DE UM MODELO DE ARMAZENAMENTO DINÂMICO DE DADOS PARA RESOLUÇÃO DE SISTEMAS LINEARES ESPARSOS E SEU USO EM PROBLEMAS DE OTIMIZAÇÃO NÃO LINEARES NILO AMÉRICO FONSECA DE MELO Tese apresentada ao Centro de Ciências e Tecnologia da Universidade Estadual do Norte Fluminense, como parte das eigências para obtenção de título de Doutor em Ciências de Engenharia. Aprovada em 21 de novembro de 22. Comissão Eaminadora Prof. Carlos Alberto de Jesus Martinhon (Doutor, Eng. Sistemas) - UFF Prof. Geraldo Galdino de Paula Junior (Doutor, Eng. Sistemas) - UENF Profª. Gudelia Morales (Doutora, Eng. Sistemas) - UENF Prof. José Ramón Arica Chávez (Doutor, Eng. Sistemas) UENF Orientador iv

5 DEDICATÓRIA À minha filha Mariana. À minha companheira Éria. Aos meus pais, avós, irmãos e irmãs. v

6 AGRADECIMENTOS Ao professor José Ramón Arica Chávez, meu orientador, pela dedicação, incentivo e amizade demonstrada ao longo de todo o desenvolvimento deste trabalho. Aos professores do LEPROD/CCT/UENF, pelo auilio vi

7 Resumo da Tese apresentada ao CCT/UENF como parte dos requisitos necessários para a obtenção do grau de Mestre em Ciências de Engenharia DESENVOLVIMENTO DE UM MODELO DE ARMAZENAMENTO DINÂMICO DE DADOS PARA RESOLUÇÃO DE SISTEMAS LINEARES ESPARSOS E SEU USO EM PROBLEMAS DE OTIMIZAÇÃO NÃO LINEARES Nilo Américo Fonseca de Melo 21 de Novembro de 22 Orientador: José Ramón Arica Chávez Área de Concentração: Engenharia de Produção Neste trabalho, desenvolvemos um modelo dinâmico de armazenamento de dados para matrizes esparsas onde serão guardados somente os elementos não nulos da matriz. Tal modelo utiliza o conceito de lista duplamente encadeada de ponteiros e é aplicado para a resolução de sistemas lineares esparsos utilizando o processo de Eliminação Gaussiana. O modelo desenvolvido tem como principal característica a capacidade de alterar o seu tamanho de acordo com a criação ou eliminação elementos, durante os cálculos computacionais. Técnicas de pivotamento são utilizadas para garantir uma escolha adequada do elemento pivô. O processo de pivotamento é constituído pelo intercâmbio de linhas e colunas da matriz, de acordo com critérios para tentar manter a esparcidade da matriz e a precisão dos resultados. Os conceitos anteriores são aplicados para o desenvolvimento de algoritmo para resolução de problemas de otimização não lineares esparsos, utilizando o método seqüencial quadrático. vii

8 Abstract of the Thesis submitted to the CCT/UENF in partial fulfillment of the requirements for the degree of Doctor of Sciences. DEVELOPMENT OF A MODEL OF DYNAMIC STORAGE OF DATA FOR RESOLUTION OF SPARSE LINEAR SYSTEMS AND HIS USE IN NO LINEAR OPTIMIZATION PROBLEMS Nilo Américo Fonseca de Melo November 21, 22. Chair of Committee: José Ramón Arica Chávez Major Subject: Industrial Engineering In this wor, we developed a dynamic model of data storage for sparse matri where only the non-zero elements of the matri will be ept. Such a model use the concept of double lined list of pointers and it is applied for the resolution of sparse linear systems using Gaussian Elimination process. The developed model has as main characteristic the capacity to alter his size in agreement with the creation or elimination of elements, during the computer calculations. Pivotal techniques are used to guarantee an appropriate choice of the element pivot. The pivotal process is constituted by the echange of lines and columns of the matri, in agreement with criteria trying to maintain the sparsity of the matri and the precision of the results. The previous concepts are applied for the algorithm development for resolution of sparse no linear optimization problems, using the quadratic sequential method. viii

9 SUMÁRIO CAPÍTULO I - INTRODUÇÃO Objetivo Estrutura do presente trabalho...2 CAPÍTULO II - EXPLORANDO ESPARCIDADE Formas de Eplorar a Esparcidade Forma Clássica Forma Orientada a computador...5 CAPÍTULO III - MODELOS DE ARMAZENAMENTO Um Modelo Simples de Armazenagem de Dados Um Modelo de Armazenamento Dinâmico (Zlatev 1991) Armazenamento dos preenchimentos Procedimento de Coleta de Lio ( Garbage Collection ) Espaços Livres O uso de Lista Encadeada no modelo de armazenamento dinâmico Outros Modelos de Armazenamento Conceitos Preliminares Variáveis O Tipo Ponteiro da Linguagem Pascal Listas Lineares Encadeamento de Listas O Modelo de Armazenamento Proposto O cálculo da Eliminação Gaussiana no modelo proposto...52 CAPÍTULO IV - ESTRATÉGIAS DE PIVOTAMENTO Pivotamento para Matrizes Densas...67 i

10 4.2 Conceitos básicos para construção de estratégias de pivotamento para matrizes esparsas Grupo 1: Estratégias de pivotamento com mudanças a priori Grupo 2: Estratégias de pivotamento baseadas no uso da função de custo de Marowitz Grupo 3: Estratégias de pivotamento baseadas em uma minimização local de preenchimentos Escolha da estratégia de Pivotamento...89 CAPÍTULO V - MÉTODO SEQÜENCIAL QUADRÁTICO Descrição do Método MSQ Algoritmo Seqüencial Quadrático Básico (PSQ) Etensão do algoritmo básico PSQ incluindo Restrições de Desigualdade Função de Mérito Algoritmo de solução...13 CAPÍTULO VI TESTES E RESULTADOS NUMÉRICOS CAPÍTULO VII - CONCLUSÕES E RECOMENDAÇÕES REFERÊNCIAS BIBLIOGRÁFICAS ANEXOS

11 SIGLAS CN Column Number (Número da Coluna) EG Eliminação Gaussiana FPO Fluo de Potência Ótimo CL Coleta de Lio K.K.T. Karush-Kuhn-Tucer MSQ Método Seqüencial Quadrático NZ Número de Elementos não Nulos (Non Zero) PSQ - Programação Seqüencial Quadrática RN Row Number (Número da Linha) i

12 1 CAPÍTULO I INTRODUÇÃO Eistem vários problemas que a sua formulação matemática envolve a resolução de grandes sistemas de equações lineares, do tipo A = b, onde muitos elementos da matriz A são nulos. Estes problemas são chamados de problemas de Grande Porte Esparsos. Eistem técnicas específicas para o armazenamento e a realização dos cálculos para evitar a manipulação destes elementos nulos. Uma classe de problemas que pode ser usada como eemplo de problemas de grande porte esparsos é a classe dos problemas de otimização de fluo em rede, onde podemos destacar os seguintes eemplos: Fluo de petróleo em uma rede composta de tubulações, poços e pontos de entrega; Fluo de informações em uma rede de computadores; Fluo de energia elétrica em uma rede composta de geradores, consumidores e cabos de transmissão. O problema de otimização do fluo de energia elétrica(carpentier-1962), também conhecido como Problema de Fluo de Potência Ótimo (FPO), foi a principal motivação para o desenvolvimento do modelo de armazenamento e o método de resolução de sistemas lineares de equações com matrizes esparsas, assim como

13 2 sua aplicação na resolução de problemas não lineares esparsos de grande porte aqui apresentados Objetivo O presente trabalho tem como objetivo o desenvolvimento e implementação de um modelo de armazenamento e de um algoritmo para resolver sistemas de equações lineares esparsos ( A = b ) utilizando esta estrutura, desenvolvendo-se, também, um método para resolução de problemas de otimização não lineares esparsos. O método utilizado neste trabalho para solução de problemas de programação não linear é baseado no Método Seqüencial Quadrático (MSQ). Neste método, o problema de programação não linear é resolvido através da formulação de uma seqüência de subproblemas quadráticos cujas soluções convergem a um ponto que satisfaz as condições de Karush-Kuhn-Tucer (K.K.T.) do problema original. 1.2 Estrutura do presente trabalho Neste trabalho, apresentamos o desenvolvimento de um modelo de armazenamento e um método para resolver sistemas de equações lineares, bem como a sua aplicação na implementação de um algoritmo para solução de problemas de otimização não lineares de grande porte utilizando o Método Seqüencial Quadrático. Está organizado em sete capítulos assim distribuídos: Capítulo 1: introdução. Capítulo 2: descreve as formas de eplorar a esparcidade (a Forma Clássica e a Forma Orientada a Objeto).

14 3 Capítulo 3: apresenta e compara vários modelos de armazenamento e manipulação de dados para matrizes esparsas, desenvolvendo-se um novo modelo baseado nas vantagens dos modelos apresentados. Capítulo 4: apresenta e compara as técnicas de pivotamento para matrizes esparsas. Capítulo 5: descreve o Método Seqüencial Quadrático e aplica o modelo de armazenamento de dados desenvolvido no capítulo 3 e as técnicas de pivotamento mostradas no capítulo 4 para adaptar tal método para o caso de problemas esparsos. Capítulo 6: detalha os resultados computacionais obtidos com a implementação aplicada a alguns problemas testes. Capítulo 7: discute as conclusões e as recomendações para o aprimoramento do algoritmo apresentado.

15 4 CAPÍTULO II EXPLORANDO ESPARCIDADE Seja A R mn (m n, m Ν, n Ν, ran( A) = n) uma matriz comum, ou seja, A não tem nenhuma propriedade ou estrutura especial (A não é necessariamente simétrica ou definida positiva). A matriz A é chamada de esparsa se muitos elementos aij A ( i = 1, 2,..., m, j = 1, 2,..., n) são iguais a zero. Nestes casos, o tempo computacional e o espaço necessário para o armazenamento dos dados do problema podem ser reduzidos quando alguma técnica de esparcidade é eplorada. Mais ainda: vários problemas esparsos só poderão ser resolvidos com sucesso se a esparcidade for eplorada. 2.1 Formas de Eplorar a Esparcidade Nos casos em que nenhuma propriedade particular da matriz eistem duas diferentes formas de tratar a esparcidade de uma matriz: é eplorada, - A forma clássica; - A forma orientada à computação.

16 Forma Clássica Na forma clássica de eplorar a esparcidade, tenta-se armazenar somente elementos não nulos na memória do computador e trabalhar somente com estes elementos durante os cálculos computacionais. Algumas variações da definição anterior podem ser encontradas em muitas aplicações. Por eemplo: além dos elementos nulos, em algumas aplicações evitam-se armazenar alguns elementos não nulos, como no caso dos elementos da diagonal principal da matriz triangular inferior L que se tornarão iguais a 1 durante o processo de Eliminação Gaussiana (EG). Deve-se ainda enfatizar que alguns elementos não nulos podem se tornar iguais a zero, durante os cálculos computacionais. Tais elementos são normalmente mantidos na memória do computador, quando utilizamos a forma clássica de eplorar a esparcidade. Isto significa que iremos trabalhar com alguns elementos nulos durante os cálculos computacionais o que implica um acréscimo no tempo computacional e no espaço necessário para o armazenamento dos dados. É evidente que a forma clássica de eplorar a esparcidade é influenciada pela precisão dos cálculos, onde os elementos da matriz (especialmente os elementos nulos) serão calculados utilizando aritmética eata e, mais ainda, todos os cálculos necessários durante o processo de solução do sistema serão eecutados da mesma maneira Forma Orientada a computador Na forma orientada a computador de eplorar a esparcidade, evita-se trabalhar com elementos não nulos de pequena magnitude. Torna-se óbvio que é preciso definir um critério apropriado para determinar se um elemento deve ser desprezado. Em geral, a definição de tal critério não é feita tão facilmente. Por

17 6 outro lado, algumas classes de problemas esparsos somente poderão ser tratadas nos computadores atuais se for utilizada a forma orientada à computação. Quando utilizamos computadores de aritmética aproimada, os cálculos computacionais não serão efetuados utilizando a aritmética eata. Nestes casos, elementos não nulos são produzidos enquanto cálculos eatos produziriam elementos nulos. Para ilustrar as afirmações anteriores, considere a solução do seguinte sistema de equações algébricas: nn n1 n1 A=b ( A R, b R, R, ran( A) = n) (2.1) Para resolver tal sistema iremos utilizar um processo conhecido como Eliminação Gaussiana (EG) onde os elementos da matriz A serão decompostos em duas matrizes triangulares n n L R n n U R processo EG são baseados nas seguintes fórmulas: e. Os cálculos efetuados durante o a = a - a (a ( s+ 1 ) ( s ) (s) (s) 1 ij ij is ss ) a ( s ) sj, s = 1,2,...,n - 1, i, j = s + 1, s + 2,...,n, (2.2) ( s ) (1) ass, aij = aij A, i, j = 1,2,...,n onde: s - estágio do processo de Eliminação Gaussiana já eecutado. Os elementos da matriz triangular inferior L são dados por: ( j ) aij =, j = 1,2,...,n - 1, i = j + 1, j 2,...,n (2.3) ( j a l ij + ) jj l ii = 1, i = 1,2,...,n, (2.4) l ij =, j = 2,3,...,n, i = 1,2,..., j - 1 (2.5)

18 7 Os elementos da matriz triangular superior U são dados por: u a ijs ( ) ij =, i = 1,2,...,n, j = i,i + 1,...,n, (2.6) u ij =, i = 2,3,...,n, j = 1,2,...,i - 1 (2.7) Pode-se observar de 2.2 que elementos ( s a 1 ) ij + podem ser não nulos apesar de ( s ) ( s ) ( ) a ij serem iguais a zero. Isto acontece quando is e a s sj são não nulos. O ( elemento a criado durante os cálculos da EG, enquanto s ) =, é conhecido ( s+ 1 ) ij como preenchimento ( fill-in ). a a ij Se os cálculos forem eecutados usando aritmética eata, então o produto LU será igual à matriz A. Contudo, geralmente os cálculos são eecutados com erros de arredondamento, desta forma temos: n L U = A + E, E R n (2.8) A matriz E é chamada de matriz de perturbação e contém a correção dos erros de arredondamentos gerados nos cálculos. Técnicas de pivotamento são normalmente utilizadas no intuito de tentar manter os elementos da matriz E os menores possíveis e tentar diminuir o número de preenchimentos durante os cálculos. Quando a aritmética aproimada é utilizada, então o ( s+1 ) a ij pode ser um elemento não nulo até mesmo quando o valor eato de ( s ) a 1 ij + deveria ser igual a zero (ou, em outras palavras, preenchimentos podem ser produzidos também por causa de erros computacionais, erros de arredondamento). Isto significa que se aplicarmos a forma orientada a computador então poderemos obter fatores L e U mais densos do que os obtidos com utilização da aritmética eata.

19 8 É óbvio que se o valor eato de ( s a 1 ) ij + é zero, enquanto o valor calculado é diferente de zero, então espera-se que o valor calculado seja, de alguma forma, pequeno. Desta forma poderá ser vantajoso atribuir valores nulos a ( s ) a + 1 ij quando estes forem menores do que um parâmetro definido. Isto significa que pequenos elementos serão removidos da memória do computador e não serão envolvidos nos cálculos. Estes elementos serão ditos eliminados ( dropped ) durante a EG. A maneira mais simples de eliminar um elemento poderá ser descrita a seguir. Seja T um número não negativo. Então um elemento obtido durante EG é considerado pequeno e desprezado se: ( s+1 ) aij T (s = 1,2,...,n - 1, i = s + 1,s + 2,...,n, j = s + 1,s + 2,...,n) (2.9) O parâmetro T, usado no critério acima, é chamado de tolerância de eliminação. Torna-se claro que a aplicação de uma tolerância de eliminação nos cálculos computacionais poder á conduzir a fatores imprecisos L e U. Então, se isto acontecer, uma aproimação = ( LU ) b da solução eata = A b será, normalmente, imprecisa. Algumas vezes é necessário tentar recuperar a precisão perdida pela eliminação e isto pode ser feito por um processo de refinamento iterativo conforme pode ser observado a seguir: r i 1 = b Ai, di = ( LU ) ri, i+ 1 = i + d, i i = 1,2,..., p - 1 (2.1) onde: r i vetor de resíduos; d i vetor de correções; p número de iterações definido por algum critério apropriado de parada, ver r i i Stewart (1973), Voevodin (1977), Wilinson (1963 e 1965);

20 9 A partir de uma solução aproimada 1 poderá ser calculada uma solução mais próima da solução eata, usando um critério de parada apropriado. Se a tolerância de eliminação T é suficientemente grande, então os fatores calculados L e U serão geralmente esparsos e algumas vezes mais esparsos do que os fatores calculados utilizando a forma clássica (sem a retirada de pequenos elementos). A forma clássica de eplorar a esparcidade poderá ser considerada como um caso particular da forma orientada a computação, obtida quando consideramos T = e aceitando a primeira aproimação 1 como solução final. Se um fator de eliminação T grande é utilizado na forma orientada à computação, então se espera que o armazenamento seja reduzido, porque muitos elementos serão desconsiderados durante os cálculos computacionais. Conseqüentemente, o cálculo computacional também será reduzido, isto porque a redução do tempo computacional para realizar a Eliminação Gaussiana é normalmente maior do que o aumento do tempo computacional gasto com acréscimos de iterações, com o refinamento interativo necessário para recuperar a precisão perdida com um fator de dropped T grande. Contudo, é bastante claro que a redução tanto do armazenamento quanto do tempo computacional será alcançada somente quando duas condições a seguir forem satisfeitas: - Muitos elementos serão retirados durante a EG. - O processo de refinamento iterativo é convergente e a taa de convergência é suficientemente rápida. Se estas duas condições não forem satisfeitas, é preferível utilizar a forma clássica. Eemplos comparando a forma clássica com a forma orientada a computação podem ser observados em Zlatev (1991), onde algumas formas de tratar a esparcidade são comparadas pelo espaço necessário para o armazenamento dos elementos dos fatores L e U e tempo computacional gasto nos cálculos. Os resultados lá encontrados demonstram que, para algumas classes de

21 1 matrizes, a forma clássica é mais eficiente do que a forma orientada à computação. Contudo, eistem classes de matrizes em que a forma orientada à computação consegue melhores resultados do que a forma clássica, ressaltando que alguns problemas esparsos somente podem ser tratados nos computadores atuais quando a forma orientada à computação é utilizada com um critério apropriado de eliminação T para eliminação de pequenos elementos não nulos.

22 11 CAPÍTULO III MODELOS DE ARMAZENAMENTO Nos casos de problemas com matrizes esparsas, uma questão importante na implementação de códigos computacionais é determinar a forma em que os elementos não nulos da matriz serão armazenados na memória do computador. Um modelo eficiente de armazenamento deve satisfazer a algumas eigências onde podemos destacar: - A redução da quantidade de informação a ser armazenada; - A simplicidade do modelo de armazenamento sob o ponto de vista do usuário; - A eficiência na eecução de diferentes operações básicas de Álgebra Linear; Tais eigências trabalham em direções opostas, sendo uma tarefa difícil encontrar um modelo que atenda, de forma satisfatória, tais requisitos. Eistem vários modelos de armazenamento dos elementos não nulos de uma matriz esparsa. seguir: Um modelo de armazenamento, observado em ZLATEV (1991), é descrito a

23 Um Modelo Simples de Armazenagem de Dados Seja uma matriz A esparsa e seja NZ o número de elementos não nulos de A. As informações sobre os elementos não nulos de A serão armazenados inicialmente em três vetores: um de números reais AORIG e dois de números inteiros RNORIG e CNORIG, de tamanho no mínimo igual a NZ. A notação usada nos nomes dos vetores será eplicada a seguir: - A letra A, utilizada no primeiro vetor, refere-se ao fato de que os elementos não nulos da matriz A serão armazenados no primeiro vetor. - RN é a abreviatura de Row Number (número da linha) e refere-se ao fato de que os números das linhas dos elementos da matriz A serão armazenados no vetor RNORIG. - CN é a abreviatura de Column Number (número da coluna) e refere-se ao fato de que os números das colunas dos elementos da matriz A serão armazenados no vetor CNORIG. - ORIG é a abreviatura de Original e refere-se ao fato de que os três vetores mencionados anteriormente (AORIG, RNORIG e CNORIG) irão armazenar os elementos não nulos da matriz original A, os seus números de linhas e seus números de colunas, respectivamente. Um dos modelos mais simples de armazenamento consiste no armazenamento dos elementos da matriz A nas primeiras NZ posições do vetor AORIG, sendo que a ordem em que estes serão estocados é arbitrária. Contudo, se um elemento a ij da matriz A é armazenado na posição K ( 1 K NZ ),ou seja, AORIG(K)= a ij, então os elementos da posição K dos vetores RNORIG e CNORIG deverão conter a linha e a coluna deste elemento: RNORIG(K)=i e CNORIG(K)=j. Somente os elementos não nulos da matriz A junto com o número de suas linhas e colunas serão armazenados nos vetores AORIG, RNORIG e CNORIG, respectivamente.

24 13 O modelo de armazenamento apresentado anteriormente pode ser utilizado em operações em que os elementos da matriz A permanecem inalterados durante operações básicas de álgebra linear. Operações deste tipo são ditas estáticas e o modelo de armazenamento para tais operações é também conhecido como modelo de armazenamento estático. Alguns eemplos de operações estáticas podem ser observados a seguir: - Cálculo do produto entre vetores e matrizes; - Cálculo do vetor residual do processo de refinamento iterativo ( r = b A ); - Cálculo da norma um de uma matriz; - Cálculo da Ma-norma de uma matriz. Se os elementos da matriz A variam durante a eecução de operações de álgebra linear, tais operações são ditas dinâmicas. Algumas operações dinâmicas que não produzem novos elementos não nulos (preenchimentos), conhecidas como operações simplesmente dinâmicas, podem ser eficientemente eecutadas utilizando o modelo de armazenamento apresentado anteriormente. Dentre estas operações podemos destacar: - Multiplicação de um vetor por uma constante; - Escalonamento de uma matriz. Contudo, algumas operações algébricas importantes não podem ser eecutadas utilizando o modelo de armazenagem descrito anteriormente. Dentre estas podemos ressaltar: - Eliminação Gaussiana; - Transformações Ortogonais. Normalmente, tais operações transformam alguns elementos nulos em elementos não nulos durante os cálculos, isto é, poderão aparecer preenchimentos

25 14 durante a performance destas operações, alterando o padrão de esparcidade da matriz. Estas operações são conhecidas como operações essencialmente dinâmicas. Nas operações onde os elementos não variam (operações estáticas) ou em que os elementos variam sem alteração do padrão de esparcidade (operações simplesmente dinâmicas), os modelos de armazenamento estático, como o apresentado anteriormente, são largamente utilizados pela sua simplicidade. Contudo, nas operações essencialmente dinâmicas, é necessário um modelo de armazenamento que facilite a inclusão de novos elementos imediatamente após a produção dos mesmos, ao qual denominamos dinâmico e será descrito a seguir. 3.2 Um Modelo de Armazenamento Dinâmico (Zlatev 1991) Durante operações de Álgebra Linear essencialmente dinâmica, preenchimentos poderão aparecer independente do algoritmo utilizado. O modelo de armazenamento deve facilitar o armazenamento destes elementos e, conseqüentemente, auiliar no próprio cálculo visando à redução do tempo computacional. Para facilitar a eplanação iremos considerar durante todo o trabalho a utilização da Eliminação Gaussiana como método de resolução de um sistema linear de equações do tipo: A = b, R n 1, A m n m 1 R, b R, m n, ran(a) = n, (3.1) Assuma que o modelo de armazenamento estático apresentado na Seção 3.1 é inicialmente utilizado para estocar os elementos da matriz A. Em outras palavras, os elementos da matriz A serão armazenados nas primeiras NZ posições do vetor de elementos reais AORIG, enquanto o número da linha e da coluna de cada elemento será armazenado nas posições correspondentes aos vetores de elementos inteiros

26 15 RNORIG e CNORIG, respectivamente. Considere como eemplo a seguinte matriz A com 12 elementos não nulos (NZ=12): A = (3.2) teremos: Usando o modelo de armazenamento estático anteriormente mencionado, Posição Vetor AORIG RNORIG CNORIG (3.3) Podemos observar que os elementos são armazenados sem obedecer a nenhuma ordem específica. O modelo de armazenamento dinâmico de Zlatev irá usar uma rotina de ordenação que, a partir do modelo estático apresentado anteriormente, irá reordenar os elementos dos vetores AORIG, RNORIG e CNORIG para realizar a Eliminação Gaussiana de forma eficiente, utilizando os seguintes vetores e matrizes: - ALU(NN) vetor de elementos reais de dimensão NN. Neste vetor encontraremos os elementos não nulos da matriz A, sendo que estes serão ordenados pelas linhas em que se encontram, ou seja, primeiro serão armazenados os elementos da primeira linha, em seguida serão armazenados os elementos da segunda linha e assim por diante. Os elementos não nulos da matriz A serão armazenados nas primeiras NZ posições;

27 16 - CNLU(NN1) vetor de elementos inteiros de dimensão NN1, onde será armazenado o número das colunas dos elementos do vetor ALU na mesma posição em que estes se encontram, ou seja, se um elemento a ij A é armazenado na posição K de ALU (ALU(K) = a ), onde 1 K NZ, então o número da coluna deste elemento será armazenado na posição K do vetor CNLU (CNLU(K) = j). ij - RNLU(NN) vetor de elementos inteiros de dimensão NN, onde serão armazenados os números das linhas dos elementos não nulos da matriz A ordenados por coluna, ou seja, primeiro serão armazenados os números das linhas dos elementos não nulos da primeira coluna, em seguida serão armazenados os números das linhas dos elementos não nulos da segunda coluna, e assim por diante. - HA(NHA,11) matriz de elementos inteiros de NHA linhas e 11 colunas, onde serão armazenadas informações adicionais para eecução da EG. As três primeiras colunas da matriz HA contêm informações sobre os vetores ALU e CNLU, sendo que a primeira coluna informa a posição no vetor ALU onde está armazenado o primeiro elemento não nulo da linha, ou seja, HA(i,1) contém a posição no vetor ALU do primeiro elemento não nulo da linha i. A terceira coluna informa a posição no vetor ALU onde está armazenado o último elemento não nulo da linha, ou seja, HA(i,3) contém a posição no vetor ALU do último elemento não nulo da linha i. A segunda coluna informa a posição do elemento que será comparado e calculado durante o estágio s da EG. Esta coluna inicia com a posição do primeiro elemento não nulo da linha e ao final do estágio esta coluna deverá mostrar as linhas da matriz A que ainda serão utilizadas na EG ( parte ativa das linhas da matriz A). As três colunas seguintes da matriz HA contêm informações sobre o vetor RNLU. A quarta coluna informa a posição no vetor RNLU onde está armazenado o número da linha do primeiro elemento não nulo da coluna em questão, ou seja, HA(i,4) contém a posição no vetor RNLU onde está armazenado o número da linha do primeiro elemento não nulo da coluna i. A seta coluna informa a posição no vetor RNLU onde está armazenado o número da linha do último elemento não nulo da coluna em questão, ou seja, HA(i,6) contém a

28 17 posição no vetor RNLU onde está armazenado o número da linha do último elemento não nulo da coluna i. A quinta coluna informa a posição do elemento que será comparado e calculado durante o estágio s da EG. Esta coluna inicia com a posição do número da linha do primeiro elemento não nulo da coluna e ao final do estágio esta coluna deverá mostrar as colunas da matriz A que ainda serão utilizadas na EG ( parte ativa das colunas da matriz A). As demais colunas da matriz HA contêm outras informações para facilitar a eecução da EG. Os parâmetros NN, NN1, NHA são tais que NN NZ, NN1 NZ e NHA N, onde NZ é o número de elementos não nulos da matriz A e N=n é a ordem da matriz A. Normalmente, os parâmetros NN e NN1 são maiores do que NZ, reservando espaços livres para o armazenamento de elementos nulos que, durante o cálculo, se tornaram não nulos (preenchimentos). O modelo de armazenamento dinâmico, descrito anteriormente, consiste em dois grupos de vetores. No primeiro grupo de vetores os elementos da matriz A, juntamente com os seus números de colunas, são ordenados pelas linhas nos vetores ALU e CNLU, sendo que a informação do primeiro e do último elemento de cada linha é armazenada nas três primeiras colunas da matriz HA. Os vetores ALU e CNLU, juntamente com as três primeiras colunas de HA, são conhecidos como Lista Ordenada por Linhas ou Estrutura Orientada por Linha. No segundo grupo de vetores, os números das linhas dos elementos da matriz A são ordenados pelas colunas no vetor RNLU, a informação do primeiro e do último elemento de cada coluna é armazenada nas três próimas colunas da matriz HA. O vetor RNLU, juntamente com as quarta, quinta e seta colunas de HA, é conhecidos como Lista Ordenada por Colunas ou Estrutura Orientada por Coluna Para eemplificar, considere a matriz (3.2) e os vetores AORIG, RNORIG e CNORIG da Tabela (3.3). A estrutura dinâmica correspondente seria a seguinte: POSIÇÃO ALU CNLU (3.4)

29 18 Nº LINHA Linha 1 Linha 2 Linha 3 Linha 4 Linha 5 Espaço Livre POSIÇÃO RNLU Nº COLUNA Coluna 1 Coluna 2 Coluna 3 Coluna 4 Coluna 5 Espaço Livre (3.5) LINHA COLUNA MATRIZ HA Informações sobre as posições iniciais e finais dos vetores ALU e CNLU Informações sobre as posições iniciais e finais dos vetores RNLU (3.6)

30 Armazenamento dos preenchimentos Conforme pode ser observado na seção anterior, o modelo de armazenamento dinâmico é muito mais compleo do que o modelo de armazenamento estático. A principal razão para utilizar o modelo dinâmico é a necessidade de armazenar os preenchimentos que irão surgir durante o processo de Eliminação Gaussiana ou outras operações de uma forma conveniente. O armazenamento de tais preenchimentos seria impossível se o modelo estático fosse utilizado. A seguir será eplicado como é feito o armazenamento destes preenchimentos utilizando um modelo dinâmico de armazenamento. Seja ( s ) aij um novo preenchimento criado na linha i e coluna j no estágio s de uma Eliminação Gaussiana(EG). A EG foi utilizada como eemplo, mas a mesma idéia pode ser aplicada para outras operações algébricas bastando que algumas modificações sejam feitas. O processo de armazenamento deste preenchimento é composto dos seguintes passos: 1. Fazer uma cópia dos elementos da linha i no espaço livre do vetor ALU, depois do último elemento armazenado; 2. Fazer uma cópia dos elementos correspondentes aos números das colunas dos elementos da linha i no espaço livre do vetor CNLU, depois do último elemento armazenado; 3. Atualizar o conteúdo das três primeiras colunas da linha i da matriz HA (HA(i,1), HA(i,2) e HA(i,3)). 4. Armazenar o novo elemento no final da cópia da linha i no vetor ALU e armazenar o número da coluna deste elemento na mesma posição no vetor CNLU. 5. A inclusão deste novo elemento no final da linha i irá provocar modificação do elemento HA(i,3), sendo necessário atualizar esta matriz.

31 2 6. As posições ocupadas, antes das operações acima, pelos elementos da linha i e pelos números de suas colunas são liberadas. Uma posição liberada é indicada colocando zero no vetor CNLU. Para eemplificar o processo descrito anteriormente, observe, passo a passo, as operações no estágio 1 da Eliminação Gaussiana da matriz (3.2). Neste estágio o elemento a 21 será eliminado e serão criados dois preenchimentos,nas colunas 4 e 5 da linha 2, conforme pode ser observado a seguir A = (3.7) Como o elemento a21 que estava armazenado na posição 3 da lista ordenada por linhas foi eliminado, o preenchimento gerado na coluna 4 da linha 2 pode ser armazena do nesta posição. POSIÇÃO ALU CNLU (3.8) Nº LINHA Linha 1 Linha 2 Linha 3 Linha 4 Linha 5 Espaço Livre Para o armazenamento do preenchimento criado na coluna 5 da linha 2 será preciso a realização de alguns passos: 1º passo: Criação de uma cópia da linha i no espaço livre dos vetores ALU e CNLU, depois do último elemento armazenado;

32 21 POSIÇÃO ALU CNLU Nº LINHA Linha 1 Linha 2 Linha 3 Linha 4 Linha 5 Cópia da Linha 2 Liv re (3.9) 2º passo: Atualizar matriz HA; LINHA COLUNA MATRIZ HA Informações sobre as posições iniciais e finais dos vetores ALU e CNLU Informações sobre as posições iniciais e finais dos vetores RNLU (3.1) 3º passo: Armazenar o preenchimento e o número de sua coluna nos vetores ALU e CNLU; POSIÇÃO ALU CNLU Nº LINHA Linha 1 Linha 2 Linha 3 Linha 4 Linha 5 Linha 2 (3.11) 4º passo: Atualizar o elemento HA(2,3); LINHA COLUNA MATRIZ HA Informações sobre as posições iniciais e finais dos vetores ALU e CNLU Informações sobre as posições iniciais e finais dos vetores RNLU (3.12)

33 22 5º passo: Liberar os espaços ocupados pelos antigos elementos nos vetores ALU e CNLU; POSIÇÃO ALU CNLU Nº LINHA Linha 1 Espaço Livre Linha 3 Linha 4 Linha 5 Linha 2 (3.13) O modelo de armazenamento é inicialmente compacto e ordenado. Contudo, a estrutura, geralmente, não permanece compacta após o início da EG. O que se mantém ainda compacta é a estrutura dentro de cada linha, ou seja, não eistem posições vagas entre dois elementos de uma mesma linha nos vetores ALU e CNLU. Podemos observar que os elementos das posições 4 e 5, que antes das operações da EG no estágio 1 eram ocupadas por elementos da linha 2, estão livres (o número dos elementos do vetor CNLU nestas posições é igual a zero). O fato de haver posições vagas entres as linhas depois do começo da EG indica que, antes de se fazer uma cópia da linha i no final da estrutura, pode ser vantajoso verificar se eiste posição vaga antes do primeiro (ou depois do último) elemento da linha i. Nestes casos o preenchimento é armazenado em uma destas posições vagas, a matriz HA é atualizada de forma conveniente. O número de cópias de linhas é normalmente reduzido quando se eplora posições livres antes do primeiro ou depois do último elemento das linhas como descrito anteriormente. Contudo, muitas cópias são realizadas, sendo que a capacidade dos vetores ALU e CNLU (NN e NN1) pode ser ecedida. Se isto acontecer, então é necessário compactar a estrutura destes dois vetores eecutando um procedimento chamado Coleta de Lio (CL), que será descrito na seção seguinte. Devemos enfatizar que, o fato de eplorar posições livres antes do primeiro e depois do último elemento da linha, irá reduzir, além do número de cópias das linhas, o número de procedimentos CL necessário para a EG. Este segundo efeito é freqüentemente mais importante e significativo do que a redução do número de cópias das linhas.

34 23 Um procedimento similar ao aplicado na lista ordenada por linhas (ALU, CNLU e as três primeiras colunas de HA) pode ser aplicado na lista ordenada por colunas (RNLU e quarta, quinta e seta colunas de HA) para acrescentar um preenchimento na estrutura, conforme pode ser descrito nos seguintes passos: 1. Fazer uma cópia dos elementos dos números das linhas dos elementos da coluna i no espaço livre do vetor RNLU, depois do último elemento armazenado; 2. Atualizar o conteúdo da quarta, quinta e seta colunas da linha i da matriz HA (HA(i,4), HA(i,5) e HA(i,6)). 3. Armazenar o novo elemento no final da cópia feita no vetor RNLU. 4. A inclusão deste novo elemento, no final da linha i, irá provocar modificação do elemento HA(i,6), sendo necessário atualizar esta matriz. 5. Liberar as posições ocupadas, antes das operações acima, pelos números das linhas no vetor RNLU (uma posição liberada é indicada colocando zero no vetor RNLU). Considerando ainda o estágio 1 da Eliminação Gaussiana da matriz (3.2), onde será criado um preenchimento no elemento a, podem-se observar, passo a passo, as alterações que o procedimento anterior irá provocar na lista ordenada por colunas. 24 1º passo: Criação de uma cópia dos números das linhas dos elementos da coluna 4 do vetor RNLU, depois do último elemento armazenado; POSIÇÃO RNLU Nº COLUNA Coluna 1 livre Coluna 2 Coluna 3 Coluna 4 Coluna 5 Cópia da Coluna 4 (3.14) Neste ponto pode-se observar que não eistem espaços livres no final da estrutura para o armazenamento do número da coluna do preenchimento que será

35 24 criado na segunda coluna, apesar deste espaço eistir no meio da estrutura. Será necessário compactar a estrutura para o armazenamento do preenchimento criado. 2º passo: Compactar a estrutura usando Coleta de Lio; POSIÇÃO RNLU Nº COLUNA Coluna 1 Coluna 2 Coluna 3 Coluna 4 Coluna 5 Cópia da Coluna 4 livre (3.15) 3º passo: Armazenar o preenchimento no final do vetor RNLU; POSIÇÃO RNLU Nº COLUNA Coluna 1 Coluna 2 Coluna 3 Coluna 4 Coluna 5 Cópia da Coluna 4 livre (3.16) 4º passo: Atualizar o elemento HA(4,6); LINHA COLUNA MATRIZ HA Informações sobre as posições iniciais e finais dos vetores ALU e CNLU Informações sobre as posições iniciais e finais dos vetores RNLU (3.17) 5º passo: Liberar os espaços ocupados pelos antigos elementos da coluna 4 no vetor RNLU;

36 25 POSIÇÃO RNLU Nº COLUNA Coluna 1 Coluna 2 Coluna 3 Espaço Livre Coluna 5 Cópia da Coluna 4 livre (3.18) Observando a criação do preenchimento no elemento a 25, pode-se observar que a lista ordenada por colunas e a matriz HA ficará da seguinte forma: POSIÇÃO RNLU Nº COLUNA Coluna 1 Coluna 2 Coluna 3 Espaço Livre Coluna 5 Coluna 4 (3.19) LINHA COLUNA MATRIZ HA Informações sobre as posições iniciais e finais dos vetores ALU e CNLU Informações sobre as posições iniciais e finais dos vetores RNLU (3.2) Conforme pôde ser observado na lista ordenada por linha, a lista ordenada por colunas também é compacta no início da EG, porém, geralmente, esta estrutura não permanece compacta após o início dos cálculos, ou seja, apesar de não eistirem posições vagas entre os elementos de uma mesma coluna, podem eistir posições vagas entre os elementos de duas colunas distintas. Como na lista ordenada por linhas, o número de cópias dos elementos de uma coluna para o final da lista pode ser reduzido, consideravelmente, quando as posições vazias no início e no fim de cada coluna são aproveitadas para a inclusão de um novo preenchimento. Contudo, muitas cópias podem ser ainda necessárias, o que pode eceder a capacidade do vetor RNLU. Se isto acontecer, então é necessário compactar novamente a estrutura, eliminando os espaços vagos entre as

37 26 colunas (procedimento de Coleta de Lio). Deve ser enfatizando que o aproveitamento de posições vazias no início e no fim de cada coluna pode não só reduzir o número de cópias das colunas, mas também o número de vezes em que o procedimento de Coleta de Lio será eecutado. Deve se ainda observar que os elementos pivôs a serão armazenados em ( s ) ss um vetor de números reais PIVOT de tamanho igual ou superior a N. As posições ocupadas pelo elemento pivô ( s a ss ) e por seus números de linha e coluna nos vetores ALU, RNLU e CNLU, respectivamente, serão liberados no início do estágio s da EG e poderão ser usados para armazenar preenchimentos. 3.4 Procedimento de Coleta de Lio ( Garbage Collection ) Quando um preenchimento ( s ) a ij é criado durante os cálculos da EG é necessário que partes dos vetores ALU e CNLU sejam copiados para o final destes vetores. Porém, se muitas cópias forem feitas pode não haver espaços suficientes para outras cópias. Por outro lado, podem eistir espaços livres entre elementos de diferentes linhas, isto porque depois dos elementos serem copiados para o final dos vetores, os espaços ocupados por estes serão liberados. Nestes casos, é necessária a compressão (compactação) da lista ordenada por linha, ou seja, eliminar espaços vagos no meio destas estruturas, criando, assim, espaços no final das listas e possibilitando que novas cópias necessárias sejam feitas. Este processo de compactação dos elementos das listas ordenadas é conhecido como Coleta de Lio (CL) ou Garbage Collection. Uma situação similar ocorre na lista ordenada por colunas. Quando um preenchimento é criado, partes do vetor RNLU serão copiadas para o final deste. Quando faltar espaço no final deste vetor, será necessário eecutar um processo de CL para compactar esta lista ordenada, possibilitando que novas cópias sejam feitas no final deste vetor. Para ilustrar o processo, considere que uma CL será feita em uma lista ordenada por linhas (vetores ALU e CNLU). Este processo será eecutado em dois

38 27 passos. No primeiro passo serão levantadas algumas informações para o segundo passo. O segundo passo será a compressão efetiva da estrutura em questão. Durante o primeiro passo, as posições dos primeiros elementos não nulos de cada linha são localizados no vetor ALU e marcados da seguinte forma: HA(i,1) = CNLU(HA(i,1)) e CNLU(HA(i,1)) = -i para i = 1, 2,..., N. O primeiro passo da CL na lista ordenada por linhas pode ser eecutado com compleidade de ordem N (O(N)), onde O(N) significa que o número de operações é definido por um polinômio onde a maior potência deste polinômio é N. No Eemplo (3.13), suponhamos que seja necessário fazer uma CL. Abaio podemos observar os vetores ALU e CNLU e a matriz HA antes e depois de ser eecutado o primeiro passo da CL. POSIÇÃO ALU CNLU Nº LINHA Linha 1 Espaço Livre Linha 3 Linha 4 Linha 5 Linha 2 Espaço Livre (3.19) LINHA COLUNA MATRIZ HA Informações sobre as posições iniciais e finais dos vetores ALU e CNLU Estrutura antes do primeiro passo da CL Informações sobre as posições iniciais e finais dos vetores RNLU

39 28 POSIÇÃO ALU CNLU Nº LINHA Linha 1 Espaço Livre Linha 3 Linha 4 Linha 5 Linha 2 Espaç o Livre (3.2) LINHA COLUNA MATRIZ HA Informações sobre as posições iniciais e finais dos vetores ALU e CNLU Informações sobre as posições iniciais e finais dos vetores RNLU Estrutura depois de fazer HA(i,1) = CNLU(HA(i,1)) POSIÇÃO ALU CNLU Nº LINHA Linha 1 Espaço Livre Linha 3 Linha 4 Linha 5 Linha 2 Espaço Livre (3.21) LINHA COLUNA MATRIZ HA Informações sobre as posições iniciais e finais dos vetores ALU e CNLU Informações sobre as posições iniciais e finais dos vetores RNLU Estrutura depois de fazer CNLU(HA(i,1)) = -i

40 29 Considere, agora, o segundo passo da CL. Seja NCNLU a última posição ocupada nos vetores ALU e CNLU (NCNLU NN, onde NN é o comprimento destes dois vetores). Considere a variável NEWPOS e assuma que NEWPOS = 1 no início do processo. Verifique os componentes CNLU(K) para K = 1, 2,..., NCNLU. Se CNLU(K) =, então a localização K está livre e nada é feito. Se CNLU(K) <, então uma nova linha começa na posição K do vetor ALU. Neste caso, os elementos armazenados na posição K dos vetores ALU e CNLU devem ser movidos para posição NEWPOS dos respectivos vetores. A matriz HA deve ser atualizada e a variável NEWPOS deve avançar para próima posição. As mudanças necessárias estão descritas abaio: ALU(NEWPOS) = ALU(K) CNLU(NEWPOS) = HA(-CNLU(K),1) HA(-CNLU(K),1) = NEWPOS HA(-CNLU(K),2) = NEWPOS + HA(-CNLU(K),2) K + 1 HA(-CNLU(K),3) = NEWPOS + HA(-CNLU(K),3) K + 1 NEWPOS = NEWPOS+1 (3.22) Se CNLU(K) > então, os elementos armazenados na posição K dos vetores ALU e CNLU devem ser movidos para posição NEWPOS dos respectivos vetores e a variável NEWPOS deve avançar para próima posição. Neste caso não é necessário atualizar a matriz HA. Tais mudanças podem ser observadas a seguir: ALU(NEWPOS) = ALU (K) CNLU(NEWPOS) = CNLU (K) NEWPOS = NEWPOS +1 (3.23) A seguir podemos observar os vetores ALU e CNLU e a matriz HA do Eemplo (3.13) depois de ser eecutado o segundo passo da CL.

41 3 POSIÇÃO ALU CNLU Nº LINHA Linha 1 Linha 3 Linha 4 Linha 5 Linha 2 Espaço Livre (3.24) LINHA COLUNA MATRIZ HA Informações sobre as posições iniciais e finais dos vetores ALU e CNLU Informações sobre as posições iniciais e finais dos vetores RNLU Estrutura depois de eecutar o 2º passo da CL No final deste processo, a estrutura estará totalmente comprimida e a última posição ocupada será NEWPOS 1. Neste caso, é esperado que tenhamos espaços livres suficientes no final da lista ordenada por linhas para se fazer a cópia da linha necessária, a qual não foi possível ser feita antes do início da CL (na verdade este foi o motivo de se realizar este processo de compactação). Se, mesmo depois do processo, não houver espaços livres suficientes no final da lista para a cópia de uma determinada linha, então, o programa deverá mandar uma mensagem de erro informando que o comprimento destes vetores é muito pequeno. A compleidade do segundo passo é de ordem NN (O(NN)), onde NN é o comprimento dos vetores ALU e CNLU. O processo de CL na lista ordenada por coluna é eecutado de forma semelhante. A única diferença significativa é que, durante o primeiro passo, as posições dos primeiros elementos contendo os números das linhas dos elementos não nulos de cada coluna são localizadas no vetor RNLU e marcadas da seguinte forma: RNLU(HA(j,4)) = -j e HA(j,4) = RNLU(HA(j,4)) para j = s, s+1,..., N (supondo que a CL deverá ser eecutada no estágio s).

42 31 No Eemplo (3.18) suponhamos que seja necessário fazer uma CL. Abaio podemos observar os vetores ALU e CNLU e a matriz HA antes e depois de ser eecutado o primeiro passo da CL. POSIÇÃO RNLU Nº COLUNA Coluna 1 Coluna 2 Coluna 3 Espaço Livre Coluna 5 Coluna 4 (3.25) LINHA COLUNA MATRIZ HA Informações sobre as posições iniciais e finais dos vetores ALU e CNLU Estrutura antes do primeiro passo da CL Informações sobre as posições iniciais e finais dos vetores RNLU POSIÇÃO RNLU Nº COLUNA Coluna 1 Coluna 2 Coluna 3 Espaço Livre Coluna 5 Coluna 4 (3.26) LINHA COLUNA MATRIZ HA Informações sobre as posições iniciais e finais dos vetores ALU e CNLU Informações sobre as posições iniciais e finais dos vetores RNLU Estrutura depois de fazer HA(j,4) = RNLU(HA(j,1))

43 32 POSIÇÃO RNLU Nº COLUNA Coluna 1 Coluna 2 Coluna 3 Espaço Livre Coluna 5 Coluna 4 (3.27) LINHA COLUNA MATRIZ HA Informações sobre as posições iniciais e finais dos vetores ALU e CNLU Estrutura depois de fazer RNLU(j) = -j Informações sobre as posições iniciais e finais dos vetores RNLU A seguir podemos observar o vetor RNLU e a matriz HA do Eemplo (3.18) depois de ser eecutado o segundo passo da CL. POSIÇÃO RNLU Nº COLUNA Coluna 1 Coluna 2 Coluna 3 Coluna 5 Coluna 4 Espaço Livre (3.28) LINHA COLUNA MATRIZ HA Informações sobre as posições iniciais e finais dos vetores ALU e CNLU Estrutura antes do primeiro passo da CL Informações sobre as posições iniciais e finais dos vetores RNLU

Resolução de sistemas lineares

Resolução de sistemas lineares Resolução de sistemas lineares J M Martínez A Friedlander 1 Alguns exemplos Comecemos mostrando alguns exemplos de sistemas lineares: 3x + 2y = 5 x 2y = 1 (1) 045x 1 2x 2 + 6x 3 x 4 = 10 x 2 x 5 = 0 (2)

Leia mais

CAPÍTULO 2. Grafos e Redes

CAPÍTULO 2. Grafos e Redes CAPÍTULO 2 1. Introdução Um grafo é uma representação visual de um determinado conjunto de dados e da ligação existente entre alguns dos elementos desse conjunto. Desta forma, em muitos dos problemas que

Leia mais

Estudaremos métodos numéricos para resolução de sistemas lineares com n equações e n incógnitas. Estes podem ser:

Estudaremos métodos numéricos para resolução de sistemas lineares com n equações e n incógnitas. Estes podem ser: 1 UNIVERSIDADE FEDERAL DE VIÇOSA Departamento de Matemática - CCE Cálculo Numérico - MAT 271 Prof.: Valéria Mattos da Rosa As notas de aula que se seguem são uma compilação dos textos relacionados na bibliografia

Leia mais

Potenciação no Conjunto dos Números Inteiros - Z

Potenciação no Conjunto dos Números Inteiros - Z Rua Oto de Alencar nº 5-9, Maracanã/RJ - tel. 04-98/4-98 Potenciação no Conjunto dos Números Inteiros - Z Podemos epressar o produto de quatro fatores iguais a.... por meio de uma potência de base e epoente

Leia mais

Capítulo SETE Números em Ponto Fixo e Ponto Flutuante

Capítulo SETE Números em Ponto Fixo e Ponto Flutuante Capítulo SETE Números em Ponto Fixo e Ponto Flutuante 7.1 Números em ponto fixo Observação inicial: os termos ponto fixo e ponto flutuante são traduções diretas dos termos ingleses fixed point e floating

Leia mais

Exercícios Teóricos Resolvidos

Exercícios Teóricos Resolvidos Universidade Federal de Minas Gerais Instituto de Ciências Exatas Departamento de Matemática Exercícios Teóricos Resolvidos O propósito deste texto é tentar mostrar aos alunos várias maneiras de raciocinar

Leia mais

A otimização é o processo de

A otimização é o processo de A otimização é o processo de encontrar a melhor solução (ou solução ótima) para um problema. Eiste um conjunto particular de problemas nos quais é decisivo a aplicação de um procedimento de otimização.

Leia mais

Sobre o Sistema FiliaWEB

Sobre o Sistema FiliaWEB Setembro/2009 SUMÁRIO SOBRE O SISTEMA FILIAWEB... 3 I - PAPÉIS E RESPONSABILIDADES NA NOVA SISTEMÁTICA DAS LISTAS DE FILIAÇÃO PARTIDÁRIA... 4 II CADASTRAMENTO DE USUÁRIO... 5 III REGISTRO DE FILIADOS...

Leia mais

1. Os métodos Não-Paramétricos podem ser aplicados a uma ampla diversidade de situações, porque não exigem populações distribuídas normalmente.

1. Os métodos Não-Paramétricos podem ser aplicados a uma ampla diversidade de situações, porque não exigem populações distribuídas normalmente. TESTES NÃO - PARAMÉTRICOS As técnicas da Estatística Não-Paramétrica são, particularmente, adaptáveis aos dados das ciências do comportamento. A aplicação dessas técnicas não exige suposições quanto à

Leia mais

Cálculo Numérico Faculdade de Engenharia, Arquiteturas e Urbanismo FEAU

Cálculo Numérico Faculdade de Engenharia, Arquiteturas e Urbanismo FEAU Cálculo Numérico Faculdade de Engenharia, Arquiteturas e Urbanismo FEAU Prof. Dr. Sergio Pilling (IPD/ Física e Astronomia) III Resolução de sistemas lineares por métodos numéricos. Objetivos: Veremos

Leia mais

ALGORITMOS E FLUXOGRAMAS

ALGORITMOS E FLUXOGRAMAS ALGORITMOS E FLUXOGRAMAS Prof. André Backes INTRODUÇÃO Computadores = cérebros eletrônicos? Computadores são máquinas e, por si sós, não podem ser inteligentes. Alguém as projetou e deu a ela todas as

Leia mais

SISTEMAS DE INFORMAÇÃO GERENCIAIS

SISTEMAS DE INFORMAÇÃO GERENCIAIS SISTEMAS DE INFORMAÇÃO GERENCIAIS Aluno: Luiza Cavalcanti Marques Orientador: Silvio Hamacher Introdução A modelagem e a utilização de bancos de dados em atividades gerenciais têm sofrido um aumento significativo

Leia mais

ARQUITETURA DE COMPUTADORES

ARQUITETURA DE COMPUTADORES 1 ARQUITETURA DE COMPUTADORES U C P Prof. Leandro Coelho Plano de Aula 2 Aula Passada Definição Evolução dos Computadores Histórico Modelo de Von-Neumann Básico CPU Mémoria E/S Barramentos Plano de Aula

Leia mais

7 - Análise de redes Pesquisa Operacional CAPÍTULO 7 ANÁLISE DE REDES. 4 c. Figura 7.1 - Exemplo de um grafo linear.

7 - Análise de redes Pesquisa Operacional CAPÍTULO 7 ANÁLISE DE REDES. 4 c. Figura 7.1 - Exemplo de um grafo linear. CAPÍTULO 7 7 ANÁLISE DE REDES 7.1 Conceitos Básicos em Teoria dos Grafos Diversos problemas de programação linear, inclusive os problemas de transporte, podem ser modelados como problemas de fluxo de redes.

Leia mais

3. Fase de Planejamento dos Ciclos de Construção do Software

3. Fase de Planejamento dos Ciclos de Construção do Software 3. Fase de Planejamento dos Ciclos de Construção do Software A tarefa de planejar os ciclos de construção do software pode partir de diretrizes básicas. Estas diretrizes visam orientar que os ciclos de

Leia mais

Notas sobre a Fórmula de Taylor e o estudo de extremos

Notas sobre a Fórmula de Taylor e o estudo de extremos Notas sobre a Fórmula de Taylor e o estudo de etremos O Teorema de Taylor estabelece que sob certas condições) uma função pode ser aproimada na proimidade de algum ponto dado) por um polinómio, de modo

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

Trabalho 3: Agenda de Tarefas

Trabalho 3: Agenda de Tarefas INF 1620 Estruturas de Dados Semestre 08.2 Trabalho 3: Agenda de Tarefas O objetivo deste trabalho é a implementação de um conjunto de funções para a manipulação de uma agenda de tarefas diárias, de forma

Leia mais

PESQUISA OPERACIONAL

PESQUISA OPERACIONAL PARTE I Para os exercícios de programação linear abaixo, apresentar a modelagem do problema, a solução algébrica e a solução gráfica: 1. Uma confecção produz dois tipos de vestido: um casual e um de festa.

Leia mais

Manual do Usuário - ProJuris Web - Biblioteca Jurídica Página 1 de 20

Manual do Usuário - ProJuris Web - Biblioteca Jurídica Página 1 de 20 As informações contidas neste documento estão sujeitas a alterações sem o prévio aviso, o que não representa um compromisso da Virtuem Informática. As pessoas, organizações ou empresas e eventos de exemplos

Leia mais

O ENSINO DE CÁLCULO NUMÉRICO: UMA EXPERIÊNCIA COM ALUNOS DO CURSO DE CIÊNCIA DA COMPUTAÇÃO

O ENSINO DE CÁLCULO NUMÉRICO: UMA EXPERIÊNCIA COM ALUNOS DO CURSO DE CIÊNCIA DA COMPUTAÇÃO O ENSINO DE CÁLCULO NUMÉRICO: UMA EXPERIÊNCIA COM ALUNOS DO CURSO DE CIÊNCIA DA COMPUTAÇÃO Prof. Leugim Corteze Romio Universidade Regional Integrada URI Campus Santiago-RS leugimcr@urisantiago.br Prof.

Leia mais

Universidade Federal de São João Del Rei - UFSJ

Universidade Federal de São João Del Rei - UFSJ Universidade Federal de São João Del Rei - UFSJ Instituída pela Lei 0.45, de 9/04/00 - D.O.U. de /04/00 Pró-Reitoria de Ensino de Graduação - PROEN Disciplina: Cálculo Numérico Ano: 03 Prof: Natã Goulart

Leia mais

Programação Inteira. Fernando Nogueira Programação Inteira 1

Programação Inteira. Fernando Nogueira Programação Inteira 1 Programação Inteira Fernando Nogueira Programação Inteira A Programação Inteira pode ser entendida como uma caso específico da Programação Linear, onde as variáveis devem ser inteiras (ou ao menos, parte

Leia mais

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 3-1. A CAMADA DE REDE (Parte 1) A camada de Rede está relacionada à transferência de pacotes da origem para o destino. No entanto, chegar ao destino pode envolver vários saltos em roteadores intermediários.

Leia mais

Administrando um curso em Moodle (1.6.5+)

Administrando um curso em Moodle (1.6.5+) Administrando um curso em Moodle (1.6.5+) Athail Rangel Pulino 2 Ficha Técnica Título Administrando um curso em Moodle Autor Athail Rangel Pulino Filho Copyright Creative Commons Edição Agosto 2007 Administrando

Leia mais

Relatório Trabalho Prático 2 : Colônia de Formigas para Otimização e Agrupamento

Relatório Trabalho Prático 2 : Colônia de Formigas para Otimização e Agrupamento Relatório Trabalho Prático 2 : Colônia de Formigas para Otimização e Agrupamento Ramon Pereira Lopes Rangel Silva Oliveira 31 de outubro de 2011 1 Introdução O presente documento refere-se ao relatório

Leia mais

Capítulo 13 Pastas e Arquivos

Capítulo 13 Pastas e Arquivos Capítulo 13 Pastas e Arquivos À medida que a tecnologia avança, os dispositivos móveis vão ganhando cada vez mais funções e características que antes só pertenciam aos computadores pessoais. Com a expansão

Leia mais

Filas: conceitos e implementações

Filas: conceitos e implementações Estrutura de Dados I Filas: conceitos e implementações Cesar Rocha cesar@pontoweb.com.br 1 Objetivos Explorar os conceitos fundamentais acerca do uso de filas utilizando a linguagem C Organização e implementação,

Leia mais

O Gerenciamento de Documentos Analógico/Digital

O Gerenciamento de Documentos Analógico/Digital Tipos de GED: Document imaging Document management Document Imaging / Document Management O Gerenciamento de Documentos Analógico/Digital Mundo analógico Criação Revisão Processamento Arquivo Mundo digital

Leia mais

Aula 9 ESCALA GRÁFICA. Antônio Carlos Campos

Aula 9 ESCALA GRÁFICA. Antônio Carlos Campos Aula 9 ESCALA GRÁFICA META Apresentar as formas de medição da proporcionalidade entre o mundo real e os mapas através das escalas gráficas. OBJETIVOS Ao final desta aula, o aluno deverá: estabelecer formas

Leia mais

Manual do Usuário. Protocolo

Manual do Usuário. Protocolo Manual do Usuário Protocolo Índice de capítulos Parte I - Processos............................... 01 1 - Buscar................................ 01 2 - Listar................................ 02 3 - Abertura..............................

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA COLÉGIO TÉCNICO INDUSTRIAL DE SANTA MARIA Curso de Eletrotécnica

UNIVERSIDADE FEDERAL DE SANTA MARIA COLÉGIO TÉCNICO INDUSTRIAL DE SANTA MARIA Curso de Eletrotécnica UNIVERSIDADE FEDERAL DE SANTA MARIA COLÉGIO TÉCNICO INDUSTRIAL DE SANTA MARIA Curso de Eletrotécnica Apostila de Automação Industrial Elaborada pelo Professor M.Eng. Rodrigo Cardozo Fuentes Prof. Rodrigo

Leia mais

Conceitos Básicos de Desenho Técnico

Conceitos Básicos de Desenho Técnico Conceitos Básicos de Desenho Técnico 1. Utilização Das Ferramentas E Papel De Desenho 1.1. Ferramentas de Desenho 1.1.1. Apresentação O Desenho Arquitetônico uma especialização do Desenho Técnico, o qual

Leia mais

TRANSFORMADORES. P = enrolamento do primário S = enrolamento do secundário

TRANSFORMADORES. P = enrolamento do primário S = enrolamento do secundário TRANSFORMADORES Podemos definir o transformador como sendo um dispositivo que transfere energia de um circuito para outro, sem alterar a frequência e sem a necessidade de uma conexão física. Quando existe

Leia mais

Tipos de malha de Controle

Tipos de malha de Controle Tipos de malha de Controle SUMÁRIO 1 - TIPOS DE MALHA DE CONTROLE...60 1.1. CONTROLE CASCATA...60 1.1.1. Regras para Selecionar a Variável Secundária...62 1.1.2. Seleção das Ações do Controle Cascata e

Leia mais

5.1 Sistemas de Arquivos

5.1 Sistemas de Arquivos Capítulo 5 Os Sistemas de Arquivos 5.1 Sistemas de Arquivos Neste capítulo nós iremos examinar, a partir da visão do usuário, as estruturas que possibilitam o armazenamento persistente de informações no

Leia mais

Q-Acadêmico. Módulo CIEE - Estágio. Revisão 01

Q-Acadêmico. Módulo CIEE - Estágio. Revisão 01 Q-Acadêmico Módulo CIEE - Estágio Revisão 01 SUMÁRIO 1. VISÃO GERAL DO MÓDULO... 2 1.1 PRÉ-REQUISITOS... 2 2. ORDEM DE CADASTROS PARA UTILIZAÇÃO DO MÓDULO CIEE... 3 2.1 CADASTRANDO EMPRESAS... 3 2.1.1

Leia mais

Diretrizes para determinação de intervalos de comprovação para equipamentos de medição.

Diretrizes para determinação de intervalos de comprovação para equipamentos de medição. Diretrizes para determinação de intervalos de comprovação para equipamentos de medição. De acordo com a Norma NBR 1001, um grande número de fatores influência a freqüência de calibração. Os mais importantes,

Leia mais

JinSol, uma interface em Java para solvers lineares.

JinSol, uma interface em Java para solvers lineares. JinSol, uma interface em Java para solvers lineares. Italo C. N. Lima, João Paulo K. Zanardi, Faculdade de Engenharia, PPGEM, UERJ, 20550-900, Rio de Janeiro, RJ E-mail: italonievinski@gmail.com, jpzanardi@gmail.com

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

MANUAL SICCL SQL SRTVS 701 Bloco O Ed. MultiEmpresarial Sala 804 Brasília/DF CEP 70340-000 Fone/Fax: (061) 3212-6700 E-mail: implanta@conselhos.com.

MANUAL SICCL SQL SRTVS 701 Bloco O Ed. MultiEmpresarial Sala 804 Brasília/DF CEP 70340-000 Fone/Fax: (061) 3212-6700 E-mail: implanta@conselhos.com. MANUAL SICCL SQL ÍNDICE ACESSANDO O SISTEMA SG - COMPRAS E CONTRATOS... 3 ATENDENDO SOLICITAÇÕES DE ITENS E SERVIÇOS... 5 VERIFICANDO A DISPONIBILIDADE DE RECURSOS... 7 ATENDER SOLICITAÇÕES COM PROCESSO

Leia mais

Análise de Arredondamento em Ponto Flutuante

Análise de Arredondamento em Ponto Flutuante Capítulo 2 Análise de Arredondamento em Ponto Flutuante 2.1 Introdução Neste capítulo, chamamos atenção para o fato de que o conjunto dos números representáveis em qualquer máquina é finito, e portanto

Leia mais

MANUAL DA SECRETARIA

MANUAL DA SECRETARIA MANUAL DA SECRETARIA Conteúdo Tela de acesso... 2 Liberação de acesso ao sistema... 3 Funcionários... 3 Secretaria... 5 Tutores... 7 Autores... 8 Configuração dos cursos da Instituição de Ensino... 9 Novo

Leia mais

4 Experimentos Computacionais

4 Experimentos Computacionais 33 4 Experimentos Computacionais O programa desenvolvido neste trabalho foi todo implementado na linguagem de programação C/C++. Dentre as bibliotecas utilizadas, destacamos: o OpenCV [23], para processamento

Leia mais

SISTEMA DE PROGRAMAÇÃO E PLANEJAMENTO DE INSPEÇÃO DE

SISTEMA DE PROGRAMAÇÃO E PLANEJAMENTO DE INSPEÇÃO DE SISTEMA DE PROGRAMAÇÃO E PLANEJAMENTO DE INSPEÇÃO DE TUBULAÇÃO Romildo Rudek Junior Petrobras S.A. UN-REPAR Tadeu dos Santos Bastos Petrobras S.A. UN-REVAP Rui Fernando Costacurta Petrobras S.A. UN-REPAR

Leia mais

Modelagem Matemática Aplicada ao Ensino de Cálculo 1

Modelagem Matemática Aplicada ao Ensino de Cálculo 1 Modelagem Matemática Aplicada ao Ensino de Cálculo 1 Milton Kist 2, Ireno Antonio Berticelli 3 RESUMO: O presente trabalho visa contribuir para a melhoria do processo de ensino e aprendizagem de Matemática.

Leia mais

Política monetária e senhoriagem: depósitos compulsórios na economia brasileira recente

Política monetária e senhoriagem: depósitos compulsórios na economia brasileira recente Política monetária e senhoriagem: depósitos compulsórios na economia brasileira recente Roberto Meurer * RESUMO - Neste artigo se analisa a utilização dos depósitos compulsórios sobre depósitos à vista

Leia mais

Primeiros passos das Planilhas de Obra v2.6

Primeiros passos das Planilhas de Obra v2.6 Primeiros passos das Planilhas de Obra v2.6 Instalação, configuração e primeiros passos para uso das planilhas de obra Elaborado pela Equipe Planilhas de Obra.com Conteúdo 1. Preparar inicialização das

Leia mais

Base de dados I. Uma base de dados é um simples repositório de informação relacionado com um determinado assunto ou finalidade

Base de dados I. Uma base de dados é um simples repositório de informação relacionado com um determinado assunto ou finalidade Base de dados I O que é? Uma base de dados é um simples repositório de informação relacionado com um determinado assunto ou finalidade Para que serve? Serve para gerir vastos conjuntos de informação de

Leia mais

3.1 Definições Uma classe é a descrição de um tipo de objeto.

3.1 Definições Uma classe é a descrição de um tipo de objeto. Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Classes Autoria:Aristófanes Corrêa Silva Adaptação:

Leia mais

Memória cache. Prof. Francisco Adelton

Memória cache. Prof. Francisco Adelton Memória cache Prof. Francisco Adelton Memória Cache Seu uso visa obter uma velocidade de acesso à memória próxima da velocidade das memórias mais rápidas e, ao mesmo tempo, disponibilizar no sistema uma

Leia mais

SIE - SISTEMA DE INFORMAÇÕES PARA O ENSINO CADASTRO DE FUNCIONÁRIOS

SIE - SISTEMA DE INFORMAÇÕES PARA O ENSINO CADASTRO DE FUNCIONÁRIOS SIE - SISTEMA DE INFORMAÇÕES PARA O ENSINO CADASTRO DE FUNCIONÁRIOS SANTA MARIA FATECIENS 2008 Este manual tem por finalidade apresentar as especificações detalhadas da aplicação de Cadastro de Funcionários,

Leia mais

Faculdade Sagrada Família

Faculdade Sagrada Família AULA 12 - AJUSTAMENTO DE CURVAS E O MÉTODO DOS MÍNIMOS QUADRADOS Ajustamento de Curvas Sempre que desejamos estudar determinada variável em função de outra, fazemos uma análise de regressão. Podemos dizer

Leia mais

Conceitos Básicos de Rede. Um manual para empresas com até 75 computadores

Conceitos Básicos de Rede. Um manual para empresas com até 75 computadores Conceitos Básicos de Rede Um manual para empresas com até 75 computadores 1 Conceitos Básicos de Rede Conceitos Básicos de Rede... 1 A Função de Uma Rede... 1 Introdução às Redes... 2 Mais Conceitos Básicos

Leia mais

SERVIÇO PÚBLICO FEDERAL SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA INSTITUTO FEDERAL GOIANO CÂMPUS POSSE-GO

SERVIÇO PÚBLICO FEDERAL SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA INSTITUTO FEDERAL GOIANO CÂMPUS POSSE-GO Normas para uso dos Laboratórios de Informática vinculados a Coordenação do Curso de Informática e ao Departamento de Tecnologia da Informação do IF Goiano Câmpus Posse GO. POSSE GO 2015 Sumário TÍTULO

Leia mais

Manual do Sistema HDI Online / Worksite (Circulação: Corretoras parceiras da HDI Seguros )

Manual do Sistema HDI Online / Worksite (Circulação: Corretoras parceiras da HDI Seguros ) Manual do (Circulação: Corretoras parceiras da HDI Seguros ) HDI Seguros Departamento de Produto Automóvel Produto Auto Magda Dioclecio Martins 01 1/47 1. Introdução 1.1. Objetivo Aplicabilidades múltiplas

Leia mais

Memórias. O que são Memórias de Semicondutores? São componentes capazes de armazenar informações Binárias (0s e 1s)

Memórias. O que são Memórias de Semicondutores? São componentes capazes de armazenar informações Binárias (0s e 1s) Memórias O que são Memórias de Semicondutores? São componentes capazes de armazenar informações Binárias (0s e 1s) Essas informações são guardadas eletricamente em células individuais. Chamamos cada elemento

Leia mais

CADERNOS DE INFORMÁTICA Nº 1. Fundamentos de Informática I - Word 2010. Sumário

CADERNOS DE INFORMÁTICA Nº 1. Fundamentos de Informática I - Word 2010. Sumário CADERNO DE INFORMÁTICA FACITA Faculdade de Itápolis Aplicativos Editores de Texto WORD 2007/2010 Sumário Editor de texto... 3 Iniciando Microsoft Word... 4 Fichários:... 4 Atalhos... 5 Área de Trabalho:

Leia mais

Classificação da imagem (ou reconhecimento de padrões): objectivos Métodos de reconhecimento de padrões

Classificação da imagem (ou reconhecimento de padrões): objectivos Métodos de reconhecimento de padrões Classificação de imagens Autor: Gil Gonçalves Disciplinas: Detecção Remota/Detecção Remota Aplicada Cursos: MEG/MTIG Ano Lectivo: 11/12 Sumário Classificação da imagem (ou reconhecimento de padrões): objectivos

Leia mais

Acessando o SVN. Soluções em Vendas Ninfa 2

Acessando o SVN. Soluções em Vendas Ninfa 2 Acessando o SVN Para acessar o SVN é necessário um código de usuário e senha, o código de usuário do SVN é o código de cadastro da sua representação na Ninfa, a senha no primeiro acesso é o mesmo código,

Leia mais

Especificação Operacional.

Especificação Operacional. Especificação Operacional. Para muitos sistemas, a incerteza acerca dos requisitos leva a mudanças e problemas mais tarde no desenvolvimento de software. Zave (1984) sugere um modelo de processo que permite

Leia mais

NORMA TÉCNICA PARA IMPLANTAÇÃO DE NOVOS SISTEMAS OU APLICAÇÕES NO BANCO DE DADOS CORPORATIVO

NORMA TÉCNICA PARA IMPLANTAÇÃO DE NOVOS SISTEMAS OU APLICAÇÕES NO BANCO DE DADOS CORPORATIVO NORMA TÉCNICA PARA IMPLANTAÇÃO DE NOVOS SISTEMAS OU APLICAÇÕES NO BANCO DE DADOS CORPORATIVO Referência: NT-AI.04.02.01 http://www.unesp.br/ai/pdf/nt-ai.04.02.01.pdf Data: 27/07/2000 STATUS: EM VIGOR A

Leia mais

Balanço Energético Nacional 2012. Manual do Sistema de Coleta de Dados para o BEN 2012

Balanço Energético Nacional 2012. Manual do Sistema de Coleta de Dados para o BEN 2012 Balanço Energético Nacional 2012 Manual do Sistema de Coleta de Dados para o BEN 2012 Fevereiro de 2012 Apresentação O Balanço Energético Nacional BEN é o documento tradicional do setor energético brasileiro,

Leia mais

Lógica para Computação

Lógica para Computação Lógica para Computação Prof. Celso Antônio Alves Kaestner, Dr. Eng. celsokaestner (at) utfpr (dot) edu (dot) br Especificação de programas Engenharia de Requisitos: como entender e modelar um problema

Leia mais

FAQ: Parametrização para Contabilização

FAQ: Parametrização para Contabilização TDN > Softwares de Gestão > RM > Recursos Humanos > Administração de Pessoal > FAQ FAQ: Parametrização para Contabilização Produto: Ambiente: RM Unspecified Versão: 11.0 Avaliação A principal finalidade

Leia mais

TÉCNICAS DE PROGRAMAÇÃO

TÉCNICAS DE PROGRAMAÇÃO TÉCNICAS DE PROGRAMAÇÃO (Adaptado do texto do prof. Adair Santa Catarina) ALGORITMOS COM QUALIDADE MÁXIMAS DE PROGRAMAÇÃO 1) Algoritmos devem ser feitos para serem lidos por seres humanos: Tenha em mente

Leia mais

Probabilidade - aula I

Probabilidade - aula I e 27 de Fevereiro de 2015 e e Experimentos Aleatórios e Objetivos Ao final deste capítulo você deve ser capaz de: Entender e descrever espaços amostrais e eventos para experimentos aleatórios. Interpretar

Leia mais

Manual do Portal do Fornecedor. isupplier

Manual do Portal do Fornecedor. isupplier isupplier Revisão 01 Setembro 2011 Sumário 1 Acesso ao portal isupplier... 03 2 Home Funções da Tela Inicial... 05 3 Ordens de Compra Consultar Ordens de Compra... 07 4 Entregas Consultar Entregas... 13

Leia mais

Notas de Cálculo Numérico

Notas de Cálculo Numérico Notas de Cálculo Numérico Túlio Carvalho 6 de novembro de 2002 2 Cálculo Numérico Capítulo 1 Elementos sobre erros numéricos Neste primeiro capítulo, vamos falar de uma limitação importante do cálculo

Leia mais

a 1 x 1 +... + a n x n = b,

a 1 x 1 +... + a n x n = b, Sistemas Lineares Equações Lineares Vários problemas nas áreas científica, tecnológica e econômica são modelados por sistemas de equações lineares e requerem a solução destes no menor tempo possível Definição

Leia mais

Programação não Linear Conteúdos da Seção Programação Não Linear Aplicações Solução Gráfica Resolução no Excel Controle de Eestoque Modelo do Lote

Programação não Linear Conteúdos da Seção Programação Não Linear Aplicações Solução Gráfica Resolução no Excel Controle de Eestoque Modelo do Lote Programação não Linear Conteúdos da Seção Programação Não Linear Aplicações Solução Gráfica Resolução no Ecel Controle de Eestoque Modelo do Lote Econômico Problemas de Localização Caso LCL Telecom S.A.

Leia mais

PRÁTICAS DE AVALIAÇÃO COMO UM MEIO DE MOTIVAÇÃO. Celina Pinto Leão Universidade do Minho cpl@dps.uminho.pt

PRÁTICAS DE AVALIAÇÃO COMO UM MEIO DE MOTIVAÇÃO. Celina Pinto Leão Universidade do Minho cpl@dps.uminho.pt PRÁTICAS DE AVALIAÇÃO COMO UM MEIO DE MOTIVAÇÃO Celina Pinto Leão Universidade do Minho cpl@dps.uminho.pt O evidente decréscimo de conhecimento básico de matemática por parte dos alunos nos cursos de engenharia,

Leia mais

6. Programação Inteira

6. Programação Inteira Pesquisa Operacional II 6. Programação Inteira Faculdade de Engenharia Eng. Celso Daniel Engenharia de Produção Programação Inteira São problemas de programação matemática em que a função objetivo, bem

Leia mais

Resolução da lista de exercícios de casos de uso

Resolução da lista de exercícios de casos de uso Resolução da lista de exercícios de casos de uso 1. Explique quando são criados e utilizados os diagramas de casos de uso no processo de desenvolvimento incremental e iterativo. Na fase de concepção se

Leia mais

ORIENTAÇÕES BÁSICAS PARA COMPRA DE TÍTULOS NO TESOURO DIRETO

ORIENTAÇÕES BÁSICAS PARA COMPRA DE TÍTULOS NO TESOURO DIRETO ORIENTAÇÕES BÁSICAS PARA COMPRA DE TÍTULOS NO TESOURO DIRETO Um título público consiste, de maneira simplificada, um empréstimo ao governo federal, ou seja, o governo fica com uma dívida com o comprador

Leia mais

Modem e rede local. Guia do usuário

Modem e rede local. Guia do usuário Modem e rede local Guia do usuário Copyright 2007 Hewlett-Packard Development Company, L.P. As informações contidas neste documento estão sujeitas a alterações sem aviso. As únicas garantias para produtos

Leia mais

Manual de Conciliação Bancária

Manual de Conciliação Bancária Manual de Conciliação Bancária Índice Conciliação Bancária... 2 O módulo de Conciliação Bancária no SIGEF... 3 Conciliação Bancária Extrato Bancário... 5 Fazendo a Conciliação Bancária Extrato Bancário...

Leia mais

Manual das planilhas de Obras v2.5

Manual das planilhas de Obras v2.5 Manual das planilhas de Obras v2.5 Detalhamento dos principais tópicos para uso das planilhas de obra Elaborado pela Equipe Planilhas de Obra.com Conteúdo 1. Gerando previsão de custos da obra (Módulo

Leia mais

FMEA (Failure Model and Effect Analysis)

FMEA (Failure Model and Effect Analysis) Definição FMEA (Failure Model and Effect Analysis) Conceitos Básicos A metodologia de Análise do Tipo e Efeito de Falha, conhecida como FMEA (do inglês Failure Mode and Effect Analysis), é uma ferramenta

Leia mais

Unidade 5: Sistemas de Representação

Unidade 5: Sistemas de Representação Arquitetura e Organização de Computadores Atualização: 9/8/ Unidade 5: Sistemas de Representação Números de Ponto Flutuante IEEE 754/8 e Caracteres ASCII Prof. Daniel Caetano Objetivo: Compreender a representação

Leia mais

Aula 3 OS TRANSITÒRIOS DAS REDES ELÉTRICAS

Aula 3 OS TRANSITÒRIOS DAS REDES ELÉTRICAS Aula 3 OS TRANSITÒRIOS DAS REDES ELÉTRICAS Prof. José Roberto Marques (direitos reservados) A ENERGIA DAS REDES ELÉTRICAS A transformação da energia de um sistema de uma forma para outra, dificilmente

Leia mais

http://www.matematica.br/programas/icg. 5. Uma lousa denominada EPI (registrador de endereço de próxima instrução).

http://www.matematica.br/programas/icg. 5. Uma lousa denominada EPI (registrador de endereço de próxima instrução). Universidade de São Paulo Instituto de Matemática e Estatística DCC Leônidas O. Brandão 1 Computador à Gaveta O objetivo deste texto é introduzir os primeiros conceitos de algoritmos a partir de um modelo

Leia mais

Tópicos Avançados em Banco de Dados Gerenciamento de Transações em Banco de Dados. Prof. Hugo Souza

Tópicos Avançados em Banco de Dados Gerenciamento de Transações em Banco de Dados. Prof. Hugo Souza Tópicos Avançados em Banco de Dados Gerenciamento de Transações em Banco de Dados Prof. Hugo Souza Até agora vimos como é formada a infraestrutura física e lógica das bases de dados com os principais componentes

Leia mais

8. Perguntas e Respostas

8. Perguntas e Respostas Arquimedes Manual do Utilizador 185 8. Perguntas e Respostas 8.1. Aparência Para conservar a disposição na qual estão expostas as B.D. no ecrã e para que em posteriores sessões de trabalho tenham a mesma

Leia mais

INSTITUTO TECNOLÓGICO

INSTITUTO TECNOLÓGICO PAC - PROGRAMA DE APRIMORAMENTO DE CONTEÚDOS. ATIVIDADES DE NIVELAMENTO BÁSICO. DISCIPLINAS: MATEMÁTICA & ESTATÍSTICA. PROFº.: PROF. DR. AUSTER RUZANTE 1ª SEMANA DE ATIVIDADES DOS CURSOS DE TECNOLOGIA

Leia mais

1 Introdução. 1.1 Motivação da Pesquisa

1 Introdução. 1.1 Motivação da Pesquisa 21 1 Introdução 1.1 Motivação da Pesquisa Como resultado das necessidades inerentes ao crescimento e as exigências dos mercados elétricos, simulações computacionais estão agora envolvendo sistemas elétricos

Leia mais

Sua interface é semelhante a de um processador de textos do tipo WYSIWYG, ou seja, What you see is what you get (o que você vê é o que você faz).

Sua interface é semelhante a de um processador de textos do tipo WYSIWYG, ou seja, What you see is what you get (o que você vê é o que você faz). Mathcad COMANDOS BÁSICOS O software Mathcad é um ambiente de trabalho baseado em Álgebra Computacional, dirigido a profissionais técnicos, educadores e estudantes. Permite a escrita de epressões matemáticas

Leia mais

Agência Nacional de Energia Elétrica ANEEL

Agência Nacional de Energia Elétrica ANEEL Agência Nacional de Energia Elétrica ANEEL Superintendência de Gestão Técnica da Informação SGI Superintendência de Fiscalização Econômica e Financeira SFF MANUAL DE INSTRUÇÃO PARA ELABORAÇÃO E ENVIO DE

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ SETOR DE CIÊNCIAS BIOLÓGICAS Departamento de Patologia Básica Pós-Graduação em Microbiologia, Parasitologia e Patologia

UNIVERSIDADE FEDERAL DO PARANÁ SETOR DE CIÊNCIAS BIOLÓGICAS Departamento de Patologia Básica Pós-Graduação em Microbiologia, Parasitologia e Patologia UNIVERSIDADE FEDERAL DO PARANÁ SETOR DE CIÊNCIAS BIOLÓGICAS Departamento de Patologia Básica Pós-Graduação em Microbiologia, Parasitologia e Patologia (TÍTULO DO PROJETO) Mestrando/Doutorando: Orientador:

Leia mais

Gerenciamento de Recursos para Grades Computacionais Node Control Center. Proposta para o Trabalho de Formatura Supervisionado

Gerenciamento de Recursos para Grades Computacionais Node Control Center. Proposta para o Trabalho de Formatura Supervisionado Trabalho de Formatura Supervisionado Gerenciamento de Recursos para Grades Computacionais Node Control Center Proposta para o Trabalho de Formatura Supervisionado Carlos Eduardo Moreira dos Santos Orientador:

Leia mais

LIBERAÇÃO DE ATUALIZAÇÃO CORDILHEIRA VERSÃO 2

LIBERAÇÃO DE ATUALIZAÇÃO CORDILHEIRA VERSÃO 2 LIBERAÇÃO DE ATUALIZAÇÃO CORDILHEIRA VERSÃO 2 (Orientamos aos clientes que utilizam banco de dados SQL, para efetuarem a atualização preferencialmente após o encerramento das atividades do dia, acessando

Leia mais

Capítulo 2. VARIÁVEIS DO TIPO INTEIRO

Capítulo 2. VARIÁVEIS DO TIPO INTEIRO Capítulo 2. VARIÁVEIS DO TIPO INTEIRO OBJETIVOS DO CAPÍTULO Conceitos de: variáveis do tipo inteiro, atribuição, avisos e erros de compilação, erros de execução, comentários dentro do programa-fonte Operadores

Leia mais

3. Estruturas de seleção

3. Estruturas de seleção 3. Estruturas de seleção 3.1 Introdução O último exemplo do capítulo anterior apresentava um programa para calcular a área de um triângulo, dados os comprimentos dos seus lados. Foi visto que o comando

Leia mais

Esse produto é um produto composto e tem subprodutos

Esse produto é um produto composto e tem subprodutos Indústria - Cadastro de produtos O módulo indústria permite controlar a produção dos produtos fabricados pela empresa. É possível criar um produto final e definir as matérias-primas que fazem parte de

Leia mais

Universidade Federal de Ouro Preto - UFOP Instituto de Ciências Exatas e Biológicas ICEB

Universidade Federal de Ouro Preto - UFOP Instituto de Ciências Exatas e Biológicas ICEB Universidade Federal de Ouro Preto - UFOP Instituto de Ciências Exatas e Biológicas ICEB PROBLEMA DE PROGRAMAÇÃO DE VEÍCULOS 1 (Vehicle Scheduling Problem) Cássio Roberto de Araújo cassio@em.ufop.br Elva

Leia mais

2 Ferramentas Utilizadas

2 Ferramentas Utilizadas 2 Ferramentas Utilizadas Esta dissertação utiliza vários outros trabalhos para implementar os mecanismos de adaptação abordados. Essas ferramentas são descritas nas seções seguintes. 2.1 Lua Lua [7, 8]

Leia mais

[ \ x Recordemos o caso mais simples de um VLVWHPD de duas HTXDo}HVOLQHDUHV nas duas LQFyJQLWDV [ e \.

[ \ x Recordemos o caso mais simples de um VLVWHPD de duas HTXDo}HVOLQHDUHV nas duas LQFyJQLWDV [ e \. &DStWXOR±6LVWHPDVGH(TXDo}HV/LQHDUHV1 &DStWXOR±6LVWHPDVGH(TXDo}HV/LQHDUHV Å 1Ro}HV *HUDLV Recordemos o caso mais simples de um VLVWHPD de duas HTXDo}HVOLQHDUHV nas duas LQFyJQLWDV [ e \. [\ [\ É fácil verificar

Leia mais

Tecnologia da Informação Prof. Mário Henrique de Souza Pardo Resumo Aula 4

Tecnologia da Informação Prof. Mário Henrique de Souza Pardo Resumo Aula 4 Tecnologia da Informação Prof. Mário Henrique de Souza Pardo Resumo Aula 4 1 MS-Excel Aplicando funções às suas fórmulas de Excel (continuação) Serão vistas, nesta aula as funções de busca e referência

Leia mais