O Método Simplex para



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

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

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

a 1 x a n x n = b,

Utilização do SOLVER do EXCEL

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

Exercícios Teóricos Resolvidos

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

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

Por que o quadrado de terminados em 5 e ta o fa cil? Ex.: 15²=225, 75²=5625,...

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

Pesquisa Operacional Programação em Redes

Pesquisa Operacional

APLICAÇÕES DA DERIVADA

Arrendamento de espaço num armazém

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

Expansão linear e geradores

Capítulo 3 - Sistemas de Equações Lineares

Matemática - UEL Compilada em 18 de Março de Prof. Ulysses Sodré Matemática Essencial:

Capítulo 3 - Sistemas de Equações Lineares

Introdução ao estudo de equações diferenciais

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

ficha 3 espaços lineares

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

Exercícios 1. Determinar x de modo que a matriz

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

Múltiplos Estágios processo com três estágios Inquérito de Satisfação Fase II

Só Matemática O seu portal matemático FUNÇÕES

CURSO ONLINE RACIOCÍNIO LÓGICO

CAP. I ERROS EM CÁLCULO NUMÉRICO

Resolução de sistemas lineares

Joaquim J. Júdice. Pedro C. Martins. Marta B. Pascoal. Jorge P. Santos OPTIMIZAÇÃO EM REDES. Departamento de Matemática Universidade de Coimbra

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

CAPÍTULO 2. Grafos e Redes

INSTITUTO TECNOLÓGICO

Investigação Operacional

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?

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

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

PROGRAMAÇÃO LINEAR. Resolução de problemas de programação linear usando o comando Solver, no Excel.

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

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

E A D - S I S T E M A S L I N E A R E S INTRODUÇÃO

Função. Definição formal: Considere dois conjuntos: o conjunto X com elementos x e o conjunto Y com elementos y. Isto é:

Material Teórico - Módulo de Divisibilidade. MDC e MMC - Parte 1. Sexto Ano. Prof. Angelo Papa Neto

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

INTRODUÇÃO AOS MÉTODOS FACTORIAIS

Aula 5 - Matemática (Gestão e Marketing)

EQUAÇÕES E INEQUAÇÕES DE 1º GRAU

Análise de Regressão Linear Simples e Múltipla

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

Definição. A expressão M(x,y) dx + N(x,y)dy é chamada de diferencial exata se existe uma função f(x,y) tal que f x (x,y)=m(x,y) e f y (x,y)=n(x,y).

Simulado OBM Nível 2

Método Simplex - Exemplos. Iteração 1 - variáveis básicas: y 1, y 2, y 3. Exemplo 1. Facom - UFMS. Exemplo. Edna A. Hoshino.

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

AV1 - MA (b) Se o comprador preferir efetuar o pagamento à vista, qual deverá ser o valor desse pagamento único? 1 1, , , 980

QUESTÕES COMENTADAS E RESOLVIDAS

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

Truques e Dicas. = 7 30 Para multiplicar fracções basta multiplicar os numeradores e os denominadores: 2 30 = 12 5

Análise de Arredondamento em Ponto Flutuante

UNIV ERSIDADE DO EST ADO DE SANT A CAT ARINA UDESC CENT RO DE CI ^ENCIAS T ECNOLOGICAS DEP ART AMENT O DE MAT EMAT ICA DMAT

GAAL /1 - Simulado - 1 Vetores e Produto Escalar

Arquitetura de Rede de Computadores

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

FUNÇÃO DO 1º GRAU. Vamos iniciar o estudo da função do 1º grau, lembrando o que é uma correspondência:

CADEX. Consultoria em Logística Interna. Layout de armazém. Objectivos. Popularidade. Semelhança. Tamanho. Características

A equação do 2º grau

Recordamos que Q M n n (R) diz-se ortogonal se Q T Q = I.

Universidade Estadual de Santa Cruz. Departamento de Ciências Exatas e Tecnológicas. Especialização em Matemática. Disciplina: Estruturas Algébricas

9. Derivadas de ordem superior

5 Circuitos Equivalentes

Erros. Número Aproximado. Erros Absolutos erelativos. Erro Absoluto

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

Possui como idéia central a divisão de um universo de dados a ser organizado em subconjuntos mais gerenciáveis.

Aplicações de Combinatória e Geometria na Teoria dos Números

94 (8,97%) 69 (6,58%) 104 (9,92%) 101 (9,64%) 22 (2,10%) 36 (3,44%) 115 (10,97%) 77 (7,35%) 39 (3,72%) 78 (7,44%) 103 (9,83%)

Somatórias e produtórias

QUESTÃO 1 ALTERNATIVA B

Funções algébricas do 1º grau. Maurício Bezerra Bandeira Junior

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).

Objetivos. Apresentar as superfícies regradas e superfícies de revolução. Analisar as propriedades que caracterizam as superfícies regradas e

Departamento de Matemática - UEL Ulysses Sodré. Arquivo: minimaxi.tex - Londrina-PR, 29 de Junho de 2010.

Códigos Lineares CAPÍTULO 4

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

INSTITUTO POLITÉCNICO DE SETÚBAL ESCOLA SUPERIOR DE TECNOLOGIA DEPARTAMENTO DE MATEMÁTICA MATEMÁTICA APLICADA

MATRIZES Matriz quadrada Matriz linha e matriz coluna Matriz diagonal Matriz identidade

Conceitos Fundamentais

¹CPTL/UFMS, Três Lagoas, MS,Brasil, ²CPTL/UFMS, Três Lagoas, MS, Brasil.

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

ITA º DIA MATEMÁTICA BERNOULLI COLÉGIO E PRÉ-VESTIBULAR

Método dos mínimos quadrados - ajuste linear

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

AV2 - MA (a) De quantos modos diferentes posso empilhá-los de modo que todos os CDs de rock fiquem juntos?

Equação do 1º Grau. Maurício Bezerra Bandeira Junior

Eduardo C. Xavier. 24 de fevereiro de 2011

Dicas para a 6 a Lista de Álgebra 1 (Conteúdo: Homomorfismos de Grupos e Teorema do Isomorfismo para grupos) Professor: Igor Lima.

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

Numa turma de 26 alunos, o número de raparigas excede em 4 o número de rapazes. Quantos rapazes há nesta turma?

Matemática - UEL Compilada em 18 de Março de Prof. Ulysses Sodré Matemática Essencial:

Corpos. Um domínio de integridade finito é um corpo. Demonstração. Seja D um domínio de integridade com elemento identidade

Transcrição:

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 valor da função sujeito a m restrições f(x 1, x 2,, x n ) g i (x 1, x 2,, x n ) b i, i = 1, 2,, m podendo ainda ter-se x j 0, j = 1, 2,, n 1

Em Programação Linear as funções f e g são lineares, obtendo-se a chamada Forma Canónica: Minimize c 1 x 1 + c 2 x 2 + + c n x n sujeito a a 11 x 1 + a 12 x 2 + + a 1n x n b 1 a 21 x 1 + a 22 x 2 + + a 2n x n b 2 a m1 x 1 + a m2 x 2 + + a mn x n b m Função a minimizar: função objectivo Inequações: restrições Conjunto de soluções que satisfazem as restrições: soluções admissíveis Solução admissível que minimiza a função objectivo: solução óptima Coeficientes c j : coeficientes de custo Coeficientes a ij : coeficientes tecnológicos 2

Coeficientes b i : termos independentes Viu-se que no entanto nem sempre um programa linear se apresenta na forma canónica Seguidamente veremos como fazer a conversão Qualquer problema de maximização podese converter num problema de minimização, uma vez que max n j=1 c j x j = min n j=1 c j x j Após a resolução do novo problema, o valor da função objectivo pretendido é o simétrico do obtido Qualquer inequação do tipo é convertível numa inequação do tipo, multiplicando ambos os membros por 1: a i1 x 1 + a i2 x 2 + + a in x n b i a i1 x 1 a i2 x 2 a in x n b i 3

Qualquer restrição de igualdade pode ser convertida em duas inequações: a i1 x 1 + a i2 x 2 + + a in x n = b i { ai1 x 1 + a i2 x 2 + + a in x n b i a i1 x 1 + a i2 x 2 + + a in x n b i Qualquer variável x j sem restrição de sinal pode ser substituída por x j x j, com x j, x j 0 4

Outra forma de escrever um Programa Linear é a Forma Normal Nesta todas as restrições são igualdades e todas as variáveis têem valores não negativos: Minimize sujeito a c T x Ax = b x 0 Note-se que toda a desigualdade da forma pode ser transformada numa igualdade, introduzindo uma variável adicional Consideremos a desigualdade a i1 x 1 + a i2 x 2 + + a in x n b i que pode ser escrita na forma a i1 x 1 + a i2 x 2 + + a in x n x n+i = b i com x n+i 0 Às novas variáveis x n+i dá-se o nome de variáveis de folga, ou variáveis slack 5

Resolução gráfica de Programas Lineares Como exemplo, consideremos o programa linear Minimize x 1 2x 2 sujeito a x 1 + x 2 1 x 1 x 2 1/2 Graficamente, x 1 2x 2 = 2 solução óptima x 1 2x 2 = 0 Constata-se que a solução óptima é x = (0, 1) com valor para a função objectivo z = 2 6

Solução óptima finita única- Nas figuras seguintes esquematizamos em que situações podemos ter solução óptima finita única, que terá que corresponder a um ponto extremo da região admissível óptimo único (a) (b) 7

Óptimos finitos alternativos- Ocorrem quando o hiperplano que caracteriza a função objectivo é paralelo a uma das arestas da região admissível, e estão representados nas figuras seguintes soluções óptimas soluções óptimas (a) (b) Solução ilimitada - A região admissível e o valor da solução óptima são ilimitados 8

O Método Simplex O Método Simplex pesquisa a solução óptima apenas entre as soluções básicas admissíveis, através de um processo iterativo efectuado de modo que o valor da função objectivo decresça em cada iteração Considere-se o programa linear na sua forma normal: Minimize sujeito a c T x Ax = b x 0 Podemos transformar a função objectivo z = c 1 x 1 + c 2 x 2 + + c n x n numa restrição c 1 x 1 + c 2 x 2 + + c n x n z = 0 sendo então possível escrever o problema na forma tabular seguinte: x 1 x 2 x n z a 11 a 12 a 1n 0 b 1 a 21 a 22 a 2n 0 b 2 a m1 a m2 a mn 0 b m c 1 c 2 c n 1 0 9

O algoritmo requer uma solução básica admissível inicial Supohamos que sem perda de generalidade, tal solução corresponde a J = {1,, m} Usando Eliminação de Gauss-Jordan é possível obter o seguinte quadro: x 1 x 2 x m x s x n z x 1 1 0 0 a 1s a 1n 0 b 1 x 2 0 1 0 a 2s a 2n 0 b 2 x m 0 0 1 a ms a mn 0 b m z 0 0 0 c s c n 1 z Assim, a solução básica é dada por x i = b i, i = 1,, m e x j = 0, j = m+1,, n e o valor da função objectivo é z = z Além disso, b 0, por se tratar de uma solução admissível Do quadro, tem-se z = z + c m+1 x m+1 + + c s x s + c n x n 10

Se c j 0 para todo o j J então o valor da função objectivo em qualquer outra solução básica admissível é maior ou igual a z, e portanto a solução básica corrente é a óptima, e o método termina Suponhamos que existe pelo menos uma componente c j negativa e seja c s = min{c j : c j < 0} Então a variável x s (não básica) deve ver o seu valor aumentado (passando a básica) porque é ela que promove uma maior diminuição da função objectivo No entanto, o aumento não pode ser arbitrário, para não tornar negativa nenhuma das variáveis básicas Assim, x s deve tomar o valor θ 0 tal que x 1 = b 1 θa 1s 0 x 2 = b 2 θa 2s 0 x m = b m θa ms 0 11

Se a is 0 para todo i = 1,, m então θ pode aumentar indefinidamente e o problema é ilimitado Se pelo contrário existe um i {1,, m} tal que a is > 0 então θ tem que satisfazer à condição θ b i a is, para todo i {1,, m} tal que a is > 0 Seja { } b r bi = min : a is > 0 a rs a is Se x s tomar o valor θ = b r a rs então x r = 0 e passa a não básica por troca com x s 12

No quadro de eliminação troca-se x s com x r, obtendo-se uma nova solução básica admissível, à qual está associado um valor da função objectivo dado por z c s b r a rs z O processo é novamente repetido até se atingir uma solução óptima Resumidamente, o Método Simplex é composto dos seguintes passos: 13

Passo 0 : Seja x uma solução básica admissível inicial associada a um conjunto J Passo 1: Se c j 0 para todo j J, termine: x é solução óptima De outro modo, determine c s a partir de c s = min{c j : c j < 0} Passo 2: Se a is 0 para todo i = 1,, m, termine: o problema é ilimitado De outro modo, calcule r a partir de b r a rs = min { bi a is : a is > 0 Actualize o conjunto J para J J {t} {s} com t a variável básica associada à r-ésima linha no quadro Actualizar o quadro usando Eliminação de Gauss-Jordan e regressar ao Passo 1 } 14

Fase 1 do Método Simplex Como se afirmou anteriormente, o método simplex necessita de uma solução básica admissível inicial Em geral, tal solução é difícil de obter, pelo que vamos apresentar a chamada Fase 1 do método simplex, desenvolvida com esse propósito Seja o programa linear min sa c T x Ax = b x 0 Seja J o conjunto das variáveis básicas associadas a uma solução básica do sistema Ax = b, e Então B = [A j ] j J Bx J + Nx L = b com L = {1,, n} J e N = [A j ] j L 15

Como B é não singular, x J + B 1 Nx L = B 1 b Substituindo em z = c T x, vem z = c T J x J + c T L x L = c T J ( B 1 b B 1 NxL ) + c T L x L = c T J B 1 b + ( c T L ct J B 1 N ) x L A forma tabular associada a esta solução é então com x J x L z x J I A L 0 b z 0 c L 1 z A j = B 1 A j c j = c J c T J A j = c J π T A j para j L e π tal que B T π = c J 16

Além disso b = B 1 b Bb = b e a solução básica fornecida pelo quadro anterior é admissível se b 0 Suponhamos que existe uma linha i tal que b i < 0 Consideremos a introdução de uma variável artificial x 0, que seria igual a zero em qualquer solução admissível do problema Para isso introduz-se um vector p no quadro anterior tal que p 0 e p i < 0 se b i < 0 Então o quadro toma a seguinte forma: x J x L x 0 z x J I A L p 0 b z 0 c L 0 1 z O objectivo na Fase 1 vai ser encontrar uma solução do sistema alargado com x 0 = 0 17

Para isso procura-se resolver o programa linear min x 0 sa z + c T x = 0 Ax + (Bp)x 0 = b x 0, x 0 0 A seguir mostramos que é fácil obter uma solução básica admissível inicial para este programa linear Sem perda de generalidade, suponhamos J = {1,, m} e construamos o quadro na forma: x 1 x 2 x m x m+1 x n x 0 z x 1 1 0 0 a 1,m+1 a 1n p 1 0 b 1 x 2 0 1 0 a 2,m+1 a 2n p 2 0 b 2 x m 0 0 1 a m,m+1 a mn p m 0 b m z 0 0 0 c m+1 c n 0 1 z Da definição de p, sabemos que existe um valor para x 0 para o qual x i = b i p i x 0 0, i = 1,, m Como p i = 0 para b i 0 então p i x 0 b i para todo o i tal que b i < 0 18

Então x 0 b i p i para todo o i tal que b i < 0 Deste modo, se r for definido por { b r bi = max : p i < 0 p r p i então a troca de x 0 com x r estabelece uma solução básica admissível para o programa linear alargado Ao resolvermos este programa linear usando o método simplex, duas situações podem ocorrer: } 1 min x 0 = 0 e obtém-se uma solução básica admissível para o programa linear original; 2 min x 0 > 0 e o conjunto admissível do programa linear original é vazio 19

Se ocorrer o primeiro caso, então a variável x 0 é suprimida e o método simplex é iniciado com a solução básica obtida No segundo caso o algoritmo pára e o programa linear não tem qualquer solução admissível Assim, a Fase 1 do método simplex consiste em considerar uma variável artificial x 0 e uma coluna p tal que p i 0 e p i < 0 para b i < 0 Depois x 0 é introduzida na base por troca com a variável básica que se encontra na linha r definida anteriormente Finalmente o programa linear alargado é resolvido pelo método simplex Na prática, as componentes negativas de p costumam ser iguais a 1 20

Exemplo: consideremos o programa linear min x 1 + 2x 2 sa x 1 + x 2 2 x 1 x 2 1 x 1, x 2 0 Este problema tem que ser convertido na forma normal: min x 1 + 2x 2 sa x 1 + x 2 + x 3 = 2 x 1 x 2 x 4 = 1 x 1, x 2, x 3, x 4 0 Se multiplicarmos ambos os membros da restrição x 1 x 2 x 4 = 1 por 1, obtém-se de imediato uma solução básica cuja matriz base é a identidade, e que tem a seguinte forma tabular: x 1 x 2 x 3 x 4 z x 3 1 1 1 0 0 2 x 4-1 1 0 1 0-1 z 1 2 0 0 1 0 21

Esta solução não é admissível, uma vez que b 2 < 0 Deveremos introduzir a variável x 0 e o vector p = [ 0 1 obtendo-se a seguinte solução básica do programa linear alargado: x 1 x 2 x 3 x 4 x 0 z x 3 1 1 1 0 0 0 2 x 4-1 1 0 1-1 0-1 z 1 2 0 0 0 1 0 ] A variável x 0 passa a básica por troca com a variável que está na linha r definida pelo critério anterior Neste caso, p 2 é a única componente negativa de p pelo que r = 2 Então x 0 vai trocar com x 4 e obtém-se o quadro x 1 x 2 x 3 x 4 x 0 z x 3 1 1 1 0 0 0 2 x 0 1-1 0-1 1 0 1 z 1 2 0 0 0 1 0 22

Deste quadro tem-se x 0 = x 1 + x 2 + x 4 + 1, pelo que x 1 deve aumentar de valor para minimizar x 0 Isto quer dizer que em geral a variável a escolher para entrar na base deve ser aquela que tenha coeficiente mais positivo na linha da variável x 0 Se a linha r de x 0 tiver coeficientes f j, j J, há duas possibilidades: 1 f j 0 para todo j J e min x 0 = b r > 0 Neste caso, a fase 1 termina com a indicação de que o conjunto admissível do programa linear é vazio 2 existe pelo menos um j J tal que f j > 0 Escolhe-se a variável não básica x s a incluir na base a partir de f s = max { f j : f j > 0 } 23

No nosso exemplo concreto, temos por este critério s = 1, sendo x 1 a variável escolhida para passar a básica A escolha da variável que deverá passar a não básica por troca com x 1 é feita usando o critério do quociente usado no simplex usual, surgindo { 2 min 1, 1 r = 2 1 devendo por isso x 0 saír da base obtém-se o seguinte quadro: } x 1 x 2 x 3 x 4 x 0 z x 3 0 2 1 1-1 0 1 x 1 1-1 0-1 1 0 1 z 0 3 0 1-1 1-1 Da troca Donde x 0 = 0 e a Fase 1 termina com uma solução básica admissível para o programa linear dado A variável pode pois ser suprimida pelo que a solução é dada por x 1 = x 3 = 1, x 2 = x 4 = 0 e o conjunto associado é J = {3, 1} 24

O quadro correspondente a esta solução é dado por x 1 x 2 x 3 x 4 z x 3 0 2 1 1 0 1 x 1 1-1 0-1 0 1 z 0 3 0 1 1-1 que facilmente se constata ser a solução óptima Consideremos agora o programa linear min x 1 + 2x 2 sa x 1 + x 2 1 x 1 x 2 2 x 1, x 2 0 que pode ser escrito na forma min x 1 + 2x 2 sa x 1 + x 2 + x 3 = 1 x 1 + x 2 + x 4 = 2 x 1, x 2, x 3, x 4 0 25

Tendo em conta o termo independente da segunda restrição, justifica-se o recurso à Fase 1 do método simplex, através do seguinte quadro: x 1 x 2 x 3 x 4 x 0 z x 3 1 1 1 0 0 0 1 x 4-1 1 0 1-1 0-2 z 1 2 0 0 0 1 0 Facilmente se constata que x 4 tem que trocar com x 0, obtendo-se então o quadro: x 1 x 2 x 3 x 4 x 0 z x 3 1 1 1 0 0 0 1 x 0 1-1 0-1 1 0 2 z 1 2 0 0 0 1 0 26

Como f 1 > 0 e f 2, f 4 0, então x 1 entra na base Além disso, pelo critério do quociente, { 1 } min 1, 2 = 1 r = 1 1 e é x 3 que vai saír da base por troca com x 1 : x 1 x 2 x 3 x 4 x 0 z x 1 1 1 1 0 0 0 1 x 0 0-2 -1-1 1 0 1 z 0 1-1 0 0 1-1 Como f j 0 para todo o J J e b 2 = 1 > 0 então min x 0 > 0 e a Fase 1 termina indicando que o conjunto admissível é vazio 27

Óptimos alternativos e degenerescência Consideremos um programa linear na forma normal: min sa c T x Ax = b x 0 e seja J o conjunto de índices correspondente às variáveis básicas da solução óptima desse programa Se suposermos sem perda de generalidade que J = {1,, m}, então podemos considerar o quadro x 1 x 2 x m x m+1 x n z x 1 1 0 0 a 1,m+1 a 1n 0 b 1 x 2 0 1 0 a 2,m+1 a 2n 0 b 2 x m 0 0 1 a m,m+1 a mn 0 b m z 0 0 0 c m+1 c n 1 z Além disso c j 0 para todo j J Deste quadro conclui-se que z = z + c m+1 x m+1 + + c n x n = z + i J c j x j 28

Se c j > 0 para todo j J então a solução óptima é única Caso contrário, haverá variáveis que com valores diferentes conduzirão ao mesmo valor da função objectivo, pelo que estamos perante óptimos alternativos Consideremos o programa linear min x 2 sa x 1 + x 2 1 2x 1 + x 2 2 x 1, x 2 0 Introduzindo as variáveis de folga x 3 e x 4, a solução básica admissível inicial tem associada o conjunto J = {3, 4} e a forma tabular: x 1 x 2 x 3 x 4 z x 3 1 1 1 0 0 1 x 4 2 1 0 1 0 2 z 0 1 0 0 1 0 29

Constata-se facilmente que estamos perante uma solução óptima, mas como c 1 = 0, esta solução não é única, e o aumento do valor de x 1 não acarretará qualquer alteração no valor da função objectivo Então x 1 pode passar a básica por troca com uma das variáveis básicas, x 3 ou x 4 Pelo critério do quociente: { } { bi 1 min : a i1 > 0 = min a i1 1, 1 } = 1 2 Como se verifica empate, estabelece-se r = 1, e x 1 troca com x 3 Obtem-se assim uma nova solução básica, à qual corresponde o quadro: x 1 x 2 x 3 x 4 z x 1 1 1 1 0 0 1 x 4 0-1 -2 1 0 0 z 0 1 0 0 1 0 Esta solução básica corresponde ao mesmo valor da função objectivo No exemplo apresentado ocorreu um empate no critério de quociente mínimo Neste caso, estamos em presença de uma solução básica degenerada 30

Tratamento de variáveis sem restrição de sinal Consideremos o programa linear min sa c T x Ax = b x j 0, j S com S um subconjunto de {1,, n} tal que as variáveis x i, com i S não têm restrição de sinal Quando o número de variáveis sem restrição de sinal é maior ou igual a m, o problema é em geral ilimitado, pelo que iremos apenas considerar o caso em que é menor que m Essas variáveis vão ser introduzidas na base ainda antes da Fase 1 do método simplex, e serão obrigadas a permanecer básicas, pelo que não terão qualquer influência no desenrolar do método Para isso o critério do quociente não deverá considerar as linhas das variáveis sem restrição de sinal para efeitos de saída da base 31

Consideremos o seguinte exemplo: min x 1 + x 2 + x 3 sa x 1 + x 2 x 3 1 x 1 x 2 + 2x 3 2 x 1, x 2 0 onde a variável x 3 não tem restrição de sinal Introduzindo as slacks x 4 e x 5 obtemos a seguinte solução básica admissível: x 1 x 2 x 3 x 4 x 5 z x 4 1 1-1 1 0 0 1 x 5 1-1 2 0 1 0 2 z 1 1 1 0 0 1 0 Como x 3 não tem restrição de sinal, essa variável deve de imediato passar a básica, e por aplicação do critério do quociente é x 5 que deve saír da base Mesmo que só haja elementos negativos ou nulos na coluna de x 3, a escolha recairia sobre qualquer um dos elementos estritamente negativos 32

A troca previamente referida conduz à seguinte solução básica admissível: x 1 x 2 x 3 x 4 x 5 z x 4 3/2 1/2 0 1 1/2 0 2 x 3 1/2-1/2 1 0 1/2 0 1 z 1/2 3/2 0 0-1/2 1-1 Uma vez colocada x 3 na base, é possível iniciar o método simplex, de forma a que x 3 doravante não saia da base Deste modo, x 5 reentra na base por troca com x 4, obtendo-se o quadro: x 1 x 2 x 3 x 4 x 5 z x 5 3 1 0 2 1 0 4 x 3-1 -1 1-1 0 0-1 z 2 2 0 1 0 1 1 Com este quadro chegamos à solução óptima x 1 = x 2 = 0, x 3 = 1, x 4 = 0 e x 5 = 4 33

Forma Revista do Método Simplex A forma revista do método simplex revela-se mais adequada à resolução de Programas Lineares de grande dimensão (muitas variáveis e/ou muitas restrições) Consideremos o Programa Linear na forma normal: min sa c T x Ax = b x 0 com A de ordem m n Seja x uma solução básica admissível deste programa, à qual está associado o conjunto J de índices, e seja L = {1,, n} J Se B = [A j ] j J, então x é dada por { xl = 0 com X J = b Bb = b 34

Além disso, se N = [A j ] j L, então { xj = B 1 b B 1 Nx L z = c T J B 1 b + ( c L c T J B 1 N ) x L Como se tem x L = 0, então o valor da função objectivo é z = c T J B 1 b Seja agora π m o vector definido por B T π = c J Então z = ( (B 1 ) T cj ) T b = π T b e z = z + j L ( c j ( (B 1 ) T cj ) A j ) x j 35

Podemos então concluir que z = z + j L c j x j com c j = c j π T A j, z = π T b No método simplex, a solução básica é óptima se c j 0 para j L De outro modo, escolhese a coluna s tal que c s = min{c i : i L, c i < 0} A variável x s deve aumentar o seu valor Porém como todas as outras variáveis não básicas se mantêm nulas, tem-se que Se A s for dada por x J = b ( B 1 A s ) xs então BA s = A s x J = b A s x s 36

Se A s 0 então a função objectivo tende para no conjunto admissível do programa linear De outro modo, seja r tal que θ = b r a rs = min { bi a is : a is > 0 } O conjunto J é actualizado por J = J {t} {s} em que t é o índice da variável básica correspondente à linha r As componentes de b são actualizadas da seguinte forma: { br = θ b i = b i a is θ, i r A solução básica corrente será dada por x J = b e x L = 0 O processo é posteriormente repetido 37

Passo 0: Sejam J e L = {1,, n} J e B = [A j ] j J dados Calcule b dado por Bb = b (b 0) Passo 1: Calcule B T π = c J z = π T b c j = c j π T A j, j L Passo 2: Se c j 0 para todo j L, termine: (x J = b, x L = 0) é a solução óptima do problema De outro modo seja c s = min{c j : j L, c j < 0} 38

Passo 3: Calcule A s a partir de BA s = A s Se a is 0 para todo o i = 1,, m termine: o problema é ilimitado De outro modo, calcule θ = b r a rs = min { } bi : a is > 0 a is Passo 4: Actualize J através de J = J {t} {s} com t o índice da variável básica correspondente à linha r Faça { br = θ Volte ao Passo 1 b i = b i a is θ, i r 39

Consideremos o seguinte exemplo: min x 1 2x 2 + 4x 4 sa x 1 + x 2 + x 3 + x 4 = 2 x 1 x 2 = 1 x 1, x 2, x 3, x 4 0 Se J = {1, 3}, então L = {2, 4} Além disso [ ] 1 1 B = 1 0 e Bb = b [ 1 1 1 0 ] [ b1 b 2 ] = [ 2 1 ] { b1 = 1 b 2 = 1 Portanto a solução básica (x J = b, x L = 0) é admissível e pode servir como solução inicial do método simplex Assim, no Passo 1 temos que resolver o sistema B T π = c J, ou seja, [ ] [ ] [ ] 1 1 π1 1 = 1 0 0 π 2 40

obtendo-se [ 0 π = 1 ] e z = π T b = Como L = {2, 4}, vem c 2 = c 2 π T A 2 = 2 c 4 = c 4 π T A 4 = 4 [ 0 1 [ 0 1 [ 0 1 ] T [ 2 1 ] T [ 1 1 ] T [ 1 0 ] ] ] = 1 = 1 = 4 De onde a solução obtida não é óptima e s = 2 No Passo 3 resolve-se o sistema BA 2 = A 2, ou seja [ 1 1 1 0 ] [ a12 a 22 ] = [ 1 1 ] { a12 = 1 a 22 = 2 Então a 22 é o único elemento positivo da coluna 2 e nesse caso r = 2 Como x 3 é a variável básica correspondente a r = 2, então os conjuntos J e L são actualizados através de J = J {3} {2} = {1, 2}, L = {3, 4} 41

e o vector b a partir de b 2 = θ = b 2 a 22 = 1 2 b 1 = b 1 θa 12 = 1 ( 1 2 ) ( 1) = 3 2 A nova solução básica é dada por (x J = b, x L = 0) ou seja x 1 = 3 2, x 2 = 1 2, x 3 = x 4 = 0 A matriz base associada a esta solução é [ ] 1 1 B = [A j ] j J = 1 1 Voltando ao Passo 1, executa-se uma nova iteração, começando por calcular o vector π a partir de B T π = c J, ou seja [ ] [ ] [ ] { 1 1 π1 1 π1 = 1 = 2 1 1 π 2 2 π 2 = 3 2 42

Então z = π T b = [ 1 2 3 2 ] T [ 2 1 ] = 1 2 c 3 = c 3 π T A 3 = 0 [ 1 2 3 2 ] T [ 1 0 ] = 1 2 c 4 = c 4 π T A 4 = 4 [ 1 2 3 2 ] T [ 1 0 ] = 9 2 Como c j 0 para j L, estamos perante a solução óptima, dada por x 1 = 3 2, x 2 = 1 2, x 3 = x 4 = 0, com valor óptimo igual a z = 1 2 43

Dualidade Linear Dado o Programa Linear, designado por Primal, min sa c T x Ax = b x 0 define-se o correspondente Dual como sendo o Programa Linear: max sa b T u A T u c Na seguinte tabela apresentamos a correspondência entre primal e dual, supondo que a matriz A é de ordem m n: Primal Dual N de restrições m n N de variáveis n m Variáveis 0 restrições Restrições igualdade variáveis s/ restrições Matriz A A T coeficientes de custo c b termos independentes b c 44

A título de exemplo, construamos o dual do seguinte programa: min x 1 + x 2 x 3 sa x 1 2x 2 + 3x 3 = 1 2x 1 + x 3 = 1 x 1, x 2, x 3 0 De acordo com a tabela anterior, o dual deste programa tomará o seguinte aspecto: max u 1 u 2 u 1 + 2u 2 1 2u 1 1 3u 1 + 3u 2 1 No caso de o programa primal ter desigualdades do tipo ou variáveis sem restrição de sinal, aplica-se a tabela: Primal Dual Desigualdade Variável 0 Variável sem restrição Restrição de igualdade 45

Determinemos o dual do seguinte programa: min x 1 x 2 x 1 + 2x 2 1 x 1 x 2 + x 3 = 0 x 1, x 3 0 Aplicando as duas tabelas anteriores, concluimos que o dual deste programa é dado por max u 1 u 1 u 2 1 2u 1 u 2 = 1 u 2 0 u 1 0 Suponhamos um programa primal apenas com desigualdades: min sa c T x Ax b x 0 46

O seu dual tem a forma: max sa b T u A T u c u 0 De notar que quer o primal quer o dual estão na forma canónica, sendo por isso designados de duais canónicos Seguidamente estabelecemos algumas propriedades dos programas duais: O dual do dual de um programa linear é o programa primal 47

Se K P = {x n : Ax = b, x 0} e K D = { u m : A T u c } são os conjuntos admissíveis do programa primal e do programa dual respectivamente, então quaisquer que sejam x K P e u K D, b T u c T x Esta última propriedade mostra que o valor objectivo de qualquer solução admissível do dual é sempre menor ou igual ao valor da função objectivo de qualquer solução admissível do primal 48

1 O primal tem solução óptima de valor z se e só se o dual tem solução óptima de valor w e além disso z = w 2 Se o primal é ilimitado inferiormente, o dual é não admissível 3 Se o dual é ilimitado superiormente, o primal é não admissível 4 Se os programas primal e dual são admissíveis, então ambos os programas admitem soluções óptimas e os valores óptimos são iguais 49

Podemos reunir os vários casos possíveis no quadro seguinte: Dual Primal Admissível Não Admissível Admissível z = w finitos w Não Admissível z (Impossível) 50

Vejamos agora algumas situações concretas: Caso I: K P, K D Consideremos o programa O seu dual é min x 1 x 2 sa x 1 + x 2 1 x 1, x 2 0 max u 1 sa u 1 1 u 1 1 Geometricamente, a situação é a seguinte: óptimo (z = 1) óptimo (w = 1) K P K D 1 0 1 Primal Dual 51

Caso II: K P, K D = Consideremos o programa O seu dual é Geometricamente, min x 1 x 2 sa x 1 x 2 = 2 x 1, x 2 0 max 2u 1 sa u 1 1 u 1 1 K P K D = 1 0 1 Primal Dual 52

Caso III: K P =, K D programa Consideremos o min x 1 sa x 1 = 4 x 1 0 O seu dual é Geometricamente, max 4u 1 sa u 1 1 K P = K D 4 0 1 Primal Dual 53

Caso IV: K P =, K D = programa Consideremos o O seu dual é Geometricamente, min x 1 x 2 sa x 1 + x 2 = 4 x 1 x 2 = 4 x 1, x 2 0 max 4u 1 + 4u 2 sa u 1 + u 2 1 u 1 u 2 1 4 K P = 1 K D = 4 1 Primal Dual 54

Propriedade dos Desvios Complementares Trata-se de um resultado que estabelece relações importantes entre o programa primal e o seu dual, e que pode ser enunciado da forma seguinte: Consideremos os programas (P) e (D) dados por, respectivamente, e min sa max sa c T x Ax b x 0 b T u A T u c u 0 55

Se x e u são soluções óptimas de (P) e de (D), respectivamente, então: 1 x i > 0 (A T u c) i = 0; 2 (A T u c) i < 0 x i = 0; 3 u i > 0 (Ax b) i = 0; 4 (Ax b) i > 0 u i = 0 Esta propriedade também é conhecida como o Teorema de Complementaridade de Slacks Se x e u são soluções admissíveis de (P) e de (D) respectivamente, tais que Então x T (A T u c) = u T (Ax b) = 0 c T x = x T c = x T Au = u T A T x = u T b = b T u 56

Neste caso, x e u são soluções óptimas de (P) e de (D) respectivamente Desta forma, pode-se concluir que x é solução óptima de (P) e u é solução óptima de (D) se e só se (x, u) satisfaz ao sistema: Ax b x 0 A T u c u 0 x T (A T u c) = 0 u T (Ax b) = 0 Por outro lado, se o primal for da forma min sa então o dual é da forma max c T x Ax = b x 0 b T u A T u c 57

Desta forma x e u serão óptimos respectivamente do primal e do dual se (x, u) satisfizer a: Ax = b x 0 A T u c x T (A T u c) = 0 Como exemplo, consideremos o programa O seu dual é min x 1 x 2 sa x 1 + x 2 = 1 x 1, x 2 0 max u 1 sa u 1 1 u 1 1 e teremos um sistema da forma x 1 + x 2 = 1 x 1, x 2 0 u 1 1 u 1 1 x 1 (u 1 1) + x 2 (u 1 + 1) = 0 58

De notar que, uma vez que u 1 1 0, u 1 + 1 0 e x 1, x 2 0, então x 1 (u 1 1) 0 e x 2 (u 1 + 1) 0 Logo a 5 expressão desdobrase em x 1 (u 1 1) = 0 x 2 (u 1 + 1) = 0 Por outro lado, como u 1 1 então u 1 < 1 e u 1 1 < 0, logo x 1 = 0 Substituindo na 1 expressão, temos x 2 = 1 Então necessariamente u 1 + 1 = 0 e u 1 = 1 59

O Método Dual Simplex Consideremos o seguinte Programa Linear: min sa c T x Ax = b x 0 Em cada iteração do simplex é determinada uma solução básica primal admissível, satisfazendo a x J = b 0, x L = 0 com J o conjunto das variáveis básicas, L o conjunto das variáveis não básicas e com B = [A j ] j J Bb = b Recordemos que em cada iteração o vector π m é determinado a partir de B T π = c J 60

No caso de existir solução óptima o algoritmo termina com c j = c j π T A j 0, j L Consideremos agora o dual do programa anterior: max sa b T u A T u c É possível demonstrar que o vector π acima é uma solução admissível do dual Deste modo o método simplex utiliza em cada iteração soluções primal admissíveis, terminando quando se obtém uma solução dual admissível Se não existir nenhuma solução dual admissível, obviamente o dual é inadmissível e então o primal é ilimitado 61

O método dual simplex resolve o programa primal usando soluções dual admissíveis e parando quando encontra uma solução primal admissível Assim, em cada iteração tem-se c j = c j π T A j 0, j J com B T π = c J, e procura-se uma solução de base B tal que Bb = b, b 0 Passemos agora a descrever uma iteração do método dual simplex Suponhamos sem perda de generalidade que J = {1,, m} O quadro simplex correspondente irá ser x 1 x 2 x m x m+1 x s x n z x 1 1 0 0 a 1,m+1 a 1s a 1n 0 b 1 x 2 0 1 0 a 2,m+1 a 2s a 2n 0 b 2 x m 0 0 1 a m,m+1 a ms a mn 0 b m z 0 0 0 c m+1 c s c n 1 z 62

Como esta solução é dual admissível, então tem-se c j 0, j J Se além disso b 0, então a solução é também primal admissível e nesse caso será óptimo, terminando aqui o processo Suponhamos então sem perda de generalidade que b m < 0 Então x m sairá da base por troca com uma variável não básica Porém, do quadro anterior tem-se que x m = b m a m,m+1 x m+1 a ms x s a mn x n Se a mj 0 para todo o j J, então x m vai ser negativo para todo o j = m desde que x j 0 Então o primal é inadmissível e o dual ilimitado 63

De outro modo, existe pelo menos um j J tal que a mj < 0, e então x m troca com uma variável não básica Vejamos agora como escolher esta variável x s Pretende-se que os custos sejam actualizados por forma que c j c s a mj a ms 0 Isto implica que há duas possibilidades: Se a mj 0 então c j mantém-se não negativo De outro modo, tem-se que seleccionar x s de maneira que { } c s cj = min : a rj < 0, j J a rs a rj Em seguida passamos a resumir os passos do método dual simplex: 64

Passo 0: Seja x uma solução básica dual admissível associada a um conjunto J (c j 0 para todo j J) Passo 1: Se b 0, termine: (x J = b, x L = 0) é solução óptima do programa linear De outro modo, seja b r = min{b i : b i < 0} Passo 2: Se a rj 0 para todo j J, termine: o programa não é admissível De outro modo, calcule s com base em c s a rs = min { cj a rj : a rj < 0, j J Passo 3: Actualize J através de J = J {t} {s} em que t é o índice da variável básica correspondente à r-ésima linha do quadro Passo 4: Utilize as operações elementares para actualizar o quadro e regresse ao Passo 1 } 65

Problema de Transportes Este problema consiste em programar a distribuição óptima de um produto que: 1 se encontra disponível em m origens com quantidades fixas a i > 0, i = 1,, m (oferta); 2 é necessário em n destinos com quantidades b j > 0, j = 1,, n (procura); 3 deve ser enviado para os destinos, esgotando as disponibilidades de cada origem e satisfazendo as necessidades em cada destino Além disso procura-se minimizar o custo total envolvido no programa de distribuição desse produto 66

Sabendo que o custo unitário de transporte do produto da origem i para o destino j é dado por c ij, o programa de distribuição do produto pode ser representado graficamente da seguinte forma: a 1 c 11 1 c 1j 1 c 1n b 1 Oferta a i i c i1 c ij c in j b j Procura a m m c m1 c mn c mj n b n Este tipo de representação é conhecido por Grafo, denotado por G = (V, E), em que V é o conjunto de vértices e E o conjunto das arestas 67

A formulação matemática do problema de transportes é a seguinte: min sujeito a m n i=1 j=1 m i=1 c ij x ij x ij = a i, i = 1,, m n j=1 x ij = b j, j = 1,, n x ij 0, i = 1,, m, j = 1,, n onde as variáveis x ij representam as quantidades a enviar da origem i para o destino j Para que o problema seja possível de resolver é necessário que a quantidade a enviar seja igual à que chega aos destinos, ou seja, m i=1 a i = n b j j=1 68

A título de exemplo, suponhamos que uma empresa possui dois armazéns A 1 e A 2 com 100 e 50 unidades de um determinado produto com que abastece três mercados M 1, M 2 e M 3 que consomem respectivamente 80, 30 e 40 unidades Além disso os custos de transporte dos armazéns A i para os mercados M j são dados pela seguinte tabela: M 1 M 2 M 3 A 1 5 3 2 A 2 4 2 1 O grafo associado a este problema é o seguinte: a i 100 50 1 2 4 5 3 2 2 1 2 80 30 b j 1 3 40 69

A formulação matemática deste problema é a seguinte: min 5x 11 + 3x 12 + 2x 13 + 4x 21 + 2x 22 + x 23 sa x 11 + x 12 + x 13 = 100 x 21 + x 22 + x 23 = 50 x 11 + x 21 = 80 x 12 + x 22 = 30 x 13 + x 23 = 40 x ij 0, i = 1, 2, j = 1, 2, 3 Seguidamente apresentamos dois resultados fundamentais para a resolução deste tipo de problemas: 1 O problema de transportes tem solução óptima 2 Se Ax = d são as restrições de igualdade do problema de transportes, então a característica de A é igual a m + n 1 70

Daqui podem-se tirar os resultados seguintes: 1 Se a i e b j são números inteiros, então qualquer solução básica admissível tem valores inteiros 2 Se c ij são números inteiros, então qualquer solução dual básica tem valores inteiros Estamos agora em condições de investigar a utilização do método simplex aplicado a este tipo de problemas O processo irá consistir em duas fases, na primeira das quais se obterá uma solução básica admissível inicial, que irá iniciar a segunda fase, na qual se obterá uma solução óptima Iremos constatar que estas duas fases são no caso do problema de transportes mais simples que no caso geral 71

Determinação de uma solução básica admissível inicial Em ambas as fases do processo iremos usar quadros da forma: Destinos Origens 1 2 n Oferta c 11 c 12 c 1n 1 x 11 x 12 x 1n a 1 c 21 c 22 c 2n 2 x 21 x 22 x 2n a 2 c m1 c m2 c mn m x m1 x m2 x mn a m Procura b 1 b 2 b n Vejamos como fica o quadro aplicado ao nosso exemplo anterior A solução básica { x11 = 80, x 12 = 20, x 22 = 10, x 23 = 40 x 13 = x 21 = 0 Destinos Origens 1 2 3 Oferta 5 3 2 1 80 20 100 4 2 1 2 10 40 50 Procura 80 30 40 72

Facilmente se constata neste quadro que as somas dos valores das variáveis em cada linha (coluna) são iguais ao valor de oferta (procura) referente a essa linha (coluna) Isto significa que a solução dada neste quadro satisfaz as relações de igualdade do problema de transportes Como além disso todos os valores das variáveis são não negativos, trata-se de uma solução admissível do problema Regra do Canto Noroeste: processo de obtenção de uma solução básica admissível inicial Começa-se por dar um valor não negativo à variável situada na entrada a noroeste (x 11 ) Este valor é atribuido de modo a não violar nenhuma das restrições de igualdade e ao mesmo tempo esgotar uma das ofertas ou procura Assim x 11 = min{a 1, b 1 } 73

Primeiro Caso: x 11 = a 1 < b 1 A oferta na linha 1 é esgotada, mas a procura na coluna 1 fica por satisfazer e terá o valor b 1 a 1 Portanto todas as variáveis dessa linha serão nulas (não básicas) e essa linha deixa de ser considerada Segundo Caso: x 11 = b 1 < a 1 É a situação inversa da anterior A procura na coluna 1 é esgotada enquanto a linha 1 passa a ter uma oferta de a 1 b 1 A coluna 1 deixa de ser considerada em futuros desenvolvimentos, ou seja, as restantes variáveis dessa coluna são não básicas com valor nulo Terceiro Caso: x 11 = a 1 = b 1 Neste caso quer a oferta quer a procura são esgotadas No entanto não podemos tornar não básicas as variáveis nulas, pois isso iria conduzir a uma solução básica com menos de m+n 1 variáveis 74

Neste caso consideram-se não básicas apenas as variáveis correspondentes à linha 1 ficando apenas a oferta esgotada A procura ficará com valor zero, pelo que a solução básica será degenerada Este tipo de processo é repetido e m + n 1 iterações conduzirão a uma solução básica admissível Aplicando ao nosso exemplo, x 11 = min{80, 100} = 80 e esgota-se a procura na coluna 1 Então a outra variável dessa coluna, x 21 será nula e não básica A oferta na linha 1 passará a ser 100 80 = 20 Portanto após a primeira iteração teremos o quadro: Destinos Origens 1 2 3 Oferta 5 3 2 1 80 20 4 2 1 2 nb 50 Procura 0 30 40 75

A regra do canto noroeste vai agora determinar o valor da variável x 12 = min{20, 30} = 20 A oferta fica esgotada e a procura nessa coluna vai ficar igual a 30 20 = 10, obtendo-se o seguinte quadro: Destinos Origens 1 2 3 Oferta 5 3 2 1 80 20 nb 0 4 2 1 2 nb 50 Procura 0 10 40 A regra do Canto Noroeste escolhe agora obtendo-se x 22 = min{10, 50} = 10 Destinos Origens 1 2 3 Oferta 5 3 2 1 80 20 nb 0 4 2 1 2 nb 10 40 Procura 0 0 40 76

Finalmente, x 23 = min{40, 40} = 40 e obtémse Destinos Origens 1 2 3 Oferta 5 3 2 1 80 20 nb 0 4 2 1 2 nb 10 40 0 Procura 0 0 0 que corresponde à solução admissível que apresentamos anteriormente 77

Método Simplex para o Problema de Transportes O método simplex consiste nos seguintes passos: Primeiro: Determinação da variável não básica x s que passa a básica, a partir de c rs = min{c ij, (i, j) L} com L o conjunto dos índices (i, j) não básicas Além disso c ij = c ij π T A ij com π n+m uma solução dual Se c ij 0 para todo o (i, j) L então a solução básica admissível corrente é óptima 78

Segundo: Determinação da variável básica a passar a não básica: A variável x rs escolhida no passo primeiro deve tomar o valor positivo θ tal que nenhuma variável básica viole as restrições de não negatividade e de igualdade do problema Esse valor θ é atingido para um certo par (l, k) e x lk passa a não básica com valor igual a zero Vamos discutir como efectuar estes passos usando a estrutura apresentada anteriormente O primal e o dual deste problema podem ser escritos da seguinte forma: min z = c 11 x 11 + +c 1n x 1n + +c m1 x m1 + +c mn x mn sa (u 1 ) x 11 +x 1n = a 1 (u m ) x m1 + +x mn = a m (v 1 ) x 11 +x m1 = b 1 (v n ) x 1n x mn = b n 79

Tendo em conta o teorema da complementaridade de slacks, tem-se u i + v j = c ij, para todo (i, j) J com J o conjunto dos índices (i, j) das variáveis básicas Como J tem m + n 1 elementos e as variáveis u i e v j são m + n, então o sistema assim formado é indeterminado Uma solução pode ser obtida fazendo u 1 = 0 e obtendo as restantes variáveis Consideremos o exemplo da secção anterior Iremos obter: u 1 + v 1 = 5 u 1 + v 2 = 3 u 2 + v 2 = 2 u 2 + v 3 = 1 Fazendo u 1 = 0 facilmente se obtêm as restantes variáveis, obtendo-se v 1 = 5, v 2 = 3, u 2 = 1 e v 3 = 2 80

Na prática os valores de u i e v j são calculados com recurso ao quadro seguinte: v j 5 3 2 Destinos u i Origens 1 2 3 Oferta 5 3 2 0 1 80 20 100 4 2 1 1 2 10 40 50 Procura 80 30 40 Para calcular os coeficientes dos custos reduzidos associados às variáveis não básicas (i, j) L usa-se a fórmula c ij = c ij π T A ij Para o problema de transportes é possível mostrar que c ij = c ij (u i + v j ) Estas fórmulas são muito fáceis de calcular directamente a partir do quadro, onde as assinalaremos a negrito: v j 5 3 2 Destinos u i Origens 1 2 3 Oferta 5 3 2 0 1 80 20 0 100 4 2 1 1 2 0 10 40 50 Procura 80 30 40 81

Constata-se que neste caso estamos perante a solução óptima, uma vez que c ij 0, (i, j) L Vamos agora considerar o problema da determinação do valor máximo θ que uma variável x rs escolhida pode tomar Essa variável pertence a uma linha r e a uma coluna s O caso mais simples é aquele em que o aumento do valor de x rs de zero para θ apenas afecta duas variáveis básicas x rj e x is, segundo o esquema: j s r i θ +θ +θ θ Se aumentarmos x rs de zero para um valor θ > 0 então as variáveis x rj e x is vão ter que reduzir os seus valores em exactamente θ 82

Isso vai implicar que a variável básica x ij aumente θ de modo a equilibrar as equações i e j referentes à origem i e destino j Esse valor θ é calculado através de θ = min{x rj, x is } Então pelo menos uma dessas variáveis fica nula e passa a não básica Se ambas as variáveis ficarem nulas, então passamos x rj a não básica ficando a outra variável básica com valor nulo Acabámos de descrever um ciclo com quatro variáveis correspondente à variável não básica escolhida e a três variáveis básicas Poderá acontecer formarem-se ciclos com 6 ou qualquer outro número par de variáveis 83

Seguidamente apresentamos um ciclo com 6 elementos j t s r θ +θ t +θ θ i +θ θ Procedendo como anteriormente tem-se θ = min{x is, x lt, x rj } Então uma dessas variáveis básicas fica nula e passa a não básica, podendo também algumas variáveis básicas ficar nulas Nesse último caso e tal como anteriormente procura-se passar a não básica a variável que esgota a oferta deixando a outra (ou outras) variáveis básicas com valor nulo 84

Consideremos o problema representado pelo seguinte grafo: 200 1 8 3 1 250 9 5 2 350 1 7 700 2 6 4 3 200 3 8 100 3 4 2 4 200 Usando a regra do Canto Noroeste obtém-se a seguinte solução básica admissível inicial: Destinos Origens 1 2 3 4 Oferta 8 3 5 9 1 200 200 1 7 4 6 2 50 350 200 100 700 3 8 2 4 3 100 100 Procura 250 350 200 200 85

As variáveis duais u i (i = 1, 2, 3) e v j (j = 1, 2, 3, 4) e os coeficientes de custo reduzidos das variáveis não básicas são calculados como anteriormente e os valores são apresentados no quadro seguinte: v j 8 14 11 13 Destinos u i Origens 1 2 3 4 Oferta 8 3 5 9 0 1 200-11 -6-4 200 1 7 4 6-7 2 50 350 200 100 700 3 8 2 4-9 3 4 3 0 100 100 Procura 250 350 200 200 Então (r, s) = (1, 2) e forma-se o ciclo x 11 = 20 x 12 = 0 x 21 = 50 x 22 = 350 86

Portanto θ = min{200, 350} = 200 e a solução básica é actualizada modificando os valores das variáveis básicas da forma seguinte: x 11 = 200 200 = 0 x 12 = 0 + 200 = 200 x 21 = 50 + 200 = 250 x 22 = 350 200 = 150 No próximo quadro apresentamos a nova solução básica admissível, bem como os valores das variáveis duais e os custos reduzidos das novas variáveis não básicas: v j -3 3 0 2 Destinos u i Origens 1 2 3 4 Oferta 8 3 5 9 0 1 11 200 5 7 200 1 7 4 6 4 2 250 150 200 100 700 3 8 2 4 2 3 4 3 0 100 100 Procura 250 350 200 200 87

Então c ij 0 para todo (i, j) L com L o conjunto das variáveis não básicas Portanto a solução básica dada pelo quadro é óptima e é representada pelo seguinte diagrama: 1 250 200 1 200 250 150 2 350 700 2 200 100 3 200 100 3 100 4 200 88