Luiza Amalia Pinto Cantão. Felipe Sanches Stark

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

Download "Luiza Amalia Pinto Cantão. Felipe Sanches Stark"

Transcrição

1 Programação Linear Luiza Amalia Pinto Cantão Felipe Sanches Stark

2 Sumário 1 Introdução à Pesquisa Operacional Otimização (Cálculo Diferencial) e Sistemas de equações (Álgebra Linear) na PO Metodologia da PO Tipos básicos de modelo de PO Solução em PO Mais do que matemática Solução Geométrica ou gráfica Introdução - Descrevendo um problema anterior Tipos de solução e visualização gráfica Exercícios Propostos Revisão Matemática Equações lineares Solução de um Sistema de Equações Lineares Operações elementares Solução de Sistema de Equações Lineares, caso m = n Método de Gauss-Jordan, caso m = n Solução de Sistema de Equações Lineares, caso n > m Mudança de Base O Pivoteamento Seleção das variáveis básicas Construção da Variáveis Básicas e Variáveis Artificiais Espaços Vetoriais Definição Operações Combinação Linear de Vetores Dimensão de um Espaço Vetorial Base e Coordenadas Posto (r a ) de uma matriz como um Conjunto de Vetores Conjuntos Convexos e Combinação Convexa Conjunto Convexo Combinação Convexa Interpretação Geométrica Ponto Extremo de um Conjunto Convexo Exercícios Propostos

3 SUMÁRIO SUMÁRIO 3 Método Simplex Teorema Fundamental da Programação Linear Transição da solução gráfica para a solução algébrica Método Simplex Modelo de Programação Linear em forma de equação - Forma Padrão Forma Padrão Forma Canônica Conversão de desigualdades em equações com o lado direito não negativo Como lidar com variáveis irrestritas Variáveis Não Positivas Transformando o Problema de Maximização em Minimização Princípios do Método Simplex Método Simplex na forma de quadros - Tableau Simplex Análise de Casos Especiais Base Artificial O Método do M-Grande O Método das Duas Fases Análise de Sensibilidade Análise de Sensibilidade gráfica Análise de Sensibilidade algébrica Exercícios Propostos Dualidade Introdução Definição do Problema Dual Propriedades da Dualidade Teoremas Fundamentais da Dualidade Método Dual Simplex Resumo do Método Exercícios Propostos Métodos de Pontos Interiores Introdução Notação Método Primal-Dual A Trajetória Central Estrutura Primal-Dual Método de Redução de Potencial (RP) Implementação de Algoritmos de Pontos Interiores Solução Inicial Critério de Parada Algoritmo Primal-Dual

4 SUMÁRIO SUMÁRIO 6 Programação Linear Inteira Introdução Algoritmo Branch-And-Bound (B&B) Resumo do algoritmo Branch-And-Bound (B&B) Problema do Caixeiro-Viajante Problema da Mochila Mochila Mochila Inteira Múltiplas Mochilas Empacotamento de Mochilas Exercícios Propostos O Uso de Excel e do lp solve para Problemas de Programação Linear Introdução MS-Excel Solver lp solve Referências Bibliográficas 111 3

5 CAPÍTULO 1 Introdução à Pesquisa Operacional Histórico da Pesquisa Operacional A Pesquisa Operacional (PO) é um ramo da ciência que cuida da criação de metodologias específicas para promover o gerenciamento de decisões. A origem da PO data da Segunda Guerra Mundial ( ) e tem relação com o esforço envolvido no período do conflito para otimizar o uso dos recursos. Como exemplos, temos o estudo do radar (inventado em 1934 na Inglaterra) para a interceptação de aviões inimigos, estudos dentro das divisões aéreas aliadas, para melhorar a manutenção e inspeção dos aviões, na escolha dos melhores modelos para cada tipo de missão e no aumento da probabilidade de alvejar um submarino. A evolução da PO se deu de forma rápida no pós-guerra, em países como Inglaterra e Estados Unidos. Em 1947, foi implantado o projeto SCOOP (Scientific Computation of Optimal Programs), no qual tinha por objetivo a gestão aérea militar e contava com a participação do matemático George Dantzig. Durante o projeto SCOOP, Dantzig desenvolveu um dos métodos primordiais para a resolução de problemas envolvendo a otimização linear: o SIMEX. Com a publicação do método, a Programação Linear () tornou-se a primeira técnica expĺıcita, permanecendo até hoje a mais fundamental das técnicas da PO. Posteriormente houve surgimentos de sociedades científicas, como a americana ORSA (Operations Research Society of America) fundada em 1953; sendo ao longo da década de 50 e 60 observado o crescimento no número de grupos de pesquisas operacionais e suas aplicações tanto em setores públicos quanto privados ao redor do globo. É por volta do fim da década de 60 que surgem as questões educacionais envolvendo a PO, principalmente no tocante da maior publicação literária do assunto e na presença em cursos de pós-graduação. Nessa época aparece a área de programação matemática, tendo como premissa casos de otimização de funções lineares sujeitos às restrições lineares. No Brasil, a PO iniciou-se nessa década também. O primeiro simpósio de PO ocorreu em 1968 no ITA, em São José dos Campos, SP. Em seguida, foi fundada a SOBRAPO (Sociedade Brasileira de Pesquisa Operacional) que publica o periódico Pesquisa Operacional há mais de 25 anos. Atualmente, a PO tem sido chamada de ciência e tecnologia de decisão. O componente científico é ligado às idéias e processos para modelar os problemas de tomada de decisão (objetivos e restrições da operação), a matemática se enquadra aqui na medida em que os modelos para otimizar sistemas numéricos resultam de inserções de dados nos modelos. A tecnologia compreende a relação software-hardware, podendo ser generalizada como uma tecnologia da informação (armazenamento, comunicação e transmissão - tanto de dados inseridos nos modelos de otimização quanto nos resultados obtidos). 4

6 Capítulo 1. Introdução à Pesquisa Operacional 1.1 Otimização (Cálculo Diferencial) e Sistemas de equações (Álgebra Linear) na PO Ora, se a Pesquisa Operacional em seus primórdios históricos era sinônimo de Otimização, temos então uma primeira ligação com o Cálculo Diferencial. Trata-se dos chamados Problemas de Valores de Máximos e Mínimos, isto é, o ponto no qual a função tem sua imagem no maior e no menor valor possível. O grande entrave na PO é muitas vezes a mecanização de como tais problemas são passados, tornando a aprendizagem superficial e o emprego de tais técnicas pouco intuitivo. Vejamos um exemplo simples de valores extremos, em particular o valor mximo. Exemplo 1. Considere que um fabricante de produtos de limpeza tenha de calcular qual a melhor maneira de criar uma embalagem retangular com uma determinada altura h (constante) para que o volume seja máximo, isto é, a área da base seja a maior possível com um comprimento L de material (estipulado com base nos lucros e no transporte), esse procedimento de otimização envolve redução de custos, resíduos e impacto ao meio ambiente. 1. Primeiro, como trata-se de um retângulo, os lados opostos devem ter o mesmo tamanho, identificaremos a largura de w e comprimento de l. 2. Com base na definição 2w + 2l = L, ou seja, w + l = L 2 (1.1) 3. Por serem dimensões físicas da matéria, tanto w quanto l devem ser positivos. Como h é estabelecido pelo fornecedor do fabricante, não entra nos cálculos do volume, pois se acharmos a maior área teremos o maior volume para h. 4. A área é A = wl. Nossa questão então é maximizar A sujeita a equação (1.1) e das restrições do item 3. Para tanto, devemos proceder como um problema de valor máximo do cálculo: Como L é um número dado, pode ser tratado como constante, deste modo podemos deixar w em função de l, ou vice-versa. w + l = L 2 Portanto a região do domínio de w e l é a reta = w = L 2l 2 w = L 2l 2 na qual a imagem está no plano z como a área A. Assim, da mesma maneira que deixamos w em função de l, podemos deixar agora a área A em função apenas de l, substituindo o valor de w. Obtemos: Distribuindo l, temos: ( L 2l A = 2 2 Ll 2l A = 2 ) l L. A. P. Cantão & F. S. Stark 5

7 Capítulo 1. Introdução à Pesquisa Operacional Agora para achar um ponto máximo (ou mínimo) executamos a derivação δa δl δa δl = 1 (L 4l) 2 = 0 Portanto se Se 1 2 (L 4l) = 0 = L = 4l = l = L 4 w + l = L 2 Chegamos finalmente na solução (S): w = L 4 e l = L 4 Concluímos que a maior área é obtida quando o retângulo é um quadrado de lado L, e que seu volume 4 V = L2 h 16 O exemplo acima (Exemplo 1) é simples, contudo, grande parte dos problemas de PO envolve número maior tanto de equações (e inequações) quanto de variáveis, incluindo restrições dos valores que as variáveis podem assumir. Como no exemplo a seguir, trabalharemos muitos conceitos de Álgebra Linear (tratada na Programação Linear) ao longo da formulação dos modelos e na obtenção das respostas. Nestes problemas, as variáveis e as restrições podem estar envolvidas em desigualdades, ou seja: o problema torna-se cada vez mais complexo à medida em que esse fenômeno, a ser modelado, sofre diversas influências importantes. Para efeito ilustrativo, podemos tomar um sistema mais restrito e apenas interpretativo, vejamos então. Exemplo 2. Uma empresa produz dois produtos, P e Q, em cada uma de suas fábricas, X e Y. Ao fabricar tais produtos, os poluentes dióxido de enxofre (SO 2 ), óxido nítrico (NO x ) e material particulado (MP) são produzidos. As quantidades de poluentes foram monitoradas e quantificadas ( em quilogramas) e estão dispostas pela matriz: P = [ SO 2 NO x MP ] Produto P Produto Q O custo diário para remover cada quilograma de poluente é (em reais) dado pela matriz: C = X Y Dióxido de Enxofre Óxido nítrico Material Particulado Qual o significado, por exemplo, do produto matricial de P.C? Qual fábrica polui mais, isto é, gera mais efluente e consequentemente tem seu tratamento encarecido? L. A. P. Cantão & F. S. Stark 6

8 Capítulo 1. Introdução à Pesquisa Operacional 1.2 Metodologia da PO A metodologia da PO segue etapas definidas como em qualquer projeto, podendo ser decomposto em 5 estágios básicos segundo [14]: 1. Identificação do problema - envolve definir o escopo do problema sob investigação. Essa função deve ser executada por toda a equipe de PO [14]. Em PO quanto mais complexo e multidisciplinar é um problema, maior abrangência de conhecimento é necessária e por consequência uma equipe mais especializada. Nesta etapa buscamos três elementos básicos: (a) descrição das alternativas de decisão; (b) determinação do objetivo de estudo; (c) as limitações sobre as quais o modelo está imposto. 2. Construção do modelo - implica uma tentativa de traduzir a definição do problema em relações matemáticas [14]. Se o modelo for simples e se ajustar à um dos métodos padrões, como a programação linear, então podemos chegar em soluções com os algoritmos disponíveis. Já se o modelo for complexo, a equipe pode simplificar a situação tendendo à uma abordagem heurística ou de simulação. Em alguns casos, ocorre a combinação dos modelos matemáticos, heurísticos e simuladores. 3. Determinação da solução do modelo - é de longe a fase mais simples... porque se baseia na utilização de algoritmos [14]. Neste estágio ocorre o que se chama de análise de sensibilidade, essencial quando os parâmetros do modelo não podem ser aferidos com precisão. 4. Teste e validação da solução proposta - verifica se o modelo proposto... prevê adequadamente o comportamento do sistema em estudo [14]. Em sistemas com uma base de dados histórica (p.e. pluviosidade em uma região), o modelo é válido se, sob condições similares de entrada, reproduz relativamente bem as saídas anteriores. Porém, como geralmente a análise leva em conta os dados anteriores, o parecer tende a ser favorável, o que exige cuidado com eventos futuros imprevisíveis. Em sistemas sem base de dados, tende-se a comparar o modelo com simulações. 5. Implementação da solução - envolve a tradução dos resultados em instruções operacionais inteligíveis... emitidas as pessoas que administrarão o sistema recomendado [14]. 1.3 Tipos básicos de modelo de PO O uso de modelos é a essência da própria PO, ocorrendo quando há alta complexidade e elevado potencial de retorno do investimento. Desta maneira, justifica-se a contratação de uma equipe de especialistas, alocação de recursos disponíveis e o desenvolvimento do projeto de PO. A criação de um modelo implica em algo simbólico, que simplifica a realidade mediante o uso de relações matemáticas de algumas variáveis envolvidas, porém mantém as essências de causa-efeito do problema estudado. No que tange a PO, podemos ter vários exemplos clássicos de modelos, entre um dos mais básicos e interessantes temos os problemas que envolvem misturas (rações, fertilizantes, concreto, alimentos, poluentes, entre outros). Esses tipos de problemas consistem em combinação de materiais (naturais ou não) para gerar novos materiais ou produtos com características desejáveis, como é o caso por exemplo das misturas de massa de reboco (cal, areia, cimento e água) ou de concreto (areia, brita, cimento e água), que em proporções diferentes ou com a adição de alguma substância adquirem propriedades para um fim específico, como acabamento e fundação, respectivamente. L. A. P. Cantão & F. S. Stark 7

9 Capítulo 1. Introdução à Pesquisa Operacional Figura 1.1: Estrutura básica envolvida na metodologia dos modelos da PO Exemplo 3. Na implantação de um barragem de grande consumo de concreto, decidiu-se utilizar como fontes de agregrados graúdos: 1. britas graníticas pelo desmonte (desagregação por explosivo) da rocha local; (a) A composição granulométrica é: 10% (19-38 mm), 20% (38-76 mm) e 70% ( mm) (b) O custo é $6, 00/m 3 2. seixos rolados disponíveis nos vales próximos à barrragem; (a) A composição granulométrica é: 5% ( mm), 35% (19-38 mm) e 60% (38-76 mm) (b) O custo é $7, 00/m 3 3. pedra britada comercial (a) A composição granulométrica é: 20% ( mm), 78% (19-38 mm) e 2% (38-76 mm) (b) O custo é $18, 00/m 3 Por meio de um estudo prévio, chegou-se em uma faixa de composição granulométrica ideal, sendo: 10% da faixa de mm 20% da faixa de mm 35% da faixa de mm 35% da faixa de mm O problema consiste em determinar as frações de cada fonte para a composição ideal, de forma a minimizar o custo de produção do concreto. As variávies de decisão são: x 1 quantidade (m 3 ) de britas graníticas. L. A. P. Cantão & F. S. Stark 8

10 Capítulo 1. Introdução à Pesquisa Operacional x 2 quantidade (m 3 ) de seixo rolado. x 3 quantidade (m 3 ) de brita comercial. Com isso o custo da mistura é dado por f (x 1, x 2, x 3 ) = 6x 1 + 7x x 3. Pelas restrições, custos e porcentagens de cada em cada fração, obtemos: 0.05x x Faixa ( mm) 0.10x x x Faixa (19-38 mm) 0.20x x x Faixa (30-76 mm) 0.70x Faixa ( mm) Os ingredientes utilizados produzem uma unidade de mistura, ou seja, x 1 + x 2 + x 3 = 1, e, completando as restrições, temos as condições de não negatividade das variáveis: x 1 0,x 2 0 e x 3 0. O modelo matemático completo é dado por: Minimizar 6x 1 + 7x x 3 Sujeito a: 0.05x x x x x x x x x x 1 + x 2 + x 3 = 1 x 1 0 x 2 0 x 3 0 Outro exemplo comum é o de planejamento de produção por vários ciclos de tempo (meses,semanas e dias).vejamos um exemplo deste tipo: Exemplo 4. Durante o próximo semestre, uma fabricante têxtil deve atender aos seguintes compromissos de sua seção de malharia: Jan peças Abr peças Fev peças Mai peças Mar peças Jun peças Tabela 1.1: Dados do Planejamento. Ao final de dezembro, há 500 peças em estoque e a empresa só tem capacidade para produzir 3000 peças mensais. Entretanto, usando horas extras, a empresa pode produzir até 600 peças a mais que sua capacidade nominal. O custo variável de produzir uma peça é de R$ 3 por peça, e o custo de produzir em horas extras é de R$ 3.4 por peça. Além disso, peças que ficam em estoque de um mês para outro provocam custo aproximado de R$ 0.25 por peça. Monte um modelo linear que satisfaça a demanda, mas com minimização dos custos de produção. A solução está em se definir x t, y t e e t para t = 1:6, para indicarem respectivamente a produção nominal, em horas extras, e estoque ao final de cada mês. L. A. P. Cantão & F. S. Stark 9

11 Capítulo 1. Introdução à Pesquisa Operacional Min f (x) = 3(x x 6 ) + 3.4(y y 6 ) (e e 6 ) Suj. a: x 1 + y = e x 2 + y 2 + e 1 = e x 3 + y 3 + e 2 = e x 4 + y 4 + e 3 = e x 5 + y 5 + e 4 = e x 6 + y 6 + e 5 = e x t 3000 y t 600 x t, y t, e t 0 para t = 1 : 6 Problemas de transporte ou alocação de recursos em determinados percursos também são alvos comuns de estudos da PO. Exemplo 5. Considere uma companhia distribuidora de bebidas que tem 2 centros de produção (m = 2) - Araraquara e São José dos Campos - e 3 mercados consumidores principais (n = 3) - São Paulo, Belo Horizonte e Rio de Janeiro. O custo unitário (c ij ) de se transportar uma unidade do produto de cada centro de produção a cada mercado consumidor, bem como as demandas (b j ) de cada mercado e a quantidade disponível do produto em cada centro de produção (a i ) no próximo período, são dados pela tabela abaixo. Mercado Centro de Produção São Paulo(1) Belo Horizonte(2) Rio de Janeiro(3) Suprimento(a i ) Araraquara (1) S. J. Campos (2) Demanda(mercado) Tabela 1.2: Dados da produção, distribuição e consumo. Como ficaria o sistema deste problema se quisessemos minimizar o custo do processo? Solução em PO Como dito no final do item anterior, nem sempre um problema tem uma solução possível, em contrapartida, surgem problemas que aceitam diversos conjuntos de valores como solução do sistema. Deste modo devemos expressar algumas terminologias importantes quanto ao assunto solução, como: 1. Solução - Qualquer especificação de valores, dentro do domínio da função objetivo f(x), para as variáveis de decisão, independentemente de se tratar de uma escolha desejável ou permissível. 2. Solução viável - solução que satisfaz todas as restrições do problema. 3. Solução ótima - é aquela que permite a ocorrência do melhor valor da f(x), isto é, maximiza ou minimiza seu valor de acordo com o desejado. Pode ser única ou não Mais do que matemática Até agora, a PO parece apenas uma aplicação matemática que tenta modelar numericamente o mundo real por meio de aproximações de suas variáveis, contudo a pesquisa envolve muito do conhecimento do decisor. L. A. P. Cantão & F. S. Stark 10

12 Capítulo 1. Introdução à Pesquisa Operacional Não é raro encontrar a PO como tema de trabalho de uma equipe inteira de profissionais de diversas áreas (matemáticos, engenheiros, biólogos, administradores, economistas, sociólogos e até psicólogos) pois, a complexidade ou mesmo a incerteza envolvida na situação é tamanha que requer um tratamento sobre divesos pontos de vista. A exemplo disso, podemos considerar um acontecimento em um prédio comercial. As pessoas começaram a reclamar na gerência sobre o fato de esperarem muito tempo o elevador instalado no empreendimento. A construção de mais um elevador seria inviável, o mesmo poderia ser dito de se aumentar a velocidade do elevador (comprometendo a estrutura da construção ou a segurança das pessoas à bordo do elevador). O que fazer então? A resposta é simples! Um dos profissionais contratados foi um psicólogo. Este sugeriu que fossem espelhadas as paredes externas da porta de cada andar do elevador, pois com isso as pessoas passariam mais tempo se vendo diante do espelho e vendo os outros que estavam esperando. Com essa ação, à primeira vista estranha, a gerência do prédio parou de receber tantas reclamações. Sendo assim, afirmamos que deve haver atenção quando o assunto do problema é algo que envolve opiniões humanas ou variáveis muito incertas. Neste caso, pode ser necessário o auxílio de funções não lineares (função objetivo e/ou restrições, nos levando a aplicação de técnicas da Programação Não Linear), ou mesmo do emprego de outras teorias, como a Teoria Fuzzy, por exemplo. 1.4 Solução Geométrica ou gráfica Introdução - Descrevendo um problema anterior Ao se trabalhar com equações lineares um dos modos de visualizar a solução é o de criar graficamente as retas que cada equação representa, sobretudo em equações de problemas pequenos (duas variáveis). Deste modo, as intersecções das equações são os possíveis pontos de solução, vejamos o Exemplo 1 do início deste capítulo, se fizermos a reta de w em função de l, teremos uma reta no plano xy(figura 1.2). Figura 1.2: Gráfico de w versus l (ou l versus w) L. A. P. Cantão & F. S. Stark 11

13 Capítulo 1. Introdução à Pesquisa Operacional Sabemos então que a solução está sobre a reta, porém, não podemos afirmar quais valores fornecem a solução do sistema. Contudo, temos a função área A = wl no plano z, devemos então com o auxílio de um programa computacional chutar os valores de w e l para então gerar o gráfico de A versus l e A versus w, com isso vemos uma parábola (figura 1.3). Figura 1.3: Gráfico de A versus l (ou A versus w) Pela figura 1.3, fica evidente que a solução de valor mais alto dentro do espaço da solução é próximo à metade do valor possível das variáveis, tanto para w quanto l. Este valor é 0.25, ou 25% de L. Devemos ressaltar que neste caso, como a função objetivo era uma variável multiplicada pela outra, o gráfico resultante foi uma parábola, o que não configura em um caso de otimização linear (Programação Linear), sendo apenas uma maneira ilustrativa sobre o uso gráfico dentro dos modelos de Pesquisa Operacional Tipos de solução e visualização gráfica Nesta subseção estão apresentados, e resolvidos de forma gráfica, alguns exemplos de Programação Linear contendo duas variáveis. Apesar de ser restrita a problemas pequenos, a solução gráfica oferece elementos facilitadores para a compreensão dos procedimentos do método que será exposto nos próximos capítulos. Ilustremos as seguintes situações: solução única, solução múltipla, solução ilimitada e solução infactível a partir do texto de [11]. Solução única Exemplo 6. Seja o problema de : L. A. P. Cantão & F. S. Stark 12

14 Capítulo 1. Introdução à Pesquisa Operacional Maximizar 2x 1 + 3x 2 Sujeito a: x 1 + 2x 2 8 (a) 2x 1 + 3x 2 5 (b) x 1 + x 2 6 (c) x 1 0 x 2 0 (d) Figura 1.4: Solução única Na ilustração, cada restrição está graficamente representada com sua respectiva reta (a),(b) e (c). Como são inequações, os pontos que as satisfazem definem semi-espaços, isto é, a região acima ou abaixo da reta, à direita ou à esquerda da reta. Por outro lado, a restrição (d) informa que a região está no primeiro quadrante do plano. Logo, tem-se a região factível (região escurecida da figura 1.4). Tomando-se a função objetivo como um tracejado, se a deslocarmos na região solução desde o vértice (0,0) teremos um máximo no vértice (4,2). Identificação do ponto ótimo Uma vez que a região factível foi encontrada, o ponto ótimo do exemplo 6 pode ser encontrado de duas maneiras equivalentes, de acordo com a figura 1.5 Temos então, na situação (a) foram traçadas duas retas paralelas à função objetivo, com valores de Z = 9 e Z = 12, respectivamente e averiguamos em qual direção a função objetivo cresce, isto é, no mesmo sentido dos eixos no primeiro quadrante. Já na segunda situação (b), encontramos o gradiente da função (derivadas parciais em cada variável), o vetor (2, 3), que é exatamente normal à função objetivo. O vetor normal indica a direção de crescimento da função. Analogamente ao caso (a), a função é deslocada até alcançar o(s) ponto(s) da região viável com maior valor de Z. Solução múltipla Exemplo 7. Seja o problema apresentado anteriormente, porém com mudança na função objetivo: L. A. P. Cantão & F. S. Stark 13

15 Capítulo 1. Introdução à Pesquisa Operacional Figura 1.5: Família de retas (a) e Vetor normal e direção de Crescimento (b) Maximizar x 1 + 2x 2 Sujeito a: x 1 + 2x 2 8 (a) 2x 1 + 3x 2 5 (b) x 1 + x 2 6 (c) x 1 0 x 2 0 (d) Note que para este caso o problema passa a ter um conjunto de múltiplas soluções, consistindo nos pontos do segmento da reta x 1 + 2x 2 entre os pontos (2, 3) e (4, 2). Observe que a função objetivo é paralela à inequação apresentada na restrição (a), presente na figura 1.6). Solução ilimitada Exemplo 8. Seja o problema de (Exemplo 6), com uma insero de uma restrio (d) : Maximizar 2x 1 + 3x 2 Sujeito a: x 1 + 2x 2 8 (a) 2x 1 + 3x 2 5 (b) x 1 + x 2 6 (c) x 1 0 x 2 0 (d) Observe, na Figura 1.7, que o espaço de soluções passa a ser ilimitado por todo o espaço à direita da reta (a) e abaixo da reta (b). Portanto, nesta situação, o problema tem uma solução tendendo ao infinito, pois a função objetivo pode se deslocar para a direita sem limitações e aumentar o valor de Z indefinidamente. L. A. P. Cantão & F. S. Stark 14

16 Capítulo 1. Introdução à Pesquisa Operacional Figura 1.6: Múltiplas soluções Figura 1.7: Solução ilimitada Solução infactível Exemplo 9. Seja o problema de (Exemplo 6), contudo com as restrições (a) e (c) modificadas nos sinais de desigualdade : Maximizar 2x 1 + 3x 2 Sujeito a: x 1 + 2x 2 8 (a) 2x 1 + 3x 2 5 (b) x 1 + x 2 6 (c) x 1 + x 2 7 (d) x 1 0 x 2 0 (e) Com a adição de uma nova restrição ao problema do Exemplo 9, temos um conjunto vazio de solução, pois L. A. P. Cantão & F. S. Stark 15

17 Capítulo 1. Introdução à Pesquisa Operacional Figura 1.8: Solução inconsistente não é possível satisfazer a função objetivo quanto às restrições (c) e (d) ao mesmo tempo. 1.5 Exercícios Propostos 1. Determine a região de soluções viáveis para cada uma das seguintes restrições independentes, dado x 1, x 2 0 (a) 3x 1 + x 2 6 (b) x 1 2x 2 5 (c) 2x 1 3x 2 12 (d) x 1 + x 2 0 (e) x 1 + x Identifique a direção de crescimento de z em cada um dos seguintes casos: (a) Maximizar f (x) = x 1 x 2 (b) Maximizar f (x) = 5x 1 6x 2 (c) Maximizar f (x) = x 1 + 2x 2 (d) Maximizar f (x) = 3x 1 + x 2 3. Dado o sistema de expressões lineares: x 1 +2x 2 0 2x 1 3x 2 3 x 1 +3x 2 6 x 1,x 2 0 Determine graficamente a solução ótima nos casos : a. Min f (x) = 2x 1 ; b. Max f (x) = 4x 2 ; c. Max f (x) = 3x 1 + 3x Suponha um modelo de programação linear: L. A. P. Cantão & F. S. Stark 16

18 Capítulo 1. Introdução à Pesquisa Operacional Utilize o método gráfico para resolver o sistema. Max x 1 +2x 2 Sujeito a 6x 1 +10x x 1 +3x 2 12 x 1 +2x 2 10 x 1 6 x 1, x A Roda S.A produz dois modelos de automóveis: sedã e utilitário. A tabela a seguir mostra o número máximo de veículos que podem ser vendido em cada um dos próximos três meses: Sedãs Uilitários Mês Mês Mês Tabela 1.3: Dados da produção. Sabe-se que cada sedã é vendido a $ e custa $ para produzi-lo. O utilitário tem venda de $ e custo de $ O custo de manter os veículos em estoque é de $ 250 para o sedã e $ 300 para o utilitário. Durante cada mês, no máximo 1500 veículo podem ser produzidos e, por restrições de produção, pelo menos 2/3 dos carros produzidos devem ser sedãs. No início do mês 1, há 300 sedãs e 200 utilitários em estoque. (a) Formule um problema de programação linear que maximize o lucro da companhia. (b) Suponha que exista a possibilidade deproduzir até 600 veículos em horas extras. Entretanto, tal produção provoca um aumento de $ 800 no custo de cada unidade. Mostre como incorporar tal decisão ao modelo de programação linear. 6. Seja uma empresa que produz quatro produtos, A, B, C e D. A fabricação de cada unidade desses produtos exige mão-de-obra, matéria-prima e processamento mecânico, gerando um certo lucro, de acordo com a tabela: Recurso A B C D Disponbilidade Mão-de-obra (homens-hora/unidade) h Matéria-prima (kg/unidade) kg Processamento mecânico (horas-máquina) hm Lucro (R$/unidade) / Tabela 1.4: Dados do problema. Dadas as disponibilidades e os requerimentos para cada produto, como determinar um plano de produção semanal, de forma a maximizar o lucro? Tente escrever o sistema na forma padrão. 7. Este problema envolve um processo de transporte de agragados para a construção de uma rodovia. Suponha que, para a construção de uma rodovia, não estejam disponíveis na região das jazidas de richas adequadas à L. A. P. Cantão & F. S. Stark 17

19 Capítulo 1. Introdução à Pesquisa Operacional obtenção de pedra britada. Faz-se necessário, portanto, o transporte desse material de jazidas mais próximas para alguns pontos convenientes preestabelecidos ao longo do caminho onde será implantada a estrada (figura 1.9), ao menor custo. Figura 1.9: Pedreiras fornecedoras da pedra britada P1, P2, P3, P4; pontos de depósito de material D1, D2, D3 e do trajeto da rodovia R. Nesse problema, temos m = 4 jazidas correspondentes às origens e n = 3 depósitos correspondentes aos destinos, cujos dados estão na tabela a seguir. Pedreiras Depósito 1 Depósito 2 Depósito 3 Oferta a i Demanda b j / Tabela 1.5: Dados do problema de transporte. As quantidades ofertadas (a i - última coluna) e demandas (b j - última linha), em toneladas, bom como os custos de transportar 1 tonelada de pedra da pedreira i para o depósito j (c ij - que é função de vários fatores, como tempo de viagem, condições das estradas de acesso, condições dos veículos que servem a trajetória em questão etc.), são as representações do que está envolvido no problema. Se x ij é a variável de decisão que representa a quantidade transportada de rochas da jazida i para o ponto de depósito j, podemos formular este problema da seguinte maneira: L. A. P. Cantão & F. S. Stark 18

20 Capítulo 1. Introdução à Pesquisa Operacional Minf (x ij ) = 30x x x x 21 40x x x 31 15x x x 41 25x x 43 Suj. a x 11 +x 12 +x x 21 +x 22 +x x 31 +x 32 +x x 41 +x 42 +x x 21 +x 31 +x 41 = 697 x 12 +x 22 +x 32 +x 42 = 421 x 13 +x 23 +x 33 +x 43 = 612 x ij 0 Para verificar uma mudança no problema, imagine se por um problema estrutural, o Depósito 2 tenha de ser fechado. Como ficaria o modelo se 45% da demanda deste depósito tenha de ir para o Depósito 1 e o restante para o Depósito 3? 8. Um fabricante de geladeiras precisa decidir quais modeos deve produzir em uma de suas plantas e de acordo com uma pesquisa de consumo, o mercado consome no máximo 1500 unidades do modelo Luxo e 1600 do Básico por mês que virá. A fábrica dispõe de homens-hora por mês, sendo que cada modelo Luxo precisa de 10 homens-hora e o Básico 8 homens-hora. A linha de montagem é integrada (produz os dosi modelos em conjunto) e pode produzir até 4500 unidades por mês, com lucro sobre o modelo Luxo de $ 100 e o Básico de $ 50. Deseja-se maximizar os lucros da venda dos produtos desta fábrica. Como seria o modelo de para este problema? 9. Quatro cidades descarregam águas servidas na mesma corrente. A cidade 1 está a montante, seguida da cidade 2, cidade 3 e por fim a cidade 4 à jusante da corrente. Medidas ao longo do corpo de água, as distâncias entre as cidades são de aproximadamente 15 milhas entre si. Um dos parâmetros de medida em águas servidas é a demanda bioquímica de oxigênio (DBO), que é a quantidade de oxigênio requerida para estabilizar os poluentes presentes na água. A Agência de Proteção Ambiental estabeleceu um máximo de carga de DBO, expressaem lb de DBO por galão. A remoção de poluentes das águas servidas ocorre de duas formas: depuração natural e tratamento de esgoto antes do despejo nos corpos de água. O objetivo então, é determinar a melhor eficiência econômica de cada umas das estações localizadas nas quatro cidades (a eficiência máxima possível de uma estação é de 99%). Para montarmos um modelo, devemos citar as variáveis como: Q 1 - fluxo da corrente (galões/hora) na saída da cidade 1; p 1 - taxa de descarga dedbo (lb/hora); x 1 - eficiência da estação 1 ( 0.99); b 1 - máxima carga de DBO permissível na cidade 1 (lb.dbo/galão). Para satisfazer o requisito de carga de DBO na descarga da cidade 1 para a 2, precisamos ter: p 1 (1 x 1 ) b 1 Q 1 L. A. P. Cantão & F. S. Stark 19

21 Capítulo 1. Introdução à Pesquisa Operacional De modo semelhante, no fim da cidade 2: (1 r 12 )(Descarga de DBO no trecho 1-2) + (Descarga de DBO no trecho 2-3) b 2 Q 2 ou (1 r 12 )p 1 (1 x 1 ) + p 2 (1 x 2 ) b 2 Q 2 O coeficiente r 12 ( 1) representa a fração de resíduos removida no trecho 1-2 por decomposição. Para a descarga da cidade 3, a restrição é: (1 r23)[(1 r 12 )p 1 (1 x 1 ) + p 2 (1 x 2 )] + p 3 (1 x 3 ) b 3 Q 3 A partir do que foi apresentado (usando os dados da tabela abaixo e considerando a remoção por decomposição de 6% para os quatro trechos da corrente) determine a maior eficiência econômica para as quatro estações. Característica Cidade 1 Cidade 2 Cidade 3 Cidade 4 (i = 1) (i = 2) (i = 3) (i = 4) Q i (galão/hora) p i (lb/hora) b i (lb.dbo/galão) Custo do tratamento ($/lb.dbo removida) Tabela 1.6: Dados do problema de gerenciamento de água. L. A. P. Cantão & F. S. Stark 20

22 CAPÍTULO 2 Revisão Matemática Conceitos Básicos As obras literárias de Programação Linear, escritas na década de 60, traziam revisões extensas de álgebra linear, determinantes, matrizes, espaços vetoriais, convexidade etc. Essas revisões eram essenciais, pois na época os conteúdos visados no curso não eram devidamente estudados nos cursos de graduação da época. Desde então, houve significativa mudança no currículo dos cursos de administração, economia e engenharia. Já no ensino médio, por exemplo, o aluno toma contato com as matrizes, e tem um aprofundamento de álgebra linear colocada como elemento dos currículos mínimos dos cursos de graduação na área de Exatas. A apresentação de conceitos básicos passa a ter propósito de unificação do conhecimento, de nomenclatura e fixação da notação usada. A revisão a seguir tem um ponto de vista da Programação Linear, de modo que a mesma é orientada para antecipar o entendimento dos métodos de otimização. 2.1 Equações lineares Um sistema de m equações linerares e n variáveis tem a seguinte representação algébrica: a 11 + a 12 x a 1n x n = b 1 a 21 + a 22 x a 2n x n = b 2. a m1 + a m2 x a mn x n = b m Podemos escrever o sistema na notação Ax = b, isto é, na forma matricial, como : a 11 a a 1n a 21 a a 2n x 1 x 2. = b 1 b 2. a m1 a m2... a mn x n b n Um sistema de equações lineares (SEL) é denominado homogêneo se b = 0.

23 Capítulo 2. Revisão Matemática Solução de um Sistema de Equações Lineares Uma solução de um SEL é um conjunto de valores x j (j = 1,..., n) se satisfaz simultaneamente todas as equações do sistema. Pela resolução de um sistema, temos 3 alternativas de soluções: Tem uma única solução; Possui um conjunto infinito de soluções, ou múltiplas solues; Não tem solução para o sistema; Quando o sistema apresentar m = n (matriz quadrada), a indicação de qual dessas alternativas ocorre é dada pelo determinante (D) da matriz, a saber: Quando D = 0, indica indeterminação (infinitas soluções) ou um sistema sem solução; Quando D 0, indica que o sistema é crameriano 1 e portanto, possui uma única solução possível Operações elementares As operações elementares, conforme ([11]), de um sistema consistem em transformações realizadas no sistema. São elas: I. Troca de linhas; II. Multiplicação de uma linha por escalar não nulo; III. Combinações lineares de linhas; A seguir veremos os casos de solução dos SEL onde m = n e m n Solução de Sistema de Equações Lineares, caso m = n Nesta subseção, podemos resumir a forma de algumas soluções para alguns tipos de sistemas Ax = b, assim: Todo sistema homogêneo tem solução x = 0, chamada solução trivial; 1. Se a matriz A é não singular e o sistema homogêneo, só existe a solução trivial (x = 0); 2. Se a matriz A é singular, o sistema homogêneo é indeterminado, pois D = 0. Se a matriz A é não singular e o sistema não homogêneo, a solução é única e o sistema é textitcrameriano. Como A é não singular, sua inversa (A 1 ) existe. Assim: Exemplo 10. Seja o sistema na forma matricial: Ax = b A 1 (Ax) = A 1 b Ix = A 1 b x = A 1 b. 1 Um sistema crameriano é aquele o qual tem um determinante da matriz A um número diferente de zero, significando que o sistema tem solução única - tal resultado tem ligação com a regra de Cramer. L. A. P. Cantão & F. S. Stark 22

24 Capítulo 2. Revisão Matemática x 1 x 2 x 3 = Calculando-se a matriz inversa de A, e aplicando-a como visto, obtem-se a solução: x 1 x 2 x 3 = 5/19 7/19 1/19 2 3/19 8/19 7/19 7 4/19 2/19 3/19 A solução do sistema é então x 1 = 2, x 2 = 3 e x 3 = 1. Devemos então encontrar a matriz inversa para obter a solução de um sistema? A resposta prática é não, pois computacionalmente este método é caro devido ao excesso de cálculos necessários para a determinação de matrizes inversas de sistemas complexos, além disto, a inversa só é passível de cálculo em matrizes quadradas e com determinante diferente de zero, sendo assim inviável metodologicamente como visto no capítulo de Introdução à Pesquisa Operacional. Nos próximos tópicos explicaremos alguns métodos mais práticos na obtenção de soluções para os sistemas lineares, sejam eles casos m = n ou n > m. 1 = Método de Gauss-Jordan, caso m = n Tendo como finalidade a construção, através de operações elementares, de uma matriz unitária, é um método adequado para as rotinas computacionais para a resolução dos sistemas lineares, uma vez que envolve um algoritmo mais rápido de ser implementado e calculado pelo processador. Considere o Exemplo 10: 2x 1 + x 2 3x 3 = 2 x 1 x 2 + 2x 3 = 7 2x 1 + 2x 2 x 3 = 1 a. operações elementares sobre x 1 : Dividir a 1 a linha por 2, adicionar à 2 a linha a primeira multiplicada por(-1) e adicionar à 3 a linha a 1 a vezes (-2). x 1 + x 2 /2 3x 3 /2 = 1 3x 2 /2 + 7x 3 /2 = 8 x 2 + 3x 3 = 1 b. operações elementares sobre x 2 : Dividir a 2 a linha por ( 3 2), adicionar à 1 a linha a 2 a multiplicada por ( 1 2) e adicionar à 3 a linha a 2 a vezes ( 1). x 1 x 3 /3 = 5/3 x 2 7x 3 /3 = 16/3 19x 3 = 19/3 c. operações elementares sobre x 3 : Dividir a 3 a linha por 3 9, resultando em x 3 = 1. Somar à 1 a linha a 3 a multiplicada por 1 3 e somar à 2a linha a 3 a multiplicada por 7 3. x 1 = 2 x 2 = 3 x 3 = 1 L. A. P. Cantão & F. S. Stark 23

25 Capítulo 2. Revisão Matemática Deste modo, chegamos à mesma solução do Exemplo 10, como x 1 = 2, x 2 = 3 e x 3 = 1. Fica a observação de que a maneira mais fácil para não se perder durante os cálculos é realizá-los com o auxílio da matriz ampliada da forma A = (A b). Este método de transformação da A para a identidade (I) também é chamada de Escalonamento Solução de Sistema de Equações Lineares, caso n > m Se considerarmos o sistema matricial, com A m n com n > m : a 11 a a 1n a 21 a a 2n x 1 x 2. = b 1 b 2. a m1 a m2... a mn x n b m De uma matriz retangular como esta, podemos encontrar diversas soluções com as aplicações anteriormente discutidas, pois é possível obter várias submatrizes quadradas. Como nota, o número superior de váriáveis em relação às equações é o que de mais comum ocorre no processo de modelagem, dada a complexidade da realidade, mesmo que reduzida. Vamos explicitar alguns conceitos e definições, mediante um exemplo, dados pela Programação Linear. Exemplo 11. Seja um sistema { x 1 2x 2 + x 3 + x 4 = 2 x 1 x 2 x 3 + x 5 = 2 saber: A partir desse sistema (e todos os casos n > m, podemos realizar diversas considerações e generalizações, a 1. Em notação matricial (Ax = b), temos: [ ]. x 1 x 2 x 3 x 4 [ = 2 4 ] x 5 2. O sistema anterior possui cinco variáveis e duas equações, portanto, oferece uma infinidade de soluções. Podem-se arbitrar valores para 5 2 = 3 variáveis e resolver o sistema em relação às duas variáveis restantes. Para o sistema original ter solução, pelo menos um dos subsistemas será crameriano. 3. O sistema tem uma solução trivial (chamada de básica), que consiste em atribuir o valor nulo em três das variáveis e chegar-se no valor das outras duas. Como exemplo: x 1 = x 2 = x 3 = 0 e x 4 = 2 e x 5 = 4. Neste caso, x 1,x 2 e x 3 são chamadas variáveis não básicas, e x 4, x 5 são ditas variáveis básicas. 4. Variável básica é uma variável responsável por uma equação na qual ela tem coeficiente 1, enquanto nas demais equações seu coeficiente é 0. L. A. P. Cantão & F. S. Stark 24

26 Capítulo 2. Revisão Matemática 5. Sistema canônico é um sistema no qual a cada equação temos uma variável básica associada. Visto de forma matricial, tal sistema remete a uma matriz identidade embutida na matriz A (não obstante fora de ordem). 6. Uma base B do sistema é dada pelo conjunto de vetores coluna correspondentes às variáveis básicas. No exemplo, a base é formada pelos vetores coluna A 4 e A 5, ou B = [A 4 A 5 ]. Como x 4 e x 5 são as variáveis associadas à base, é comum referir-se à base B = x 4 x 5 7. Em um sistema de cinco variáveis e duas equações, a variedade de soluções triviais, ou básicas é dada pela permutação: ( 5 2 ) = 5! 3!2! = As soluções triviais distintas, se existentes, podem ser obtidas por processos de mudança de base (conforme será explicado na próxima subseção). 2.2 Mudança de Base O Pivoteamento A operação de mudar a base é feita segundo operações elementares, sendo equivalente a um conjunto de operações do tipo Gauss-Jordan, aplicada a uma variável qualquer do problema (escolhida como básica). Supondo que a variável x i seja básica e pertença a linha r do sistema, a ação de pivotear, tendo em vista a inserção de x j no lugar, consiste nos passos: 1. Dividir por a rj a r-ésima equação, resultando em a rj = 1 no sistema modificado; 2. Adicionar à k-ésima equação k = 1, 2,..., m, k r, a kj de x j nessa k-ésima linha. a rj = a kj 1 = a kj, de modo a zerar o coeficiente Exemplo 12. Com o exemplo 11 podemos ilustrar o pivoteamento, substituindo x 1 por x 4 na base. Temos então i = 4 e j = 1 com r = 2, e deste modo como a 11 = 1, não precisamos fazer a divisão por a 11 ; da mesma maneira como a 21 = 1, basta somar à 2 equação a 1 multiplicada por ( 1) para se obter uma nova base, B = [A 1, A 5 ], e o sistema resultante: { x 1 2x 2 +x 3 +x 4 = 2 x x 4 +x 5 = 2 Se prosseguirmos para B = [A 1, A 2 ], o sistema resultante seria: { x 1 3x 3 x 4 +2x 5 = 6 x 2 2x 3 x 4 +x 5 = 2 Obs: Utilizaremos este resultado a seguir. O Pivoteamento em Notação Matricial A mudança de base pode ser vista como uma multipicação matricial, exemplificada na situação a seguir: L. A. P. Cantão & F. S. Stark 25

27 Capítulo 2. Revisão Matemática 1. Suponha que a matriz A, do sistema linear A = bx, possa ser escrita pela composição de três colunas A = [B N I], sendo B é a base atual, I a base original e N os demais vetores (contendo as variáveis não básicas). 2. Seja B 1 a inversa da base atual, então podemos escrever a sequência: B 1 [B N I]x = B 1 b [I B 1 N B 1 ]x = B 1 b No exemplo 11 aplicamos os conceitos anteriores, para chegar-se ao resultado apresentado no exemplo 12: [ ] x 1. x 5 = [ 2 4 ] B N I Explicitando na base mudada por pivoteamento, temos analogamente: [ B 1 B = I B 1 N B 1 ] x 1. x 5 = [ 6 2 ] Portanto a nova base B = [a 1 a 2 ] pode ser obtida a partir do sistema original por dois modos: a. operações elementares (método [ Gauss-Jordan); ] [ ] 1 2 b. sejam a base desejada B = e sua inversa B = ; pré-multiplicando o sistema original por B 1, obtendo-se B 1 Ax = B 1 b Seleção das variáveis básicas Em problemas de Programação Linear, existe a restrição suplementar de que x 0, isto é, todas as variáveis devem ser não negativas. Assim, possivelmente, nem todas as soluções básicas de um sistema serão factíveis (possíveis de serem aplicadas ao modelo), na medida em que nem todas virão a satisfazer a restrição adicional. Definições Por se tratar de uma revisão para a PO, devemos focar a mesma sobre os atributos e conhecimentos que serão exigidos a seguir, para tanto, apresentamos um resumo das definições introduzidas até este ponto: Variável básica: é uma variável relacionada a uma equação com coeficiente 1 nesta equação e 0 nas demais; Solução básica: é aquela obtida fazendo-se as variáveis não básicas iguais à zero e identificando-se a solução do sistema linear; Solução básica viável: é uma solução básica na qual todas as variáveis básicas satisfazem à restrição suplementar x 0; L. A. P. Cantão & F. S. Stark 26

28 Capítulo 2. Revisão Matemática Base do Sistema: é dada pelo conjunto das variáveis básicas, ou seja, pelos vetores coluna associados aos coeficientes das variáveis básicas de todas as equações; Operação Pivotar - Pivot Operation: é uma sequência de operações elementares que fazem uma variável tornar-se básica; Conjunto Viável: é dado por todas as soluções viáveis do sistema linear, incluindo-se a restrição suplementar x Construção da Variáveis Básicas e Variáveis Artificiais Forma Geral Dado um sistema linear padrão, uma forma de se obter um conjunto de variáveis básicas desenvolvida pela Programação Linear é de realizar-se o acréscimo ao sistema de um conjunto de variáveis básicas (x a ), denominadas artificiais, ou seja: [ ] [ Ax + Ix a x = b ou A I x a ] = b Neste caso, uma solução inicial consistiria em anular as variáveis originais e deixar as variáveis artificiais na base do sistema. Esse método cria uma solução básica para o sistema de equações, embora à custa da introdução de mais variáveis, inexistentes originalmente, contudo, por meio de operações elementares para sucessivas trocas de base, as mesmas podem ser colocadas como variáveis não básicas e anuladas. Podemos acrescentar ainda que, a respeito deste método, temos: Se o sistema for incompatível o método falha; Se houver uma equação redundante (dependência linear), a solução de base encontrada terá uma variável artificial na base com valor nulo. Forma Canônica Sistema canônico é aquele em que cada equação linear possui uma variável básica associada a ela e o sistema de equações identifica um solução trivial. Um caso particular, porém frequente, é aquele que o sistema original é dado na forma de desigualdade, Ax b. Neste caso, introduzem-se variáveis de folga, x f, que medem a diferença entre o lado direito e o lado esquerdo (como veremos nos modelos de PO, também teremos variáveis de excesso quando Ax b). Matricialmente a situação seria: [ ] [ Ax b Ax + Ix f x = b ou A I x f ] = b Uma solução inicial viável básica é quando x f = b e x = 0. Ao contrário das variáveis artificiais do caso geral, as variáveis de folga (ou excesso) têm sua interpretação como a quantidade dos valores de b não utilizadas. Vamos exemplificar este sistema e a explicação anterior mediante um exemplo. Exemplo 13. Suponha o sistema de restrições: x x x 1 + 2x L. A. P. Cantão & F. S. Stark 27

29 Capítulo 2. Revisão Matemática Aplicando-se três variáveis de folga (x 3, x 4 e x 5 ), temos: x 1 + x 3 = 400 x 2 + x 4 = 500 x 1 + 2x 2 + x 5 = 900 Se as variáveis do sistema original representarem: x 1 = número de bolos do tipo 1 a serem produzidos; x 2 = número de bolos do tipo 2 a serem produzidos; b 1 = 400 = quantidade de ovos disponíveis; b 2 = 500 = quantidade de açúcar disponível; b 3 = 900 = quantidade de farinha disponível. Nessas condições, as variáveis de folga significam x 3 = quantidade de ovos não utilizados; x 4 = quantidade de açúcar não utilizado; x 5 = quantidade de farinha não utilizada. Com isto, encerramos a subseção de Mudança de Base. 2.3 Espaços Vetoriais Definição Um espaço vetorial V é um conjunto de elementos denominados vetores, tal que a soma de dois de seus elementos ou a multiplicação de um de seus elementos por escalar (λ R) também pertence a V. Além disso, todo espaço vetorial contém um vetor nulo 0 e o vetor oposto, sendo: C + 0 = C, para todo C V; C + ( C) = 0, com o vetor oposto C Operações Algumas operações básicas dos vetores de um espaço vetorial são, como já ditas, a adição de um elemento a outro e a multiplicação por um número escalar real. Em notação matemática, se tivermos dois vetores (C e D) e um escalar (λ), demonstramos as operações como: C + D = (c 1, c 2 ) + (d 1, d 2 ) = (c 1 + d 1, c 2 + d 2 ); λc = (c 1, c 2 ) = (λc 1, λc 2 ). Podemos ver as operações representadas nas figuras 2.1 e Combinação Linear de Vetores Se A 1, A 2, A 3..., A n são vetores pertencentes ao espaço vetorial R m e se x 1, x 2,..., x n são números reais, então o vetor b R m, obtido por: b = A 1 x 1 + A 2 x A n x n é chamado de combinação linerar dos vetores A 1, A 2, A 3,..., A n. Da combinação linear podemos tirar duas conclusões sobre os vetores, a saber: L. A. P. Cantão & F. S. Stark 28

30 Capítulo 2. Revisão Matemática Figura 2.1: Soma de vetores Figura 2.2: Muiltiplicação de vetores (com λ = 1) L. A. P. Cantão & F. S. Stark 29

31 Capítulo 2. Revisão Matemática Vetores Linearmente Independentes: Suponha um conjunto de vetores não nulos A 1, A 2, A 3..., A n pertencentes ao espaço vetorial R m e x 1, x 2, x 3..., x n números reais. Se a equação vetorial: A 1 x 1 + A 2 x A n x n = 0 só for satisfeita para x 1 = x 2 = = x n = 0, então dizemos que os vetores A 1, A 2,..., A n são linearmente independentes (LI) Vetores Linearmente Dependentes: Suponha um conjunto de vetores não nulos A 1, A 2, A 3..., A n pertencentes ao espaço vetorial R m e x 1, x 2, x 3..., x n números reais. Se a equação vetorial: A 1 x 1 + A 2 x A n x n = 0 for satisfeita para algum x k com k (1, 2,..., n) diferente de zero, então dizemos que os vetores A 1, A 2,..., A n são linearmente dependentes (LD) Dimensão de um Espaço Vetorial Um espaço vetorial R m é de dimensão m se: Existirem m vetores v 1, v 2,..., v m linearmente independentes pertencentes a R m. Não existirem (m + 1) vetores linearmente independentes pertencentes a R m Base e Coordenadas Um conjunto de vetores v 1, v 2,..., v m R m é uma base de R m se: Eles forem LI; Qualquer vetor y R m puder ser obtido por uma combinação linear desses vetores, isto é: y = y 1 v 1 + y 1 v y m v m Desta maneira, os coeficientes (y 1, y 2,..., y m ), unicamente definidos, são as coordenadas do vetor y em relação à base v 1, v 2,..., v m Posto (r a ) de uma matriz como um Conjunto de Vetores Dada uma matriz A m n, seja B m n a matriz-linha reduzida à forma escada linha equivalente a A. O posto de A, denotado por r a = 3, é o número de linhas (ou colunas) não nulas de B. Exemplo 14. Seja a matriz A = Empregando-se o conceito de vetores LI, primeiro aos vetores coluna e depois aos vetores linha, temos: L. A. P. Cantão & F. S. Stark 30

32 Capítulo 2. Revisão Matemática Aplicando aos vetores coluna: x x x x 4 = Note que o sistema admite uma infinidade de soluções não triviais; portanto, o posto é inferior a quatro. Ao escolhermos apenas três vetores quaisquer, encontramos um posto igual a 3 (r a = 3). Aplicando aos vetores linha: [ ] [ x ] x 2 [ ] [ x 3 = ] Essa equação vetorial fornece o sistema de equações: x 1 x 2 +2x 3 = 0 5x 2 = 0 2x 1 +6x 3 = 0 x 2 2x 3 = 0 portanto x 1 = x 2 = x 3 = 0, logo r a = 3. Base de uma Matriz Se uma matriz A mxn, m n, tem n colunas A 1, A 2,..., A n, das quais m linhas A r, A s,..., A p são linearmente independentes, então a matriz quadrada B = [A r, A s,..., A p ], de ordem m, é uma base de A. Mudança de Base Seja uma base no espaço R m constituída pelos vetores e 1, e 2,..., e m. Nessa base, qualquer vetor y R m é expresso por uma combinação linear definida univocamente 2, sendo y 1, y 2,..., y m as coordenadas do vetor y, isto é: y = y 1 e 1 + y 2 e y k e k y m e m Podemos permutar, na base, o vetor e k pelo vetor y (somente se y k 0). Assim: e k = y 1 y k e 1 y 2 y k e y k y k y y m y k e m Essa expressão mostra o vetor e k expresso em uma base constituída pelos vetores y e e i, em que i = 1, 2,..., m, e i k. Estas expressões são importantes para casos de mudança de base, pois, imagine algum outro vetor x R m. Como exemplo, na base original, esse vetor seria representado por: x = x 1 e 1 + x 2 e x k e k + + x m e m 2 Diz-se da relação, ou da correspondência, entre dois conjuntos em que a cada elemento do primeiro conjunto corresponde apenas um elemento do segundo, isto, uma funo injetora entre os conjuntos. L. A. P. Cantão & F. S. Stark 31

33 Capítulo 2. Revisão Matemática Em relação à uma nova base (que inclui y), basta realizar uma substituição de e k na expressão anterior com a resultante de e k : x = ( ) ( ) y 1 y 2 x 1 x k e 1 + x 2 x k e x ( ) k y m y + + x m x k e m y k y k y k y k O processo de mudar a base de um espaço é também denominado pivoteamento, exatamente análogo ao discutido anteriormente. Produto Escalar (Interno) entre Dois Vetores Sejam os vetores A 1 e A 2 pertencentes a um espaço vetorial R m. O produto escalar, ou produto interno, desses dois vetores pode ser definido pela expressão a seguir, envolvendo a soma dos produtos dos componentes correspondentes. Quando dois vetores A 1 e A 2 são ortogonais, então o produto escalar será nulo. A 1.A 2 = a 11 a 21 + a 12 a a 1n a 2n = n a 1j a 2j i 2.4 Conjuntos Convexos e Combinação Convexa Conjunto Convexo Seja um conjunto X R m. Dado dois pontos quaisquer x 1 e x 2 X pertencentes ao conjunto e λ [0, 1]. Se λx 1 + (1 λ)x 2 X então, diz-se que X é um conjunto convexo. Não obedecendo a relação, então é dito não convexo Combinação Convexa De forma análoga, podemos definir uma combinação convexa de vetores. pertencentes a um espaço vetorial R n e λ i para i = 1 : n, temos: Dados n vetores A 1, A 2,..., A n n y = λ 1 A 1 + λ 2 A λ n A n sendo λ i = 1 é uma combinação convexa dos vetores A i, para i = 1,..., n. [ ] [ ] 1 3 Exemplo 15. Sejam os vetores A 1 = e A 3 = R 2. Seja o vetor b = λa 1 + (1 λ)a 3, com λ 1, representando uma combinação convexa dos vetores, ou seja, obedecendo à regra de convexidade. Se fizermos λ variar entre 0 e 1, o vetor b será representado por pontos situados no segmento que une os pontos A 1 e A 3. Deste modo, vemos a figura 2.3 que ilustra a combinação convexa do exemplo. i Interpretação Geométrica Portanto, pela definição anterior, um conjunto convexo tem como interpretação geométrica a seguinte situação: quaisquer pontos no segmento de reta formado por dois pontos quaisquer do conjunto X têm de pertencer a ele. Em termos geométicos, como exemplo um conjunto do R 2 temos a figura 2.4. Esta interpretação geométrica pode ser generalizada para outras dimensões. Temos ainda duas propriedades dos conjuntos convexos: L. A. P. Cantão & F. S. Stark 32

34 Capítulo 2. Revisão Matemática Figura 2.3: Combinação convexa do exemplo A intersecção de conjuntos convexos também é um conjunto convexo; 2. A soma (ou a subtração) de dois conjuntos convexos é também um conjunto convexo. C 1 + C 2 = {A 1 + A 2 : A 1 C 1, A 2 C 2 } é convexo C 1 C 2 = {A 1 A 2 : A 1 C 1, A 2 C 2 } é convexo Figura 2.4: Exemplo de um conjunto convexo e outro não convexo no R Ponto Extremo de um Conjunto Convexo Suponha C um conjunto convexo. Então A C é um ponto extremo de C se não for possível expressá-lo como uma combinação convexa de quaisquer outros dois pontos distintos pertencentes aos conjunto. 2.5 Exercícios Propostos 1. Determine a inversa da matriz A usando os recursos do Método de Gauss-Jordan. Para tanto, escreva a matriz identidade I com a mesma dimensão, ao lado direito. Em seguida aplique operações elementares no sistema expandido que transformem a matriz A na matriz I, e verifique que a matriz I se transforma na inversa A 1 : a. A = L. A. P. Cantão & F. S. Stark 33

35 Capítulo 2. Revisão Matemática b. A = Verifique que os seguintes conjuntos de vetores formam uma base no R 3 : a. (1, -1, 2); (0, 5, 0); (2, 0, 6); b. (-1, 5, 1); (2, 0, -2); (1, 0, 4); c. (1, 0, 0); (1, 1, 0); (1, 1, 1); 3. Expresse o vetor (1, 1, 1) em cada base existente do exercício anterior. 4. Encontre todas as soluções básicas dos sistemas a. x 1 2x 2 +2x 3 4x 4 = 2 3x 1 5x 2 +x 3 +3x 4 = 4 b. 2x 1 +3x 2 +5x 3 = 5 x 1 4x 2 2x 3 = 3 5. Dada a matriz A com cinco colunas A 1,A 2,A 3,A 4,A 5 : A = usando os procedimentos de Gauss-Jordan, expresse A nas bases: a. B 1 =(A 1,A 4,A 5 ); b. B 1 =(A 1,A 2,A 5 ); c. B 1 =(A 1,A 2,A 3 ). 6. Calcule o posto de A: A = Nos problemas de (a) até (e), resolver os sistemas pelo método de eliminação de Gauss. 2x +3y z = b 1 x 3y +z = b 2 x +2y z = b 3 (a) Para b 1 = 2, b 2 = 5 e b 3 = 7. (b) Para b 1 = 1, b 2 = 6 e b 3 = 0. (c) Para b 1 = 2, b 2 = 8 e b 3 = 9. (d) Para b 1 = 4, b 2 = 3 e b 3 = 2. (e) Para b 1 = 4, b 2 = 7 e b 3 = (Engenharia de Controle e Automação) Deseja-se construir um circuito como o mostrado na figura 2.5. onde V 1 = 280V, V 2 = 100V, V 3 = 50V, R 1 = 20Ω, R 2 = 30Ω, R 3 = 50Ω, R 4 = 40Ω e R 5 = 100Ω. Dispõe-se de uma tabela de preços de vários tipos de resistências; assim como as correntes que elas suportam sem queimar. De que tipo devemos escolher cada resistência para que o circuito funcione com segurança e a sua fabricação seja a de menor custo possível? L. A. P. Cantão & F. S. Stark 34

36 Capítulo 2. Revisão Matemática Figura 2.5: Sistema de circuito Resistências 20Ω 30Ω 40Ω 50Ω 100Ω A Corrente A Máxima A Suportada A Tabela 2.1: Dados das resistências disponíveis. 9. (Engenharia Ambiental) Necessita-se adubar um terreno, de acordo com um plano de recuperação, acrescentado a cada 10m 2 : 140 g de nitrato, 190g de fosfato e 205 g de potássio. Dispõe-se de quatro qualidade de adubo com as respectivas características, incluindo sua unidade de custo de produção (u.c.p): (a) Cada quilograma do adubo I custa 5 u.c.p e contém 10 g de nitrato, 10 g de fostato e 100 g de potássio; (b) Cada quilograma do adubo II custa 6 u.c.p e contém 10 g de nitrato, 100 g de fostato e 30 g de potássio; (c) Cada quilograma do adubo III custa 5 u.c.p e contém 50 g de nitrato, 20 g de fostato e 20 g de potássio; (d) Cada quilograma do adubo IV custa 15 u.c.p e contém 20 g de nitrato, 40 g de fostato e 35 g de potássio; Quanto de cada adubo devemos misturar para conseguir o efeito desejado se estamos dispostos a gastar 54 u.c.p a cada 10m 2 com a adubação? L. A. P. Cantão & F. S. Stark 35

37 CAPÍTULO 3 Método Simplex 3.1 Teorema Fundamental da Programação Linear No Capítulo 1, o método de resolução gráfica de um problema foi utilizado apenas para casos de duas ou três variáveis. Para problemas maiores, este método torna-se impraticável, nesta situação precisamos de uma técnica eficiente para resolver problemas de Programação Linear () com mais de três variáveis. Uma dessas técnicas chama-se Método Simplex. Para melhor compreender este método, devemos observar algumas considerações sobre as soluções dos sistemas que representam os modelos, tomando como exemplo o item Identificação do ponto ótimo do Capítulo 1. Vimos que: (i) A função objetivo assume necessariamente um valor máximo e um valor mínimo quando a região poliedral convexa (factível) for limitada; (ii) Os vértices desempenham um papel fundamental na procura de máximos e mínimos para a função objetivo. O primeiro resultado acima nos diz que os valores extremos de uma função afim 1 são assumidos nos pontos extremos dos segmentos (vértices). Daí, podemos fazer colocações e generalizações 2, obtendo o Teorema Fundamental da Programação Linear: Teorema 1. Seja f (x 1,..., x n ) = a 1 x a n x n + b, onde b uma constaante qualquer, definida numa região poliedral convexa A do R n. Suponha que f assuma um valor máximo (ou mínimo) nesta região. Então, se A possui vértice(s), este valor máximo (ou mínimo) será assumido num vértice. Considerando um problema de Programação Linear na forma padrão: min onde A é uma matriz m (n + m) de posto m, então: f (x) Sujeito a Ax = b x 0 i) se há uma solução factível, há uma solução básica factível. ii) se há uma solução factível ótima, há uma solução básica facível ótima. 1 Função linear mais contantes. 2 Para mais informações e deduções do teorema consultar páginas 368/369 em [4].

38 Capítulo 3. Método Simplex Do teorema anterior e da equivalência entre solução básica factível e vértice temos que o Método Simplex é finito, pois um sistema linear de m equações com (m + n) incógnitas tem no máximo, por combinação: ( ) ( ) m + n (m + n)! = Soluções básicas m m!n! ( ) n + m Logo, o Simplex efetua um número menor que interações para encontrar a solução ótima, pois o m algoritmo Simplex é um procedimento de busca, isto é, move-se de vértice factível em vértice factível até encontrar a solução básica factível ótima Transição da solução gráfica para a solução algébrica No método gráfico, a região de soluções é delineada pelos meios-espaços (regiões delimitadas pelas restrições), sendo possível graficamente observar porque a região factível tem um número infinito de pontos de solução, uma vez que nos exemplos citados, apresentava-se um plano e que por definição compreende infinitos pontos (podendo ser extendido aos casos do R 3... R n, como volumes e passando para formas não possíveis de serem representadas geometricamente). No Método Simplex, a região de soluções é representada por m equações lineares simultâneas e n variáveis não negativas. Neste caso, também ocorre um número infinito de pontos de solução, dado que o número de equações m é sempre menor que ou igual ao número de variáveis n, pois se não fosse assim, teríamos no mínimo (m n) equações redundantes, ou seja, linearmente dependentes. Contudo, antes de vermos como o Simplex atua diante desse fato de infinidade de soluções, vejamos como trabalhar com os métodos gráfico e algébrico e as mudanças entre ambos. A Figura 3.1 ilustra esta transição, de um modo comparativo. 3.2 Método Simplex Modelo de Programação Linear em forma de equação - Forma Padrão O desenvolvimento do cálculos do Simplex é facilitado pela imposição de dois requisitos às restrições do problema: 1. Todas as restrições (com exceção da não negatividade das variáveis) são equações cujos lados direitos são não negativos; 2. Todas as variáveis são não negativas. A finalidade destes dois requisitos é padronizar e tornar mais eficiente os cálculos de método simplex. Contudo, antes apresentamos as disposições dos problemas na Forma Padrão e na Forma Canônica Forma Padrão A forma padrão é aquela em que as restrições são expressas por meio de equações lineares: L. A. P. Cantão & F. S. Stark 37

39 Capítulo 3. Método Simplex Figura 3.1: Transição de solução gráfica para algébrica. max ou min f (x) = c 1 x 1 + c 2 x c n x n Sujeito a a 11 x 1 + a 12 x a 1n x n = b 1 a 21 x 1 + a 22 x a 2n x n = b a m1 x 1 + a m2 x a mn x n = b n x i 0, (i = 1 : n) Em termos de matrizes, pode-se representar a forma padrão da como: em que: min f (x) = cx Sujeito a Ax = b x 0 L. A. P. Cantão & F. S. Stark 38

40 Capítulo 3. Método Simplex A = matriz m n dos coeficientes tecnológicos 3. b = matriz m 1 das constantes do lado direito. x = matriz n 1 das variáveis de decisão. c = vetor 1 n dos coeficientes da função objetivo f (x) Forma Canônica Diz-se que o sistema está na forma canônica quando, embutida na matriz dos coeficientes, encontra-se a matriz identidade. Em consequência, esse sistema admite uma solução trivial em que as variáveis não associadas às colunas da matriz identidade são nulas. O sistema a seguir exemplifica um problema de com restrições na forma canônica. Além disso, se para todo i = 1 : m, b i 0, a solução é também viável, com x n+1 = b i, enquanto as demais variáveis x 1,..., x n são nulas. max ou min f (x) = c 1 x 1 + c 2 x c n x n + (c n+1 x n c n+m x n+m ) Sujeito a a 11 x 1 + a 12 x a 1n x n + x n+1 = b 1 a 21 x 1 + a 22 x a 2n x n + x n+2 = b a m1 x 1 + a m2 x a mn x n + x n+m = b m x 1 : x n+m 0 Note que na função objetivo, temos as variáveis de folga ou excesso representadas dentro do parênteses. Uma outra situação muito conveniente é quando as restrições originais se apresentam com sinal, enquanto o vetor b 0, o que corresponde, em notação matricial, ao problema de : min f (x) = cx Sujeito a Ax b x 0 Nesse caso, todas as restrições transformam-se em equações mediante a inclusão de variáveis de folga (ou excesso), uma para cada desigualdade, e o sistema para a forma canônica. A seguir mostraremos como lidar com desigualdades e variáveis irrestritas, convertendo os problemas para a forma canônica Conversão de desigualdades em equações com o lado direito não negativo Em restrições ( ), o lado direito pode ser considerado como a representação de um limite imposto à disponibilidade de um determinado recurso, enquanto que o esquerdo, a utilização desse recurso limitado pelas variáveis (operações) do modelo. A diferença entre um lado e outro pode ser interpretado como uma quantidade de recurso não utilizada ou uma folga. Deste modo, para eliminarmos a desigualdade, fazemos a adição de uma variável de folga não negativa (x fn ) ao lado esquerdo da inequação. Considere o Exemplo 13 do Capítulo 2, que faz uso dessa operação matemática, contudo, imagine a adição da restrição a seguir: 3 Tais variáveis são chamadas de tecnológicas pois, dependem do modelo segundo o qual temos tecnologia para empregar naquele instante - seja em aparelhos de medição ou mesmo nos componentes envolvidos em processos de produção, como máquinas que processam um número máximo ou um número mínimo de determinada substância. L. A. P. Cantão & F. S. Stark 39

41 Capítulo 3. Método Simplex x 1 + x 2 10 = x 1 + x 2 + x f3 = 10, com x f3 0 De forma análoga, se a restrição for ( ) então, conseguimos a igualdade com a subtração de uma variável de sobra (ou excesso) não negativa ao lado esquerdo da inequação. Temos a restrição: x 1 + x 2 10 = x 1 + x 2 x f3 = 10, com x f3 0 Agora, o único requisito é deixar o lado direito da inequação resultante não negativo. Como exemplo: x 1 + x 2 10 = x 1 x 2 x f3 = 10, com x f3 0 x 1 + x 2 10 = x 1 x 2 + x f3 = 10, com x f3 0 Assim, faz-se a transformação em igualdade, e em seguida multiplica-se por (-1) Como lidar com variáveis irrestritas Em alguns casos, as variáveis podem oscilar entre positivo e negativo, talvez o melhor exemplo seja a contratação e a demissão de funcionários em uma linha produtiva. Se x i ( 0) for a quantidade de mão-de-obra no período i (um mês, uma quinzena etc), então x i+1 ( 0), a quantidade necessária para o próximo período i + 1 pode ser expresso como: x i+1 = x i + y i+1 A variável y i+1 deve ser irrestrita ao sinal, para permitir que x i+1 aumente ou diminua em relação a x i, isto é, dependa do número de contratados e demitidos, respectivamente. Podemos satisfazer o requisito da variável não negativa com a substituição: y i+1 = y i+1 y + i+1 onde y i+1 0 e y + i+1 0 Para mostrar que a substituição é válida, suponha que no período 1 a mão-de-obra seja x 1 = 30 e que no período 2 tenha de aumentar em 10 trabalhadores chegando a 40. Em termos da substituição, y2 e y 2 +, será equivalente a y 2 + = 0 e y 2 = 10 ( resultando em y 2 = 10). De maneira semelhante se for reduzida em 10, teremos y 2 = 0 e y + 2 = 10 ( resultando em y 2 = 10). A substituição também permite a possibilidade de não haver alteração na mão-de-obra, fazendo com que ambas as variáveis assumam um valor igual a zero Variáveis Não Positivas Suponha um programa linear em que a variável de decisão x não possa ser positiva, ou seja, x 0. Nesse caso, faz-se uma troca de variável: x = x 1, em que x 1 0 L. A. P. Cantão & F. S. Stark 40

42 Capítulo 3. Método Simplex Transformando o Problema de Maximização em Minimização Utilizando-se a relação de max{f (x)} = min{ f (x)}, uma situação de maximização pode se transformar em uma de minimização. Como exemplo, considere a parábola: Se f (x) = (x 3) = min f (x) = 4, no ponto x = 3; Se f (x) = [(x 3) 2 + 4] = max { f (x)} = 4, no ponto x = 3. Assim, ao se multiplicar a função por ( 1), ela é substituída por outra simétrica em relação ao eixo horizontal e o mínimo de uma ocorre na mesma abscissa que o máximo da outra, naturalmente com sinal inverso. Então, max{ f (x)} = min{f (x)} Princípios do Método Simplex Suponha o modelo do Exemplo 6 do Capítulo 1 resolvido graficamente. Com a auxílio desse exemplo, serão expostos, passo a passo, os Princípios do Simplex. Seja o modelo: max f (x) = 2x 1 + 3x 2 Sujeito a: x 1 + 2x 2 8 2x 1 + 3x 2 5 x 1 + x 2 6 x 1 0 x 2 0 Como dito, as inequações do tipo ( ) podem ser transformadas em equações pela inserção de três variáveis de folga, com peso nulo na função objetivo, de modo que obtém-se o sistema na forma canônica. max f (x) = 2x 1 + 3x 2 + 0x 3 + 0x 4 + 0x 5 Sujeito a: x 1 + 2x 2 + x 3 = 8 2x 1 + 3x 2 + x 4 = 5 x 1 + x 2 + x 5 = 6 x i 0 para i = 1 : 5 O sistema acima possui uma solução trivial, ou seja, fazendo x 1 = 0 e x 2 = 0, temos: Variáveis Básicas x 3 = 8 x 4 = 5 x 5 = 6 Variáveis Não básicas { x 1 = 0 x 2 = 0 As variáveis definidas como nulas são as não básicas; as demais são chamadas de variáveis básicas e formam a base do sistema linear. A expressão entrar na base significa fazer uma variável não básica deixar o valor nulo e crescer até o máximo valor que lhe seja possível e, portanto, positiva ou eventualmente nula. Como primeira solução do sistema, tem-se f (x) = 2(0) + 3(0) = 0. Observando que esse ponto corresponde ao ponto da origem x 1 = 0 e x 2 = 0. A Primeira Iteração Observando-se os coeficientes da função objetivo, f (x) = 2x 1 + 3x 2, vê-se que o aumento de x 1 ou x 2, ou seja, a entrada de qualquer uma delas na base, deverá aumentar o valor de f (x), pois ambos têm coeficientes positivos L. A. P. Cantão & F. S. Stark 41

43 Capítulo 3. Método Simplex nessa função. Como se deseja maximizar, parece intuitivo escolher primeiro aquela variável cujo coeficiente é maior, nesse caso a variável x 2. Para que a variável x 2 entre na base e aumente seu valor ao máximo, é necessário identificar qual variável básica deve sair da base e, portanto, se anular. Utilizamos o sistema a seguir para verificar as mudanças nos valores das variáveis básicas x 3, x 4 e x 5 quando aumentamos o valor de x 2 4. x 1 + 2x 2 + x 3 = 8 2x 1 + 3x 2 + x 4 = 5 x 1 + x 2 + x 5 = 6 Mantendo-se x 1 = 0 e deixando o sistema em função de x 2 temos: x 3 = (8 2x 2 ) 0 x 4 = (5 3x 2 ) 0 x 5 = (6 x 2 ) 0 Ao se aumentar o valor de x 2 em 1 unidade, o valor de x 3 decresce 2 unidades, x 4 descrece 3 unidades e x 5 decresce 1 unidade. Para anular as outras variáveis e mantê-las ainda não negativa, devemos encontrar os valores de x 2 que façam isso, podendo em seguida em qual destas variáveis x 2 apresenta seu valor mínimo (denotado por ɛ 5 ). Portanto, ɛ = x 2 = min{ 8 2, 5 3, 6 1 } = 5 3, ou seja, para x 2 = 5 3, obtém-se x 4 = 0, enquanto a demais variáveis permanecem não negativas (são factíveis ao modelo). Logo, x 4 sai da base, entrando x 2 com valor 5 3, e a função objetivo passa a : f (x) = 2(0) + 3 ( 5 3) = 5, isto é, já temos um valor de função objetivo para a comparação com as próximas iterações. A nova base será formada por x 2, x 3 e x 5. Para representá-la, basta transformar o sistema inicial, expressando-o na nova base. Para isso, são feitas operações elementares no sistema, tornando os coeficientes de x 2 um elemento da matriz identidade, a saber: Dividir a 2 a linha por 3, o que resulta em = 2 3 x 1 + x x 4 = 5 3 Somar à 1 a linha a nova 2 a linha multiplicada por ( 2) = 7 3 x 1 + (0)x 2 + x x 4 = 14 3 Somar à 3 a linha a nova 2 a linha multiplicada por ( 1) = 5 3 x 1 + (0)x x 4 + x 5 = 13 3 Com essas alterações, o sistema é reescrito conforme: 7 3 x 1 + x x 4 = x 1 + x x 4 = 5 Pelas variáveis, tem-se: 5 3 x x 4 + x 5 = 6 4 Ao se realizar esse procedimento atente para manter as variáveis x 3, x 4 e x 5 não negativas. 5 O ɛ pode ser visto como a razão b i a ij trabalhadas. do sistema, como j sendo o número da variável (coluna) e i o número da equação (linha) L. A. P. Cantão & F. S. Stark 42

44 Capítulo 3. Método Simplex Variáveis Básicas x 3 = 14 3 x 2 = 5 3 x 5 = 13 3 Variáveis Não básicas { x 1 = 0 x 4 = 0 O valor da função objetivo f (x) = 2x 1 + 3x 2 = 2(0) + 3 ( 5 3) = 5. Consultando-se a solução gráfica, o ponto obtido na segunda iteração corresponde ao vértice (x 1,x 2 ) = ( 0, 5 3). Necessitamos agora saber se a solução encontrada é ótima, para tanto devemos expressar a função objetivo em termos das variáveis não básicas, nesse momento sendo x 1 e x 4. Da segunda linha do sistema modificado obtemos x 2 em termos das variáveis x 1 e x 4, como: Substituindo na função objetivo: x 2 = x x 4 ( 5 f (x) = 2x 1 + 3x 2 = 2x x 1 1 ) 3 x 4 = 5 + 4x 1 x 4 Desta expressão, vemos que se valor de x 4 aumentar, a função decresce; enquanto que um aumento no valor de x 1 aumenta em quatro unidades a função objetivo. Logo, a função objetivo não está no seu valor ótimo, podendo aumentar caso x 1 entre na base (e ainda x 4 fique de fora). Segunda Iteração Analogamente, para x 1 entrar na base e aumentar de valor, é necessário identificar qual variável (x 2, x 3 ou x 5 ) deverá sair. Para acompanhar o raciocínio algébrico, reescrevemos o sistema modificado com x 4 nulo: 7 3 x 1 + x 3 = x 1 + x 2 = x 1 + x 5 = 6 Deixando o sistema em função de x 1 para todas as variáveis e considerando-as como zero, temos: x 3 = x 1 x 2 = x 1 x 5 = x 1 Na primeira restrição, a variável x 3 atinge o valor zero quando x 1 = 2; na segunda, a variável não atinge o valor zero pois o coeficiente de x 1 é negativo, o que aumenta o valor quando colocado em função de x 1 ; na terceira, x 5 se anula quando x 1 = Portanto, ɛ = x 1 = min { } 2,, 13 5 = 2. Para x 1 = 2, as variáveis assumem os valores: L. A. P. Cantão & F. S. Stark 43

45 Capítulo 3. Método Simplex x 1 = 2 x 2 = 3 x 3 = 0 x 4 = 0 x 5 = 1 Para os valores encontrados das variáveis a função objetivo f (x) = 2(2) + 3(3) = 13, o que é maior que o 5 encontrado na iteração anterior. A nova base será formada agora por x 1, x 2 e x 5. Para representá-la é necessário a aplicação de operações elementares, o que resulta em: x x x 4 = 2 + x x x 4 = x x 4 + x 5 = 1 Em que: Variáveis Básicas x 1 = 2 x 2 = 3 x 5 = 1 Variáveis Não básicas { x 3 = 0 x 4 = 0 Comparando esse resultado com a solução gráfica, nota-se que esta corresponde ao vértice (x 1,x 2 ) = (2, 3). Agora realizamos o procedimento de colocar a função objetivo em termos das variáveis não básicas, utilizando as equações que possuem as variáveis x 1 e x 2 do sistema obtido: x 1 = x x 4 a função objetivo f(x) fica como: x 2 = x x 4 f (x) = x x 4 Terceira Iteração Pela última expressão da função objetivo, se x 3 aumentar, a função decresce; enquanto que se x 4 aumentar, a função cresce, portanto, x 4 deve entrar na base do sistema (note que aparentemente ela parecia não ser uma candidata a entrar na base). Temos o sistema como: x x x 4 = 2 + x x x 4 = x x 4 + x 5 = 1 Fazendo-se as comparações dentro do sistema, com x 3 = 0, obtemos para x 1, x 2 e x 5 respectivamente, um ɛ = x 4 = min{, 21, 7} = 7, portanto a variável x 5 sai da base para a entrada de x 4. Com as alterações de mudança de base chegamos no sistema: L. A. P. Cantão & F. S. Stark 44

46 Capítulo 3. Método Simplex x 1 x 3 + 2x 5 = 4 x 2 + x 3 x 5 = 2 5x 3 + x 4 + 7x 5 = 7 Em que: Variáveis Básicas x 1 = 4 x 2 = 2 x 4 = 7 Variáveis Não básicas { x 3 = 0 x 5 = 0 Chegamos assim à solução ótima no vértice (x 1, x 2 ) = (4, 2), com f (x) = 14. Para efeito de confirmação algébrica, colocamos a função em termos das variáveis não básicas, obtendo: f (x) = 14 x 3 x 5 Neste caso, verificamos que ambas as variáveis quando aumentadas, reduzem o valor da função objetivo, isto é, a solução encontrada é a melhor possível. A solução gráfica e as soluções encontradas Na Figura 3.2 verificamos os pontos: Figura 3.2: Solução gráfica, solução única. A para a solução trivial; B para a primeira iteração; C para a segunda iteração; D para a terceira iteração, com solução ótima; L. A. P. Cantão & F. S. Stark 45

47 Capítulo 3. Método Simplex E, o ponto E é o ponto o qual iríamos recair se em vez de x 2 na primeira iteração, se tivessemos escolhido x 1, o que também economizaria uma iteração, já que a segunda iteração dessa escolha passaria ao ponto C (verifique como exercício). Aqui, devemos ressaltar que não há uma regra clara para a escolha de qual variável entra e qual sai da base a priori, como um palpite inicial, isso pode reduzir muitos passos de acordo com a extensão de quantas variáveis se está trabalhando. Uma possibilidade é a escolha da variável pelo coeficiente mais favorável possível e outra é a de se escolher aleatoriamente uma das variáveis com coeficiente favorável, independente do valor, contudo, não há provas de qual das duas seja melhor. Na próxima subseção veremos como usar o Método Simplex na forma de quadros (tabelas) Método Simplex na forma de quadros - Tableau Simplex Utilizar o Tableau Simplex é um modo de visualização mais claro de uma iteração e de melhor identificar os procedimentos a serem feitos para as iterações subsequentes. Para colocarmos o sistema na forma de quadros, utilizaremos a função f (x) como uma restrição e realizaremos as transformações pertinentes ao modo canônico. Tomando o exemplo da subseção anterior, obtemos: max f (x) 2x 1 3x 2 +0x 3 +0x 4 +0x 5 = 0 Sujeito a: x 1 +2x 2 +x 3 = 8 2x 1 +3x 2 +x 4 = 5 x 1 +x 2 +x 5 = 6 x i 0 para i = 1 : 5 Dado o sistema acima, podemos escrevê-lo como a tabela 3.1 (tableau): Base f (x) x 1 x 2 x 3 x 4 x 5 b Linha max (0) x (1) x (2) x (3) Tabela 3.1: Dados apresentados na forma tableau. Agora devemos iniciar a análise dos dados para efetuar as trocas de base. Começamos com a linha (0), onde estão os coeficientes de x 1 e x 2, verificando que ambas as variáveis, quando aumentados seus valores, obrigam o aumento da função f (x) para que a equação seja verdadeira (uma vez que os coeficientes de ambas são negativos), portanto, uma das duas deve entrar na base e uma das variáveis formadoras da atual base deve sair. Como a variável x 2 apresenta maior coeficiente, esta será escolhida para entrar primeiro na base. Procedemos então com o destaque da coluna na qual está a variável que entrará na base: Base f (x) x 1 x 2 x 3 x 4 x 5 b Linha max (0) x (1) x (2) x (3) Tabela 3.2: Começo da verificação da troca de variáveis. L. A. P. Cantão & F. S. Stark 46

48 Capítulo 3. Método Simplex Para escolhermos a variável que sai da base, realizamos o teste do quociente para verificar qual o menor valor de ɛ e assim selecionar a variável que deverá sair da base. Esse teste consiste em dividir o valor de b i por a ij (desde que a ij seja positivo), sendo j a coluna da variável de entrada. Temos então: Base f (x) x 1 x 2 x 3 x 4 x 5 b Linha Razão: min = ɛ max (0) -/- x (1) 8/2 = 4 x (2) 5/3 = 1.67 x (3) 6/1 = 6 Tabela 3.3: Teste do quociente para x 2. A variável que sai da base é x 4 e o elemento a 22 = 3 é chamado de pivô. Em seguida realizamos as operações elementares (Método de Gauss-Jordan) para chegarmos a nova tabela: Base f (x) x 1 x 2 x 3 x 4 x 5 b Linha max (0) x 3 0 7/ /3 0 14/3 (1) x 2 0 2/ /3 0 5/3 (2) x 5 0 5/ /3 1 13/3 (3) Tabela 3.4: Resultados da primeira iteração. Após a primeira iteração, constatamos que f (x) = 5, quando as variáveis não básicas forem zero. Entretanto, como o coeficiente de x 1 permanece negativo, se a variável tiver acréscimo em seu valor, teremos um aumento na função f (x) e podemos melhorar o seu valor. Para a entrada de x 1 na base procedemos analogamente a x 2. A tabela do teste do coeficiente é: Base f (x) x 1 x 2 x 3 x 4 x 5 b Linha Razão: min = ɛ max (0) -/- x 3 0 7/ /3 0 14/3 (1) (14/3)/(7/3) = 2 x 2 0 2/ /3 0 5/3 (2) -/- x 5 0 5/ /3 1 13/3 (3) (13/3)/(5/3) = 13/5 Tabela 3.5: Teste do quociente para x 1. Com a entrada de x 1, a variável x 3 deve sair da base. Realizando as operações elementares pertinentes, chegamos a tabela 3.6: Base f (x) x 1 x 2 x 3 x 4 x 5 b Linha max /7 1/ (0) x /7 2/3 0 2 (1) x /7 1/7 0 3 (2) x /7 1/7 1 1 (3) Tabela 3.6: Resultados da segunda iteração. Verificando a linha(0) notamos que o coeficiente da variável x 4 é negativo, concluímos que esta exerce influência L. A. P. Cantão & F. S. Stark 47

49 Capítulo 3. Método Simplex positiva sobre o valor de f (x) de modo que x 4 deve entrar na base. Com o teste do coeficiente (tabela 3.7) sabemos qual variável sairá. Base f (x) x 1 x 2 x 3 x 4 x 5 b Linha Razão: min = ɛ max /7 1/ (0) -/- x /7 2/3 0 2 (1) -/- x /7 1/7 0 3 (2) (3)/(1/7) = 21 x /7 1/7 1 1 (3) (1)/(1/7) = 7 Tabela 3.7: Teste do quociente para x 4. A variável x 5 sai da base, portanto, realizamos novamente algumas operações elementares para chegarmos a tabela 3.8: Base f (x) x 1 x 2 x 3 x 4 x 5 b Linha max (0) x (1) x (2) x (3) Tabela 3.8: Resultados da terceira iteração. Observe que na linha(0) temos apenas termos com coeficientes positivos, sendo assim, o aumento de uma dessas variáveis resultaria em um valor de f (x) menor que 14, não desejável uma vez que queremos maximizar a função objetivo. Então, temos a melhor resposta possível para o caso, isto é, a solução ótima do sistema é f (x) = 14, com os valores de: x 1 = 4, x 2 = 2 e x 4 = 7. Substituindo na função f (x): f (x) = 2x 1 + 3x 2 + 0x 3 + 0x 4 + 0x 5 = f (x) = 2(4) + 3(2) + 0(0) + 0(7) + 0(0) = f (x) = 14. Agora veremos como os quadros se comportam quando temos Múltiplas Soluções e Soluções Ilimitadas. Também discutiremos Solução Inexistente, Escolha Inicial e Degeneração Análise de Casos Especiais. Múltiplas Soluções. Seja o modelo proposto: max f (x) = 2x 1 + 4x 2 Sujeito a: x 1 + 2x 2 5 Reescrevendo o sistema para aplicarmos o Simplex, temos: x 1 + x 2 4 x 1, x 2 0 L. A. P. Cantão & F. S. Stark 48

50 Capítulo 3. Método Simplex Realizando-se a passagem para o quadro: max f (x) 2x 1 4x 2 + 0x 3 + 0x 4 = 0 Sujeito a: x 1 + 2x 2 + x 3 = 5 x 1 + x x 4 = 4 x i 0, p/ i = 1 : 4 Base f (x) x 1 x 2 x 3 x 4 b Linha max (0) x (1) x (2) Tabela 3.9: Dados apresentados na forma de quadro. Após as operações necessárias, com a entrada de x 2 e a saída de x 3, obtemos o sistema abaixo: Base f (x) x 1 x 2 x 3 x 4 b Linha max (0) x 2 0 1/2 1 1/2 0 5/2 (1) x 4 0 1/2 0 1/2 1 3/2 (2) Tabela 3.10: Dados apresentados na forma de quadro. Verificamos que o valor da função f (x) para este caso é 10. A solução é x 1 = 0 e x 2 = 5, contudo, como 2 saber se existem outras tantas soluções? Resposta: Devemos observar que o coeficiente de x 1 após a primeira iteração é zero, isto é, a variável x 1 pode entrar na base sem que ocasione mudança na solução encontrada. Vejamos então se procedermos com uma segunda iteração, inserindo x 1 apresentado: Base f (x) x 1 x 2 x 3 x 4 b Linha max (0) x (1) x (2) Tabela 3.11: Dados apresentados na forma de quadro. e retirando-se x 4, com resultado Observe que após a segunda iteração, a variável x 4 ficou com coeficiente nulo. Isto indica que o ótimo da função neste caso está enquadrado na reta x 1 + 2x 2 = 5, que pertence à primeira restrição do problema. Resumindo: na Solução Múltipla, ocorre um processo no qual a variável de entrada não ocasiona mudança no valor da função objetivo. E mesmo após mais uma iteração, a resposta permanece a mesma (exceto se a variável que for entrada não é condizente com o critério da função objetivo - maximização ou minimização). Para mais informações, vide [14]. Solução Ilimitada. Vejamos o problema: L. A. P. Cantão & F. S. Stark 49

51 Capítulo 3. Método Simplex max f (x) = 2x 1 + x 2 Sujeito a: x 1 x x 1 40 x 1, x 2 0 Para aplicarmos o Método Simplex realizamos as mudanças, obtendo: Na forma de quadro: max f (x) 2x 1 x 2 + 0x 3 + 0x 4 = 0 Sujeito a: x 1 x 2 + x 3 = 10 2x x 4 = 40 x i 0, p/ i = 1 : 4 Base f (x) x 1 x 2 x 3 x 4 b Linha max (0) x (1) x (2) Tabela 3.12: Dados apresentados na forma de quadro. Neste caso, o que ocorre no quadro é que em algum passo do Método Simplex, haverá na linha(0) uma variável x k com coeficiente indicando melhoria na função objetivo, porém todos os coeficientes da coluna a ik dessa variável são não positivos, não possibilitando o teste do coeficiente (essa variável pode ser aumentada indefinidamente, uma vez que nenhuma outra se anulará). Neste exemplo ocorre esse fato antes da primeira iteração. A visualização gráfica é dada pela Figura 3.3. Da Figura 3.3 (A) é a restrição 2x 1 40, (B) a reta função objetivo f (x) = 2x 1 + x 2 e (C) a restrição x 1 x Note que a função tem como região de solução a intersecção com a região factível. Solução Inexistente ou Infactível. Se o conjunto de restrições é incompatível, o que significa conjunto solução vazio, a aplicação do Método Simplex produzirá uma anomalia que impedirá a identificação da solução básica (pois nenhuma existe). Observe o problema abaixo: max f (x) = 3x 1 + 2x 2 Sujeito a: 2x 1 + x 2 2 3x 1 + 4x 2 12 x 1, x 2 0 A função objetivo corta a região fora das duas áreas delimitadas pelas restrições, sendo assim, nenhum ponto de solução é encontrado. Escolha Inicial - Empate na Entrada. Como dito, não há um critério claro quanto à escolha da variável que deverá entrar na base do sistema. Podemos atentar para os coeficientes das variáveis na função objetivo, isto é, qual a influência deles quando os valores das variáveis oscilam. L. A. P. Cantão & F. S. Stark 50

52 Capítulo 3. Método Simplex Figura 3.3: Região do Exemplo Em alguns casos, na função objetivo pode ocorrer um empate nos coeficientes das variáveis, como por exemplo, na função 3x 1 + 3x 2. Se ocorrer algo assim, tanto no início quanto em alguma das iterações (há mais de um coeficiente com custos relativos iguais pleiteando entrada na base), a escolha fica aleatória. Escolha no Término de uma Iteração - Empate na Saída e Degeneração. A ocorrência deste caso está relacionada com a igualdade do mínimo durante o teste do quociente. Como no empate na entrada, o que devemos fazer é escolher aletoriamente uma das duas variáveis que podem sair da base. No caso do empate dos quocientes, após se pivotar, a variável mantida na base ficará com valor zero. Dizemos, então, que a solução básica é degenerada. A degeneração consiste em uma solução básica na qual uma das variáveis básicas tem o valor zero. No começo do uso do Método Simplex, essa problemática despertava interesse, uma vez que poderia ocorrer o que se chama de ciclagem ou loop (quando uma variável fica nula e tende a ser tirada da base, contudo no novo passo a variável que entrou não ocasiona mudança no valor da função, gerando assim um processo infinito de troca de base). Em modelos reais, pelo arredondamento e pelos coeficientes menos exatos, esse problema tende a não ocorrer. Contudo, ressaltamos que se houver algum erro durante o processo de cálculo computacional, esse fenômeno não deve ser totalmente descartado Base Artificial. Até aqui todos os problemas apresentados estavam na forma canônica (ou pelo menos em uma forma padrão de fácil transformação) e com uma base inicial. Entretanto, apesar desta ser a condição inicial para a aplicação do algoritmo, em muitos problemas não se tem uma base inicial, impossibilitando o uso do Método Simplex. L. A. P. Cantão & F. S. Stark 51

53 Capítulo 3. Método Simplex Nesta seção serão abordados dois recursos para lidar com a situação descrita anteriormente. Tais métodos consistem na inserção de variáveis artificiais, produzindo como consequência uma base artificial. Com esse artifício espera-se que, por meio de pivoteamentos, a base artificial seja substituída por uma base com variáveis reais do modelo. Variáveis Artificiais. Para o caso geral, introduzimos m variáveis artificiais a cada equação. Às vezes, o modelo apresenta variáveis que só figuram em uma equação, constituindo parte de uma base. Nesse caso, podemos economizar nas variáveis a serem introduzidas, de modo que o número de variáveis artificiais pode ser inferior a m. Seja o sistema geral: max c 1 x 1 + c 2 x c n x n Suj. a: a 11 x 1 + a 12 x a 1n x n + x a1 = b 1 a 21 x 1 + a 22 x a 2n x n + x a2 = b =. a m1 x 1 + a m2 x a mn x n +x am = b 1 x 1,..., x n, x a1,..., x am 0 Embora agora o problema esteja na forma esperada para ser utilizado pelo Método Simplex, temos variáveis que não fazem parte do sistema original. Na solução final desejamos que as variáveis extras sejam retiradas da base estando no nível zero. Para forçar a saída das variáveis artificiais, utilizamos dois métodos: Método do M Grande e o Método das Duas Fases O Método do M-Grande O Método do M-Grande, ou Big M, consiste em se acrescentar à função objetivo do problema original as variáveis artificiais com coeficientes negativos muito grandes ( M) nos casos de maximização, ou (+M) no caso de minimização. Como se quer aperfeiçoar a função objetivo, as variáveis artificiais deverão ter seus valores reduzidos a zero e sair da base. Se, ao final das iterações necessárias de otimização, for encontrado um valor ótimo de f (x), e todas as variáveis artificiais estiverem nulas e fora da base, então este valor será o mesmo do problema original, indicando também o valor das variáveis de decisão. Caso a solução ótima contenha uma variável artificial, o problema é infactível, apontando que nem todas as variáveis artificiais puderam ser retiradas da base. Contudo, se na solução, o ótimo de f (x) conter alguma variável artificial na base com valor nulo, significa então que as equações nas quais elas estão presentes são redundantes no sistema, podendo ser eliminadas. A seguir apresentamos um exemplo de como esse método é utilizado em problemas manuais. Exemplo 16. Seja o seguinte problema com duas variáveis: min f (x) = 4x 1 + x 2 Suj. a: 3x 1 + x 2 = 3 4x 1 + 3x 2 6 x 1 + 2x 2 4 x 1, x 2 0 L. A. P. Cantão & F. S. Stark 52

54 Capítulo 3. Método Simplex Acrescentando duas variáveis x 3 de sobra e x 4 de folga, na forma de equações temos: min f (x) = 4x 1 + x 2 Suj. a: 3x 1 + x 2 = 3 4x 1 + 3x 2 x 3 = 6 x 1 + 2x 2 + x 4 = 4 x 1, x 2, x 3, x 4 0 A terceira equação tem uma variável da folga (x 4 ), mas a primeira e a segunda não têm. Colocamos então variáveis artificiais Xa 1 e Xa 2 (estão em maiúsculo para destacar que tratam-se de variáveis artificiais) e com os coeficientes M positivos, pois é um problema de minimização: min f (x) = 4x 1 + x 2 + MXa 1 + MXa 2 Suj. a: 3x 1 + x 2 + Xa 1 = 3 4x 1 + 3x 2 x 3 + Xa 2 = 6 x 1 + 2x 2 + x 4 = 4 x 1, x 2, x 3, x 4, Xa 1, Xa 2, 0 Agora temos uma solução básica inicial dada por (Xa 1, Xa 2, x 4 ) = (3, 6, 4). Em muitas obras literárias, M é manipulado algebricamente (não está associado valor algum à variável, usando-a apenas nos cálculos), contudo, como é mais usual a implementação dos problemas na forma computacional, utilizaremos um valor numérico para M. O valor a ser escolhido deveria ser teoricamente infinito contudo, na rotina dos cálculos em computadores, a interação entre números muito grandes e outros muito pequenos pode ocasionar erros de arredondamento. Para evitar que tal fato ocorra, devemos escolher o valor de M suficientemente grande em relação aos coeficientes da função objetivo, sendo assim, no presente caso utilizaremos M = 100, pois os coeficientes de x 1 e x 2 são respectivamente 4 e 1, ou seja, 100 é grande se comparado à esses valores. O sistema em forma de quadros é: Base f (x) x 1 x 2 x 3 Xa 1 Xa 2 x 4 b Linha min (0) Xa (1) Xa (2) x (3) Tabela 3.13: Dados apresentados na forma de quadro. Podemos observar no quadro, que a solução inicial resulta em f (x) = 900 e não zero como mostrado na linha(0), isto ocorre pois, os coeficientes de Xa 1 e Xa 2 são nulos. Para colocarmos o sistema com essa característica, e torná-lo consistente, devemos operar com as outras linhas de maneira a anular os coeficientes das variáveis artificiais na função objetivo. Fazendo-se a linha(1) e a linha(2) vezes 100 e somando-se a linha(0), obtemos os resultados que seguem na Tabela Como trata-se de um problema de minimização, o coeficiente de maior valor positivo deverá entrar na base, neste caso a variável é x 1. A razão mínima da condição de viabilidade especifica Xa 1 como a variável que sai. Após as operações pertinentes, temos os resultados da Tabela Agora quem deverá entrar é x 2, saindo Xa 2 da base. Após mais duas iterações, a solução será: L. A. P. Cantão & F. S. Stark 53

55 Capítulo 3. Método Simplex Base f (x) x 1 x 2 x 3 Xa 1 Xa 2 x 4 b Linha min (0) Xa (1) Xa (2) x (3) Tabela 3.14: Dados transformados para a realização dos passos do Simplex. Base f (x) x 1 x 2 x 3 Xa 1 Xa 2 x 4 b Linha min (0) x /3 0 1/ (1) Xa /3-1 -4/ (2) x /3 0-1/ (3) Tabela 3.15: Dados apresentados na forma de quadro. x 1 = 2 5 ; x 2 = 9 5 com f (x) = O Método das Duas Fases O método das duas fases consiste em: 1. Primeira Fase Coloque o sistema na forma de resolução do Simplex, incluindo as variáveis não básicas e artificiais. Independentemente do requisito da função objetivo maximização ou minimização faça um quadro com uma função de minimização da soma das variáveis artificiais no lugar da função objetivo. Se o valor mínimo da soma for positivo, o problema de não tem solução viável, ou seja, alguma(s) das variáveis artificiais não saiu da base; Caso contrário, passamos à segunda fase. 2. Segunda Fase Com a solução encontrada no sistema anterior, substituímos r por f (x) no quadro, utilizando posteriormente essa mesma solução como a solução básica viável inicial para o problema original. Exemplo 17. Considere o problema de do Exemplo 16. Fase I min r = Xa 1 + Xa 2 Sujeito a 3x 1 + x 2 + Xa 1 = 3 4x 1 + 3x 2 x 3 + Xa 2 = 6 x 1 + 2x 2 + x 4 = 4 x 1, x 2, x 3, x 4, Xa 1, Xa 2 0 A Tabela 3.16 está associado ao problema acima. L. A. P. Cantão & F. S. Stark 54

56 Capítulo 3. Método Simplex Base x 1 x 2 x 3 Xa 1 Xa 2 x 4 f (x) r Xa Xa x Tabela 3.16: Dados apresentados na forma de quadro. Como no método M-grande, Xa 1 e Xa 2 são substituídas na linha r usando: r modificada = r antiga + (1 linha Xa linha Xa 2 ) A linha r modificada é usada para resolver a Fase I do problema, fornecendo a Tabela 3.17 ótima. Base x 1 x 2 x 3 Xa 1 Xa 2 x 4 f (x) r x /5 3/5-1/5 0 3/5 x /5 4/5 3/5 0 6/5 x Tabela 3.17: Final da Fase I. Como mínimo r = 0, a Fase I produz a solução básica viável x 1 = 3 5, x 2 = 6 5 e x 4 = 1. Nesse ponto, as variáveis artificiais concluíram sua missão e podemos eliminar totalmente suas colunas da tabela (e da formulação do problema de ) e passar para a Fase II. Fase II Escrevemos o problema original como: min f (x) = 4x 1 + x 2 Sujeito a x x 3 = 3 5 x x 3 = 6 5 x 3 + x 4 = 1 x 1, x 2, x 3, x 4 0 Em essência, a Fase I é um procedimento que transforma as equações de restrição originais de maneira a fornecer uma solução básica viável inicial para o problema, se houver. Agora, aplica-se o método Simplex até obter a solução ótima (verifique como exercício). 3.3 Análise de Sensibilidade Considere a questão a seguir: dada a solução ótima de um problema de Programação Linear, para quais faixas de valores dos coeficientes a solução ótima seria mantida? Para responder essa questão, fazemos o que se chama de Análise de Sensibilidade. De modo geral, os parâmetros em modelos de não são exatos. Com a análise de sensibilidade podemos averiguar o impacto dessa incerteza sobre a qualidade da solução ótima. Por exemplo, no caso do lucro unitário L. A. P. Cantão & F. S. Stark 55

57 Capítulo 3. Método Simplex estimado de um produto, se a análise de sensibilidade revelar que a solução ótima não muda para uma variação de ±10% no lucro unitário, podemos concluir que a solução é mais encorpada do que quando a faixa de indiferença é de apenas ±1%. Os tipos de análises a serem feitas podem ser agrupadas de acordo com as alterações em: Alterações Simples alterações nos coeficientes de custo, c j ; alterações nas constantes b i ; alterações nas restrições, como adição (ou exclusões) de restrições ou variáveis. Alterações Sistemáticas - Programação Paramétrica alterações sistemáticas nos c j ; alterações sistemáticas nos b i ; Note que quando falamos de Análise de Sensibilidade, estamos nos referindo às alterações pontuais, uma de cada vez. Caso existam modificações simultâneas em diversas partes do problema, devemos considerá-lo como novo, resolvendo-o desde o ínicio. Nesta seção trataremos graficamente e algebricamente dos casos: 1. Alterações nas constantes b i (lado direito das restrições); 2. Alterações nos coeficientes de custo, c j (coeficientes da função objetivo). Para tanto utilizaremos exemplos Análise de Sensibilidade gráfica Alterações nas constantes b i (lado direito das restrições) Exemplo 18. A Jobco produz dois produtos em duas máquinas. Uma unidade do produto 1 requer duas horas na máquina 1 e uma hora na máquina 2. Para o produto 2, uma unidade requer uma hora da máquina 1 e três horas da máquina 2. As receitas por unidade dos produtos 1 e 2 são $30 e $20, respectivamente. O tempo de processamento diário disponível para cada máquina é oito. Representando o número diário de unidade de produtos 1 e 2 por x 1 e x 2, respectivamente, o modelo é dado como: max f (x) = 30x x 2 Sujeito a 2x 1 + x 2 8 (Máquina 1) x 1 + 3x 2 8 (Máquina 2) x 1, x 2 0 A figura 3.4 ilustra a variação na solução ótima quando são feitas alterações na capacidade da máquina 1. Se a capacidade diária for aumentada de oito horas para nove horas, a nova solução ótima ocorrerá no ponto G. A taxa de variação em f (x) ótima resultante da alteração da capacidade da máquina 1 pode ser calculada da seguinte maneira: L. A. P. Cantão & F. S. Stark 56

58 Capítulo 3. Método Simplex Figura 3.4: Gráfico de análise de sensibilidade da solução ótima a variações na disponibilidade de recursos. Taxa de variação na receita resultante do aumento de uma hora na capacidade da máquina (ponto C para ponto G) = z g z c (Alteração na capacidade) = = $14/h. A taxa calculada fornece uma ligação direta entre a entrada do modelo (recursos) e sua saída (receita total),que representa o valor unitário equivalente de um recurso (em $/hora), isto é, a variação no valor ótimo da função objetivo por unidade de variação na disponibilidade do recurso (capacidade da máquina). Isso significa que uma unidade de aumento (redução) na capacidade da máquina 1 aumentará (reduzirá) a receita em $14. Embora o valor unitário equivalente de um recurso seja uma descrição adequada da taxa de variação da função objetivo, o nome técnico, preço dual ou preço sombra, agora é um padrão na literatura de, e em todos os pacotes comerciais. Examinada a figura 3.4, podemos ver que o preço dual de 14/h permanece válido para variações (aumentos ou reduções) na capacidade da máquina 1 que deslocam sua restrição paralelamente para qualquer ponto sobre o segmento de reta BF. Isso significa que a faixa de aplicabilidade de determinado preço dual pode ser calculada da seguinte maneira: Capacidade mínima da máquina 1 (em B = (0, 2.67)) = = 2.67/h Capacidade máxima da máquina 1 (em E = (8, 0)) = = 16/h Deste modo, podemos concluir que o preço dual permanecerá válido para a faixa: 2.67/h Capacidade da máquina 1 16/h. Variações fora dessa faixa produzirão um preço dual (equivalente por unidade) diferente. L. A. P. Cantão & F. S. Stark 57

59 Capítulo 3. Método Simplex Usando cálculos semelhantes, você pode verificar que o preço dual para a capacidade da máquina 2 é de $2/h e permanece válido para variações (aumentos ou reduções) que deslocam sua restrição paralelamente para qualquer ponto sobre o segmento de reta DE, o que resulta nos seguintes limites: Capacidade mínima da máquina 2 (em D = (4, 0)) = = 4/h Capacidade máxima da máquina 2 (em D = (0, 8)) = = 24/h A conclusão é que o preço dual de $2/h para a máquina 2 continuará aplicável para a faixa: 4 horas Capacidade da máquina 2 24 horas Os limites calculados para as máquinas 1 e 2 são denominados faixas de viabilidade. Os preços duais permitem tomar decisões econômicas sobre o problema de como demonstram as respostas às perguntas apresentadas a seguir. 1. Se Jobco puder aumentar a capacidade de ambas as máquinas, qual deve receber maior prioridade? 2. É dada uma sugestão para aumentar as capacidades as máquinas 1 e 2 ao custo adicional de $10/h. Isso é aconselhável? Pense na resposta e o porque da decisão. Alterações nos coeficientes de custo, c j (coeficientes da função objetivo) Exemplo 19. A figura 3.5 mostra o gráfico da região de soluções do problema da Jobco apresentado no Exemplo 18. A solução ótima ocorre no ponto C (x 1 = 3.2; x 2 = 1.6; f (x) = 128). Figura 3.5: Análise de sensibilidade da solução ótima às variações nas receitas unitárias (coeficientes da função objetivo). L. A. P. Cantão & F. S. Stark 58

60 Capítulo 3. Método Simplex Alterações nas receitas unitárias (isto é, nos coeficientes da função objetivo) alterarão da inclinação de f (x). Contudo, como podemos ver pela figura, a solução ótima continuará no ponto C contanto que a função objetivo esteja entre as retas BF e DE (retas que representam as restrições das máquinas 1 e 2, respectivamente), as duas restrições que definem o ponto ótimo. Isso significa que há uma faixa para os coeficientes da função objetivo que manterá inalterada a solução ótima em C. Podemos escrever a função objetivo no formato geral. max f (x) = c 1 x 1 + c 2 x 2 Agora imagine que a reta f (x) gire em torno de C no sentido horário e anti-horário. A solução ótima permanecerá no ponto C enquanto f (x) = c 1 x 1 + c 2 x 2 estiver entre as duas retas, x 1 + 3x 2 = 8 e 2x 1 + x 2 = 8. Isso significa que a razão c1 c 2 pode variar entre 1 3 e 2 1, o que resulta na seguinte condição: 1 3 c 1 c ou c 1 c 3 2 Essa informação pode fornecer respostas imediatas referentes à solução ótima, como demonstram as respostas às perguntas a seguir. 1. Suponha que as receitas unitárias para os produtos 1 e 2 sejam alteradas para $35 e $25, respectivamente. A solução ótima atual permanecerá a mesma? 2. Suponha que a receita unitária do produto 2 seja fixada em um valor atual de c 2 = $20. Qual é a faixa de variação para c 1, a receita unitária do produto 1, que manterá a solução ótima inalterada? Tente responder as questões Análise de Sensibilidade algébrica Alterações nas constantes b i (lado direito das restrições) Esta seção estende a análise ao modelo geral de. Um exemplo numérico será usado para facilitar a apresentação. Exemplo 20. A Toyco monta três tipos de brinquedos trens, caminhões e carros usando três operações. Os limites diários dos tempos disponíveis para as três operações são 430, 460 e 420 minutos, respectivamente, e as receitas por unidade de trem, caminhão e carro de brinquedos são $3, $2 e $5,respectivamente. Os tempos de montagem por trem nas três operações são 1, 2 e 1 minutos, respectivamente. Os tempos correspondentes por caminhão e por carro são (3, 0, 2) e (1, 4, 0) minutos (o tempo zero indica que a operação não foi usada). Representando o número diário de unidades montadas de trens, caminhões e carros,respectivamente, o problema de associado é dado por: max f (x) = 3x 1 + 2x 2 + 5x 3 Sujeito a x 1 + 2x 2 + x (Operação 1) 3x 1 + 2x (Operação 2) x 1 + 4x (Operação 3) x 1, x 2, x 3 0 Usando x 4, x 5 e x 6 como variáveis de folga para as restrições das operações 1, 2 e 3, respectivamente, a tabela encontrada ao final da resolução é: L. A. P. Cantão & F. S. Stark 59

61 Capítulo 3. Método Simplex Base f(x) x 1 x 2 x 3 x 4 x 5 x 6 b Linha max (0) x 2 0-1/ /2-1/ (1) x 3 0 3/ / (2) x (3) Tabela 3.18: Dados da solução ótima do problema. $1350. A solução recomenda a fabricação de 100 caminhões e 230 carros, mas nenhum trem. A receita associada é Determinação de preços duais As restrições do modelo após a adição das variáveis de folga x 4, x 5 e x 6 podem ser expressas como x 1 + 2x 2 + x 3 + x 4 = 430 (Operação 1) 3x 1 + 2x 3 + x 5 = 460 (Operação 2) x 1 + 4x 2 + x 6 = 420 (Operação 3) ou x 1 + 2x 2 + x 3 = 430 x 4 (Operação 1) 3x 1 + 2x 3 = 460 x 5 (Operação 2) x 1 + 4x 2 = 420 x 6 (Operação 3) Com essa representação, as variáveis de folga têm as mesmas unidades (minutos) que os tempos de operação. Assim, podemos dizer que uma redução de 1 minuto na variável de folga é equivalente ao aumento de 1 minuto no tempo de operação. Podemos usar essas informações para determinar os preços duais pela equação de maximização de f (x) na tabela ótima 3.18 abaixo: f (x) + 4x 1 + x 4 + 2x 5 + 0x 6 = 1350 Essa equação pode ser expressa como: f (x) + 4x 1 + x 4 + 2x 5 + 0x 6 = 1350 = f (x) = x 1 + 1( x 4 ) + 2( x 5 ) + 0( x 6 ) Dado que um decréscimo no valor de uma variável de folga é equivalente a um aumento em seu tempo de operação, obtemos: f (x) = x (aumento no tempo de Operação 1) + 2 (aumento no tempo de Operação 2) + 0 (aumento no tempo de Operação 3) Essa equação revela que 1. um aumento de 1 minuto no tempo de operação 1 provoca um aumento de $1 em f (x); 2. um aumento de 1 minuto no tempo de operação 2 provoca um aumento de $2 em f (x); 3. um aumento de 1 minuto no tempo de operação 3 não altera f (x); L. A. P. Cantão & F. S. Stark 60

62 Capítulo 3. Método Simplex Resumindo, a linha (0) na tabela simplex ótima fornece diretamente os preços duais, como mostra a Tabela Recurso Variável Coeficiente da variável de Preço dual de folga folga na linha (0) ($/minuto) Operação 1 x Operação 2 x Operação 3 x Tabela 3.19: Preços duais. Esses cálculos mostram como os preços duais são determinados de acordo com a tabela simplex ótima para restrições. Para restrições, a mesma idéia continua aplicável, exceto que o preço dual assumirá o sinal oposto do associado à restrição. Quanto ao caso em que a restrição for uma equação, a determinação do preço dual com base na tabela simplex ótima requer cálculos mais aprimorados (vide [Taha]). Determinação das faixas de viabilidade Agora que já determinamos os preços duais, mostreremos como são determinadas as faixas de viabilidade nas quais os preços permanecem válidos. Representando as variações (positivas ou negativas) nos tempos diários de fabricação alocados às operações 1, 2 e 3 por D 1, D 2 e D 3, respectivamente, o modelo pode ser expresso da seguinte maneira: x 1 + 2x 2 + x D 1 (Operação 1) 3x 1 + 2x D 2 (Operação 2) x 1 + 4x D 3 (Operação 3) x 1, x 2, x 3 0 Consideraremos o caso geral de alterações simultâneas. Os casos especiais de uma alteração por vez são derivados desses resultados. O procedimento é baseado em recalcular a tabela simplex ótima com o lado direito modificado, e depois derivar as condições que manterão a solução viável, isto é, o lado direito da tabela ótima permanecerá não negativo. Para mostrar como o lado direito é recalculado, começamos modificando a coluna Solução da tabela inicial usando novos lados direitos. Assim, a tabela simplex inicial terá o seguinte aspecto: Base f(x) x 1 x 2 x 3 x 4 x 5 x 6 LD D 1 D 2 D 3 max x x x Tabela 3.20: Dados para cálculos das faixas de viabilidade. As colunas sob D 1, D 2 e D 3 são idênticas às que estão sob as colunas básicas iniciais x 4, x 5 e x 6. Isso significa que, quando executamos as mesmas iterações simplex que as do modelo original, as colunas dos dois grupos devem ter resultados idênticos também. Na verdade, a nova tabela ótima ficará: L. A. P. Cantão & F. S. Stark 61

63 Capítulo 3. Método Simplex Base f(x) x 1 x 2 x 3 x 4 x 5 x 6 LD D 1 D 2 D 3 max x 2 0-1/ /2-1/ /2-1/4 0 x 3 0 3/ / /2 0 x Tabela 3.21: Dados finais para os cálculos das faixas de viabilidade. A nova tabela simplex ótima fornece a seguinte solução ótima: f (x) = D 1 + 2D 2 x 2 = D D 2 x 3 = D 2 x 6 = 20 2D 1 + D 2 + D 3 A solução atual permanece viável, contanto que todas as variáveis sejam não negativas, o que resulta nas seguintes condições de viabilidade: x 2 = D D 2 0 x 3 = D 2 0 x 6 = 20 2D 1 + D 2 + D 3 0 Quaisquer variações simultâneas de D 1, D 2 e D 3 que satisfaçam essas desigualdades manterão a solução viável. Se todas as condições forem satisfeitas, então a nova solução ótima pode ser encontrada por meio de substituição direta de D 1, D 2 e D 3 nas equações dadas anteriormente. Vejamos três situações sobre o resultado acima: 1. Suponha que o tempo de fabricação disponível para as operações 1, 2 e 3 sejam 480, 440 e 410 minutos, respectivamente. Para esta situação a solução atual permanece viável? 2. E se os tempos forem 400, 482 e 450 minutos? 3. Como calculamos as faixas de viabilidade individuais que resultam da variação dos recursos um por vez? Desenvolva cada item. Alterações nos coeficientes de custo, c j (coeficientes da função objetivo) Exemplo 21. Definição de custo reduzido. Para facilitar a explicação da análise de sensibilidade da função objetivo, primeiro precisamos definir custos reduzidos. No modelo da Toyco, a função objetivo f (x) na tabela ótima é: f (x) = x 1 x 4 2x 5 A solução ótima não recomenda a produção de trens de brinquedo (x 1 = 0). Essa recomendação é confirmada pela informação dada por f (x) porque cada unidade de aumento em x 1 acima de seu nível zero atual reduzirá o valor de f (x) em $4. L. A. P. Cantão & F. S. Stark 62

64 Capítulo 3. Método Simplex Podemos considerar o coeficiente de x 1 como um custo unitário porque ele provoca uma redução na receita f (x). Mas de onde vem esse custo? Sabemos que x 1 tem sua receita unitária de $3 no modelo original. Também sabemos que cada trem de brinquedo consome recursos (tempos de operações) que, por sua vez, incorrem em custo. Assim, a atratividade de x 1 do ponto de vista da otimização depende dos valores relativos da receita por unidade e do custo dos recursos consumidos por unidade. Essa relação é formalizada ao se definir custo reduzido como: (Custo reduzido por unidade) = (Custo dos recursos consumidos por unidade) (Receita por unidade) Para avaliar a relevência dessa definição, no modelo original da Toyco, a receita por unidade para caminhões de brinquedo (= $2) é menor do que a para trens de brinquedo ($3). Ainda assim, a solução ótima aconselha fabricar caminhões de brinquedo (x 2 = 100 unidades) e nenhum trem. A razão para esse resultado (aparentemente não intuitivo) é que o custo unitário dos recursos usados para caminhões de brinquedo (isto é, tempos de operações) é menor do que seu preço unitário. O oposto se aplica ao caso dos trens de brinquedo. Pela definição dada de custo reduzido, agora podemos ver que uma variável não lucrativa (como x 1 ) pode vir a ser lucrativa de dois modos: 1. Com o aumento da receita unitária; 2. Com a redução de custo unitário dos recursos consumidos. Em grande parte das situações reais, o preço por unidade pode não ser uma opção viável porque seu valor é determinado por condições de mercado. Portanto, a opção real é reduzir o consumo de recursos, talvez aumentando a eficiência do processo de produção. Determinação das faixas de otimalidade Agora voltemos nossa atenção à determinação das condições que manterão uma solução ótima inalterada. A apresentação é baseada na definição de custo reduzido. No modelo da Toyco, representamos a variação nas receitas unitárias para caminhões, trens e carros de brinquedo por d 1, d 2 e d 3, respectivamente. Desse modo, a função objetivo se torna: max f (x) = (3 + d 1 )x 1 + (2 + d 2 )x 2 + (5 + d 3 )x 3 O procedimento para a análise de sensibilidade é o mesmo para o lado direito, realizado anteriormente. Com as variações simultâneas, a linha (0) na tabela simplex inicial aparece como: Base f(x) x 1 x 2 x 3 x 4 x 5 x 6 Solução max 1 3 d 1 2 d 2 5 d Tabela 3.22: Dados da linha (0). Quando geramos as tabelas simplex usando a mesma sequência das variáveis que entram e que saem do modelo original (antes da introdução das variáveis d j ), a iteração ótima aparecerá como segue na Tabela Como estamos lidando com um problema de maximização, a solução atual permanece ótima, contanto que os novos custos reduzidos permaneçam não negativos para todas as variáveis não básicas. Assim, temos as seguintes condições de otimalidade correspondentes às variáveis não básicas x 1, x 4 e x 5 : L. A. P. Cantão & F. S. Stark 63

65 Capítulo 3. Método Simplex Base f(x) x 1 x 2 x 3 x 4 x 5 x 6 Solução max d d 3 d d d d d d 3 x 2 0-1/ /2-1/ x 3 0 3/ /2 230 x 6 0-1/ Tabela 3.23: Nova tabela simplex. x 1 = d d 3 d 1 0 x 4 = d 2 0 x 5 = d d 3 0 Essas condições devem ser satisfeitas simultaneamente para manter a otimalidade da solução ótima atual. Considere uma modificação como: 1. Para ilustrar a utilização dessas condições, suponha que a função objetivo da Toyco seja alterada de max f (x) = 3x 1 + 2x 2 + 5x 3 para max f (x) = 2x 1 + x 2 + 6x 3 A solução ótima será mantida? 3.4 Exercícios Propostos 1. Resolva o programa linear em uma iteração: max f (x) = 12x 1 + 9x x 3 Sujeito a x 1 + x 2 + x x x 2 + x 3 5 3x 1 + 7x 2 + 5x 3 5 x 1, x 2, x Resolva o seguinte problema de programação linear utilizando o Método Simplex: max f (x) = x 1 + 2x 2 Sujeito a 6x x 2 30 x 1 6 x 1, x 2 0 L. A. P. Cantão & F. S. Stark 64

66 Capítulo 3. Método Simplex 3. Utilize o Método Simplex para resolver o seguinte problema de Programação Linear: max f (x) = 5x 1 + 2x 2 Sujeito a x 1 4 x 2 5 2x 1 + x 2 10 x 1, x Resolva, utilizando o Método das Duas Fases, o seguinte problema de programação linear: max f (x) = x 1 + 2x 2 + 3x 3 x 4 Sujeito a x 1 + 2x 2 + 3x 3 = 15 2x 1 + x 2 + 5x 3 = 20 x 1 + 2x 2 + x 3 + x 4 = 10 x 1, x 2, x 3, x Resolva o problema de programação linear proposto a seguir e constate que a solução é ilimitada: max f (x) = 2x 1 + 3x 2 Sujeito a x 1 + 2x 2 8 2x 1 + 3x 2 5 x 1 + x 2 6 x 1, x Considere o seguinte problema de : (a) Expresse o problema em forma de equação. max f (x) = 2x 1 + 3x 2 Sujeito a x 1 + 3x 2 6 3x 1 + 2x 2 6 x 1, x 2 0 (b) Determine todas as soluções básicas do problema e classifique-as como viáveis básicas e não básicas. (c) Use a substituição direta na função objetivo para determinar a solução básica viável ótima. (d) Verifique graficamente que a solução obtida em (c) é a solução ótima do problema de daí, conclua que a solução ótima pode ser determinada algebricamente considerando somente soluções básicas viáveis. (e) Mostre como as soluções básicas não viáveis são representadas graficamente na região de soluções. 7. Considere o seguinte problema de : max f (x) = 2x 1 + 3x 2 + 5x 3 Sujeito a 6x 1 + 7x 2 9x 3 4 x 1 + x 2 + 4x 3 = 6 x 1, x 3 0 x 2 R L. A. P. Cantão & F. S. Stark 65

67 Capítulo 3. Método Simplex A conversão na forma de equação envolve utilizar a substituição x 2 = x2 x 2 +. Mostre que a solução básica não pode incluir ambas, x2 e x 2 +, simultaneamente. 8. Considere o seguinte problema de : max f (x) = x 1 + 3x 2 Sujeito a x 1 + x 2 2 x 1 + x 2 4 x 1 R x 2 0 (a) Determine todas as soluções básicas viáveis do problema. (b) Use substituição direta na função objetivo para determinar a melhor solução básica. (c) Resolva o problema pelo método gráfico e verifique que a solução obtida no item anterior é a ótima. 9. Considere o seguinte conjunto de restrições: x 1 + 2x 2 + 2x 3 + 4x x 1 x 2 + x 3 + 2x 4 8 4x 1 2x 2 + x 3 x 4 10 x 1, x 2, x 3, x 4 0 Resolva o problema para cada uma das seguintes funções objetivo. (a) max f (x) = 2x 1 + x 2 3x 3 + 5x 4. (b) max f (x)8x 1 + 6x 2 + 3x 3 2x 4. (c) max f (x) = 3x 1 x 2 + 3x 3 + 4x 4. (d) max f (x) = 5x 1 4x 2 + 6x 3 8x Considere o seguinte problema de : max f (x) = x 1 Sujeito a 5x 1 + x 2 = 4 6x 1 + x 3 = 8 3x 1 + x 4 = 3 x 1, x 2, x 3, x 4 0 (a) Resolva o problema por inspeção (não use as operações de linha por Gauss-Jordan) e justifique a resposta em termos das soluções básicas do Método Simplex. (b) Repita o item anterior considerando que a função objetivo exige min f (x) = x Considere o seguinte problema de : max f (x) = 16x x 2 Sujeito a 40x x x 1 + x 2 1 x 1 3 x 1, x 2 0 L. A. P. Cantão & F. S. Stark 66

68 Capítulo 3. Método Simplex (a) Resolva o problema pelo método simplex, no qual a variável que entra na base é a variável não básica que tem o coeficiente mais negativo na linha da função objetivo. (b) Resolva o problema pelo método simplex, sempre selecionando a variável que entra na base como a variável não básica que tem o coeficiente menos negativo na linha da função objetivo. (c) Compare o número de iterações dos dois itens anteriores. A seleção da variável que entra na base como variável não básica que tem o coeficiente mais negativo resulta em um número menor de iterações? A que conclusão podemos chegar quanto à condição de otimalidade? (d) Suponha que o sentido de otimização seja mudado para minimização multiplicando f (x) por 1. Como essa alteração afeta as iterações no método simplex? 12. Considere o seguinte conjunto de restrições: 2x 1 + 3x 2 = 3 (1) 4x 1 + 5x 2 10 (2) x 1 + 2x 2 5 (3) 6x 1 + 7x 2 3 (4) 4x 1 + 8x 2 5 (5) x 1, x 2 0 Para cada um dos problemas a seguir, desenvolva a linha f (x) após substituir as variáveis artificiais: (a) max f (x) = 5x 1 + 6x 2 sujeito a (1), (3) e (4). (b) max f (x) = 2x 1 7x 2 sujeito a (1), (2), (4) e (5). (c) min f (x) = 3x 1 + 6x 2 sujeito a (3), (4) e (5). (d) min f (x) = 4x 1 + 6x 2 sujeito a (1), (2) e (5). (e) min f (x) = 3x 1 + 2x 2 sujeito a (1) e (5). 13. Mostre como o método do M-Grande vai indicar que o problema a seguir não tem nenhuma solução viável. max f (x) = 2x 1 + 5x 2 Sujeito a 3x 1 + 2x 2 6 2x 1 + x 2 2 x 1, x No modelo da Toyco determine se a solução atual mudará em cada umvdos seguintes casos (a) f (x) = 2x 1 + x 2 + 4x 3 (b) f (x) = 3x 1 + 6x 2 + x 3 (c) f (x) = 8x 1 + 3x 2 + 9x A Electra produz quatro tipos de motores elétricos, cada um em uma linha de montagem separada. As capacidades respectivas das linhas são 500, 500, 800 e 750 motores por dia. O motor do tipo 1 usa oito unidades de um certo componente eletrônico, o motor do tipo 2 usa cinco unidades, o motor do tipo 3 usa quatro unidades e o motor do tipo 4 usa seis unidades. O fabricante do componente pode fornecer 8000 peças por dia. Os preços dos componentes para os respectivos tipos de motor são $60, $40, $25 e $30 por motor. L. A. P. Cantão & F. S. Stark 67

69 Capítulo 3. Método Simplex (a) Determine o mix ótimo de produção diário. (b) A atual programação de produção atende às necessidades da Electra. Contudo, devido à concorrência, pode ser que a empresa precise reduzir o preço do motor do tipo 2. Qual é a redução que pode ser efetuada sem alterar a programação da produção atual? (c) A Electra decidiu reduzir em 25% o preço de todos os tipos de motores. Use análise de sensibilidade para determinar se a solução ótima permanecerá inalterada. (d) Atualmente, o motor do tipo 4 não é produzido. De quanto deveria ser o aumento no preço desse motor para ser incluído na programação de produção? L. A. P. Cantão & F. S. Stark 68

70 CAPÍTULO 4 Dualidade 4.1 Introdução A cada modelo de, a partir de agora denominado Primal (P), corresponde um outro denominado Dual (D). O relacionamento dos dois modelos é extremamente instigante e capaz de enriquecer a compreensão da Programação Linear e da sua interpretação econômica. No problema Primal busca-se a otimização dos níveis de atividades das variáveis de decisão, entendidas como as variáveis reais do problema em análise. No problema Dual a preocupação se dá com recursos disponíveis, avaliados a seus preços sombra (preços duais). Desse modo, o presente capítulo está fortemente relacionado com o final do anterior. Além disso, as soluções dos dois problemas estão de tal modo inter-relacionadas pois da solução ótima do problema Primal é possível reconhecer a solução do Dual. Inversamente, na solução ótima do Dual identificamos a solução do Primal. Inicialmente, mostraremos que o Dual é resultado de um problema de Programação Linear, e, por meio de exemplos simples, apresentamos as propriedades do relacionamento entre os dois problemas. Seguem, sem demonstrações formais, mas por meio de apelos intuitivos, os teoremas básicos da dualidade, completando o capítulo com a apresentação do Método Dual Simplex. 4.2 Definição do Problema Dual Em grande parte dos tratamentos de, o dual é definido para os vários formatos do primal dependendo do sentido de otimização (maximização ou minimização), dos tipos de restrições (, ou =) e da orientação das variáveis (não negativas ou irrestrita). Esse tipo de tratamento é um pouco confuso e, por essa razão, oferecemos uma definição única que abranja todas as formas do primal. Nossa definição do problema dual requer expressar o problema primal na forma de equações (todas as restrições são equações cujo lado direito é não negativo e todas as variáveis são não negativas). Esse requisito é consistente com o formato da tabela simplex inicial. Por consequência, quaisquer resultados obtidos com base na solução ótima do problema primal se aplicarão diretamente ao problema dual associado. Para mostrar como o problema dual é construído, o problema primal é definido na forma de equações da seguinte

71 Capítulo 4. Dualidade maneira: n Maximizar ou Minimizar f (x) = c j x j Sujeito a i=1 n a ij x j = b i, i = 1 : m i=1 x j 0, j = 1 : n. As variáveis x j, j = 1 : n incluem as variáveis de sobra, de folga e artificiais, se houver. A tabela 4.1 mostra como o problema dual é construído com base no problema primal. Efetivamente, temos: Variáveis primais do problema x 1 x 2... x j... x n Variáveis Lado duais do c 1 c 2... c j... c n direito problema y 1 a 11 a a 1j... a 1n b 1 y 2 a 21 a a 2j... a 2n b y m a m1 a m2... a mj... a mn b m Tabela 4.1: Construção do problema dual com base no problema primal. 1. Uma variável dual é definida para cada equação (restrição) primal; 2. Uma restrição dual é definida para cada variável primal; 3. Os coeficientes da restrição (coluna) de uma variável primal definem os coeficientes do lado esquerdo da restrição dual e seus coeficientes na função objetivo definem os coeficientes do lado direito; 4. Os coeficientes da função objetivo do problema dual são iguais aos coeficientes do lado direito das equações de restrição do problema primal. As regras para determinar o sentido da otimização (maximização ou minimização), o tipo da restrição (, ou =) e o sinal das variáveis duais estão na tabela 4.2. Função objetivo do Problema dual problema primal Objetivo Tipos de restrições Sinal das variáveis Maximização Minimização Irrestrita Minimização Maximização Irrestrita Tabela 4.2: Regras para construir o problema dual. Observe que o sentido da otimização no dual é sempre oposto ao do primal. Os exemplos a seguir demonstram a utilização das regras de construção do problema dual e também que a definição dada anteriormente incorpora todas as formas do primal. Exemplo 22. O Problema Primal é: max f (x) = 5x x 2 + 4x 3 Sujeito a x 1 + 2x 2 + x 3 10 x 1 x 2 + 3x 3 = 8 x 1, x 2, x 3 0 L. A. P. Cantão & F. S. Stark 70

72 Capítulo 4. Dualidade Na forma padrão: max f (x) = 5x x 2 + 4x 3 + 0x 4 Sujeito a x 1 + 2x 2 + x 3 + x 4 = 10 As variáveis duais são 10y 1 e 8y 2. O Problema Dual fica como: x 1 x 2 + 3x 3 = 8 x 1, x 2, x 3, x 4 0 min f (y) = 10y 1 + 8y 2 Sujeito a y 1 + y 2 5 2y 1 y 2 12 y 1 + 3y 2 4 y 1 + 0y 2 0 Agora utilizaremos um exemplo de minimização como primal. Exemplo 23. O Problema Primal é: y 1, y 2 irrestritas Na forma padrão: min f (x) = 15x x 2 Sujeito a x 1 + 2x 2 3 2x 1 4x 2 5 x 1, x 2 0 min f (x) = 15x x 2 + 0x 3 + 0x 4 Sujeito a x 1 + 2x 2 x 3 + 0x 4 = 3 As variáveis duais são 3y 1 e 5y 2. O Problema Dual fica como: 2x 1 4x 2 + 0x 3 + x 4 = 5 x 1, x 2, x 3, x 4 0 max f (y) = 3y 1 + 5y 2 Sujeito a y 1 + 2y y 1 4y 2 12 y 1 0 y 2 0 y 1, y 2 irrestritas Propriedades da Dualidade A partir do apresentado até aqui, podemos enumerar cinco propriedades que fornecem ao fim um resumo das regras de construção para o problema dual. Propriedade 1. O dual do dual é o primal. L. A. P. Cantão & F. S. Stark 71

73 Capítulo 4. Dualidade Para a forma dual do problema: max f (x) = 10x 1 + 7x x 3 S. a 5x 1 + 4x 2 + x 3 80 (y 1 ) 2x 1 + 3x 2 + 5x 3 30 (y 2 ) x 1, x 2, x 3 0 min f (y) = 80y y 2 S. a 5y 1 + 2y 2 10 (x 1 ) 4y 1 + 3y 2 7 (x 2 ) y 1 + 5y 2 15 (x 3 ) y 1, y 2 0 Do dual para o primal (ou o processo dual se considerarmos o sistema anterior como um primal): max f (x) = 10x 1 + 7x x 3 S. a 5x 1 + 4x 2 + x 3 80 (y 1 ) 2x 1 + 3x 2 + 5x 3 30 (y 2 ) x 1, x 2, x 3 0 Propriedade 2. Se a restrição m do primal é uma igualdade (=), então a variável y m do dual é sem restrição de sinal. Para a forma padrão: max f (x) = 5x 1 + 2x 2 S. a 5x 1 3 (y 1 ) x 2 = 4 (y 2 ) x 1 + 2x 2 9 (y 3 ) x 1, x 2 0 Para o dual: max f (x) = 5x 1 + 2x 2 S. a 5x 1 3 (y 1 ) x 2 4 (y 2 ) x 1 + 2x 2 9 (y 3 ) x 1, x 2 0 max f (y) = 3y 1 + 4(y 2 y + 2 ) + 9y 3 S. a y 1 + y 3 5 (y 2 y + 2 ) + 2y 3 2 y 1, y 2, y + 2, y 3 0 L. A. P. Cantão & F. S. Stark 72

74 Capítulo 4. Dualidade Propriedade 3. Se a restrição m do primal é maior que ou igual ( ), então a variável y m do dual é não positiva. Colocando todas as restrições como menor igual ( ): max f (x) = 5x 1 + 2x 2 S. a x 1 3 x 2 4 x 1 + 2x 2 9 x 1, x 2 0 max f (x) = 5x 1 + 2x 2 S. a x 1 3 (y 1 ) x 2 4 (y 2 ) x 1 + 2x 2 9 (y 3 ) x 1, x 2 0 Construindo o dual: min f (y) = 3y 1 4y 2 + 9y 3 S. a y 1 + y 3 5 y 2 + 2y 3 2 y 1, y 2, y 3 0 Utilizando uma variável substituta y 2 = y 2, temos: min f (y) = 3y 1 4y 2 + 9y 3 S. a y 1 + y 3 5 y 2 + 2y 3 2 y 1, y 3 0 y 2 0 Propriedade 4. Se a variável x j do primal é sem restrição de sinal, então a restrição j do dual é uma igualdade (=). Propriedade 5. Se a variável x j do primal é não positiva, então a restrição j do dual é maior ou igual ( ). Sintese das Propriedades A conclusão geral com base nos exemplos e nas propriedades é que as variáveis e restrições nos problemas primal e dual são definidas pelas regras na tabela Teoremas Fundamentais da Dualidade Até agora discutimos os conceitos básicos da dualidade e caracterizamos propriedades importantes para a construção do par primal-dual. Para completar a importância da dualidade na Programação Linear, faltam os teoremas fundamentais. A presente seção traz enunciados os teoremas e exemplos de sua aplicabilidade. L. A. P. Cantão & F. S. Stark 73

75 Capítulo 4. Dualidade Primal (max) Dual (min) k-ésima restrição é ( ) k-ésima variável dual é positiva y k 0 k-ésima restrição é (=) k-ésima variável dual irrestrita de sinal k-ésima restrição é ( ) k-ésima variável dual y k 0 p-ésima variável primal x p 0 p-ésima restrição é ( ) p-ésima variável primal irrestrita de sinal p-ésima restrição é (=) p-ésima variável primal x p 0 p-ésima restrição é ( ) Dual (max) Primal (min) Tabela 4.3: Regras para construir o problema dual. Teorema da Folga Complementar Seja x j (j = 1 : n) uma solução ótima para o problema primal de e y j (j = 1 : m) uma solução ótima do problema dual. Então, o seguinte é verdade: Se a k-ésima restrição de um dos problemas tem folga não-nula, então a k-ésima variável do outro problema é zero; Se a k-ésima variável de uma solução ótima de um dos problemas é positiva, a k-ésima restrição do outro é satisfeita com variável de folga igual a zero. Teorema Fraco da Dualidade Seja o par primal-dual e seja x um ponto qualquer factível para o problema primal, com o valor correspondente f p (x) para a função objetivo, e seja y um ponto qualquer factível para o problema dual, com valor correspondente f d (y) para a função objetivo. Então, para o caso da maximização do problema primal, o Teorema Fraco da Dualidade afirma que: f p (x) f d (y) Em termos intuitivos, o problema primal (P), que transforma insumos em produtos, busca maximizar a receita dos produtos, max f p (x). Já o problema dual (D) busca min f d (y), com a receita decorrente da venda das matériasprimas e o seu mínimo seria o valor que tornaria sua venda tão atrativa quanto a sua transformação. Cabe relembrar que, nessa interpretação, os custos administrativos e de transformação física são ignorados. Teorema do Critério de Otimalidade Seja um par primal-dual e seja x a solução ótima para o problema primal, com valor correspondente f p (x) para a função objetivo, e seja y a solução ótima para o problema dual, com valor correspondente f d (y) para a função objetivo. Então, o teorema do critério de otimalidade estabelece que: f p (x) = f d (y) Corolários dos Teoremas Abaixo temos alguns corolários pertinentes aos Teoremas. 1. Se o primal é ilimitado (f p (x) = + ), o dual não tem solução viável; L. A. P. Cantão & F. S. Stark 74

76 Capítulo 4. Dualidade 2. Inversamente, se o dual não tem solução viável, então o primal é ilimitado; 3. Se o dual é ilimitado (f d (y) = ), o primal não tem solução viável; 4. Inversamente, se o primal não tem solução viável, então o dual é ilimitado; Teorema Principal da Dualidade Seja um par primal-dual (P) e (D) tal que ambos tenham soluções factíveis. Então, ambos têm soluções ótimas, x e y, tais que f p (x) = f d (y) Quadro-resumo dos Teoremas Seguindo os teoremas e as propriedades enunciadas anteriormente, podemos escrever o quadro 4.4, que resume o relacionamento entre as soluções Primal e Dual. Primal Dual Tem solução Factível Não Tem Solução Factível Tem Solução Factível max f p = min f d max f p = Não Tem Solução Factível min f d = Pode ocorrer 4.3 Método Dual Simplex Tabela 4.4: Relações entre as soluções primal e dual. O Método Dual Simplex é aplicado em situações em que a solução inicial do primal é infactível, porém os elementos da linha da função objetivo são todos não negativos, indicando otimalidade. O método procura alcançar a factibilidade primal tornando as variáveis x j não negativas, mas preservando a factibilidade dual (mantendo a linha objetivo não negativa) Resumo do Método Suponha que o quadro do método apresente as seguintes características: Todos os elementos da linha objetivo são não negativos, ou seja, c j 0, para j = 1 : m. Esta condição é denominada otimalidade primal ou solução dual factível; A coluna b apresenta pelo menos um elemento negativo, isto é, a condição de não negatividade das variáveis não é atendida. Diz-se que a solução primal é infactível. O Método Dual Simplex é aplicado seguindo os passos: 1. Seleção da variável a deixar a base: escolha uma das variáveis negativas, de preferência a mais negativa. Seja b r = min{b i para b i < 0} Assim, a variável básica correspondente à linha r sai da base e a linha r é a linha do pivô. 2. Seleção da variável que entra na base: introduzir na base aquela variável cujo coeficiente na linha objetivo atingir zero mais rapidamente, quando um múltiplo da linha r for somado à linha objetivo. Podem ocorrer dois fatos: L. A. P. Cantão & F. S. Stark 75

77 Capítulo 4. Dualidade (a) A avaliação da variável a entrar na base se restringe às variáveis não básicas que tem um coeficiente negativo na linha r. A aplicação da lógica anterior conduz à regra dos coeficientes { } c k c j = max para a rj < 0 a rj j a rj Assim, a variável x k entra na base. Podemos seguir para o passo 3. (b) Caso a rj 0 para todo j = 1 : n, ou seja, a linha r não contém elementos negativos, então o problema não tem solução factível. Devemos parar então com a tentativa de resolução. 3. Achar uma nova solução básica em que a variável x k se torna básica. Isto equivale a efetuar um pivoteamento simplex em torno do elemento a rk. Vá para o passo Teste da Factibilidade Primal: se todos os b i, i = 1 : m forem não negativos a solução obtida é ótima, então podemos parar; caso contrário, voltar ao passo 1. Problemas de Minimização Há duas formas de tratar problemas deste tipo. São elas: 1. Consiste na conversão do problema de minimização em um problema de maximização. 2. Consiste em inverter o critério de escolha da variável a entrar na base, para o seguinte Assim, a variável x s entra na base. Observe o exemplo a seguir. Exemplo 24. Dado o problema linear { } c s c j = min para a rj > 0 a rs j a rj max f (x) = x 1 + x 2 x 3 S. a x Resolvendo este problema pelo Método Simplex (Primal). Incluindo as variáveis de excesso. x 1 + x 2 + x 3 2 x 1, x 2, x 3 0 max f (x) = x 1 + x 2 x 3 + 0x 4 + 0x 5 S. a x 1 + x 4 = 9 x 1 + x 2 + x 3 + x 5 = 2 x 1, x 2, x 3, x 4, x 5 0 Após colocar o problema na forma padrão escrevemos o quadro Simplex (Tabela 4.5). Pela checagem das variáveis vemos que x 2 entra, pois o aumento desta resulta em aumento de f (x). Sai x 5, uma vez que o teste de coeficiente só é possível para esta (Tabela 4.6). L. A. P. Cantão & F. S. Stark 76

78 Capítulo 4. Dualidade Base f(x) x 1 x 2 x 3 x 4 x 5 b Linha Max (0) x (1) x (2) Tabela 4.5: Primeiro quadro com o problema primal. Base f(x) x 1 x 2 x 3 x 4 x 5 b Linha Max (0) x (1) x (2) Tabela 4.6: Segundo quadro com o problema primal. Chegamos no valor máximo de f (x) uma vez que nenhuma outra variável é propicia ao aumento de f (x) (os coeficientes das variáveis x 1 e x 3 são positivos). Então, f (x) = 2 e x = (0, 2, 0, 9, 0). 2. Construindo e resolvendo o Dual. Na forma dual: max f (x) = x 1 + x 2 x 3 S. a x 1 9 (y 1 ) x 1 + x 2 + x 3 2 (y 2 ) x 1, x 2, x 3, 0 min f (y) = 9y 1 + 2y 2 S.a y 1 + y 2 1 y 2 1 y 2 1 y 1, y 2 0 Após colocar na forma padrão temos o quadro Dual Simplex (a coluna b foi renomeada para identificar o vetor b dual, assim b d ) Tabela 4.7. Base f(y) y 1 y 2 y 3 y 4 y 5 b d Linha Min (0) y (1) y (2) y (3) Tabela 4.7: Primeiro quadro com o problema dual. Como o caso é de minimização, buscaremos a variável mais positiva (para que o valor de f (y) tenha de ser o mais negativo possível), sendo que y 2 entra na base. A variável que sai da base é y 4 pois é a única na qual podemos aplicar o teste do coeficiente. Após as operações elementares, temos a Tabela 4.8. L. A. P. Cantão & F. S. Stark 77

79 Capítulo 4. Dualidade Base f(y) y 1 y 2 y 3 y 4 y 5 b d Linha Min (0) y (1) y (2) y (3) Tabela 4.8: Primeiro quadro com o problema dual. Aparentemente y 4 poderia entrar na base, contudo os elementos de sua coluna são todos negativos (o mesmo ocorre com y 1 ). Neste caso, paramos os passos e chegamos na solução f (y) = 2 e y = (0, 1, 2, 0, 2). 3. Por fim verificarmos a relação entre as soluções encontradas. As soluções encontradas são iguais, logo max f (x) = min f (y). Isso ocorre pois ambos os problemas (primal e dual) são factíveis. 4.4 Exercícios Propostos 1. Suponha o problema a seguir: Determine o Dual do problema. 2. Considere o seguinte problema de : max f (x) = 3x 1 2x 2 S. a 4x 1 + 2x x 1 3x 2 7 x 1 0 x 2 0 (a) Escreva o problema Dual. max f (x) = 2x 1 + 3x 2 S. a 2x 1 + 3x 2 6 x 1 + 2x 2 8 x 1 + x 2 6 x 1, x 2 0 (b) Sabendo que a solução primal é: x 1 = 2.4 e x 2 = 3.6, use o Teorema da Folga Complementar para determinar a sua solução dual. 3. Dê o Dual do problema a seguir numa tal forma que as variáveis Duais sejam não-negativas: max f (x) = 6x 1 + 4x 2 + x 3 + 7x 4 + 5x 5 S. a 3x 1 + 7x 2 8x 3 + 5x 4 + x 5 = 2 2x 1 + x 2 + 3x 3 + 2x 4 + 9x 5 = 6 x 1, x 2, x 3, x 4 0 x 5 R L. A. P. Cantão & F. S. Stark 78

80 Capítulo 4. Dualidade 4. Seja o seguinte problema primal: max f (x) = 3x 1 + x 2 + 5x 3 S. a 6x 1 + 3x 2 5x 3 45 (mão-de-obra) 3x 1 + 4x 2 + 5x 3 30 (matéria-prima) x 1, x 2, x 3 0 (a) Resolva o problema Primal pelo Método Simplex. (b) Escreva o problema Dual e identifique sua solução ótima. (c) Suponha que 15 unidades adicionais de matéria-prima podem ser obtidas ao custo de $10. É rentável aceitar essa proposta? (d) Ache a solução ótima caso a quantidade disponível de matéria-prima passse para 60 unidades. (e) Para que valores de c 1 a solução permanece ótima? 5. Resolver o problema Primal abaixo pelo Método Dual-Simplex, analisando e discutindo em seguida a solução encontrada. min f (x) = x 1 + x 2 + x 3 S. a x 1 2x 2 + x 3 2 x 1 + x 2 + x 3 1 x 1, x 2, x Escreva o problema Dual para cada um dos seguintes problemas Primais: (a) (b) (c) max f (x) = 5x 1 + 2x 2 S. a x 1 + x 2 2 2x 1 + 3x 2 5 x 1, x 2 0 min f (x) = 6x 1 + 3x 2 S. a 6x 1 3x 2 + x 3 2 3x 1 + 4x 2 + x 3 5 x 1, x 2, x 3 0 max f (x) = x 1 + x 2 S. a 2x 1 + x 2 = 5 3x 1 x 2 = 6 x 1, x 2 R 7. A BagCo produz jaquetas e bolsas de couro. Uma jaqueta requer 8m 2 e uma bolsa, apenas 2m 2. Os requisitos de mão-de-obra para os dois produtos são 12 e 5 horas, respectivamente. As disponibilidades semanais atuais de couro e mão-de-obra estão limitadas a 1200m 2 e 1850 horas. A empresa vende jaquetas e bolsas a $350 e $120, respectivamente. O objetivo é determinar a programação de produção que maximize a receita ĺıquida. A BagCo está considerando uma expansão de produção. Qual é o preço máximo de compra que a empresa deve pagar pelo couro adicional e para a mão-de-obra? L. A. P. Cantão & F. S. Stark 79

81 CAPÍTULO 5 Métodos de Pontos Interiores 5.1 Introdução A idéia dos Métodos de Pontos Interiores foi desenvolvida por Karmarkar, em 1984, quando ele publicou um artigo que buscava a solução de um problema de Programação Linear () através do interior da região viável. Deste então, houve muitas modificações no método, permanecendo a idéia básica: a de caminhar pelo interior da região viável. Atualmente existem três classes de métodos: os que consideram apenas problemas no formato primal, outros apenas no formato dual e, finalmente métodos que extraem informações dos dois problemas, conhecidos como Métodos Primais-Duais. Esta última classe será abordada aqui, com base em [12]. 5.2 Notação A maior parte do desenvolvimento teórico de algoritmos para () é feita para problemas com restrições do tipo igualdade (problemas na forma padrão, como desenvolvido no Capítulo 3). No Capítulo 4 o denominamos como Problema Primal (PP). O também pode ser formulado com restrições de desigualdades, que se chama Problema Dual (PD). Os dois problemas (PP e PD) são relacionados por expressões simples, que permitem traduzir métodos desenvolvidos em um formato para o outro (vide Capítulo 4). Considere o problema no formato primal (ou padrão): (PP) min c T x S. a Ax = b x 0 onde A R n n, b R m e c, x R n. Suporemos que a matriz A tenha posto completo. O conjunto de soluções viáveis de (PP) é definido por: P = {x R n / Ax = b, x 0} O interior de P definido por: P 0 = {x R n / Ax = b, x > 0} é o conjunto das soluções interiores de (PP). Suporemos P 0. Todo ponto satisfazendo x P 0 será denominado de ponto interior.

82 Capítulo 5. Métodos de Pontos Interiores Associado ao (PP) temos o (PD), que consiste basicamente dos mesmos dados organizados de maneira diferente: max b T y S. a A T y + z = c (PD) z 0 y irrestrito onde y R m e z R n. Neste caso, já consideramos o problema dual no formato padrão pela adição da variável z (variável de folga). O conjunto de soluções viáveis do (PP) é dado por: D = { (y, z) R m R n / A T y + z = c, z 0 } O interior de D definido por: D 0 = { (y, z) R m R n / A T y + z = c, z > 0 } A teoria da dualidade nos mostra a relação entre os problemas (PP) e (PD), ou seja, o conjunto de soluções primais nos fornece informação sobre o conjunto de soluções duais e vice-versa. Por exemplo, dados quaisquer vetores de soluções primais x para (PP) e (y, z) para (PD), temos: b T y c T x. A função objetivo dual fornece um limite inferior para a função objetivo primal, e a função primal fornece um limite superior para o dual. As duas funções objetivo coincidem no valor, isto é: b T y = c T x se, e somente se x resolve (PP) e (y, z ) resolve (PD). Considere as condições de otimalidade, para esta classe de métodos, conhecidas como Condições de Karush- Kuhn-Tucker ou (KKT), estabelecida pelo Teorema 2. Teorema 2. Considere os problemas (PP) e (PD) acima. O vetor x é uma solução ótima do problema (PP) e (y, z ) é uma solução ótima do problema (PD) se, e somente se: A T y + z = c z 0 (viabilidade dual) Ax = b x 0 (viabilidade primal) XZe = 0 (folgas complementares) (5.1) onde X = diag(x 1, x 2,..., x n ), Z = diag(z 1, z 2,..., z n ) e e = (1, 1,..., 1) T. Do Teorema 2, temos que o vetor (x, y, z ) é solução do sistema de equações (5.1) se, e somente se x é solução do (PP) e (y, z ) é solução do (PD). O vetor (x, y, z ) é chamado de solução primal-dual. O conjunto de soluções viáveis primais-duais e seu interior podem ser definidos como: Ω = { (x, y, z) / Ax = b, A T y + z = c, (x, z) 0 } Ω 0 = { (x, y, z) / Ax = b, A T y + z = c, (x, z) > 0 } respectivamente. Assumiremos Ω 0. L. A. P. Cantão & F. S. Stark 81

83 Capítulo 5. Métodos de Pontos Interiores 5.3 Método Primal-Dual Os métodos primais-duais estão estritamente relacionados ao consagrado Método de Newton para soluções de sistemas de equações, lineares ou não. Uma iteração primal-dual é, em última instância, uma iteração adaptada do método de Newton, proveniente das condições de KKT (5.1). Podemos escrever as condições de KKT na forma de uma equação, em conjunto com uma restrição. A equação provém das próprias condições de otimalidade e a restrição continua sendo a de não negatividade. Obtemos então: com F : R 2n+m R 2n+m. F (x, y, z) = Ax b A T y + z c XZe = 0, (x, y) 0 (5.2) À equação F (x, y, z) = 0 podemos aplicar o método de Newton para encontrar soluções viáveis (x, y, z ), porém respeitando o limite (x, y) > 0, o que garante estarmos no interior da região viável (Ω 0 ). O método de Newton consiste em gerar uma sequência de pontos {x k } que convirja para a solução de uma dada equação G(x) = 0, onde G : R n R n, G C(R n ) e x R n. O método é baseado em uma expansão em primeira ordem (série de Taylor) da função considerada: G(x) G(x k ) + J(x k )(x x k ) com J sendo o Jacobiano de G. Desta forma, se x k+1 é solução da expansão acima, então vale J(x k )s k = G(x k ), com x k+1 = x k + s k. Portanto, o Método de Newton consiste em gerar os passos s k e usá-los para atualizar o ponto x k. Uma iteração completa do método de Newton pode ser escrita como x k+1 = x k J 1 (x k )G(x k ). Na aplicação do Método de Newton surgem duas questões: (i) a necessidade de uma solução inicial e, (ii) a necessidade de exercermos algum controle sobre os passos, já que ele pode convergir para soluções F (x, y, z) = 0 mas que não satisfaçam (x, y) > 0 (ditas soluções espúrias). O item (i) será abordado na Seção 5.5.1; por isso, consideraremos aqui que já temos uma solução inicial viável. O item (ii) é o responsável pelos diversos algoritmos que trabalham com a estrutura primal-dual. Cada um deles possui uma maneira particular de limitar os passos de Newton, ou de alterar sua direção, mantendo a viabilidade da solução. Escrevendo uma iteração de Newton para a equação F (x, y, z) = 0, obtemos: x k+1 y k+1 z k+1 = x k + x k y k + y k z k + z k = x k y k z k J 1 (x, y, z)f (x, y, z) (5.3) ou ainda, x k y k z k = J 1 (x, y, z)f (x, y, z) L. A. P. Cantão & F. S. Stark 82

84 Capítulo 5. Métodos de Pontos Interiores pré-multiplicando por J(x, y, z): J(x, y, z) = x k y k z k = F (x, y, z) sendo: J(x, y, z) = A A T I Z 0 X. Portanto, para obter uma iteração de Newton para a equação F (x, y, z) = 0, rescrevemos J(x k )s k = G(x k ) como: A 0 0 x k Ax k b 0 A T I y k = A T y k + z k c Z 0 X z k X k Z k e Se o ponto corrente (x k, y k, z k ) é estritamente viável (Ax k = b, A T y k + z k = c e (x, z) > 0), então o sistema acima toma a forma: A 0 0 x k 0 A T I y k Z 0 X Atualizando as variáveis (x, y, z) temos: z k = 0 0 X k Z k e (x k+1, y k+1, z k+1 ) = (x k, y k, z k ) + α k ( x k, y k, z k ). Os métodos primais-duais são variações do método de Newton obtidos a partir de modificações na maneira de calcular ( x k, y k, z k ), a direção de busca, e α k, o parâmetro que controla o tamanho do passo em cada iteração. O valor de α k pode atuar no algoritmo de dois modos: Mantendo o novo ponto no interior da região viável e. Cuidando para que (x, z) permaneça longe das fronteiras do quadrante não negativo, (x, z) > 0. Direções calculadas a partir de pontos próximos a este quadrante tendem a ser distorcidas levando a pouco, se algum, progresso. A idéia da trajetória central nos auxília nas questões acima A Trajetória Central Uma das maneiras de manter o algoritmo do tipo primal-dual no interior da região viável é fazer com que a trajetória gerada pelo método de Newton esteja em alguma vizinhança da denominada trajetória central. Matematicamente, a trajetória central C é um caminho de pontos estritamente viáveis, (x τ, y τ, z τ ) C Ω 0, parametrizado por um escalar τ > 0, de modo que A T y + z = c z 0 (viabilidade dual) Ax = b x 0 (viabilidade primal) XZe = τ e (folgas complementares) (x, z) > 0 (5.4) A trajetória central é um recurso interessante pois quando τ 0, a equação (5.4) equação (5.1). Então, se L. A. P. Cantão & F. S. Stark 83

85 Capítulo 5. Métodos de Pontos Interiores C converge para algum ponto, deve ser para uma solução primal-dual do (PP). Desse modo, C atua como um guia, evitando soluções espúrias pois mantém os produtos x i z i estritamente positivos, mas tendendo a zero à mesma velocidade. Mais ainda: a maioria dos algoritmos primais-duais tomam direções C com τ > 0, ou seja, direções dentro do quadrante positivo definido por (x, z) > 0. Essa escolha de direções permite que passos maiores sejam dados em relação às direções de Newton puras, sem violar a condição de positividade, que chamaremos de direção de busca. Para descrever a direção de busca modificada, introduziremos um parâmetro de centralização σ [0, 1] e uma métrica 1 dual µ definida por: ou seja, uma média entre os produtos x i z i. As equações de passo tomam agora a forma: Z 0 X µ = 1 n n i=1 A 0 0 x k 0 A T I y k z k x i z i = xt z n, (5.5) = 0 0 X k Z k e + σµe (5.6) Através do controle de σ e µ podemos gerar uma vizinhança da trajetória central em que os novos passos calculados de acordo com a equação (5.6) tenham melhor progresso do que os passos de Newton puros. Considere um conjunto estritamente viável H 0 : H 0 = { (x, z) / (x, y, z) Ω 0 para algum y R m} e uma função de barreira definida por: f τ (x, z) = 1 n τ xt z log(x i z i ). Teorema 3. Suponha Ω 0 e seja τ um número positivo. Então f τ tem um único mínimo local em H 0, que satisfaz as condições de trajetória central (5.4). Retornando às equações de (5.6), podemos escrevê-la na forma de equações, como segue: i=1 A T y + z = 0 A x = 0 Z x + X z = XZe + σµe (5.7) Isolando z da última equação de (5.7), temos: Z = Ze + σµx 1 e X 1 Z x (5.8) Escrevendo (5.8) na primeira equação de (5.7), temos: 1 métrica: medida. A T y X 1 Z x = Ze σµx 1 e. (5.9) L. A. P. Cantão & F. S. Stark 84

86 Capítulo 5. Métodos de Pontos Interiores Escrevendo a segunda equação de (5.7) e a equação (5.9) na forma matricial, com z isolado (equação (5.8)): [ ] [ ] [ A 0 x = X 1 Z A T y ] 0. (5.10) σµx 1 e + Ze Como X e Z são matrizes diagonais e não singulares, podemos isolar x de (5.10), obtendo assim, um novo sistema equivalente: AZ 1 XA T y = A ( Xe σµz 1 e ) z = A T y (5.11) x = Xe + σµz 1 e Z 1 X z O passo mais difícil é calcular a primeira equação de (5.11), mas o primeiro termo envolve uma matriz definida positiva ( AD 2 A T, onde D = Z 1/2 X 1/2), podendo então ser aplicada a Fatoração de Cholesky 2 para resolver o sistema Estrutura Primal-Dual Através dos conceitos apresentados até aqui, podemos definir uma estrutura geral para os algoritmos primaisduais. O método abordado na próxima seção (Seção 5.4) é um caso especial desta estrutura. Estrutura Primal-Dual Fase I Passo 1: (Inicialização) Faça k = 0 e encontre (x 0, y 0, z 0 ) Ω 0 uma solução inicial. Fase II Passo 2: (Otimalidade) Se o ponto (x k, y k, z k ) satisfaz os critérios de otimalidade, pare. Passo 3: (Cálculo da direção de busca) Seja σ k [0, 1] e µ k = (xk ) T z k. Calcule: n AZ 1 k X ka T y k = A ( X k e σ k µ k Z 1 k e) z k = A T y k x k = X k e + σ k µ k Z 1 k e Z 1 k X k z k (5.12) Passo 4: (Atualização) ( x k+1, y k+1, z k+1) = ( x k, y k, z k) + α k ( x k, y k, z k) Faça k = k + 1 e volte ao passo 2. Na Fase I do algoritmo calculamos uma solução inicial para o problema e na Fase II, calculamos a direção de busca e atualizamos a solução até obtermos a solução ótima. 5.4 Método de Redução de Potencial (RP) O Método de Redução de Potencial é uma variante dos algoritmos que usam passos de Newton e parte de uma classe maior de métodos, denominados Métodos de Penalização. De um modo geral, um método de penalização 2 Método específico para matrizes do tipo definida positiva. L. A. P. Cantão & F. S. Stark 85

87 Capítulo 5. Métodos de Pontos Interiores modifica a função objetivo acrescentando um termo que (i) aumente muito seu valor quando determinada condição de controle é violada e (ii) tende a zero quando nos aproximamos da solução ótima. Este termo é conhecido usualmente de função de barreira ou função potencial. Karmarkar usou uma função potencial para a Programação Linear sob a forma: ρ log ( c T x L ) n log x i onde ρ = n + 1 e L é um limite inferior para o valor da função objetivo, provando sua convergência e resultados de complexidade por mostrar que sua função diminui, pelo menos um valor constante em cada iteração. Por exemplo, para o problema: i=1 min x 1 + x 2 S. a x 1 + x 3 = 1 x 2 + x 4 = 1 x 1, x 2, x 3, x 4 0 cujo o tipo é um quadrado de lado 1 no plano (x 1, x 2 ), a função de Karmarkar torna-se: Φ(x 1, x 2 ) = 3 log(x 1 +x 2 ) log x 1 log x 2. Observe a Figura 5.1 como a função decresce rapidamente na imediação do ótimo, x = (0, 0) Figura 5.1: Gráfico e curvas de nível de Φ(x 1, x 2 ). Depois da publicação do algoritmo de Karmarkar, houve muitos avanços nos algoritmos que usam esta função; porém a maioria das novas técnicas ainda baseava-se nos valores das variáveis primais. A partir de 1987 os algoritmos passaram a utilizar de forma mais balanceada variáveis primais-duais. Nessa linha temos a função de potencial primal-dual de Tanabe-Todd-Ye, definida por: Φ ρ (x, y) = ρ log x T z para um parâmetro ρ > n. n log x i z i (5.13) Os algoritmos baseados em Φ ρ usam a função potencial apenas para monitorar o progresso e provar a convergência. Este progresso refere-se ao potencial atribuído a cada ponto de Ω 0 por Φ ρ e que diminui a medida que nos aproximamos da solução. Como todos os algoritmos baseados na estrutura primal-dual, o algoritmo de redução de potencial obtém sua direção de busca pela execução de (5.12) para algum σ k (0, 1). O tamanho do passo α k é escolhido para minimizar Φ ρ ao longo da direção de busca. i=1 L. A. P. Cantão & F. S. Stark 86

88 Capítulo 5. Métodos de Pontos Interiores Voltando a equação (5.13), faremos algumas modificações algébricas para extrairmos algumas propriedades de Φ ρ. Primeiramente vamos somar e subtrair dois novos termos, como segue: Φ ρ (x, y) = ρ log x T z n log x T z Aplicando as propriedades de logaritmos: n log x i z i + n log x T z n log n + n log n. [ Φ ρ (x, y) = ρ log x T z n log x T z log x 1z 1 x T z n + log x 2z 2 x T z n log x ] Nz n x T z n Φ ρ (x, y) = (ρ n) log x T z n i=1 i=1 log x iz i x T z n + n log n Ou seja, podemos rescrever a função (5.13) da seguinte maneira: Φ ρ (x, y) = (ρ n) log x T z n i=1 log x iz i x T z n + n log n, + n log n. (5.14) De (5.14) percebemos que Φ ρ faz o balanceamento entre dualidade e centralidade. Se x T z é pequeno, favorecemos a dualidade e se nenhum x i z i é muito menor do que a média µ = xt z, favorecemos a centralidade. n Duas propriedades importantes podem ser então observadas: 1. Φ ρ + se x i z i 0, para algum i, mas µ = xt z n 2. Φ ρ se, e somente se (x, y, z) Ω 0. não tende a zero; De acordo com as condições de KKT, só estaremos no ótimo se x T z = 0. Portanto, é desejável que o método aproveita a função de barreira de modo a forçar µ 0. A propriedade (1) é o efeito de barreira, pois para que µ 0, todas as componentes de x T z devem ir a zero. Caso só algumas tendam a zero, ( Φ ρ +, funcionando ) então como uma barreira. n Por outro lado, o termo log x iz i + n log n tem um limite inferior. Portanto, Φ x T z ρ se, e somente i=1 n se (ρ n) log x T z, o que implica que x T z 0. Então, o método de Redução de Potencial gera iterações no sentido de levar µ 0, usando informações fornecidas por estas duas propriedades. Algoritmo de Redução de Potencial Primal-Dual Este algoritmo toma σ k = n ρ, onde ρ < n é o parâmetro de (5.14). O passo α k é escolhido para minimizar Φ ρ ( ) ao longo da direção de busca e mantendo a viabilidade. Algoritmo RP Fase I Passo 1: (Inicialização) Faça k = 0, ρ > n e encontre (x 0, y 0, z 0 ) Ω 0. Fase II: Passo 2: (Otimalidade) Se o ponto (x k, y k, z k ) satisfaz os critérios de otimalidade, pare. L. A. P. Cantão & F. S. Stark 87

89 Capítulo 5. Métodos de Pontos Interiores Passo 3: (Cálculo da direção de busca) Seja σ k = n ρ e resolva (5.12) para obter ( xk, y k, z k ). Passo 4: (Cálculo do tamanho do passo) Calcule: α max = sup {α [0, 1] / (x, z) + α( x, z) 0}, e escolha α k de α k = arg min α (0,αmax ) Φ ρ (x k + α x k, z k + α z k ). Passo 5: (Atualização) (x k+1, y k+1, z k+1 ) = (x k, y k, z k ) + α k ( x k, y k, z k ). Faça k = k + 1 e volte ao passo Implementação de Algoritmos de Pontos Interiores Na seção definimos uma estrutura geral para o algoritmo Primal-Dual e na seção 5.4 definimos algumas variantes desta estrutra. Porém, durante estas seções, tomamos como conhecida uma solução inicial e omitimos o critério de parada do algoritmo. Trataremos nesta seção destes tópicos, bem como de uma estrutura mais completa para o algoritmo Primal-Dual Solução Inicial Até aqui, discutimos sobre algoritmos de Pontos Interiores, supondo conhecida uma solução inicial. A dificuldade em obter uma solução inicial é equivalente a de aplicar o algoritmo até a solução ótima; por isso, muitos algoritmos teóricos assumem a existência de um ponto inicial e o usam para inicializar o algoritmo. O processo de encontrar uma solução inicial é conhecida como Fase I do algoritmo e o processo de resolver o algoritmo até a otimalidade, de Fase II. Então, nesta seção, abordaremos a Fase I do algoritmo Primal-Dual. Seja (x 0, y 0, z 0 ) com (x 0, z 0 ) > 0 uma solução primal-dual inicial inviável. Para obter uma solução viável considere os seguintes problemas primal e dual artificiais: (PPA) min c T x + M P x n+1 S. a Ax + (b Ax 0 )x n+1 = b (A T y 0 + z 0 c) T x + x n+2 = M D (x, x n+1, x n+2 ) 0 e (PDA) max b T y + M D y m+1 S. a A T y + (A T y 0 + z 0 c)y m+1 + z = c (b Ax 0 ) T y + z n+1 = M P y m+1 + z n+2 = 0 (z, z n+1, z n+2 ) 0 onde x n+1 e y m+1 são variáveis artificiais primal e dual, respectivamente, com seus coeficientes de custo artificiais M P e M D. O coeficiente dessas variáveis na primeira restrição de (PPA) e na primeira de (PDA) correspondem a uma medida de inviabilidade da apriximação inicial. A variável x n+2 corresponde à variável dual artificial y m+1 e z n+1, z n+2 são variáveis duais de folga correspondentes a x n+1 e x n+2. Essas variáveis são necessárias para manter a relação de dualidade entre dois problemas. Fixando-se M P e M D com valores que dominam a função objetivo primal e dual, garantimos que a direção de busca é dominada pela direção viável. Se um ponto viável existe, então durante o processo iterativo as variáveis L. A. P. Cantão & F. S. Stark 88

90 Capítulo 5. Métodos de Pontos Interiores artificiais gradualmente convergem para zero. Podemos escolher M P e M D de maneira que: M P > (b Ax 0 ) T y 0, (5.15) e M D > (A T y + z 0 c) T x 0, (5.16) então (x 0, xn+1 0, x n+2 0 ) e (y0, ym+1 0, z0, zn+1 0, z n+2 0 ) são soluções viáveis para os problemas artificiais (PPA) e (PDA), respectivamente. Os valores de xn+1 0, x n+2 0, y m+1 0, z n+1 0 e z n+2 0 podem ser obtidos como segue. Seja Ax + (b Ax 0 )x n+1 = b e tomemos x = x 0. Então: Mas a segunda equação de (5.17) só será verdadeira quando: Ax 0 + (b Ax 0 )x 0 n+1 = b Ax 0 (1 x 0 n+1 ) = b(1 x 0 n+1 ) (5.17) 1 x 0 n+1 = 0 x 0 n+1 = 1 (5.18) Procedendo analogamente para A T y + (A T y 0 + z 0 c)y m+1 + z = c, obtemos: Das demais restrições obtemos: y m+1 = 1. (5.19) x 0 n+2 = M D (A T y 0 + z 0 c) T x 0, z 0 n+1 = M P (b Ax 0 ) T y 0, z 0 n+2 = 1. (5.20) A partir daqui, buscamos as soluções de (PPA) e (PDA) de maneira que se relacionam com os problemas originais (PP) e (PD), respectivamente, de acordo com o Teorema a seguir. Teorema 4. Sejam x e (y, z ) soluções ótimas dos problemas originais (PP) e (PD), respectivamente. Suponha que: M P > (b Ax 0 ) T y 0, e M D > (A T y + z 0 c) T x 0. Então as duas afirmações abaixo são verdadeiras: 1. Uma solução viável (x, x n+1, x n+2 ) de (PPA) é um ponto de mínimo se, e somente se x resolve (PP) e x n+1 = Uma solução viável (y, y m+1, z, z n+1, z n+2 ) de (PDA) é um ponto de máximo se, e somente se (y, z) resolve (PD) e y m+1 = 0. Observe que este é exatamente o método do M-Grande, tradicionalmente usado em associação com o Simplex e aqui adaptado para os métodos primais-duais. L. A. P. Cantão & F. S. Stark 89

91 Capítulo 5. Métodos de Pontos Interiores Critério de Parada Ao contrário do método Simplex, o algoritmo de Ponto Interior Primal-Dual nunca encontra uma solução exata para o problema. Por isso, o algoritmo precisa usar um critério de parada para decidir quando a iteração corrente está próxima o suficiente da solução ótima. Muitos algoritmos consideram uma boa solução aproximada a solução que possui os resíduos primal r b = Ax b e dual r c = A T y + z c e a métrica dual µ suficientemente pequenos. Para esse fim pode-se usar medidas relativas diminuindo os problemas de escala dos dados. Testes típicos para uma solução (x, y, z) são: r b 1 + b r c 1 + c = Ax b 1 + b τ 1 = AT y + z c 1 + c c T x b T y 1 + c T x τ 1 τ 1 (5.21) onde τ 1 é a tolerância. Naturalmente outros critérios podem ser adotados em concordância com a aplicação a um problema específico Algoritmo Primal-Dual Fase I Como último tópico deste capítulo, daremos uma estrutura mais completa do algoritmo primal-dual. Passo 1: (Inicialização) Faça k = 0 e encontre (x 0, y 0, z 0 ) Ω 0 uma solução inicial e defina τ 1 0 uma tolerância Fase II suficientemente pequena. Passo 2: (Otimalidade) Se r b 1 + b r c 1 + c então pare. A solução encontrada é ótima. = Ax b 1 + b τ 1 = AT y + z c 1 + c c T x b T y 1 + c T x Passo 3: (Cálculo da direção de busca) Seja σ k [0, 1] e µ k = (xk ) T z k. Seja σ k [0, 1]. Calcule: n τ 1 τ 1 AZ 1 k X ka T y k = A ( X k e σ k µ k Z 1 k e) z k = A T y k x k = X k e + σ k µ k Z 1 k e Z 1 k X k z k Passo 4: (Atualização) ( x k+1, y k+1, z k+1) = ( x k, y k, z k) + α k ( x k, y k, z k) Faça k = k + 1 e volte ao passo 2. L. A. P. Cantão & F. S. Stark 90

92 CAPÍTULO 6 Programação Linear Inteira 6.1 Introdução Como descrito em [2], problemas de Programação Linear Inteiro (I) pertencem a otimização discreta ou combinatória pois algumas das variáveis fazem parte de um conjunto discreto, tipicamente, um subconjunto dos números inteiros. Um problema com variáveis inteiras e reais é denominada de Programação Linear Inteira Mista (IM) quando tem a seguinte forma: max f (x, y) = cx + dy S. a Ax + Dy b x R n + y Z p + em que A R m n, D R m p, c R 1 n, d R 1 p e b R m 1 representando os parâmetros do problema. Os vetores x R n 1 e y Z p 1 as variáveis do problema. R n + representa o espaço dos vetores com n componentes reais e Z p + o espaço dos vetores com p componentes inteiras não negativas. Quando todas as variáveis são inteiras, tem-se o problema de Programação Linear Inteira (I): max f (x) = cx S. a Ax b x Z n + e se todas as variáveis assumem valores 0 ou 1, tem-se um problema de Programação 0-1 ou Binária (PB), escrito como: max f (x) = cx S. a Ax b x B n + em que B n + representa o espaço dos vetores com n componentes binárias. Os algoritmos de (I) são baseados na exploração do sucesso computacional da resolução de problemas de Programação Linear (), uma vez que os problemas que tratam de soluções inteiras fazem uma busca dentro da região factível. Os algoritmos possuem três passos como estratégia de resolução, sendo: 1. Relaxar a região de soluções de I eliminando a restrição inteira imposta a estas variáveis e substituindo qualquer variável binária y pela contínua 0 y 1. Neste passo, transformamos um problema linear inteiro

93 Capítulo 6. Programação Linear Inteira em um problema linear (). 2. Faz-se então a resolução do relaxado e identifica-se uma solução ótima contínua. A resolução desta etapa pode ser através dos métodos já aprendidos anteriormente, como o Método Simplex. 3. Começando do ponto ótimo contínuo, adicionam-se restrições especiais que modifiquem iterativamente a região de soluções de de maneira que, a certa altura, resultará em um ponto extremo ótimo que deverá satisfazer os requisitos de integralidade. Os algoritmos existentes desenvolvidos para I, executam a etapa 3 acrescentando restrições especiais. São dois os métodos mais conhecidos: branch-and-bound (B&B) e planos de corte. Apresentaremos aqui uma introdução ao algoritmo B&B. 6.2 Algoritmo Branch-And-Bound (B&B) Explicaremos neste tópico, com o auxílio de um exemplo numérico, os detalhes envolvidos no método do B&B geral. Exemplo 25. Seja o I abaixo: max f (x) = 5x 1 + 4x 2 S. a x 1 + x 2 5 (R1) 10x 1 + 6x 2 45 (R2) x 1, x 2 0 (6.1) x 1, x 2 Z 2 + Os pontos de grade da figura 6.1 definem a região de soluções do problema de I. Figura 6.1: Região de soluções de I (grade de pontos) e de 1 (hachura). A solução do problema (6.1) relaxado, ilustrado pela figura 6.1 (denominado como 1), é dada pelos vértices das duas restrições, ou seja, x 1 = 3.75; x 2 = 1.25 e f (x) = L. A. P. Cantão & F. S. Stark 92

94 Capítulo 6. Programação Linear Inteira Como a solução ótima do problema relaxado não satisfaz a condição de integralidade, o algoritmo B&B modifica a região de soluções de modo a identificar a solução ótima do problema de I. Primeiramente, selecionamos uma das variáveis inteiras cujo valor ótimo em 1 seja não inteiro. Selecionamos a variável x 1 = 3.75, tomando 3 < x 1 < 4 da região de soluções de 1 com nenhum valor inteiro de x 1, podendo retirá-la da região total. Esse passo faz surgir dois problemas de que são equivalentes ao 1. A região criada é apresentada na figura 6.2, elaborada como: Região 2 = Região 1 + (x 1 3) Região 3 = Região 1 + (x 1 4) Figura 6.2: Região de soluções de 2 e 3. Se usarmos esta lógica para eliminar a condição de integralidade gerando regiões relaxadas impondo restrições adequadas (que cercam a condição de valores inteiros para as variáveis), teremos s cujos pontos extremos ótimos satisfaçam as restrições inteiras. Na verdade, resolveremos o 1 lidando com uma sequência de s contínuos. As novas restrições, x 1 3 e x 1 4 são mutuamente exclusivas, de modo que 2 e 3 nos nós 2 e 3 devem ser tratadas como s separadas, como mostra o esquema da figura 6.3. Essa dicotomização dá origem ao termo ramificação no algoritmo B&B, sendo neste caso, x 1 denominada de variável de ramificação. Como observado, no esquema (figura 6.3) apresentamos a solução de cada ramificação, entretanto, mostraremos como montar cada um dos s. O I ótimo se encontra em 2 ou em 3. Em consequência, os dois subproblemas devem ser examinados e escolhemos arbitrariamente 2 para ser o primeiro: max f (x) = 5x 1 + 4x 2 S. a x 1 + x x 1 + 6x 2 45 x 1 3 x 1, x 2 0 (6.2) Resolvendo o problema (6.2), chegamos na resposta da ramificação 2 do esquema da figura 6.3. L. A. P. Cantão & F. S. Stark 93

95 Capítulo 6. Programação Linear Inteira 1 1 x 1 = 3.75, x 2 = 1.25 f (x) = x 1 3 x x 1 = 3, x 2 = 2 f (x) = 23 x 1 = 4, x 2 = 0.83 Limite inferior f (x) = Figura 6.3: Utilização da variável de ramificação x 1 para criar 2 e 3. 3 Note que a solução de 2 apresenta valores inteiros para as variáveis x 1 e x 2, deste modo dizemos que o problema é incumbente e que não precisa ser mais investigado, pois não pode dar nenhuma solução melhor para o I com esta ramificação. Entretanto, não podemos ainda afirmar que esta solução é a melhor solução para o problema original pois, o 3 ainda pode fornecer um valor melhor para f (x). Afirmamos apenas que f (x) = 23, encontrada em 2, é o limite inferior do valor ótimo para a função objetivo, isto é, qualquer subproblema não examinado que apresente um valor menor que este deve ser descartado como não promissor. Já se ele produzir uma solução melhor, atualizamos o valor do limite inferior como sendo o desta nova solução. Como f (x) = em 1 e todos os coeficientes da função objetivo são inteiros, é impossível, para este caso, que 3 produza uma solução inteira melhor com f (x) > 23, assim descartamos 3. O algoritmo B&B agora está completo porque ambas, 2 e 3, foram examinadas e descartadas (a primeira por produzir uma solução inteira e a segunda por não ser capaz de melhorar tal solução). Assim, concluímos que a solução ótima do I está associada com o limite inferior encontrado em 2, ou seja, x 1 = 3; x 2 = 2 e f (x) = 23. Agora poderemos mostrar mais sobre como funciona o algoritmo B&B. Baseado no problema do exemplo 25, e se: 1. No 1, em vez de x 1 escolhessemos x 2 como variável de ramificação? 2. Ao selecionar o próximo subproblema a ser examinado, resolvessemos 3 em vez de 2? Se fizermos a alteração sugerida no item 1 e 2, os cálculos resultantes mudarão, como veremos a seguir. A figura 6.4 mostra todos os subproblemas envolvidos. A criação dos subproblemas 4 e 5 advém da solução não inteira de 3. Temos então: Região 4 = Região 3 + (x 2 0) = Região 1 + (x 1 4) + (x 2 0) Região 5 = Região 3 + (x 2 1) = Região 1 + (x 1 4) + (x 2 1) Agora, temos três subproblemas a serem examinados: 2, 4 e 5. Suponha que optemos por examinar 5 em primeiro lugar. O 5 não tem nenhuma solução e, em decorrência, está descartado. Em seguida, L. A. P. Cantão & F. S. Stark 94

96 Capítulo 6. Programação Linear Inteira 1 1 x 1 = 3.75, x 2 = 1.25 f (x) = x x 1 = 3, x 2 = 2 f (x) = 23 Limite inferior x x 1 = 4, x 2 = 0.83 f (x) = x 1 = 4.5, x 2 = 0 f (x) = 22.5 x x 1 = 4, x 2 = 0 f (x) = 20 x 2 0 x Sem solução. x Sem solução. Figura 6.4: Árvore B&B alternativa. examinamos 4. A solução ótima é x 1 = 4.5; x 2 = 0 e f (x) = O valor não inteiro de x 1 leva a dois ramos x 1 4 e x 1 5, e à criação dos subproblemas 6 e 7 com base em 4. Região 6 = Região 1 + (x 1 4) + (x 2 0) + (x 1 4) Região 7 = Região 1 + (x 1 4) + (x 2 0) + (x 1 5) Agora, os subproblemas 2, 6 e 7 precisam ser examinados. Selecionando 7, o problema não tem nenhuma solução viável e, portanto, está descartado. Em seguida, selecionamos 6, sendo que este problema dá a primeira solução inteira (x 1 = 4; x 2 = 0 e f (x) = 20) e, assim, fornece o primeiro limite inferior para o valor ótimo da função objetivo para I. Ficamos ainda com 2, que dá uma solução inteira melhor, como visto no exemplo. Deste modo, o limite inferior é atualizado e nesse ponto, com todos os subproblemas interpretados, a melhor solução é a encontrada para 2. A sequência de solução apresentada na figura 6.4 ( ) é a pior hipótese de passos possíveis para o problema do exemplo 25, pois foram percorridos todos os ramos antes L. A. P. Cantão & F. S. Stark 95

97 Capítulo 6. Programação Linear Inteira de encontrarmos a solução ótima. Dos dois cenários apresentados anteriormente, podemos concluir que a execução do método B&B não garante uma solução I global 1, apenas de soluções locais (dependendo do tamanho e complexidade do problema). Podemos utilizar outros algoritmos matemáticos auxiliares ao B&B, como o algoritmo de Planos de Corte 2, que atuando em conjunto com algoritmo B&B forma o algoritmo chamado de Branch-and-Cut.Ainda, como visto, o algoritmo pode caminhar em dois sentidos na procura da soluo tima, isto, verticalmente (busca em profundidade) e horizontalmente (busca em largura). Os métodos heurísticos 3 podem ser aplicados também para melhorar a qualidade da solução e/ou auxiliar na decisão de qual ramo seguir. Há casos em que aplica-se apenas técnicas heurísticas na solução de um problema de I, pois os métodos convencionais não são capazes de fornecerem respostas ao problema Resumo do algoritmo Branch-And-Bound (B&B) Considere um problema de maximização e estabeleça um limite inferior inicial f (x) = para o valor dos coeficientes da função objetivo ótima do I. Seja i = Selecione um i, o próximo subproblema a ser examinado. Resolva o i e tente interpretá-lo usando uma das três condições: O valor ótimo de f (x) do i não pode dar um valor objetivo melhor do que o limite inferior atual; O i fornece uma solução inteira viável melhor do que o limite inferior atual; O i não tem nenhuma solução viável. Surgem dois casos: Se o i for interpretado e uma solução for encontrada, atualize o limite inferior. Se todos os subproblemas tiverem sido descartados, pare; o I ótimo está associado com o limite inferior finito atual. Se não existir nenhum limite inferior finito, o problema não tem nenhuma solução viável. Senão, determine i = i + 1, e repita a etapa 1 novamente. Se o i não for interpretada, vá para a etapa 2 e ramifique. 2. Selecione uma das variáveis inteiras x j, cujo valor ótimo xj região: x j < x j < x j + 1 na solução do i seja não inteiro. Elimine a (onde v define o maior inteiro v 4 ), criando dois subproblemas de que correspondem a x j x j e x j x j + 1 Determine i = i + 1, e vá para a etapa 1. As etapas dadas se aplicam a problemas de maximização. Para minimização, substituímos o limite inferior por um limite superior (cujo valor inicial é f (x) = + ). 1 Solução global: melhor solução para o problema. 2 O Mátodo de Planos de Corte não serão tratados neste texto, porém a idéia do método é a de incorporar restrições que aproximem a região relaxada ao conjunto de pontos inteiros factíveis. 3 Métodos heurísticos são métodos (ou técnicas) sem um detalhado rigor matemático, podendo ser específico para classes de problemas. 4 Como exemplo, considere x j = 3.8, assim xj = 3 e o intervalo 3 < x j < 4. L. A. P. Cantão & F. S. Stark 96

98 Capítulo 6. Programação Linear Inteira O algoritmo B&B pode ser estendido diretamente a problemas mistos (nos quais apenas algumas das variáveis são inteiras). Se uma variável for contínua, simplesmente nunca a selecionamos como uma variável de ramificação. Um subproblema viável fornece um novo limite para o valor dos coeficientes da função objetivo se os valores das variáveis discretas forem inteiras e se o valor da função objetivo for melhor em relação ao limite atual. Após a explicação e a síntese do algoritmo Branch-and-Bound, vamos citar dois grandes tipo de problemas que fazem uso do algoritmo para suas respectivas resoluções. O primeiro é o problema de circuitos entre cidades, no qual um caixeiro-viajante faz suas vendas e entregas, isto é, o problema do caixeiro-viajante; o segundo é um problema de alocação de recursos em um determinado espaço compartimentado, como uma mochila, constituindo então, o problema da mochila. 6.3 Problema do Caixeiro-Viajante Historicamente, o problema do caixeiro-viajante 5 tenta encontrar uma rota fechada mais curta (ou com menor custo) entre n cidades, onde cada cidade é visitada exatamente uma vez, evitando subcircuitos, ou seja, dado um determinado caminho, se este for percorrido poderá apenas chegar em outros caminhos conectados, não sendo possível excluir ou voltar pelo mesmo caminho. Essa classe de problemas é um dos mais estudados em matemática computacional e sua aplicação varia entre obter a melhor rota de uma frota de ônibus, logística de embarque e desembarque de passageiros em aerportos, tráfego de rede de computadores, entre outros. Especificamente, em uma situação de n cidades, definimos: { 1, se o caixeiro vai diretamente da cidade i à cidade j, i j x ij = 0, caso contrário Dado que d ij é a distância da cidade i à cidade j, o problema é dado por min f (x) = S. a n d ij x ij i=1 j>i x ji + j<i x ij + i / S x ij = 2, i = 1 : n j>i i S j / S, j>i j S, j>i x B n(n 1)/2 n x ij 2, S N, 3 S 2 (6.3) A função objetivo do problema (6.3) expressa a minimização da distância total da rota, a primeira restrição impõe que cada cidade tenha somente uma cidade sucessora imediata e uma cidade predecessora imediata. A segunda restrição elimina sub-rotas pois para cada conjunto S, existem no mínimo duas arestas entre as cidades de S e as cidades não pertencentes a S. A cardinalidade de S é no mínimo 3 (três), pois um ciclo em um grafo não orientado n tem pelo menos 3 nós e no máximo, pois ao se eliminar ciclos com k nós, eliminam-se ciclos com n k nós 2 (vide figura 6.5 (c)). A última restrição indica o tipo de variáveis. A figura 6.5 apresenta possíveis cenários de um TSP com 5 cidades, onde os circulos representam as cidades e as linhas, conhecidas como arcos, as ligações entre estas cidades, neste caso abordado são rotas de duas vias (simetria ida e volta), como mostra a figura 6.5 (a). O item (b) apresenta uma possível solução (ótima ou viável) para este exemplo gráfico e o item (c) uma solução de subcircuitos (solução inviável). 5 O problema do caixeiro viajante aparece na literatura (estrangeira ou nacional) com a sigla TSP que é a abreviatura de traveling salesman problem. L. A. P. Cantão & F. S. Stark 97

99 Capítulo 6. Programação Linear Inteira (a) Problema com 5 cidades. (b) Solução do circuito (c) Solução de subcircuitos. 4 Figura 6.5: Exemplo do problema do caixeiro-viajante com 5 cidades. 6.4 Problema da Mochila Este problema lida com uma questão de situação na qual um índividuo deve decidir quais são os itens mais valiosos para carregar em uma mochila, podendo se estender a situações de corte e empacotamentos e até carregamentos de veículos de determinadas dimensões. Sendo então, uma generalização metafórica para um problema geral de alocação de recurso no qual um único recurso limitado é designado a várias alternativas com o objetivo de maximizar o retorno total Mochila 0-1 Um exemplo de problema da mochila 0-1 é a seleção de projetos, como descrito em [2]. Considere n projetos e um capital b para investimento. O projeto j tem um custo a j e um retorno esperado p j. O problema consiste em selecionar os projetos que maximizam o retorno total esperado sem ultrapassar o limite de capital. L. A. P. Cantão & F. S. Stark 98

100 Capítulo 6. Programação Linear Inteira Defina as variáveis: x j = { 1 se o produto j é selecionado 0 caso contrário O problema é, então, formulado como: max f (x) = S. a n p j x j j=1 n a j x j b j=1 x B n (6.4) A função objetivo do problema (6.4) expressa a maximização do retorno esperado, a primeira restrição indica que o capital b não pode ser excedido e a última restrição representa o tipo de variáveis. Esse problema é denominado problema da mochila devido à analogia do problema que envolve a decisão de quais itens carregar em uma mochila sem exceder um dado limite de peso. Exemplo 26. Considere um capital para investimento b = 100, n = 8 projetos e os seguintes vetores de parâmetros: p = [p j ] = [ ] a = [a j ] = [ ] A solução ótima é dada por x 2 = x 4 = x 6 = x 7 = 1. Esta solução utiliza = 95 unidades do capital Mochila Inteira Neste problema, a variável de decisão x j 0, j = 1 : n, pode assumir um valor inteiro não negativo, isto é, pode-se levar diversas unidades do mesmo item na mochila. A formulação é idêntica à da mochila 0-1, ao substituir x B n por x Z n Múltiplas Mochilas Considere n itens que devem ser colocadas em m mochilas de capacidades distintas b i, i = 1 : m. Cada item j tem uma lucratividade p j e um peso w j e o problema consiste em selecionar m subconjuntos distintos de itens, tal que cada subconjunto ocupe uma capacidade de no máximo b i e o lucro total seja maximizado. Este problema ocorre em situações de carregamento de contêineres e em situações de corte nas indústrias de papel e aço. Defina as variáveis: { 1 se o item j é colocado na mochila i x ij = 0 caso contrário O problema é formulado como: max f (x) = S. a n n p j x ij i=1 j=1 n w j x ij b i i = 1 : n j=1 x ij 1 j = 1 : n i=1 x B mn (6.5) L. A. P. Cantão & F. S. Stark 99

101 Capítulo 6. Programação Linear Inteira A função objetivo do problema (6.5) representa a maximização do lucro total, a primeira restrição garante que a capacidade b i da mochila i não pode ser excedida, a segunda restrição indica que se o item j é escolhido, então ele é colocado em um única mochila e a última restrição representa o tipo de variáveis Empacotamento de Mochilas No problema anterior, o número de mochilas é dado e alguns itens podem não ser colocados nas mochilas. No problema de empacotamento em mochilas, conhecido como bin packing, deseja-se determinar o número mínimo de mochilas de mesma capacidade b que empacotem n itens de peso w j, j = 1 : n. Este é um dos diversos problemas de empacotamento, que envolvem também o arranjo de objetos em dispositivos bidimensionais e tridimensionais 6, tais como nos problemas de carregamentos de produtos sobre paletes ou dentro de contêineres ou caminhões. Defina as variáveis: { { 1, se a mochila i é usada 1, se o item j é colocado na mochila i y j = e x ij = 0, caso contrário 0, caso contrário Têm-se, então, a seguinte formulação: min f (x) = S. a n i=1 y i x ij 1 j = 1 : n i=1 n w j x ij by i i = 1 : n j=1 x B mn y B n (6.6) A função objetivo do problema (6.6) minimiza o número de mochilas. Note que o limitante superior do número de mochilas é igual ao número de itens n. O conjuto de equações expresso pela primeira restrição asseguram que cada item j é colocado em uma única mochila, o conjunto de equações expresso pela segunda restrição impõem que se a mochila é usada, então sua capacidade b não pode ser excedida. Finalmente, as duas últimas restrições indicam o tipo das variáveis. 6 Problemas de carregamento tridimensionais são complexos e usualmente resolvidos por métodos heurísticos. L. A. P. Cantão & F. S. Stark 100

102 Capítulo 6. Programação Linear Inteira 6.5 Exercícios Propostos 1. Desenvolva a árvore do B&B para cada um dos seguintes problemas. Por conveniência, sempre selecione x 1 como a variável de ramificação no primeiro nó. (a) (c) max f (x) = 3x 1 + 2x 2 S. a 2x 1 + 5x 2 9 4x 1 + 2x 2 9 x 1, x 2 0 x 1, x 2 Z max f (x) = 5x 1 + 7x 2 S. a 2x 1 + x x 1 + 9x 2 41 x 1, x 2 0 x 1, x 2 Z (b) max f (x) = x 1 + x 2 S. a 2x 1 + 5x x 1 + 5x 2 27 x 1, x 2 0 x 1, x 2 Z 2. Mostre graficamente que o seguinte problema de I não tem nenhuma solução viável e então verifique o resultado usando B&B. 3. Resolva o problema de programação inteira: max f (x) = 2x 1 + x 2 S. a 10x x x 1 + 5x 2 1 x 1, x 2 0 x 1, x 2 Z 2 + max f (x) = x 1 + x 2 S. a 2x 1 + 2x 2 3 7x 1 + 3x 2 22 x 1 x 2 Z 2 + (a) Graficamente. (b) Pelo método branch-and-bound. 4. Agora vamos à um problema de um caixeiro-viajante, que na verdade é um representante comercial e vendedor de publicações literárias. Este profissional mora na cidade de Basin, e deve visitar uma vez por mês quatro clientes localizados nas cidades de Wald, Bom, Mena e Kiln. A tabela 6.1 dá as distâncias em milhas entre as diferentes cidades. O objetivo é minimizar a distância total percorrida pelo vendedor, formule então a questão como um problema de I 7. 7 Se houver dificuldade na formulação, observe o exemplo da página 172 de [14]. L. A. P. Cantão & F. S. Stark 101

103 Capítulo 6. Programação Linear Inteira Milhas entre as cidades Basin Wald Bon Mena Kiln Basin Wald Bon Mena Kiln Tabela 6.1: Distâncias entre as cidades. 5. Um ecologista brasileiro, trabalhando na Amazônia, foi contratado para realizar a divisão de parte da floresta em reservas florestais. Estudos recentes dividiram a floresta em dez regiões. O trabalho do ecologista consiste em formar cinco reservas a partir dessas informações, observando o número de predadores e presas que cada região contém. A tabela 6.2 mostra esses dados para cada região (em milhares). Os animais não podem ser removidos de sua região e cada reserva deve conter entre 80 mil e 130 mil animais. Sabe-se que o ideal é que o número de presas deve ser maior que o número de predadores em uma reserva, para garantir o equiĺıbrio entre as espécies. Formule um problema para ajudar o ecologista a formar cinco reservas garantindo o equiĺıbrio. Região Predadores Presas Tabela 6.2: Número de presas e predadores por região. 6. Um caminhão de entrega de óleo de uma empresa contém cinco compartimentos, com capacidade para 2700, 2800, 1100, 1800 e 3400 galões de combustíveis, respectivamente. A empresa deve entregar três tipos de combustíveis A, B e C para um cliente. Parte da demanda pode não ser atendida, mas, neste caso, a empresa deve arcar com os custos. As demandas, penalidades por galão não entregue e o número máximo de galões de demanda não atendidas são descritas na tabela 6.3. Cada compartimento pode levar apenas um tipo de combustível. Formule o problema de carregar o caminhão de forma a minimizar os custos de não atendimento da demanda. Combustível Demanda Custo por galão Máximo de demanda não entregue não atendida A B C Tabela 6.3: Custo de combustíveis. L. A. P. Cantão & F. S. Stark 102

104 Capítulo 6. Programação Linear Inteira 7. Experimente colocar este problema em um software como o TORA/Solver/AM 8. Este problema foi projetado para demonstrar o comportamento bizarro do algoritmo B&B até mesmo para problemas pequenos. Em particular, observe como muitos subproblemas serão examinados antes do software achar o ótimo e quantos são necessários para verificar a otimalidade. Seja o problema: min f (y) = y S. a 2(x 1 + x 2 + x x 5 ) + y = 15 Todas as variáveis são (0, 1) (a) Use a opção automática do TORA para mostrar que, embora a solução ótima seja encontrada após 9 subproblemas, mais de subproblemas são examinados antes de confirmar a otimalidade. (b) Mostre que o Solver exibe uma experiência semelhante à do TORA. No Solver, você pode observar a mudança no número de ramos gerados (subproblemas) na parte inferior da planilha. (c) Resolva o problema com o AM e mostre que a solução obtida instantaneamente com 0 iterações simplex MIP e 0 nós B&B. A razão para esse desenpenho superior só pode ser atribuída às etapas preparatórias executadas pelo AM e/ou pelo resolvedor CEX antes de resolver o problema. 8 Para maiores informações consulte [14]. L. A. P. Cantão & F. S. Stark 103

105 CAPÍTULO 7 O Uso de Excel e do lp solve para Problemas de Programação Linear 7.1 Introdução A aplicação bem sucedida da Programação Matemática envolve habilidades tanto em Matemática quanto em Computação. Neste sentido, alguns softwares foram desenvolvidos para facilitar o uso desta importante ferramenta de decisão. Para problemas de Programação Linear () podemos contar com os softwares Microsoft Office Excel r (ou MS-Excel), Planilha Eletrônica do ambiente Open Office, lp solve (vide [9]), CEX (vide [5]), entre outros. Abordaremos aqui as ferramentas para dos softwares Microsoft Office Excel e lp solve. Para auxiliar na manipulação destes softwares26, tomemos o exemplo abaixo (7.1). max f (x) = 12x 1 + 8x 2 + 6x 3 S. a 2x 1 + x 2 + x x 1 + 4x x 1 + x 2 + 2x 3 24 x 1, x 2, x 3 0 (7.1) 7.2 MS-Excel Solver Segundo [14], no Excel Solver a planilha é o meio de entrada e saída para problemas de. As figuras 7.1, 7.2, 7.3 e 7.4 mostram as etapas de instalação. A figura 6.1 mostra em destaque o menu principal da Planilha Excel. Neste menu, selecione o ícone abaixo Opções do Excel. A figura 7.2 apresenta a janela previamente escolhida. Escolha o ícone Suplementos. Na figura 7.3 utilize a opção Solver e OK. A figura 7.4 apresenta a Planilha do Excel, cujo menu superior localiza-se em Dados. Neste ambiente, o ícone Solver encontra-se à direita. Finalizada a etapa de instalação, podemos utilizá-lo para a resolução de problemas de Programação Matemática. Na figura 7.5 apresentamos os dados de entrada do problema (7.1). Note que a primeira linha e primeira coluna foram utilizadas apenas para apresentar os títulos. As colunas B, C e D entre as linhas 2 até 5 (células B2:D5) e coluna G entre as linhas 2 até 4 (células G2:G4) são os dados de entrada do problema.

106 Capítulo 7. O Uso de Excel e do lp solve para Problemas de Programação Linear Figura 7.1: 1 o Passo para instalação do Excel Solver. Figura 7.2: 2 o Passo para instalação do Excel Solver. L. A. P. Cantão & F. S. Stark 105

107 Capítulo 7. O Uso de Excel e do lp solve para Problemas de Programação Linear Figura 7.3: 3 o Passo para instalação do Excel Solver. Figura 7.4: 4 o Passo para instalação do Excel Solver. L. A. P. Cantão & F. S. Stark 106

108 Capítulo 7. O Uso de Excel e do lp solve para Problemas de Programação Linear Figura 7.5: Descrição do problema. A coluna E (células E2:E4) e célula F7 contém as equações relativas às restrições R1, R2, R3 e função objetivo. A tabela 7.1 mostra as funções do problema (7.1) e seu posicionamento nas células adequadas. Expressão Fórmula na Inserida algébrica planilha na célula R1 2x 1 + x 2 + x 3 =B2*$B$6 + C2*$C$6 + D2*$D$6 E2 R2 3x 1 + 4x 2 =B3*$B$6 + C3*$C$6 + D3*$D$6 E3 R3 4x 1 + x 2 + 2x 3 =B4*$B$6 + C4*$C$6 + D4*$D$6 E4 max f (x) 12x 1 + 8x 2 + 6x 3 =B5*$B$6 + C5*$C$6 + D5*$D$6 F7 Tabela 7.1: Expressões algébricas. Na prática, basta que se digite a fórmula para a célula E2 e então copie para as demais células. Para fazer isso corretamente, devem ser usadas as referências fixas $B$6, $C$6 e $D$6, que representam as variáveis x 1, x 2 e x 3. Para programas maiores é mais eficiente digitar (ou procurar no ícone de fórmulas): =SOMARPRODUTO(B2:D2;$B$6:$D$6) na célula E2 e copiar para as demais. Agora todos os parâmetros estão prontos para serem vinculados ao solver. A figura 7.6 mostra a janela aberta após selecionar o ícone Solver. Primeiramente, define-se a função objetivo célula $F$7, o sentido da otimização igual a Máx, e as células das variáveis $B$6:$D$6. Estas informações deixam claro para o Solver que as variáveis definidas pelas células $B$6, $C$6 e $D$6 são determinadas pela maximização da função objetivo na célula $F$7. A póxima etapa é estabelecer as restrições dos problemas clicando em Adicionar na caixa de diálogo Parâmetros do Solver. A caixa Adicionar restrições será exibida, como mostra a figura 7.7 para facilitar a digitação dos elementos das restrições: $E$2:$E$4 <= $G$2:$G$4 L. A. P. Cantão & F. S. Stark 107

109 Capítulo 7. O Uso de Excel e do lp solve para Problemas de Programação Linear Figura 7.6: Solver. Figura 7.7: Relacionando as restrições. Uma maneira de entrar com as restrições de não negatividade é clicar em Opções na caixa de diálogo Parâmetros do Solver para acessar a caixa de diálogo Opções do Solver, como mostra a figura 7.8, selecionar Presumir não negatividade. Pode também selecionar Presumir modelo linear. Para resolver o problema, clique Resolver em Parâmetros do Solver. Uma nova caixa de diálogo, Resultado do Solver dará o status da solução (figura 7.9). Se a montagem do problema estiver correta, o valor ótimo da L. A. P. Cantão & F. S. Stark 108

110 Capítulo 7. O Uso de Excel e do lp solve para Problemas de Programação Linear Figura 7.8: Opções do Solver. função objetivo aparecerá na célula $F$7 e os valores de x 1, x 2 e x 3 irão para as células $B$6, $C$6 e $D$6, respectivamente. Figura 7.9: Solução. Se o problema não tiver solução viável, o Solver emitirá a mensagem expĺıcita Solver não pode achar uma solução viável. Se o valor objetivo ótimo for ilimitado, o Solver emitirá uma mensagem ambígua Os valores das células de destino não convergem. Em qualquer um dos casos, a mensagem indica que há algo errado com a L. A. P. Cantão & F. S. Stark 109

111 Capítulo 7. O Uso de Excel e do lp solve para Problemas de Programação Linear formulação do modelo. A caixa de diálogo Resultados do Solver lhe dará oportunidade de requisitar mais detalhes sobre a solução, incluindo o relatório de sensibilidade, como mostram as figuras 7.10, 7.11 e Figura 7.10: Relatório de sensibilidade. Figura 7.11: Relatório de resposta. L. A. P. Cantão & F. S. Stark 110

112 lp solve Capítulo 7. O Uso de Excel e do lp solve para Problemas de Programação Linear Figura 7.12: Relatório de limites. 7.3 lp solve O software lp solve é um solver para problemas de Programação Linear Inteira Mista, vide [9]. Como o primeiro passo na resolução de um problema de Programação Inteira é a de relaxar a condição de integralidade das variáveis, ou seja, resolver um problema de Programação Linear, sua aplicabilidade é direta em. O software lp solve é livre (licensa LG), baseado no Método Simplex Revisado (para ) e Branch-and-Bound (para Programação Inteira). Note que, este solver é exclusivo para problemas lineares, ou seja, as equações do problema devem ser de primeira ordem. Por outro lado, o Excel Solver permite a resolução de problemas não lineares. Este software foi desenvolvido por Michel Berkelaar na Eindhoven University of Technology. O trabalho de Jeroen Dirks fez a transição da versão básica 1.5 para a versão completa 2.0. lp solve possui uma comunidade via Yahoo group solve/, onde vc encontra as últimas fontes, executáveis para plataforma comum, exemplos, manuais e mensagens de ajuda sobre o lp sove. A instalação deste software é relativamente simples e pode ser feita através do site Após a instalação, em ambiente Windows, aparecerá um ícone na sua área de trabalho permitindo o acesso direto. A figura 7.13 apresenta a tela inicial do solver. Considere o problema (7.1), sua implementação é direta, como mostra a figura No menu superior, selecione a opção Action e Solve. A tecla F9 é o atalho deste comando, como apresentado na figura A figura 7.16 mostra a mensagem de resolução do problema em questão. As janelas apresentadas pelas figuras 7.16 e 7.17 mostram o problema em forma matricial e os valores das variáveis após o processo de otimização, respectivamente. 111

113 lp solve Capítulo 7. O Uso de Excel e do lp solve para Problemas de Programação Linear Figura 7.13: O ambiente LP Solve. Figura 7.14: Descrição do problema (7.1). 112

114 lp solve Capítulo 7. O Uso de Excel e do lp solve para Problemas de Programação Linear Figura 7.15: O ícone de resolução. Figura 7.16: Mensagem de resolução. 113

Pesquisa Operacional

Pesquisa Operacional Pesquisa Operacional Tópicos em Programação Linear e Inteira Prof. Dr.Ricardo Ribeiro dos Santos ricr.santos@gmail.com Universidade Católica Dom Bosco - UCDB Engenharia de Computação Roteiro Introdução

Leia mais

Investigação Operacional- 2009/10 - Programas Lineares 3 PROGRAMAS LINEARES

Investigação Operacional- 2009/10 - Programas Lineares 3 PROGRAMAS LINEARES Investigação Operacional- 2009/10 - Programas Lineares 3 PROGRAMAS LINEARES Formulação A programação linear lida com problemas nos quais uma função objectivo linear deve ser optimizada (maximizada ou minimizada)

Leia mais

PESQUISA OPERACIONAL: UMA ABORDAGEM À PROGRAMAÇÃO LINEAR. Rodolfo Cavalcante Pinheiro 1,3 Cleber Giugioli Carrasco 2,3 *

PESQUISA OPERACIONAL: UMA ABORDAGEM À PROGRAMAÇÃO LINEAR. Rodolfo Cavalcante Pinheiro 1,3 Cleber Giugioli Carrasco 2,3 * PESQUISA OPERACIONAL: UMA ABORDAGEM À PROGRAMAÇÃO LINEAR 1 Graduando Rodolfo Cavalcante Pinheiro 1,3 Cleber Giugioli Carrasco 2,3 * 2 Pesquisador - Orientador 3 Curso de Matemática, Unidade Universitária

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

PROBLEMA DE TRANSPORTE: MODELO E MÉTODO DE SOLUÇÃO

PROBLEMA DE TRANSPORTE: MODELO E MÉTODO DE SOLUÇÃO PROBLEMA DE TRANSPORTE: MODELO E MÉTODO DE SOLUÇÃO Luciano Pereira Magalhães - 8º - noite lpmag@hotmail.com Orientador: Prof Gustavo Campos Menezes Banca Examinadora: Prof Reinaldo Sá Fortes, Prof Eduardo

Leia mais

1. Método Simplex. Faculdade de Engenharia Eng. Celso Daniel Engenharia de Produção. Pesquisa Operacional II Profa. Dra. Lílian Kátia de Oliveira

1. Método Simplex. Faculdade de Engenharia Eng. Celso Daniel Engenharia de Produção. Pesquisa Operacional II Profa. Dra. Lílian Kátia de Oliveira Faculdade de Engenharia Eng. Celso Daniel Engenharia de Produção. Método Simple.. Solução eata para os modelos de Programação Linear O modelo de Programação Linear (PL) reduz um sistema real a um conjunto

Leia mais

Resolução da Lista 2 - Modelos determinísticos

Resolução da Lista 2 - Modelos determinísticos EA044 - Planejamento e Análise de Sistemas de Produção Resolução da Lista 2 - Modelos determinísticos Exercício 1 a) x ij são as variáveis de decisão apropriadas para o problemas pois devemos indicar quantos

Leia mais

PESQUISA OPERACIONAL. Fabiano F. T. dos Santos. Instituto de Matemática e Estatística

PESQUISA OPERACIONAL. Fabiano F. T. dos Santos. Instituto de Matemática e Estatística PESQUISA OPERACIONAL Fabiano F. T. dos Santos Instituto de Matemática e Estatística Origens da Pesquisa Operacional O termo pesquisa operacional é atribuído a A. P. Rowe, que, em 1938 na Grã-Bretanha,

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

ão: modelagem e técnicas

ão: modelagem e técnicas Curso de Especialização em Gestão Empresarial (MBA Executivo Turma 15) Disciplina: Pesquisa Operacional Prof. Dr. Álvaro José Periotto 3. Otimização ão: modelagem e técnicas de resolução Passando da daetapa

Leia mais

Pesquisa Operacional

Pesquisa Operacional Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando Marins fmarins@feg.unesp.br Departamento de Produção

Leia mais

O Método Simplex para

O Método Simplex para O Método Simplex para Programação Linear Formas de Programas Lineares O problema de Programação Matemática consiste na determinação do valor de n variáveis x 1, x 2,, x n que tornam mínimo ou máximo o

Leia mais

Lista 2 - Modelos determinísticos

Lista 2 - Modelos determinísticos EA044 - Planejamento e Análise de Sistemas de Produção Lista 2 - Modelos determinísticos Exercício 1 A Companhia Ferroviária do Brasil (CFB) está planejando a alocação de vagões a 5 regiões do país para

Leia mais

MODELAGEM COM EQUAÇÕES DIFERENCIAIS DE PRIMEIRA ORDEM E APLICAÇÕES À ECONOMIA

MODELAGEM COM EQUAÇÕES DIFERENCIAIS DE PRIMEIRA ORDEM E APLICAÇÕES À ECONOMIA MODELAGEM COM EQUAÇÕES DIFERENCIAIS DE PRIMEIRA ORDEM E APLICAÇÕES À ECONOMIA PAULO, João Pedro Antunes de Universidade Estadual de Goiás UnU de Iporá jpadepaula@hotmail.com RESUMO Esta pesquisa foi feita

Leia mais

PESQUISA OPERACIONAL

PESQUISA OPERACIONAL Universidade Castelo Branco PESQUISA OPERACIONAL Prof. Cláudio H. S. Grecco RIO DE JANEIRO, RJ - BRASIL ii ÍNDICE. INTRODUÇÃO À PESQUISA OPERACIONAL. O Desenvolvimento da Pesquisa Operacional. Modelagem.3

Leia mais

Pesquisa Operacional Programação em Redes

Pesquisa Operacional Programação em Redes Pesquisa Operacional Programação em Redes Profa. Alessandra Martins Coelho outubro/2013 Modelagem em redes: Facilitar a visualização e a compreensão das características do sistema Problema de programação

Leia mais

Notas de aula número 1: Otimização *

Notas de aula número 1: Otimização * UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL UFRGS DEPARTAMENTO DE ECONOMIA CURSO DE CIÊNCIAS ECONÔMICAS DISCIPLINA: TEORIA MICROECONÔMICA II Primeiro Semestre/2001 Professor: Sabino da Silva Porto Júnior

Leia mais

Capítulo 1. x > y ou x < y ou x = y

Capítulo 1. x > y ou x < y ou x = y Capítulo Funções, Plano Cartesiano e Gráfico de Função Ao iniciar o estudo de qualquer tipo de matemática não podemos provar tudo. Cada vez que introduzimos um novo conceito precisamos defini-lo em termos

Leia mais

2 A Derivada. 2.1 Velocidade Média e Velocidade Instantânea

2 A Derivada. 2.1 Velocidade Média e Velocidade Instantânea 2 O objetivo geral desse curso de Cálculo será o de estudar dois conceitos básicos: a Derivada e a Integral. No decorrer do curso esses dois conceitos, embora motivados de formas distintas, serão por mais

Leia mais

MATEMÁTICA I AULA 07: TESTES PARA EXTREMOS LOCAIS, CONVEXIDADE, CONCAVIDADE E GRÁFICO TÓPICO 02: CONVEXIDADE, CONCAVIDADE E GRÁFICO Este tópico tem o objetivo de mostrar como a derivada pode ser usada

Leia mais

Utilização do SOLVER do EXCEL

Utilização do SOLVER do EXCEL Utilização do SOLVER do EXCEL 1 Utilização do SOLVER do EXCEL José Fernando Oliveira DEEC FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO MAIO 1998 Para ilustrar a utilização do Solver na resolução de

Leia mais

Uma lei que associa mais de um valor y a um valor x é uma relação, mas não uma função. O contrário é verdadeiro (isto é, toda função é uma relação).

Uma lei que associa mais de um valor y a um valor x é uma relação, mas não uma função. O contrário é verdadeiro (isto é, toda função é uma relação). 5. FUNÇÕES DE UMA VARIÁVEL 5.1. INTRODUÇÃO Devemos compreender função como uma lei que associa um valor x pertencente a um conjunto A a um único valor y pertencente a um conjunto B, ao que denotamos por

Leia mais

ESTRATÉGIAS DE RESOLUÇÃO DE PROBLEMAS DE PESQUISA OPERACIONAL

ESTRATÉGIAS DE RESOLUÇÃO DE PROBLEMAS DE PESQUISA OPERACIONAL ESTRATÉGIAS DE RESOLUÇÃO DE PROBLEMAS DE PESQUISA OPERACIONAL André Luis Trevisan Universidade Tecnológica Federal do Paraná andrelt@utfpr.edu.br Magna Natalia Marin Pires Universidade Estadual de Londrina

Leia mais

Análise da sensibilidade

Análise da sensibilidade Análise da Sensibilidade Bertolo, L.A. UNIUBE Análise da sensibilidade Em todos os modelos de programação linear, os coeficientes da função objetivo e das restrições são considerados como entrada de dados

Leia mais

Unidade: Vetores e Forças. Unidade I:

Unidade: Vetores e Forças. Unidade I: Unidade I: 0 Unidade: Vetores e Forças 2.VETORES 2.1 Introdução Os vetores são definidos como entes matemáticos que dão noção de intensidade, direção e sentido. De forma prática, o conceito de vetor pode

Leia mais

Álgebra Linear. Mauri C. Nascimento Departamento de Matemática UNESP/Bauru. 19 de fevereiro de 2013

Álgebra Linear. Mauri C. Nascimento Departamento de Matemática UNESP/Bauru. 19 de fevereiro de 2013 Álgebra Linear Mauri C. Nascimento Departamento de Matemática UNESP/Bauru 19 de fevereiro de 2013 Sumário 1 Matrizes e Determinantes 3 1.1 Matrizes............................................ 3 1.2 Determinante

Leia mais

OTIMIZAÇÃO VETORIAL. Formulação do Problema

OTIMIZAÇÃO VETORIAL. Formulação do Problema OTIMIZAÇÃO VETORIAL Formulação do Problema Otimização Multiobjetivo (também chamada otimização multicritério ou otimização vetorial) pode ser definida como o problema de encontrar: um vetor de variáveis

Leia mais

APLICAÇÕES DA DERIVADA

APLICAÇÕES DA DERIVADA Notas de Aula: Aplicações das Derivadas APLICAÇÕES DA DERIVADA Vimos, na seção anterior, que a derivada de uma função pode ser interpretada como o coeficiente angular da reta tangente ao seu gráfico. Nesta,

Leia mais

GABARITO OTM 09 [ ] [ ] ( ) [ ] O que mostra que e, logo o sistema não possui solução. [ ]

GABARITO OTM 09 [ ] [ ] ( ) [ ] O que mostra que e, logo o sistema não possui solução. [ ] GABARITO OTM 09 Questão 1 a) Observe que o, deste modo o sistema não possui única solução ou não possui solução. Como [ ] [ ] [ ] [ ] O que mostra que e, logo o sistema não possui solução. b) Sim. Basta

Leia mais

Pesquisa Operacional. Função Linear - Introdução. Função do 1 Grau. Função Linear - Exemplos Representação no Plano Cartesiano. Prof.

Pesquisa Operacional. Função Linear - Introdução. Função do 1 Grau. Função Linear - Exemplos Representação no Plano Cartesiano. Prof. Pesquisa Operacional Prof. José Luiz Prof. José Luiz Função Linear - Introdução O conceito de função é encontrado em diversos setores da economia, por exemplo, nos valores pagos em um determinado período

Leia mais

x0 = 1 x n = 3x n 1 x k x k 1 Quantas são as sequências com n letras, cada uma igual a a, b ou c, de modo que não há duas letras a seguidas?

x0 = 1 x n = 3x n 1 x k x k 1 Quantas são as sequências com n letras, cada uma igual a a, b ou c, de modo que não há duas letras a seguidas? Recorrências Muitas vezes não é possível resolver problemas de contagem diretamente combinando os princípios aditivo e multiplicativo. Para resolver esses problemas recorremos a outros recursos: as recursões

Leia mais

[a11 a12 a1n 4. SISTEMAS LINEARES 4.1. CONCEITO. Um sistema de equações lineares é um conjunto de equações do tipo

[a11 a12 a1n 4. SISTEMAS LINEARES 4.1. CONCEITO. Um sistema de equações lineares é um conjunto de equações do tipo 4. SISTEMAS LINEARES 4.1. CONCEITO Um sistema de equações lineares é um conjunto de equações do tipo a 11 x 1 + a 12 x 2 +... + a 1n x n = b 1 a 11 x 1 + a 12 x 2 +... + a 1n x n = b 2... a n1 x 1 + a

Leia mais

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

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

Leia mais

Todos os exercícios sugeridos nesta apostila se referem ao volume 1. MATEMÁTICA I 1 FUNÇÃO DO 1º GRAU

Todos os exercícios sugeridos nesta apostila se referem ao volume 1. MATEMÁTICA I 1 FUNÇÃO DO 1º GRAU FUNÇÃO IDENTIDADE... FUNÇÃO LINEAR... FUNÇÃO AFIM... GRÁFICO DA FUNÇÃO DO º GRAU... IMAGEM... COEFICIENTES DA FUNÇÃO AFIM... ZERO DA FUNÇÃO AFIM... 8 FUNÇÕES CRESCENTES OU DECRESCENTES... 9 SINAL DE UMA

Leia mais

Equações do primeiro grau

Equações do primeiro grau Módulo 1 Unidade 3 Equações do primeiro grau Para início de conversa... Você tem um telefone celular ou conhece alguém que tenha? Você sabia que o telefone celular é um dos meios de comunicação que mais

Leia mais

CURSO ONLINE RACIOCÍNIO LÓGICO

CURSO ONLINE RACIOCÍNIO LÓGICO AULA QUINZE: Matrizes & Determinantes (Parte II) Olá, amigos! Pedimos desculpas por não ter sido possível apresentarmos esta aula na semana passada. Motivos de força maior nos impediram de fazê-lo, mas

Leia mais

Projetos. Universidade Federal do Espírito Santo - UFES. Mestrado em Informática 2004/1. O Projeto. 1. Introdução. 2.

Projetos. Universidade Federal do Espírito Santo - UFES. Mestrado em Informática 2004/1. O Projeto. 1. Introdução. 2. Pg. 1 Universidade Federal do Espírito Santo - UFES Mestrado em Informática 2004/1 Projetos O Projeto O projeto tem um peso maior na sua nota final pois exigirá de você a utilização de diversas informações

Leia mais

Resposta Transitória de Circuitos com Elementos Armazenadores de Energia

Resposta Transitória de Circuitos com Elementos Armazenadores de Energia ENG 1403 Circuitos Elétricos e Eletrônicos Resposta Transitória de Circuitos com Elementos Armazenadores de Energia Guilherme P. Temporão 1. Introdução Nas últimas duas aulas, vimos como circuitos com

Leia mais

5 Transformadas de Laplace

5 Transformadas de Laplace 5 Transformadas de Laplace 5.1 Introdução às Transformadas de Laplace 4 5.2 Transformadas de Laplace definição 5 5.2 Transformadas de Laplace de sinais conhecidos 6 Sinal exponencial 6 Exemplo 5.1 7 Sinal

Leia mais

Conjuntos numéricos. Notasdeaula. Fonte: Leithold 1 e Cálculo A - Flemming. Dr. Régis Quadros

Conjuntos numéricos. Notasdeaula. Fonte: Leithold 1 e Cálculo A - Flemming. Dr. Régis Quadros Conjuntos numéricos Notasdeaula Fonte: Leithold 1 e Cálculo A - Flemming Dr. Régis Quadros Conjuntos numéricos Os primeiros conjuntos numéricos conhecidos pela humanidade são os chamados inteiros positivos

Leia mais

IBM1018 Física Básica II FFCLRP USP Prof. Antônio Roque Aula 6. O trabalho feito pela força para deslocar o corpo de a para b é dado por: = =

IBM1018 Física Básica II FFCLRP USP Prof. Antônio Roque Aula 6. O trabalho feito pela força para deslocar o corpo de a para b é dado por: = = Energia Potencial Elétrica Física I revisitada 1 Seja um corpo de massa m que se move em linha reta sob ação de uma força F que atua ao longo da linha. O trabalho feito pela força para deslocar o corpo

Leia mais

As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem:

As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem: 1 As notas de aula que se seguem são uma compilação dos textos relacionados na bibliografia e não têm a intenção de substituir o livro-texto, nem qualquer outra bibliografia. Introdução O Cálculo Numérico

Leia mais

A seguir, uma demonstração do livro. Para adquirir a versão completa em papel, acesse: www.pagina10.com.br

A seguir, uma demonstração do livro. Para adquirir a versão completa em papel, acesse: www.pagina10.com.br A seguir, uma demonstração do livro. Para adquirir a versão completa em papel, acesse: www.pagina0.com.br Funções Reais CÁLCULO VOLUME ZERO - Neste capítulo, estudaremos as protagonistas do longa metragem

Leia mais

Questão 1 Descritor: D4 Identificar a relação entre o número de vértices, faces e/ou arestas de poliedros expressa em um problema.

Questão 1 Descritor: D4 Identificar a relação entre o número de vértices, faces e/ou arestas de poliedros expressa em um problema. SIMULADO SAEB - 2015 Matemática 3ª série do Ensino Médio GOVERNO DO ESTADO DE SÃO PAULO SECRETARIA DA EDUCAÇÃO QUESTÕES E COMENTÁRIOS Questão 1 D4 Identificar a relação entre o número de vértices, faces

Leia mais

ATENÇÃO: Escreva a resolução COMPLETA de cada questão no espaço reservado para a mesma.

ATENÇÃO: Escreva a resolução COMPLETA de cada questão no espaço reservado para a mesma. 2ª Fase Matemática Introdução A prova de matemática da segunda fase é constituída de 12 questões, geralmente apresentadas em ordem crescente de dificuldade. As primeiras questões procuram avaliar habilidades

Leia mais

Somatórias e produtórias

Somatórias e produtórias Capítulo 8 Somatórias e produtórias 8. Introdução Muitas quantidades importantes em matemática são definidas como a soma de uma quantidade variável de parcelas também variáveis, por exemplo a soma + +

Leia mais

Disciplina: Introdução à Álgebra Linear

Disciplina: Introdução à Álgebra Linear Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Campus: Mossoró Curso: Licenciatura Plena em Matemática Disciplina: Introdução à Álgebra Linear Prof.: Robson Pereira de Sousa

Leia mais

PARTE 2 FUNÇÕES VETORIAIS DE UMA VARIÁVEL REAL

PARTE 2 FUNÇÕES VETORIAIS DE UMA VARIÁVEL REAL PARTE FUNÇÕES VETORIAIS DE UMA VARIÁVEL REAL.1 Funções Vetoriais de Uma Variável Real Vamos agora tratar de um caso particular de funções vetoriais F : Dom(f R n R m, que são as funções vetoriais de uma

Leia mais

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

Faculdade de Engenharia Optimização. Prof. Doutor Engº Jorge Nhambiu 1 Programação Linear (PL) Aula 5: O Método Simplex. 2 Algoritmo. O que é um algoritmo? Qualquer procedimento iterativo e finito de solução é um algoritmo. Um algoritmo é um processo que se repete (itera)

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

MATERIAL DIDÁTICO A REALIDADE DOS SISTEMAS DE EQUAÇÕES

MATERIAL DIDÁTICO A REALIDADE DOS SISTEMAS DE EQUAÇÕES MATERIAL DIDÁTICO A REALIDADE DOS SISTEMAS DE EQUAÇÕES Prof. ANTONIO ROBERTO GONÇALVES Aprendizagem de Conceitos Se você precisa encontrar o volume de um silo de milho, a distância percorrida por um carro

Leia mais

Unidade III FINANÇAS EM PROJETO DE TI. Prof. Fernando Rodrigues

Unidade III FINANÇAS EM PROJETO DE TI. Prof. Fernando Rodrigues Unidade III FINANÇAS EM PROJETO DE TI Prof. Fernando Rodrigues Quando se trabalha com projetos, é necessária a utilização de técnicas e ferramentas que nos auxiliem a estudálos, entendê-los e controlá-los.

Leia mais

A função do primeiro grau

A função do primeiro grau Módulo 1 Unidade 9 A função do primeiro grau Para início de conversa... Já abordamos anteriormente o conceito de função. Mas, a fim de facilitar e aprofundar o seu entendimento, vamos estudar algumas funções

Leia mais

Sistemas de Informações Gerenciais

Sistemas de Informações Gerenciais Sistemas de Informações Gerenciais Pesquisa Operacional na tomada de decisão Referencia LACHTERMACHER, Gerson. Pesquisa Operacional na Tomada de Decisões: modelagem em Excel. 2ªed. Elsevier. 2004 Problemas

Leia mais

Gerenciamento da produção

Gerenciamento da produção 74 Corte & Conformação de Metais Junho 2013 Gerenciamento da produção Como o correto balanceamento da carga de dobradeiras leva ao aumento da produtividade e redução dos custos (I) Pedro Paulo Lanetzki

Leia mais

Trabalhando Matemática: percepções contemporâneas

Trabalhando Matemática: percepções contemporâneas CONSTRUINDO CONCEITOS SOBRE FAMÍLIA DE FUNÇÕES POLINOMIAL DO 1º GRAU COM USO DO WINPLOT Tecnologias da Informação e Comunicação e Educação Matemática (TICEM) GT 06 MARCOS ANTONIO HELENO DUARTE Secretaria

Leia mais

PRODUÇÃO - Conceitos Iniciais

PRODUÇÃO - Conceitos Iniciais PRODUÇÃO - Conceitos Iniciais 1. Conceito - é a atividade de transformação (processo) de matéria-prima em utilidades necessárias ao consumidor. * Nenhuma organização sobrevive, a menos que produza alguma

Leia mais

9. Derivadas de ordem superior

9. Derivadas de ordem superior 9. Derivadas de ordem superior Se uma função f for derivável, então f é chamada a derivada primeira de f (ou de ordem 1). Se a derivada de f eistir, então ela será chamada derivada segunda de f (ou de

Leia mais

NIVELAMENTO MATEMÁTICA 2012

NIVELAMENTO MATEMÁTICA 2012 NIVELAMENTO MATEMÁTICA 202 Monitor: Alexandre Rodrigues Loures Monitor: Alexandre Rodrigues Loures SUMÁRIO. LOGARITMOS... 3.. Mudança de base... 3.2. Propriedades dos logaritmos... 4 2. DERIVADAS... 4

Leia mais

Matemática - UEL - 2010 - Compilada em 18 de Março de 2010. Prof. Ulysses Sodré Matemática Essencial: http://www.mat.uel.

Matemática - UEL - 2010 - Compilada em 18 de Março de 2010. Prof. Ulysses Sodré Matemática Essencial: http://www.mat.uel. Matemática Essencial Equações do Primeiro grau Matemática - UEL - 2010 - Compilada em 18 de Março de 2010. Prof. Ulysses Sodré Matemática Essencial: http://www.mat.uel.br/matessencial/ Resumo: Notas de

Leia mais

APOSTILA DE MATEMÁTICA BÁSICA PARA E.J.A.

APOSTILA DE MATEMÁTICA BÁSICA PARA E.J.A. CENTRO ESTADUAL DE EDUCAÇÃO PROFISSIONAL DE CURITIBA C.E.E.P CURITIBA APOSTILA DE MATEMÁTICA BÁSICA PARA E.J.A. Modalidades: Integrado Subseqüente Proeja Autor: Ronald Wykrota (wykrota@uol.com.br) Curitiba

Leia mais

Variantes sobre o método Simplex: Método do grande M

Variantes sobre o método Simplex: Método do grande M Variantes sobre o método Simplex: Método do grande M Revisões Simplex básico Solução óptima multipla Em simplex: valores 0 na função custo Solução degenerada Em simplex: empates na variável a sair, variáveis

Leia mais

INTRODUÇÃO AOS MÉTODOS FACTORIAIS

INTRODUÇÃO AOS MÉTODOS FACTORIAIS Capítulo II INTRODUÇÃO AOS MÉTODOS FACTORIAIS A Análise Factorial de Correspondências é uma técnica simples do ponto de vista matemático e computacional. Porém, devido ao elevado suporte geométrico desta

Leia mais

Ivan Guilhon Mitoso Rocha. As grandezas fundamentais que serão adotadas por nós daqui em frente:

Ivan Guilhon Mitoso Rocha. As grandezas fundamentais que serão adotadas por nós daqui em frente: Rumo ao ITA Física Análise Dimensional Ivan Guilhon Mitoso Rocha A análise dimensional é um assunto básico que estuda as grandezas físicas em geral, com respeito a suas unidades de medida. Como as grandezas

Leia mais

CAPÍTULO 1 INTRODUÇÃO 1.1 INTRODUÇÃO

CAPÍTULO 1 INTRODUÇÃO 1.1 INTRODUÇÃO CAPÍTULO 1 INTRODUÇÃO 1.1 INTRODUÇÃO Em quase todas as nossas atividades diárias precisamos enfrentar filas para atender as nossas necessidades. Aguardamos em fila na padaria, nos bancos, quando trafegamos

Leia mais

computador-cálculo numérico perfeita. As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem:

computador-cálculo numérico perfeita. As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem: 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

Departamento de Matemática - UEL - 2010. Ulysses Sodré. http://www.mat.uel.br/matessencial/ Arquivo: minimaxi.tex - Londrina-PR, 29 de Junho de 2010.

Departamento de Matemática - UEL - 2010. Ulysses Sodré. http://www.mat.uel.br/matessencial/ Arquivo: minimaxi.tex - Londrina-PR, 29 de Junho de 2010. Matemática Essencial Extremos de funções reais Departamento de Matemática - UEL - 2010 Conteúdo Ulysses Sodré http://www.mat.uel.br/matessencial/ Arquivo: minimaxi.tex - Londrina-PR, 29 de Junho de 2010.

Leia mais

Este trabalho tem como objetivo propor um modelo multicritério para a priorização dos modos de falha indicados a partir de uma aplicação do processo

Este trabalho tem como objetivo propor um modelo multicritério para a priorização dos modos de falha indicados a partir de uma aplicação do processo 1 Introdução A atual regulamentação do setor elétrico brasileiro, decorrente de sua reestruturação na última década, exige das empresas o cumprimento de requisitos de disponibilidade e confiabilidade operativa

Leia mais

Método Simplex - Variantes V 1.1, V.Lobo, EN / ISEGI, 2008

Método Simplex - Variantes V 1.1, V.Lobo, EN / ISEGI, 2008 Revisões Variantes sobre o método Simplex: Método do grande M Simplex básico Solução óptima multipla Em simplex: valores 0 na função custo Solução degenerada Em simplex: empates na variável a sair, variáveis

Leia mais

CONTEÚDOS DA DISCIPLINA DE MATEMÁTICA

CONTEÚDOS DA DISCIPLINA DE MATEMÁTICA CONTEÚDOS DA DISCIPLINA DE MATEMÁTICA 6ºANO CONTEÚDOS-1º TRIMESTRE Números naturais; Diferença entre número e algarismos; Posição relativa do algarismo dentro do número; Leitura do número; Sucessor e antecessor;

Leia mais

1 Módulo ou norma de um vetor

1 Módulo ou norma de um vetor Álgebra Linear I - Aula 3-2005.2 Roteiro 1 Módulo ou norma de um vetor A norma ou módulo do vetor ū = (u 1, u 2, u 3 ) de R 3 é ū = u 2 1 + u2 2 + u2 3. Geometricamente a fórmula significa que o módulo

Leia mais

IBM1018 Física Básica II FFCLRP USP Prof. Antônio Roque Aula 3

IBM1018 Física Básica II FFCLRP USP Prof. Antônio Roque Aula 3 Linhas de Força Mencionamos na aula passada que o físico inglês Michael Faraday (79-867) introduziu o conceito de linha de força para visualizar a interação elétrica entre duas cargas. Para Faraday, as

Leia mais

Pesquisa Operacional

Pesquisa Operacional Pesquisa Operacional Prof. José Luiz Resolver um problema de Programação Linear significa basicamente resolver sistemas de equações lineares; Esse procedimento, apesar de correto, é bastante trabalhoso,

Leia mais

Teoria da Decisão MÉTODOS QUANTITATIVOS DE GESTÃO

Teoria da Decisão MÉTODOS QUANTITATIVOS DE GESTÃO Teoria da Decisão MÉTODOS QUANTITATIVOS DE GESTÃO INTRODUÇÃO Todo problema de decisão envolve julgamento sobre um conjunto conhecido de alternativas; Informações Disponíveis (Dados) Conhecidos com certeza;

Leia mais

Tópico 11. Aula Teórica/Prática: O Método dos Mínimos Quadrados e Linearização de Funções

Tópico 11. Aula Teórica/Prática: O Método dos Mínimos Quadrados e Linearização de Funções Tópico 11. Aula Teórica/Prática: O Método dos Mínimos Quadrados e Linearização de Funções 1. INTRODUÇÃO Ao se obter uma sucessão de pontos experimentais que representados em um gráfico apresentam comportamento

Leia mais

O USO DA FERRAMENTA SOLVER DO EXCEL NA RESOLUÇÃO DE PROBLEMAS DE PROGRAMAÇÃO LINEAR

O USO DA FERRAMENTA SOLVER DO EXCEL NA RESOLUÇÃO DE PROBLEMAS DE PROGRAMAÇÃO LINEAR O USO DA FERRAMENTA SOLVER DO EXCEL NA RESOLUÇÃO DE PROBLEMAS DE PROGRAMAÇÃO LINEAR João Batista de Jesus FATEC-JAHU Célio Favoni 2 FATEC-JAHU Resumo Este trabalho expõe de maneira sintetizada as funcionalidades

Leia mais

CPV O cursinho que mais aprova na GV

CPV O cursinho que mais aprova na GV O cursinho que mais aprova na GV FGV ADM Objetiva 06/junho/010 MATemática 01. O monitor de um notebook tem formato retangular com a diagonal medindo d. Um lado do retângulo mede 3 do outro. 4 A área do

Leia mais

Pesquisa Operacional

Pesquisa Operacional GOVERNO DO ESTADO DO PARÁ UNIVERSIDADE DO ESTADO DO PARÁ CENTRO DE CIÊNCIAS NATURAIS E TECNOLOGIA DEPARTAMENTO DE ENGENHARIA Pesquisa Operacional Tópico 4 Simulação Rosana Cavalcante de Oliveira, Msc rosanacavalcante@gmail.com

Leia mais

Gerenciamento de Projetos Técnicas e Ferramentas iniciais

Gerenciamento de Projetos Técnicas e Ferramentas iniciais Gerenciamento de Projetos Técnicas e Ferramentas iniciais Metodologia Aula Teórica Exemplos e Exercícios práticos Questões de concursos anteriores Metodologia e Bibliografia Fontes PMBOK, 2004. Project

Leia mais

Fórmula versus Algoritmo

Fórmula versus Algoritmo 1 Introdução Fórmula versus Algoritmo na resolução de um problema 1 Roberto Ribeiro Paterlini 2 Departamento de Matemática da UFSCar No estudo das soluções do problema abaixo deparamos com uma situação

Leia mais

Construção na orla marítima

Construção na orla marítima Reforço escolar M ate mática Construção na orla marítima Dinâmica 4 9º Ano 2º Bimestre Professor DISCIPLINA Ano CAMPO CONCEITO Matemática 9º do Ensino Fundamental Algébrico Simbólico Equação do 2º. Grau

Leia mais

MESTRADO EM MACROECONOMIA e FINANÇAS Disciplina de Computação. Aula 04. Prof. Dr. Marco Antonio Leonel Caetano

MESTRADO EM MACROECONOMIA e FINANÇAS Disciplina de Computação. Aula 04. Prof. Dr. Marco Antonio Leonel Caetano MESTRADO EM MACROECONOMIA e FINANÇAS Disciplina de Computação Aula 04 Prof. Dr. Marco Antonio Leonel Caetano Guia de Estudo para Aula 04 Aplicação de Produto Escalar - Interpretação do produto escalar

Leia mais

Lista de exercícios: Modelagem matemática Otimização Combinatória

Lista de exercícios: Modelagem matemática Otimização Combinatória Lista de exercícios: Modelagem matemática Otimização Combinatória Nas questões abaixo: i) Formule e apresente o modelo matemático. Caso não esteja, coloque na forma padrão. ii) Especicar as variáveis,

Leia mais

4.2 Produto Vetorial. Orientação sobre uma reta r

4.2 Produto Vetorial. Orientação sobre uma reta r 94 4. Produto Vetorial Dados dois vetores u e v no espaço, vamos definir um novo vetor, ortogonal a u e v, denotado por u v (ou u v, em outros textos) e denominado produto vetorial de u e v. Mas antes,

Leia mais

UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO PROGRAMA DE EDUCAÇÃO TUTORIAL - MATEMÁTICA PROJETO FUNDAMENTOS DE MATEMÁTICA ELEMENTAR

UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO PROGRAMA DE EDUCAÇÃO TUTORIAL - MATEMÁTICA PROJETO FUNDAMENTOS DE MATEMÁTICA ELEMENTAR UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO PROGRAMA DE EDUCAÇÃO TUTORIAL - MATEMÁTICA PROJETO FUNDAMENTOS DE MATEMÁTICA ELEMENTAR Assuntos: Matrizes; Matrizes Especiais; Operações com Matrizes; Operações Elementares

Leia mais

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

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

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 10 PROFª BRUNO CALEGARO

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 10 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 10 PROFª BRUNO CALEGARO Santa Maria, 10 de Outubro de 2013. Revisão aula anterior Documento de Requisitos Estrutura Padrões Template Descoberta

Leia mais

INTRODUÇÃO AO ESTUDO DE EQUAÇÕES DIFERENCIAIS

INTRODUÇÃO AO ESTUDO DE EQUAÇÕES DIFERENCIAIS INTRODUÇÃO AO ESTUDO DE EQUAÇÕES DIFERENCIAIS Terminologia e Definições Básicas No curso de cálculo você aprendeu que, dada uma função y f ( ), a derivada f '( ) d é também, ela mesma, uma função de e

Leia mais

Matemática. Subtraindo a primeira equação da terceira obtemos x = 1. Substituindo x = 1 na primeira e na segunda equação obtém-se o sistema

Matemática. Subtraindo a primeira equação da terceira obtemos x = 1. Substituindo x = 1 na primeira e na segunda equação obtém-se o sistema Matemática 01. A ilustração a seguir é de um cubo com aresta medindo 6 cm. A, B, C e D são os vértices indicados do cubo, E é o centro da face contendo C e D, e F é o pé da perpendicular a BD traçada a

Leia mais

Programação Linear com o Microsoft Excel R

Programação Linear com o Microsoft Excel R Programação Linear com o Microsoft Excel R Adriano Verdério 1, Clezio A. Braga 1 1 Colegiado do Curso de Matemática - Centro de Ciências Exatas e Tecnológicas da Universidade Estadual do Oeste do Paraná

Leia mais

Ponto, reta e plano no espaço tridimensional, cont.

Ponto, reta e plano no espaço tridimensional, cont. Ponto, reta e plano no espaço tridimensional, cont. Matemática para arquitetura Ton Marar 1. Posições relativas Posição relativa entre pontos Dois pontos estão sempre alinhados. Três pontos P 1 = (x 1,

Leia mais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais Notas da Aula 15 - Fundamentos de Sistemas Operacionais 1. Software de Entrada e Saída: Visão Geral Uma das tarefas do Sistema Operacional é simplificar o acesso aos dispositivos de hardware pelos processos

Leia mais

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO

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

Leia mais

Guia do professor. Ministério da Ciência e Tecnologia. Ministério da Educação. Secretaria de Educação a Distância.

Guia do professor. Ministério da Ciência e Tecnologia. Ministério da Educação. Secretaria de Educação a Distância. números e funções Guia do professor Objetivos da unidade 1. Analisar representação gráfica de dados estatísticos; 2. Familiarizar o aluno com gráfico de Box Plot e análise estatística bivariada; 3. Utilizar

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

ORIENTAÇÕES SOBRE A PROVA DISCURSIVA

ORIENTAÇÕES SOBRE A PROVA DISCURSIVA IF SUDESTE MG REITORIA Av. Francisco Bernardino, 165 4º andar Centro 36.013-100 Juiz de Fora MG Telefax: (32) 3257-4100 CONCURSO PÚBLICO PARA PROVIMENTO DE CARGO EFETIVO ORIENTAÇÕES SOBRE A PROVA DISCURSIVA

Leia mais

Equações do segundo grau

Equações do segundo grau Módulo 1 Unidade 4 Equações do segundo grau Para início de conversa... Nesta unidade, vamos avançar um pouco mais nas resoluções de equações. Na unidade anterior, você estudou sobre as equações de primeiro

Leia mais

Contagem I. Figura 1: Abrindo uma Porta.

Contagem I. Figura 1: Abrindo uma Porta. Polos Olímpicos de Treinamento Curso de Combinatória - Nível 2 Prof. Bruno Holanda Aula 4 Contagem I De quantos modos podemos nos vestir? Quantos números menores que 1000 possuem todos os algarismos pares?

Leia mais

Método de Eliminação de Gauss. Eduardo Camponogara

Método de Eliminação de Gauss. Eduardo Camponogara Sistemas de Equações Lineares Método de Eliminação de Gauss Eduardo Camponogara Departamento de Automação e Sistemas Universidade Federal de Santa Catarina DAS-5103: Cálculo Numérico para Controle e Automação

Leia mais

Ciclo de um produto. Você já percebeu, ao andar pelos corredores. Um problema. Ciclo do produto

Ciclo de um produto. Você já percebeu, ao andar pelos corredores. Um problema. Ciclo do produto A U A UL LA Ciclo de um produto Um problema Você já percebeu, ao andar pelos corredores de um supermercado, a infinidade de produtos industrializados? Desde alimentos a produtos de limpeza e eletrodomésticos,

Leia mais