domingos moreira cardoso -...

155
Optimização Linear Domingos Moreira Cardoso Universidade de Aveiro Departamento de Matemática 2005

Upload: lamduong

Post on 29-Sep-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

Optimização Linear

Domingos Moreira Cardoso

Universidade de Aveiro

Departamento de Matemática

2005

Page 2: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:
Page 3: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

Conteúdo

Introdução 1

1 Noções Elementares de Análise Convexa 31.1 Algumas propriedades topológicas de conjuntos convexos . . . . . 81.2 Cones e poliedros convexos . . . . . . . . . . . . . . . . . . . . . 121.3 Teoremas de separação e lema de Farkas . . . . . . . . . . . . . . 151.4 Exercícios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2 Pontos Extremos e Direcções Extremas 232.1 Relações entre pontos extremos e soluções básicas . . . . . . . . . 252.2 Direcções extremas e representação de poliedros convexos . . . . 322.3 Exercícios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3 Modelos de Programação Linear 393.1 Exemplos de programas lineares . . . . . . . . . . . . . . . . . . . 403.2 Formas padrão e canónica de programas lineares . . . . . . . . . 423.3 Resolução gráfica de programas lineares com duas variáveis . . . 453.4 Exercícios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

4 Estudo e Fundamentação do Método Simplex 514.1 Método simplex . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

4.1.1 Actualização dos quadros simplex . . . . . . . . . . . . . . 584.1.2 Algoritmo para o método simplex . . . . . . . . . . . . . . 614.1.3 Determinação da inversa da base corrente . . . . . . . . . 644.1.4 Método simplex revisto . . . . . . . . . . . . . . . . . . . 65

4.2 Determinação de uma solução básica admissível inicial . . . . . . 684.2.1 Método das duas fases . . . . . . . . . . . . . . . . . . . . 694.2.2 Método do "big”-M . . . . . . . . . . . . . . . . . . . . . . 71

4.3 Exercícios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

5 Estudo da Convergência do Método Simplex 755.1 Regra lexicográfica . . . . . . . . . . . . . . . . . . . . . . . . . . 775.2 Regra de Bland . . . . . . . . . . . . . . . . . . . . . . . . . . . . 825.3 Método das perturbações . . . . . . . . . . . . . . . . . . . . . . 865.4 Exercícios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

Page 4: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

iv CONTEÚDO

6 Algumas Variantes do Método Simplex 916.1 Método simplex para variáveis limitadas . . . . . . . . . . . . . . 916.2 Método de decomposição de Dantzig-Wolfe . . . . . . . . . . . . 99

6.2.1 Determinação de um minorante para o problema principal 1026.2.2 Descrição algorítmica . . . . . . . . . . . . . . . . . . . . 103

6.3 Exercícios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

7 Dualidade 1117.1 Método dual simplex . . . . . . . . . . . . . . . . . . . . . . . . . 1177.2 Método Primal-Dual . . . . . . . . . . . . . . . . . . . . . . . . . 1257.3 Exercícios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

8 Análise Pós-Optimal e Cortes de Gomory 1338.1 Modificação dos coeficientes da função objectivo . . . . . . . . . 1348.2 Modificação dos termos independentes . . . . . . . . . . . . . . . 1368.3 Modificação das entradas da matriz de decisão . . . . . . . . . . 1378.4 Adição de uma nova actividade . . . . . . . . . . . . . . . . . . . 1398.5 Adição de uma nova restrição . . . . . . . . . . . . . . . . . . . . 1408.6 Cortes de Gomory em programação inteira . . . . . . . . . . . . . 1428.7 Exercícios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

Bibliografia 147

Índice 149

Page 5: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

Introdução

Muitas das situações da vida real, ou representações dela, motivaram (e conti-nuam a motivar) a criação de conceitos particulares, a caracterização de novasrelações e o reconhecimento de várias propriedades. A formalização destes con-ceitos e relações, a sua manipulação analítica e a inferência das propriedades,com recurso às ferramentas matemáticas usuais, como sejam, a intuição, a a-bstracção e a dedução, constitui o que se designa, habitualmente, por Matemá-tica Aplicada.

Em Matemática (Fundamental ou Aplicada) é essencial que a linguagem sejaobjectiva e que os argumentos utilizados sejam fundamentados nos pressupos-tos previamente definidos. Consequentemente, as fugas ao rigor, mesmo com oobjectivo de simplificar, quando isso implica a banalização e o empobrecimentodos conceitos e relações em estudo, não são recomendáveis.

Cada ciência tem os seus mecanismos mentais que, não sendo despertadosnem treinados, não se desenvolvem, tornando impossível o acesso a um conhe-cimento com características abrangentes. Sem a utilização desses mecanismos,todo o processo formativo se transforma numa fastidiosa e penosa aquisição deum aglomerado de casos particulares com relacionamentos difíceis de detectar.

É atribuida a Euler a afirmação de que “No mundo só tem lugar aquilo que,em algum sentido, significa um máximo ou um mínimo” e na verdade, são inú-meras as situações práticas cujo modelo matemático corresponde a um problemade optimização. Com a disciplina de Optimização Linear, prentendem-se intro-duzir tanto os fundamentos como as técnicas para a resolução de diferentes tiposde problemas de optimização, provenientes das mais variadas áreas de estudo,como sejam, a Investigação Operacional, as Ciências Naturais, as Engenharias,etc.

O problema da determinação de x∗ ∈ X tal que f(x∗) = inff(x) : x ∈ S,com S ⊆ X , usualmente denotado por

(P )inf f(x)s.a. x ∈ S,

designa-se por programa matemático (ou problema de programação matemá-tica). Por sua vez, o conjunto S designa-se por conjunto de pontos admissíveise, em geral, é representado pelo conjunto de restrições, S = x ∈ X : gi(x) ≥0, i = 1, . . . ,m, onde gi com i ∈ 1, . . . ,m, denota uma função real cujo

Page 6: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

2 Introdução

domínio é X (i.e., gi : X → R). Se o conjunto de pontos admissíveis é defi-nido por um conjunto de restrições lineares e a função objectivo é linear (ouafim), então o problema designa-se por programa linear (problema de progra-mação linear ou ainda problema de optimização linear). No caso de qualquerdas funções, f(x) ou gi(x), com i ∈ 1, . . . ,m, ser não linear, (P ) designa-sepor programa não linear (problema de programação não linear ou problema deoptimização não linear ). Se S 6= ∅, então (P ) diz-se consistente, caso contráriodiz-se inconsistente.

Ao longo deste texto supõem-se conhecidas as noções básicas de ÁlgebraLinear, como sejam a de espaço vectorial euclidiano, de dependência e inde-pendência linear, e todas as noções associadas ao estudo de equações lineares(espaço nulo, característica da matriz dos coeficientes e completa do sistema,etc). Supõem-se também conhecidas as noções de norma, distância, espaço mé-trico, bem como as de interior, fronteira e aderência e, naturalmente, as noçõesde conjunto aberto, conjunto fechado e conjunto compacto e ainda a noção decontinuidade.

A disciplina de Optimização Linear tem por objectivo o estudo das técni-cas e fundamentos de Programação Linear cujas múltiplas aplicações, enquantomodelo matemático de muitas das situações da vida real, riqueza das técnicas emetodologias e suas consequências em várias outras disciplinas, justificam quese lhe dedique a maior atenção.

Entre os tópicos a abordar constam algumas noções elementares de AnáliseConvexa (essenciais para o estudo da Optimização Linear), as propriedades dasdirecções e dos pontos extremos de conjuntos convexos, a análise de vários mode-los de Programação Linear, o estudo detalhado do método simplex (recorrendo,quer ao quadro reduzido, quer à sua versão revista), as implicações da degeneres-cência (como seja a susceptibilidade de entrada em ciclo) bem como as técnicasmais utilizadas (regra lexicográfica e de Bland) para garantir a convergênciafinita, o estudo de duas variantes do método simplex (especialmente desenhadaspara problemas com determinada estrutura, como sejam o método simplex paravariáveis limitadas e método de decomposição de Dantzig-Wolfe), a teoria dadualidade em Programação Linear (a partir da qual se introduzem os métodosdual simplex e primal-dual) e a análise pós-optimal (ou de sensibilidade).

Todas as técnicas são alvo de fundamentação, quer no que se refere à suaestratégia de pesquisa, quer quanto à sua convergência.

Page 7: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

Capítulo 1

Noções Elementares deAnálise Convexa

Em termos gerais, podemos afirmar que os problemas de optimização linear secaracterizam pela determinação do melhor (ou um dos melhores) ponto(s) de umpoliedro convexo para uma certa funcional linear (função objectivo). Este factojustifica que se estudem, com algum detalhe, os conjuntos convexos e se analisemalgumas das suas propriedades. Antes porém, vamos começar por considerarduas operações sobre conjuntos, especialmente úteis no presente contexto.

Definição 1.1. Dados dois subconjuntos de Rn, A e B, e dado um escalar,

λ ∈ R,A+B = x+ y : x ∈ A e y ∈ B e λB = λx : x ∈ B.

Se A é um conjunto singular, i.e., se A = x, então (por simplicidade) escreve-se x+B em vez de A+B ou x+B. Neste caso, x+B designa-se por translaçãode B. Por sua vez, para λ 6= 0, a aplicação ψ : R

n → Rn, tal que ψ(y) = x+λy,

designa-se por homotetia de centro em x e razão λ, e ψ(B) = x+λB designa-sepor homotético de B.

Da definição de A+B decorre facilmente que

A+B =⋃

x∈A

(x+B) =⋃

y∈B

(A+ y).

Teorema 1.1. O homotético de um conjunto aberto é um conjunto aberto.

Demonstração. ∀x ∈ Rn e ∀λ 6= 0, a aplicação ψ(y) = x+ λy é contínua (porquê?)

e bijectiva. Adicionalmente, a sua inversa

ψ−1(z) =−1

λx+

1

λ(z)

é também contínua, logo ψ(y) é uma aplicação aberta, ou seja, transforma abertos emabertos.

Page 8: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

4 Noções Elementares de Análise Convexa

x

y

B

A

A+B

Figura 1.1: Exemplo em R2 da soma de dois conjuntos (A+B).

Como corolário do teorema anterior pode concluir-se que o homotético deum conjunto fechado é também um conjunto fechado. Com efeito, para λ 6= 0,a função ψ(y) = x+ λy é bijectiva e, consequentemente,

∀A ⊆ Rn ψ(Rn \A) = R

n \ ψ(A).

Logo, sendo A um subconjunto fechado de Rn, R

n \A é um subconjunto aberto.Aplicando o Teorema 1.1, conclui-se que ψ(Rn \ A) é aberto, donde ψ(A) éfechado. Note-se porém que, embora a soma de dois conjuntos abertos sejaum aberto, a soma de dois conjuntos fechados nem sempre é um fechado (verExercício 1.2) 1.

Definição 1.2. Dado um conjunto de pontos de Rn, x1, . . . , xp, e um conjunto

de escalares, λ1, . . . , λp, se∑p

i=1 λi = 1, então∑p

i=1 λixi designa-se por com-

binação afim dos pontos x1, . . . , xp. Adicionalmente, se λi ≥ 0 ∀i ∈ 1, . . . , p,então

∑p

i=1 λixi diz-se uma combinação linear convexa dos pontos x1, . . . , xp.

Um conjunto S ⊆ Rn diz-se convexo se

∀x, y ∈ S ∀λ ∈ [0, 1], λx+ (1− λ)y ∈ S

(i.e., se toda a combinação linear convexa de quaisquer dois pontos de S estáem S).

Dados dois pontos de um conjunto convexo S, x e y, o conjunto de combi-nações lineares convexas de x e y, z = λx + (1 − λ)y : 0 ≤ λ ≤ 1, designa-sepor segmento que une x e y e denota-se por xy.Da Definição 1.2 decorre a seguinte definição alternativa de conjunto convexo:um conjunto S é convexo sse, para p ≥ 2,

∀x1, . . . , xp ∈ S ∀λ1, . . . , λp ≥ 0 :

p∑

i=1

λi = 1,

p∑

i=1

λixi ∈ S.

Uma vez que é imediato verificar que a condição é suficiente, apenas vamosprovar que se trata de uma condição necessária. Assim, sendo S um conjunto

1Com efeito, embora a união de uma família de abertos seja sempre um aberto, o mesmonão acontece relativamente aos fechados.

Page 9: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

Noções Elementares de Análise Convexa 5

convexo, para p = 2, a condição é imediatamente satisfeita (por aplicação daDefinição 1.2). Suponha-se que a condição é verdadeira para p ≤ n e sejamx1, . . . , xn+1 pontos de S e λ1, . . . , λn+1 escalares não negativos tais que∑n+1

i=1 λi = 1. Se λn+1 ∈ 0, 1, é claro que∑n+1

i=1 λixi ∈ S. Assim, vamos supor

que 0 < λn+1 < 1. Em tais condições,∑n

i=1 λi > 0 e, tendo em conta queλi∑

ni=1

λi≥ 0 ∀i ∈ 1, . . . , n e

∑ni=1

λi∑ni=1

λi= 1, fazendo

n+1∑

i=1

λixi =

n∑

i=1

λixi + λn+1x

n+1 = (

n∑

i=1

λi)

n∑

i=1

λi

(∑n

i=1 λi)xi + λn+1x

n+1,

da hipótese decorre que x =∑n

i=1λi∑

ni=1

λixi ∈ S. Logo, tendo em conta que

∑n

i=1 λi ≥ 0, λn+1 ≥ 0 e∑n

i=1 λi + λn+1 = 1, obtém-se

n+1∑

i=1

λixi =

n∑

i=1

λixi + λn+1x

n+1 ∈ S,

o que completa a prova pretendida.Igualmente se prova que a intersecção de uma família de conjuntos convexos éum conjunto convexo (ver Exercício 1.3).

Definição 1.3. Um conjunto de pontos x1, . . . , xp diz-se dependente afim seexistem escalares λ1, . . . , λp, não todos nulos, tais que

∑p

i=1 λi = 0 e∑p

i=1 λixi =

0. Caso contrário o conjunto x1, . . . , xp diz-e independente afim .

De acordo com esta definição, se um dado ponto x é combinação linear con-vexa de um conjunto de pontos x1, . . . , xp, então o conjunto x∪x1, . . . , xpé dependente afim. Com efeito, se ∃λ1, . . . , λp ≥ 0 tais que

∑pi=1 λi = 1 e x =

∑p

i=1 λixi, então x−λ1x

1−. . .−λpxp = 0 e, além disso, 1−λ1−λ2−. . .−λp = 0.

Podemos ainda afirmar que um conjunto de p + 1 pontos x0, . . . , xp é inde-pendente afim sse o conjunto de p vectores x1− x0, . . . , xp− x0 é linearmenteindependente (como exercício, faça a prova desta afirmação).

Teorema 1.2. Seja S = x0, . . . , xk um conjunto de pontos independentesafim. Então cada ponto x do conjunto das combinações afim de pontos de S temuma representação única como combinação afim dos pontos x0, . . . , xk.

Demonstração. Seja x =∑k

i=1 λixi, com

∑k

i=1 λi = 1, e suponha-se que tam-bém se verifica a equação x =

∑k

i=1 αixi. Então x − x =

∑k

i=1 (λi − αi)xi = 0 e

∑k

i=1 λi − αi = 0. Logo, uma vez que os pontos x0, . . . , xk são independentes afim,conclui-se que λi = αi, para i = 0, . . . , k.

De um modo análogo se prova que sendo S = x0, . . . , xk um conjunto depontos independentes afim, então cada ponto x do conjunto das combinaçõeslineares convexas de pontos de S tem uma representação única como combinaçãolinear convexa dos pontos x0, . . . , xk.

Page 10: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

6 Noções Elementares de Análise Convexa

Definição 1.4. Designa-se por variedade linear (ou subespaço afim ), toda atranslação de um subespaço vectorial, i.e., dado um subespaço vectorial de R

n,E, e um ponto x ∈ R

n, x + E designa-se por variedade linear (ou subespaçoafim). A dimensão da variedade linear U = x+E denota-se por dim(U) e cor-responde à dimensão de E. Dado um conjunto de pontos S ⊆ R

n, designa-sepor dimensão de S e denota-se por dim(S), a dimensão da variedade linear demenor dimensão que contém S.

Como consequência desta definição conclui-se que um ponto é uma variedadelinear de dimensão 0.

Definição 1.5. Dado um conjunto de pontos S, designa-se por invólucro con-vexo de S e denota-se por H(S) a intersecção de todos os conjuntos convexosque contêm S e designa-se por invólucro afim de S e denota-se por Aff(S) aintersecção de todas as variedades lineares (subespaços afim) que contêm S.

Como consequência desta definição vem que um conjunto S é convexo sseS = H(S).

1. Seja S um conjunto convexo. Pela definição de H(S), (i) H(S) ⊇ S. Poroutro lado, qualquer que seja o conjunto convexo C que contenha S, C ⊇H(S). Logo, uma vez que S é convexo e S ⊇ S, conclui-se que (ii) S ⊇H(S). Tendo em conta (i) e (ii) vem que S = H(S).

2. Suponha-se que S não é convexo. Uma vez que H(S) é a intersecção deconjuntos convexos, pode concluir-se que H(S) é convexo. Logo S 6= H(S).

De um modo idêntico ao anterior se conclui que S é uma variedade linearsse S = Aff(S).

Se S é um conjunto arbitrário de pontos no qual existe um conjunto maxi-mal de k + 1 pontos independentes afim x0, x1, . . . , xk (maximal no sentidode que ∀x ∈ S x0, x1, . . . , xk ∪ x é um conjunto dependente afim), sendo Eo subespaço vectorial gerado pelo conjunto de vectores x1 − x0, . . . , xk − x0,então pode concluir-se que x0 + E é a variedade linear de menor dimensão quecontém S, ou seja, x0 + E = Aff(S). Note-se que a variedade linear de menordimensão que contém S corresponde à intersecção de todas as variedades linea-res que contêm S.

Teorema 1.3. Qualquer que seja o conjunto S, H(S) coincide com o conjuntode todas as combinações lineares convexas de pontos de S e Aff(S) coincidecom o conjunto de todas as combinações afim de pontos de S.

Demonstração. Seja T o conjunto de todas as combinações lineares convexas depontos de S. Dado que H(S) é convexo 2 e S ⊆ H(S), então podemos concluir que ascombinações lineares convexas de pontos de S estão em H(S), ou seja, que

H(S) ⊇ T. (1.1)

2Note-se que H(S) é intersecção de conjuntos convexos.

Page 11: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

Noções Elementares de Análise Convexa 7

Por outro lado, ∀x, y ∈ T, ∃x1, . . . , xp ∈ S, ∃y1, . . . , yq ∈ S, ∃λ1, . . . , λp ≥ 0, com∑p

j=1 λj = 1, e ∃β1, . . . , βq ≥ 0, com∑q

i=1 βi = 1, tais que x =∑p

j=1 λjxj e y =

∑q

i=1 βiyi. Logo, ∀α ∈ [0, 1] αx + (1 − α)y =

∑p

j=1 αλjxj +

∑q

i=1 (1 − α)βiyi, com

αλj ≥ 0 ∀j ∈ 1, . . . , p, (1 − α)βi ≥ 0 ∀i ∈ 1, . . . , q e

p∑

j=1

αλj +

q∑

i=1

(1 − α)βi = α

p∑

j=1

λj + (1 − α)

q∑

i=1

βi = 1.

Consequentemente, conclui-se que T é um conjunto convexo que contém S, donde

H(S) ⊆ T. (1.2)

De (1.1) e (1.2) vem finalmente que H(S) = T . A prova de que Aff(S) coincide como conjunto de todas as combinações afim de pontos de S é idêntica à anterior.

O teorema que se segue, conhecido por Teorema de Caratheodory, constituium dos resultados mais relevantes em Análise Convexa.

Teorema 1.4 (de Caratheodory ). Se S é um subconjunto não vazio de Rn,

então ∀x ∈ H(S), ∃x1, . . . , xp ∈ S, com p ≤ n+1, tais que x ∈ H(x1, . . . , xp)(ou seja, x pode exprimir-se como combinação linear convexa de não mais doque n+ 1 pontos de S).

Demonstração. Seja x ∈ H(S), então o Teorema 1.3 garante que x pertence aoconjunto das combinações lineares convexas de pontos de S, i.e., ∃x1, . . . , xp ∈ Se ∃λ1, . . . , λp ≥ 0, com

∑p

i=1 λi = 1, tais que x =∑p

i=1 λixi. Resta provar que é

possível escolher os pontos de modo que p seja não superior a n + 1. Se p > n + 1,então os pontos x1, . . . , xp são dependentes afim. Logo, existem escalares α1, . . . , αp,não todos nulos, tais que

∑p

i=1 αi = 0 e∑p

i=1 αixi = 0. Consequentemente, tendo em

conta que αi > 0 : 1 ≤ i ≤ p 6= ∅ 3, fazendo θ = min λi

αi: αi > 0, 1 ≤ i ≤ p,

βi = λi − θαi, para i = 1, . . . , p, e supondo θ = λs

αs, obtém-se

p∑

i=1

βixi =

p∑

i=1

(λi − θαi)xi =

p∑

i=1

λixi − θ

p∑

i=1

αixi = x,

com βi ≥ 0 ∀i ∈ 1, . . . , p 4, βs = λs −λs

αsαs = 0 e

p∑

i=1

βi =

p∑

i=1

(λi − θαi) =

p∑

i=1

λi − θ

p∑

i=1

αi = 1.

Deste modo, exprime-se x como combinação linear convexa de p − 1 pontos de S. Sep−1 ≤ n+1, então obtém-se o que se pretendia, caso contrário este processo repete-seaté que tal aconteça.

3Observe-se que uma vez que os escalares α1, . . . , αp, não são todos nulos, da equação∑p

i=1 αi = 0 retira-se que existem pelo menos dois escalares de sinal contrário.4Com efeito, dado que θ > 0, ∀i ∈ 1, . . . , p se αi ≤ 0 então λi − θαi ≥ 0 e se αi > 0

então θ ≤ λi

αi⇔ λi − θαi ≥ 0.

Page 12: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

8 Noções Elementares de Análise Convexa

1.1 Algumas propriedades topológicas de conjun-

tos convexos

Tendo em vista o estudo de algumas propriedades topológicas de conjuntosconvexos, vamos começar por introduzir o conceito de interior relativo.

Definição 1.6. Dado um subconjunto de pontos de Rn, S, sendo U a variedade

linear de menor dimensão que contém S (i.e., a intersecção de todas as varieda-des lineares que contêm S), designa-se por interior relativo de S e denota-se porIntRel(S) o conjunto IntRel(S) = x ∈ S : ∃ǫ > 0 para o qual B(x, ǫ) ∩ U ⊆S.

Nesta definição, B(x, ǫ) denota a bola aberta de centro em x e raio ǫ, ou seja,o conjunto B(x, ǫ) = y ∈ R

n : d(x, y) < ǫ, onde d(x, y) (d : Rn × R

n → R+0 )

corresponde à métrica induzida pela norma euclidiana.Da Definição 1.6 decorrem imediatamente as seguintes conclusões:

1. Se S é um conjunto singular, i.e., S = x, então IntRel(S) = x;

2. Se S é um segmento xy = λx+(1−λ)y : λ ∈ [0, 1], então IntRel(xy) =xy \ x, y, i.e., IntRel(xy) = λx+ (1 − λ)y : λ ∈]0, 1[.

Ao longo deste texto, dado o subconjunto S ⊆ Rn, o interior de S, a aderência

de S e a fronteira de S, serão denotados, respectivamente, por Int(S), Ad(S) efr(S).

Definição 1.7. O invólucro convexo de um conjunto finito de pontos designa-se por politopo . Se S = x0, . . . , xk é um conjunto independente afim, entãoH(S) designa-se por simplex de dimensão k (ou k-dimensional) e os pontos x0,. . . , xk, designam-se por vértices .

Na figura a seguir representam-se dois conjuntos simpliciais de R2.

x0

x1

Simplex de dimensão 1

@@

@@@

x0

x2

x1

Simplex de dimensão 2

Figura 1.2: Conjuntos simpliciais de R2.

Teorema 1.5. Se S = H(x0, . . . , xk) é um simplex k-dimensional, entãoIntRel(S) 6= ∅.

Page 13: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

1.1 Algumas propriedades topológicas de conjuntos convexos 9

Demonstração. Uma vez que os pontos x0, . . . , xk são independentes afim, cadaponto de Aff(S) tem uma representação única como combinação afim dos pontosx0, . . . , xk. Logo, considerando a aplicação f : Aff(S) → R

k+1 , tal que f(x) =(α0, . . . , αk), onde as componentes α0, . . . , αk, identificam os escalares que determinamx como combinação afim de x0, . . . , xk (i.e., x =

∑k

i=1 αixi e

∑k

i=1 αi = 1), obtém-seuma aplicação contínua. Consequentemente, dado

x′ =1

k + 1x0 + . . .+

1

k + 1xk ∈ S,

vem que

f(x′) = (1

k + 1, . . . ,

1

k + 1).

Logo, pela continuidade de f , ∃B(x′, δ) tal que ∀x ∈ B(x′, δ) ∩ Aff(S), f(x) temcomponentes positivas, ou seja,

B(x′, δ) ∩ Aff(S) ⊆ S,

pelo queIntRel(S) 6= ∅.

Como corolário imediato deste teorema decorre que se S é um subconjuntoconvexo k-dimensional, então o seu interior relativo é não vazio. Com efeito,uma vez que S tem dimensão k, existem k + 1 pontos x0, . . . , xk ∈ S inde-pendentes afim, logo H(x0, . . . , xk) é um simplex de dimensão k e, pelo Te-orema 1.5, vem que IntRel(H(x0, . . . , xk)) 6= ∅. Finalmente, uma vez queS ⊇ H(x0, . . . , xk) conclui-se que IntRel(S) 6= ∅.

Teorema 1.6. Se S é um conjunto convexo, então a aderência de S, Ad(S), éum conjunto convexo.

Demonstração. Sejam x e y dois pontos da aderência de S, i.e., x, y ∈ Ad(S), sejau = λx+(1−λ)y, com λ ∈ [0, 1], e considere-se uma bola aberta centrada em u e de raioarbitrário δ, B(u, δ). Uma vez que x, y ∈ Ad(S) ∃x0 ∈ B(x, δ)∩S e ∃y0 ∈ B(y, δ)∩S,logo u0 = λx0 + (1 − λ)y0 ∈ S. Adicionalmente, verifica-se que

d(u, u0) = d(λx+ (1 − λ)y, λx0 + (1 − λ)y0)

≤ d(λx+ (1 − λ)y, λx0 + (1 − λ)y) + d(λx0 + (1 − λ)y, λx0 + (1 − λ)y0)

= λd(x, x0) + (1 − λ)d(y, y0)

< λδ + (1 − λ)δ

= δ.

Consequentemente, vem que ∀u ∈ xy e ∀δ > 0, B(u, δ) ∩ S 6= ∅. Logo, u ∈ Ad(S), ouseja , a aderência de S é um conjunto convexo.

O resultado a seguir é conhecido por Lema da acessibilidade.

Lema 1.7 (da acessibilidade ). Seja S um conjunto convexo. Se x ∈ Ad(S) ey ∈ Int(S), então Int(S) ⊇ IntRel(xy).

Page 14: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

10 Noções Elementares de Análise Convexa

&%'$

&%'$

&%'$

x uy

x0 u0y0

Figura 1.3: Ilustração em R2 da demonstração do Teorema 1.6.

Demonstração. Sem perda de generalidade, suponha-se que x coincide com a origemdo referencial adoptado, i.e., x = 0. Uma vez que y ∈ Int(S), ∃ǫ > 0 tal que B(y, ǫ) ⊆S.Por outro lado, uma vez que S é convexo, pelo Teorema 1.6 Ad(S) é também umconjunto convexo, pelo que

∀λ ∈ [0, 1] ∀z ∈ B(y, ǫ) λz + (1 − λ)x ∈ Ad(S) ⇔ λz ∈ Ad(S).

Consequentemente, ∀λ ∈ [0, 1] Ad(S) ⊇ λB(y, ǫ) = B(λy, λǫ). Logo, uma vez que∀u ∈ IntRel(xy), ∃λ ∈]0, 1[ tal que u = λy, fazendo δ = λǫ vem que B(u, δ) ⊆ Ad(S),ou seja, u ∈ Int(Ad(S)) = Int(S) 5, donde IntRel(xy) ⊆ Int(S).

(((((((((((((

hhhhhhhhhhhhh

&%'$

x = 0u

B(u, λǫ)

y

B(y, ǫ)

Figura 1.4: Ilustração em R2 da demonstração do lema da acessibilidade.

Como corolário do Teorema 1.7 segue-se que, se S é um conjunto convexo,então Int(S) é também um conjunto convexo. Com efeito, se x, y ∈ Int(S) entãopelo Teorema 1.7 Int(S) ⊇ IntRel(xy) e uma vez que xy = IntRel(xy)∪x, y,logo Int(S) ⊇ xy.

Teorema 1.8. Se S é um conjunto aberto, então H(S) é também um conjuntoaberto.

Demonstração. Uma vez que S ⊆ H(S) e S é aberto, então S ∩ fr(H(S)) = ∅ e,como consequência,

S ⊆ Int(H(S)). (1.3)

5Uma vez que S é convexo, fr(S) = fr(Ad(S)), donde vem que Int(Ad(S)) = Ad(S) \fr(Ad(S)) = Ad(S)\fr(S) = Int(S). Note-se porém que, no caso de S não ser convexo, podeobter-se fr(S) 6= fr(Ad(S)). Por exemplo em R, sendo S =]1, 2[∪]2, 3[, vem que fr(S) =1, 2, 3 e fr(Ad(S)) = 1, 3 (uma vez que Ad(S) = [1, 3]).

Page 15: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

1.1 Algumas propriedades topológicas de conjuntos convexos 11

Dado que H(S) é convexo, podemos concluir que Int(H(S)) é um conjunto convexoque, de acordo com (1.3), contém S. Adicionalmente, tendo em conta a definição deH(S) 6, conclui-se ainda que Int(H(S)) ⊇ H(S) (i). Logo, uma vez que Int(H(S) ⊆H(S) (ii), de (i) e (ii) decorre que H(S) = Int(H(S)), ou seja, que H(S) é aberto.

Deve observar-se que embora o invólucro convexo de um conjunto abertoseja um conjunto aberto, o invólucro convexo de um conjunto fechado não é,necessariamente, um conjunto fechado. Por exemplo, S = (x, y) ∈ R

2 : x2y2 =1 e y > 0 é um conjunto fechado e, no entanto, H(S) = (x, y) ∈ R

2 : y > 0não é fechado (ver Figura 1.5).

X

Y

Figura 1.5: Representação de S = (x, y) ∈ R2 : x2y2 = 1 e y > 0.

Outro exemplo de conjunto fechado, cujo invólucro convexo não é fechado,é o conjunto S = (x, y) ∈ R

2 : y = x2 ∧ x ≥ 0 representado na Figura 1.6.Conforme se pode observar, qualquer que seja (x, y) ∈ S, o segmento que une aorigem (0, 0) a (x, y) pertence a H(S), no entanto, o semi-eixo positivo dos yyestá incluído na fronteira de H(S) e não pertence a H(S).

X

Y

Figura 1.6: Representação de S = (x, y) ∈ R2 : y = x2 ∧ x ≥ 0 e H(S).

Apesar do que foi afirmado, no caso de S ser fechado e limitado em Rn (logo

compacto) H(S) é também um conjunto fechado e limitado 7.

6H(S) é a intersecção de todos os convexos que contêm S.7Note-se que esta afirmação não é valida em espaços de dimensão infinita. Com efeito,

considerando o conjunto fechado limitado enn∈N , onde

e1 = [1, 0, 0, . . . , 0, . . .]T , e2 = [0, 1, 0, . . . , 0, . . .]T , . . . , en = [0, 0, . . . , 1, . . .]T , . . .

e considerando ainda a sucessão do invólucro convexo de enn∈N ,

up =

p∑

j=1

1

pejp∈N,

vem que a sucessão u1 = e1, u2 = [ 12, 1

2, 0, . . . , 0, . . .]T , . . . , un = [ 1

n, 1

n, 1

n, . . . , 1

n, . . .]T , . . .

converge para [0, 0, 0, . . . , 0, . . .]T 6∈ H(enn∈N) (observe-se ainda que ||uk|| = 1√k, pelo que

||uk|| → 0 quando k → ∞).

Page 16: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

12 Noções Elementares de Análise Convexa

Teorema 1.9. Se S é um subconjunto de Rn compacto, então H(S) é compacto.

Demonstração. Considere-se o subconjunto compacto de Rn+1

C = (λ1, . . . , λn+1) :

n+1∑

i=1

λi = 1 e λi ≥ 0, para 1 ≤ i ≤ n+ 1,

e considere-se a função

f : Rn+1 × R

n × . . .× Rn

︸ ︷︷ ︸

n+1

7→ Rn

(λ1, . . . , λn+1, x11, . . . , x

1n, . . . , x

n+11 , . . . , xn+1

n )

n+1∑

i=1

λixi,

onde xi = [xi1 . . . x

in]T , para i = 1, . . . , n+ 1.

Uma vez que C e S são compactos, então o subconjunto C × S × . . . × S = C ×

Sn+1 ⊆ Rn+12

é compacto e, pela continuidade de f , conclui-se que f(C × Sn+1) étambém compacto (dado que a imagem de um compacto por uma função contínua é umcompacto). Uma vez que, pelo teorema de Caratheodory, ∀x ∈ H(S) ∃x1, . . . , xn+1 ∈S tais que x ∈ H(x1, . . . , xn+1), pode concluir-se que f(C × Sn+1) = H(S) e,consequentemente, que H(S) é compacto.

1.2 Cones e poliedros convexos

Os cones e os poliedros convexos desempenham um papel relevante em optimi-zação linear.

Definição 1.8. Uma aplicação, f : Rn 7→ R

m, diz-se linear se é aditiva ehomogénea , ou seja, se

∀u, v ∈ Rn ∀λ ∈ R f(u+ v) = f(u) + f(v) ∧ f(λu) = λf(u).

Uma aplicação linear de Rn em R diz-se uma funcional linear de R

n.

Esta definição dá origem ao conceito de hiperplano e de meio espaço (ousemi-espaço ). Sendo f uma funcional linear de R

n não identicamente nula, i.e,para qual ∃u ∈ R

n tal que f(u) 6= 0, Hα = x ∈ Rn : f(x) = a determina um

hiperplano (variedade linear de dimensão n − 1) que divide Rn nos dois meios

espaços:

H+α = x ∈ R

n : f(x) ≥ α e H−α = x ∈ R

n : f(x) ≤ α,

no sentido em que Rn = H+

α ∪H−α e Hα = H+

α ∩H−α .

Qualquer equação do tipo aTx = α, com a ∈ Rn \ 0 e α ∈ R (equação linear),

pode ser representada pelo sistema equivalente de inequações lineares:aTx ≤ α,aTx ≥ α,

o qual define a intersecção de dois meios espaços.

Page 17: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

1.2 Cones e poliedros convexos 13

Definição 1.9. Designa-se por poliedro convexo a intersecção de um númerofinito de meios espaços.

De acordo com esta definição, um conjunto vazio é um poliedro convexo.Por outro lado, podemos ainda concluir que um poliedro fica definido por umnúmero finito de equações e ou inequações lineares. Assim, sendo A uma matrizcom m linhas e n colunas (A ∈ R

m×n) e b um vector de Rm (b ∈ R

m), tem-seque o sistema de equações

Ax = b⇔

[A−A

]

x ≤

[b−b

]

.

define um poliedro.

Definição 1.10. Um subconjunto não vazio de Rn, K, diz-se um cone se

∀λ > 0 ∀x ∈ K, λx ∈ K.

Se, adicionalmente, K é convexo, o cone diz-se convexo .

@@

@@@

O

K∗

K

cone convexo

AA

AAA

HHHHHHHH

cone não convexo

Figura 1.7: Exemplos de cones (convexo e não convexo).

Dado um conjunto, K, é fácil concluir que o conjunto K∗ = y ∈ Rn :

yTx ≤ 0 ∀x ∈ K é um cone convexo fechado. Com efeito, se y ∈ K∗ entãoλy ∈ K∗ ∀λ > 0 (logo é um cone) e dados dois pontos u, v ∈ K∗ (ou seja, taisque uTx ≤ 0 e vTx ≤ 0 ∀x ∈ K) então ∀α ∈ [0, 1] vem que (αu+ (1−α)v)T x =α(uTx)+(1−α)(vT x) ≤ 0 ∀x ∈ K, donde αu+(1−α)v ∈ K∗ (logo é convexo).Para se obter a prova que K∗ é fechado, considerando uma sucessão de K∗,(uk)k∈N, tal que uk → u, basta provar que uTx ≤ 0 ∀x ∈ K (ou seja, queu ∈ K∗). Com efeito, suponha-se, por absurdo, que existe x′ ∈ K tal queuTx′ = ǫ > 0 e considere-se a aplicação contínua x′ de R

n em R, definida por

Page 18: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

14 Noções Elementares de Análise Convexa

y → x′(y) = yTx′. Pela continuidade de x′ em u, ∃n ∈ N tal que ∀k ≥ n

|x′(uk)− x′(u)| <ǫ

2⇔ −

ǫ

2< x′(uk)− ǫ <

ǫ

2

⇔ǫ

2< x′(uk) <

2

⇔ǫ

2< (uk)Tx′ <

2,

o que é absurdo (tendo em conta que ∀k ∈ N, (uk)Tx ≤ 0 ∀x ∈ K).Usualmente, K∗ designa-se por cone polar 8 negativo de K.

Teorema 1.10. Se A = [a1, . . . , an] ∈ Rm×n, então K = Ax : x ≥ 0 é um

cone convexo fechado.

Demonstração. Uma vez que a prova que K é um cone convexo é imediata, apenasprovaremos que K é fechado.Se A é a matriz nula, então K = 0 e o resultado é trivialmente verdadeiro.Supondo A 6= 0 e considerando uma sucessão, ykk∈N, de K (logo yk = Axk, comxk ≥ 0) convergente para y′, vamos provar que y′ ∈ K.

1. Se as colunas de A, a1, . . . , an são linearmente independentes, então para cadayk existe um único xk tal que Axk = yk e, pela continuidade da aplicaçãoy → x = (ATA)−1AT y a sucessão (xk)k∈N converge para x′ tal que Ax′ = y′.Como consequência, dado que R

n+ = x ∈ R

n : x ≥ 0 é fechado e xkk∈N ⊆R

n+, podemos concluir que x′ ∈ R

n+, i.e, x′ ≥ 0.

2. Seja v ∈ K e suponha-se que v = Au (onde u é tal que as suas componentes são osescalares não negativos β1, β2, . . . , βn) e que, para Iu = j : βj > 0, as colunasde A associadas a este conjunto de índices são linearmente dependentes. Entãoexistem |Iu| escalares, não todos nulos (αj com j ∈ Iu), tais que

j∈Iuαjaj = 0,

onde, pelo menos um dos escalares αj é positivo (caso contrário multiplica-se aequação anterior por −1). Determinando-se βp

αp= min

βj

αj: j ∈ Iu, αj > 0

vem que

v =∑

j∈Iu

βjaj −βp

αp

j∈Iu

αjaj

=∑

j∈Iu

(βj −βp

αp

αj)aj

=∑

j∈Iu|p(βj −

βp

αp

αj)aj , com βj −βp

αp

αj ≥ 0 ∀j ∈ Iu,

ou seja, v ∈ K (Iu \ p) (onde K(J) define o cone gerado pelas colunas de Acujos índices estão J). Se estas colunas são linearmente dependentes, então oprocesso repete-se até se obter um conjunto de índices Iw tal que aj : j ∈ Iwé linearmente independente e v ∈ K(Iw), que é um conjunto fechado, de acordo

8Associado a um subconjunto não vazio de Rn, M , existe também a noção de conjunto

polar de M , o qual também se denota por M∗ e corresponde ao conjunto M∗ = y ∈ Rn :

yT x ≤ 1 ∀x ∈ M.

Page 19: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

1.3 Teoremas de separação e lema de Farkas 15

com a prova apresentada no ponto 1. Fazendo variar v em K, podemos obterK como a união dos cones convexos fechados K1, K2, . . . , Kr , gerados porconjuntos maximais de colunas de A linearmente independentes (cujo número éfinito). Logo vem que K =

1≤i≤rKi, pelo que K é fechado.

1.3 Teoremas de separação e lema de Farkas

O teorema que se segue, conhecido por teorema da separação estrita, constituium resultado com inúmeras aplicações em Programação Matemática.

Teorema 1.11 (da separação estrita ). Seja S um subconjunto fechado, con-vexo, não vazio de R

n e x ∈ Rn \ S. Então existe c ∈ R

n \ 0 e existe ǫ > 0tais que cTx ≥ cT y + ǫ ∀y ∈ S.

Demonstração. Sendo y′ o ponto de S mais próximo de x (note-se que, uma vezque S é fechado e não vazio, um tal ponto existe (porquê?) 9, tem-se que ||x− y′|| > 0(porquê?).

S

Y'

X

Y

Figura 1.8: Conjunto convexo fechado.

Primeiramente, vamos mostrar que (x− y′)T (y − y′) ≤ 0 ∀y ∈ S.Sendo y um ponto arbitrário de S tem-se que ∀λ ∈]0, 1[, λy + (1 − λ)y′ ∈ S e, umavez que y′ é o ponto de S mais próximo de x, tem-se ainda que

||x − y′||2 ≤ ||x − λy − (1 − λ)y′||2

= ||x − y′ + λ(y′ − y)||2

= ||x − y′||2 + 2λ(x− y′)T (y′ − y) + λ2||y′ − y||2,

donde vem que

0 ≤ 2(x−y′)T (y′−y)+λ||y′−y||2 ⇒ limλ→0

2(x−y′)T (y′−y)+λ||y′−y||2 = 2(x−y′)T (y′−y) ≥ 0.

Conclui-se assim que

(x−y′)T (y′−y) ≥ 0 ⇔ (x−y′)T (x−x+y′−y) = (x−y′)T (y′−x)+(x−y′)T (x−y) ≥ 0,

9Com efeito, uma vez que S é não vazio existe z ∈ S e considerando a bola fechada decentro em x e raio ||x − z|| obtém-se um conjunto compacto cuja intersecção com o conjuntofechado S é também compacta. Como a determinação do ponto de S que está à distânciamínima de x corresponde à determinação do mínimo da função contínua f(y) = ||x − y|| nareferida intersecção, vem que o ponto de mínimo, y′ ∈ S, existe.

Page 20: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

16 Noções Elementares de Análise Convexa

pelo que, fazendo c = x− y′ e ǫ = ||x− y′||2, se obtém

−ǫ+ cTx− cT y ≥ 0 ⇔ cTx ≥ cT y + ǫ.

Supondo que M é um subconjunto compacto e N um subconjunto fechado,pelo que M−N = z = x−y : x ∈M, y ∈ N é um conjunto fechado e supondoqueM e N são convexos, dondeM−N também é convexo, com base no Teorema1.11 e tendo em conta que M e N são disjuntos sse 0 6∈M −N , podemos obtera separação estrita entre o subconjunto compacto M e o subconjunto fechadoN , disjunto de M , obtendo a separação estrita entre 0 6∈M −N e M −N . Comefeito,

cT 0 > cT z ∀z ∈M −N ⇔ 0 > cT (x− y) ∀x ∈M ∀y ∈ N

⇔ cTx > cT y ∀x ∈M ∀y ∈ N.

Deve sublinhar-se que para a obtenção da separação estrita entre dois sub-conjuntos disjuntos convexos, não basta que eles sejam fechados, é necessárioque pelo menos um deles seja compacto. Por exemplo, embora os subconjuntosA = (x, y) : x > 0 e y ≥ 1

x ⊂ R

2 e B = (x, y) : x ≥ 0 e y = 0 ⊂ R2 sejam

disjuntos, convexos e fechados, não existe qualquer separação estrita entre eles.

Teorema 1.12. Seja S ⊆ Rn um subconjunto convexo com interior não vazio

e seja x um ponto da fronteira de S (x ∈ fr(S)). Então existe um vector v ∈R

n \ 0 tal que vTx ≥ vT y ∀y ∈ S.

Demonstração. Seja x′ um ponto interior de S e, para τ > 1, seja xτ = x′+τ (x−x′).É claro que xτ 6∈ Ad(S) ∀τ > 1 (caso contrário, pelo Teorema 1.7, o segmento x′ +ρ(x−x′) : 0 ≤ ρ < τ estaria contido no interior de S e, em particular, x = x′+(x−x′)pertenceria a Int(S)).Uma vez que xτ 6∈ Ad(S) ∀τ > 1, pelo Teorema 1.11 (da separação estrita) para cadaτ > 1, existe uτ 6= 0 tal que uT

τ x > uTτ y ∀y ∈ S. Supondo, sem perda de generalidade,

que ||uτ || = 1 ∀τ > 1 10 e considerando uma sucessão (τk)k∈N convergente para 1(limτ→∞ τk = 1), tal que τk > 1 ∀k ∈ N, pelo Teorema de Bolzano-Weierstrass podeconcluir-se que a sucessão limitada (vk), com vk = uτk

, admite uma subsucessão,(vkp), convergente para v ∈ R

n. Adicionalmente, dado que 1 = limp→∞ ||vkp || = ||v||conclui-se ainda que v 6= 0. Destas considerações decorre finalmente que ∀y ∈ S

vT y = limp→∞

(vTkpy) ≤ lim

p→∞(vT

kpx) = vTx.

Lema 1.13 (de Farkas, 1a versão ). Dada uma matriz A = [a1, a2, . . . , an] ∈R

m×n e b ∈ Rm, um e não mais do que um dos sistemas a seguir indicados tem

solução.

Ax = b, e x ≥ 0; (1.4)

yTA ≤ 0 e yT b > 0. (1.5)

10Para tal basta multiplicar uτ pelo inverso da sua norma.

Page 21: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

1.3 Teoremas de separação e lema de Farkas 17

S

u

Y

Figura 1.9: Hiperplano de suporte de um conjunto convexo.

Demonstração. Suponha-se que (1.4) tem solução, ou seja, ∃x′ ∈ Rn tal que Ax′ = b

e x′ ≥ 0, então ∀ y ∈ Rm yTAx′ = yT b. Logo se ∃y′ ∈ R

m tal que y′TA ≤ 0, vem quey′

TAx′ = y′b ≤ 0, o que torna impossível a verificação da última inequação de (1.5).

Suponha-se agora que (1.4) não tem solução. Então b 6∈ K = Ax : x ≥ 0 e, umavez que (pelo Teorema 1.10) K é um convexo fechado, por aplicação do Teorema 1.11conclui-se que ∃y ∈ R

m \ 0 e ∃ǫ > 0 tais que yT b ≥ yT z + ǫ ∀z ∈ K (ou seja,∀z : z = Ax, com x ≥ 0). Logo, tendo em conta que 0 ∈ K e ǫ > 0, pode concluir-se que yT b > 0. Por outro lado, dado que K é um cone, ∀z ∈ K ∀ρ > 0, ρz ∈ K.Consequentemente, para z = Aej , com j ∈ 1, . . . , n (onde ej denota o j-ésimovector da base canónica de R

n), vem que ∀ρ > 0, ρyT z = ρyTAej = ρyTaj ≤ ytb − ǫ,

o que só é possível se yTaj ≤ 0 (caso contrário, bastaria tomar ρ = yT b−ǫ+1yT aj

para que

a inequação em causa fosse violada). Assim, prova-se que yTaj ≤ 0 ∀j ∈ 1, . . . , ne, consequentemente, que y é uma solução para o sistema (1.5), ou seja, yTA ≤ 0 eyT b > 0.

A interpretação geométrica do lema de Farkas permite-nos concluir que, se bpertence ao cone K, gerado pelas colunas de A, então não existe y pertencenteao cone polar negativo de K, K∗ = y ∈ R

m : ytz ≤ 0 ∀z ∈ K, tal queytb > 0. A figura a seguir ilustra esta afirmação.

AA

AAKa2

6a1

b

*a3

AAAAAA

K∗

y

Figura 1.10: Interpretação geométrica do Lema de Farkas.

Note-se que

K∗ = y ∈ Rm : yT z ≤ 0 ∀z ∈ K = y ∈ R

m : yTaj ≤ 0, j = 1, . . . , n.

Page 22: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

18 Noções Elementares de Análise Convexa

Com efeito, se yTaj ≤ 0 ∀j ∈ 1, . . . , n, então

yTAx ≤ 0 ∀x ≥ 0⇔ yT z ≤ 0 ∀z ∈ K.

Reciprocamente, se yT z ≤ 0 ∀z ∈ K, então, em particular, yTAej ≤ 0 ∀j ∈1, . . . , n ⇔ yTaj ≤ 0 ∀j ∈ 1, . . . , n.Sendo A uma matriz com m linhas e n colunas (A ∈ R

m×n) e b um vector de Rm

(b ∈ Rm), o sistema de inequações Ax ≤ b que determina um poliedro convexo,

pode transformar-se no sistema equivalente de equações, Ax+ y = b, desde quese acrescentem as condições de não negatividade ao m-uplo de variáveis y, ouseja,

x ∈ Rn : Ax ≤ b = x ∈ R

n : Ax+ y = b, y ≥ 0.

Com efeito, sendo S = x ∈ Rn : Ax ≤ b e T = x ∈ R

n : Ax + y = b, y ≥ 0,se x ∈ S, fazendo y = b − Ax ≥ 0, conclui-se que ∃y ≥ 0 tal que Ax + y = b,pelo que x ∈ T . Logo, T ⊇ S (i). Reciprocamente, se x ∈ T , então ∃y ≥ 0tal que Ax + y = b, pelo que x é tal que b − Ax ≥ 0 ⇔ Ax ≤ b, ou seja,x ∈ S. Consequentemente, S ⊇ T (ii). De (i) e (ii) conclui-se que S = T . Assim,supondo que A ∈ R

m×n, a partir de um conjunto

T =

[xy

]

∈ Rm×n : [A, Im]

[xy

]

= b

por aplicação da projecção π : Rm×n → R

n, tal que π(

[xy

]

) = x, vem que

π(T ) = S. A restrição a T desta projecção, é uma aplicação bijectiva entre T eS, a qual admite, como inversa, a aplicação π−1(x) = (x, b−Ax).As variáveis y1, y2, . . . , ym, introduzidas na passagem de S para T , designam-sepor variáveis de desvio ou folga. Recorrendo a estas variáveis de desvio, estamosem condições de apresentar uma versão alternativa à versão do Lema de Farkasanteriormente referida.

Lema 1.14 (de Farkas, 2a versão ). Dada uma matriz A ∈ Rm×n e b ∈ R

m,um e não mais do que um dos sistemas a seguir indicados tem solução.

Ax ≥ b e x ≥ 0. (1.6)

yTA ≤ 0, yT b > 0 e y ≥ 0. (1.7)

Demonstração. Introduzindo variáveis de desvio no sistema (1.6), i.e., fazendo Ax−s = b, com s ≥ 0, os sistemas (1.6) e (1.7) podem escrever-se (de um modo equivalente)da seguinte forma:

[A,−I ]

[xs

]

= b e

[xs

]

≥ 0. (1.8)

yT [A, I ] ≤ 0 e yT b > 0. (1.9)

Nestas condições, por aplicação directa do Lema 1.13, conclui-se o que se pretendia.

Page 23: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

1.4 Exercícios 19

1.4 Exercícios

Exercício 1.1. Dado um ponto x ∈ Rn e um escalar não nulo λ, prove que a

aplicação ψ : Rn → R

n, tal que ψ(y) = x + λy, é um homeomorfismo (i. e, éuma função contínua que admite inversa também contínua).

Exercício 1.2. Dados dois subconjuntos de Rn, A e B, prove ou refute cada

uma das seguintes afirmações:

1. Se A e B são abertos, então A+B é aberto.

2. Se A e B são fechados, então A+B é fechado.

3. Se A e B são convexos, então A+B e A−B são convexos.

Exercício 1.3. Dada a família de subconjuntos convexos de Rn, Sj com j ∈ J ,

prove que S =⋂

j∈J Sj é um conjunto convexo.

Exercício 1.4. Sendo Ti, com i ∈ I, uma colecção de subespaços afim, proveque

i∈I Ti é um subespaço afim.

Exercício 1.5. Dado um subconjunto finito de pontos de Rn, S = x1, . . . , xp,

prove que se p ≥ n + 2, então S pode partir-se em dois subconjuntos disjuntosS1 e S2 tais que H(S1) ∩H(S2) 6= ∅ 11.

Sugestão: Sabendo que para p ≥ n + 2, os pontos de S sãodependentes afim, a partir da igualdade

∑pi=1 λix

i = 0, onde os λisnão são todos nulos e são tais que

∑p

i=1 λi = 0, podemos concluira existência de um ponto x = 1

λ

∑p1

i=1 αixi = 1

λ

∑p2

j=1 βjxj, com

αi ≥ 0 para i = 1, . . . , p1, βj ≥ 0, para j = 1, . . . , p2, p1 + p2 = p eλ =

∑p1

i=1 αi =∑p2

j=1 βj > 0.

Exercício 1.6. Sendo F = S1, . . . , Sp uma família de p suconjuntos convexosde R

n, com p ≥ n+ 1, prove que se toda a subfamília de n+ 1 conjuntos de Ftem intersecção não vazia, então

1≤i≤p Si 6= ∅. 12

Sugestão: fazer a prova por indução sobre p (tendo em contaque o resultado é trivialmente válido para p = n+ 1), considerandoo resultado válido para p = k ≥ n + 1 e aplicando o resultado doexercício anterior (teorema de Radon) ao conjunto de pontos S =xi ∈ S1 ∩ . . . ∩ Si−1 ∩ Si+1 . . . ∩ Sk+1 : 1 ≤ i ≤ k + 1. A partirdeste conjunto, por aplicação do teorema de Radon, pode supôr, semperda de generalidade, que existem dois subconjuntos, T1 e T2, taisque T = T1 ∪ T2, com T1 = x1, . . . , xr, T2 = xr+1, . . . , xk+1 eque ∃x ∈ H(T1) ∩H(T2). Finalmente, dada a convexidade dos Sis,

11Este resultado é conhecido por Teorema de Radon .12Este resultado é conhecido por Teorema de Helly .

Page 24: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

20 Noções Elementares de Análise Convexa

e dado que para i ≤ r, xi ∈ Sr+1 ∩ . . .∩Sk+1 e, para j ≥ r+1, xj ∈S1 ∩ . . .∩ Sr, tenha em consideração que Sr+1 ∩ . . .∩ Sk+1 ⊇ H(T1)e S1 ∩ . . . ∩ Sr ⊇ H(T2).

Exercício 1.7. Sendo S um subconjunto convexo de Rn, prove que Int(S) é

convexo.

Exercício 1.8. Prove que a intersecção de uma colecção arbitrária de conesconvexos é um cone convexo.

Exercício 1.9. Considerando os pontos de R2: x1 = (1, 0), x2 = (1, 3), x3 =

(4, 3), x4 = (4, 0) e x = (74 ,

54 ), pelo que x = 1

2x1 + 1

4x2 + 1

6x3 + 1

12x4, com uma

técnica idêntica à utilizada na prova do teorema de Caratheodory, exprima xcomo combinação linear convexa de x1, x2 e x3.

Exercício 1.10. Supondo que C1 é um subconjunto convexo de Rn e que C2 =

Rn+ = x ∈ R

n : x ≥ 0, verifique que C1 + C2 = x ∈ Rn : ∃x ∈ C1, x ≤ x.

Exercício 1.11. Supondo que M é compacto e N é fechado prove que M +Né fechado.

Sugestão: Considere uma sucessão xk de M +N convergentepara x (pelo que, para cada k ∈ N ∃yk ∈ M e ∃zk ∈ N tal quexk = yk + zk) e tendo em conta a compacidade de M considere asubsucessão de yk, yk′

, convergente para y ∈M , donde vem quexk′

= yk′

+ zk′

⇔ zk′

= xk′

− yk′

e xk′

− yk′

→ x − y ∈ N (umavez que N é fechado).

Exercício 1.12. Sendo f : Rn → R

m uma aplicação linear, A um subconjuntoconvexo de R

n e B um subconjunto convexo de Rm prove que tanto f(A) =

f(x) : x ∈ A como f−1(B) = x ∈ Rn : f(x) ∈ B são conjuntos convexos.

Exercício 1.13. Seja u ∈ Rn \0 e considere a aplicação f : R

n → R definidapor f(x) = uTx.

1. Mostre que f é uma funcional linear.

2. A partir de f , determine o hiperplano que contém o ponto u.

3. Considerando que o hiperplano determinado em b) divide Rn em dois

meios espaços, indique qual deles contém a origem.

Exercício 1.14. Seja S um subconjunto de Rn fechado e não vazio e x ∈ R

n

tal que x 6∈ S.

1. Prove que ∃x∗ ∈ S tal que x∗ é um ponto de S mais próximo de x (nosentido da métrica induzida pela norma euclidiana).

2. Prove que se x∗ é um ponto nas condições da alínea anterior, então

||x− x∗|| > 0

(onde ||.|| denota a norma euclidiana).

Page 25: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

1.4 Exercícios 21

Exercício 1.15. Sendo A e B dois subconjuntos de Rn, prove que A ∩ B 6= ∅

sse 0 ∈ A−B.

Exercício 1.16. Supondo que a matriz A é tal que A ∈ Rm×n e que a sua

característica é n, prove que a matriz ATA é não singular e que a matriz AAT

pode ser singular.

Exercício 1.17. Dado um cone K, gerado pelas combinações lineares não ne-gativas dos vectores de R

m: u1, . . . , un e um vector b ∈ Rm, prove que ou (i)

b ∈ K ou (ii) ∀y ∈ K∗ (cone polar negativo de K) yT b > 0, mas não as duascoisas.

Sugestão: Recorra ao Lema de Farkas.

Page 26: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:
Page 27: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

Capítulo 2

Pontos Extremos e DirecçõesExtremas

Os conjuntos convexos têm certos pontos (pontos extremos) e direcções (di-recções extremas) com especial interesse, no contexto da Optimização, muitoparticularmente, em Optimização Linear. Com efeito, como veremos, se o con-junto de soluções óptimas de uma funcional linear num poliedro convexo é nãovazio, então esse conjunto contém, necessariamente, um ponto extremo e se essafuncional linear não tem mínimo (máximo) finito, então existe uma direcçãoextrema ao longo da qual a funcional linear é decrescente (crescente).

Definição 2.1. Sendo S ⊆ Rn um conjunto convexo não vazio, diz-se que x ∈ S

é um ponto extremo de S se não existem dois pontos y, z ∈ S distintos (y 6= z)e um escalar λ ∈]0, 1[ tais que x = λy + (1 − λ)z.

S

X

S

X

Figura 2.1: Exemplos de pontos extremos.

O teorema a seguir dá-nos uma condição necessária e suficiente para que umponto de um conjunto convexo seja um ponto extremo.

Teorema 2.1. Dado um conjunto convexo S ⊆ Rn, o ponto x ∈ S é um ponto

extremo sse ∀y ∈ S \ x z ∈ Rn : z = x+ λ(x − y), λ > 0 ∩ S = ∅.

Page 28: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

24 Pontos Extremos e Direcções Extremas

Demonstração. Suponha-se que x é um ponto extremo de S, seja y ∈ S \ x ez = x + λ(x − y) com λ > 0. Logo, vem que x = 1

1+λz + λ

1+λy, donde se conclui

que z /∈ S (uma vez que x é um ponto extremo de S). Como consequência, podemosafirmar que

z ∈ Rn : z = x+ λ(x− y), λ > 0 ∩ S = ∅.

Reciprocamente, suponha-se que x não é um ponto extremo de S, ou seja, que existemdois pontos de S, y e z, distintos (y 6= z) e um escalar α ∈]0, 1[ tais que x = (1−α)y+αz.Assim, vem que

z =1

αx−

1 − α

αy = x+

1 − α

α(x− y) = x+ λ(x− y),

com λ = 1−αα

> 0, pelo que z ∈ Rn : z = x+ λ(x− y), λ > 0 ∩ S 6= ∅.

Definição 2.2. Sendo S um conjunto convexo de Rn, d ∈ R

n \ 0 diz-se umadirecção de S se

∀x ∈ S, S ⊇ y : y = x+ λd, λ > 0.

Duas direcções d1 e d2 dizem-se distintas se não existe um escalar α > 0, talque d1 = αd2.

Como é óbvio, só os conjuntos ilimitados é que admitem direcções.

d

S

Figura 2.2: Exemplo de um conjunto que contém direcções.

Definição 2.3. Uma direcção d de um conjunto convexo S ⊆ Rn diz-se uma

direcção extrema, se não admitir uma representação do tipo

d = d1 + d2,

onde d1 e d2 são duas direcções distintas de S.

Page 29: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

2.1 Relações entre pontos extremos e soluções básicas 25

S

direcção extrema d i

r e c ç

ã o e

x t r e

m a

Figura 2.3: Exemplos de direcções extremas.

2.1 Relações entre pontos extremos e soluções

básicas

No que se segue, S identificará o conjunto de pontos de Rn,

S = x ∈ Rn : Ax = b, x ≥ 0,

com A ∈ Rm×n tal que r(A) = m (onde r(A) denota a característica de A) e

b ∈ Rm.

Definição 2.4. Uma sua solução x do sistema de equações Ax = b (anteri-ormente referido) diz-se uma solução básica se, após eventual reordenação dassuas componentes e, consequentemente, das colunas de A, a matriz A admitiruma decomposição do tipo A = [B,N ], em que B é uma matriz invertível e severifica que

Ax = BxB +NxN = BxB = b

(com xN = 0). Adicionalmente, verificando-se que as componentes de xB sãonão negativas, a solução diz-se uma solução básica admissível para S. As compo-nentes associadas a xB (xN ) designam-se por componentes básicas (não básicas)da solução básica x.

Teorema 2.2. Pode afirmar-se que x é um ponto extremo de S sse é umasolução básica admissível para S, i.e., sse (após uma eventual reordenação dascomponentes de x e, consequentemente, das colunas de A) a matriz A admitiruma decomposição do tipo A = [B,N ], em que B é uma matriz invertível e

x =

[xB

xN

]

=

[B−1b0

]

≥ 0.

Page 30: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

26 Pontos Extremos e Direcções Extremas

Demonstração. Suponha que A se pode decompor na forma [B,N ], onde B é umamatriz invertível tal que

x =

[B−1b0

]

,

e se verifica que B−1b ≥ 0. É claro que, nestas condições, x é uma solução básicaadmissível para S.Suponha que existem dois pontos de S, x′ e x′′, e um escalar λ ∈]0, 1[ para os quaisse verifica que x = λx′ + (1 − λ)x′′. Seja

x′ =

[x′

B

x′N

]

e x′′ =

[x′′

B

x′′N

]

,

então vem que[B−1b0

]

= λ

[x′

B

x′N

]

+ (1 − λ)

[x′′

B

x′′N

]

,

donde se conclui que x′N = x′′

N = 0. Logo x′B = x′′

B = B−1b 1, pelo que x′ = x′′ = x, oque mostra que x é um ponto extremo de S.Reciprocamente, suponha-se que x é um ponto extremo de S e, sem perda de genera-lidade, que

x =

x1

...xk

0...0

é tal que xi > 0, para i = 1, . . . , k. Suponha-se ainda que, sendo A = [a1a2 . . . ak . . . an],onde a1, a2, . . . , ak, . . . , an denotam as colunas de A, as colunas a1, a2, . . . , ak sãolinearmente dependentes, ou seja, que existem k escalares, α1, α2, . . . , αk, não todosnulos, tais que

∑k

i=1 αiai = 0.Fazendo

u =

α1

...αk

0...0

x′ = x + βu e x′′ = x − βu, com β > 0 e tal que x′ ≥ 0 e x′′ ≥ 0, tem-se quex′, x′′ ∈ S (note-se que Ax′ = Ax+ βAu = b+ β

∑k

i=1 αiai = b e Ax′′ = Ax− βAu =

b − β∑k

i=1 αiai = b). Uma vez que x′ 6= x′′ 2 e x = 12x′ + 1

2x′′ conclui-se que x não

é um ponto extremo de S, o que contraria a hipótese. Esta contradição resultou de

1Observe-se que, uma vez que x′N = x′′

N = 0, então

Bx′B

= bBx′′

B= b

x′

B= B−1b

x′′B

= B−1b

2Caso contrário, ter-se-ia x + βu = x − βu ⇔ 2βu = 0, o que contraria o facto de se saberque β > 0 e u 6= 0.

Page 31: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

2.1 Relações entre pontos extremos e soluções básicas 27

se haver suposto que a1, a2, . . . , ak seriam linearmente dependentes. Assim, provou-seque se x é um ponto extremo de S, então a1, a2, . . . , ak (as colunas de A associadasa componentes estritamente positivas de x) são linearmente independentes, pelo quek ≤ m. No caso de se ter k < m bastará completar as k colunas de A com m − kcolunas, de entre as colunas ak+1, . . . , an, de modo a obter-se uma matriz invertívelB = [a1 . . . akaj1 . . . ajm−k

], para a qual vem que

b = x1a1 + . . .+ xkak + 0aj1 + . . .+ 0ajm−k⇔ B

x1

...xk

0...0

= b⇔

x1

...xk

0...0

= B−1b.

Deve observar-se, no entanto, que não existe uma correspondência biunívocaentre pontos extremos (vértices) e soluções básicas admissíveis. Com efeito, em-bora a uma dada solução básica admissível corresponda um único vértice, orecíproco nem sempre é verdadeiro, conforme a seguir se exemplifica.No poliedro convexo

S = (x, y) ∈ R2 : 3x+ 5y ≤ 40, 5x+ 3y ≤ 40, x+ y ≤ 10, x, y ≥ 0,

a seguir representado, facilmente se reconhece que ao ponto (5, 5) correspondemmais do que uma solução básica admissível.

10

(5,5)

1 0

x

y

Figura 2.4: Ponto extremo correspondendo a soluções básicas degeneradas.

Page 32: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

28 Pontos Extremos e Direcções Extremas

Estas situações ocorrem em soluções básicas admissíveis com uma ou maiscomponentes básicas nulas.Deve ter-se em atenção ainda que a equivalência entre soluções básicas de com-ponentes não negativas e pontos extremos não é válida para todo o tipo deconjuntos poliédricos. Com efeito, sendo A uma matriz de R

m×n, o subconjuntopoliédrico T = x ∈ R

n : Ax ≤ b ⊂ Rn pode determinar-se a partir do

subconjunto poliédrico de Rn+m

U =

[xy

]

∈ Rn+m : Ax+ y = b, y ≥ 0,

por intermédio da projecção

π : Rn+m 7→ R

n

[xy

]

π(

[xy

]

) = x,

a qual constitui uma bijecção entre U e T 3. Porém, neste caso, podem existirsoluções básicas de U , com componentes não negativas, que não só não sãopontos extremos de U , como as suas imagens (por π) também não são pontosextremos de T . Com efeito, considerando-se o conjunto

T = (x1, x2) ∈ R2 : −2 ≤ x1 ≤ 2, −1 ≤ x2 ≤ 1,

é imediato verificar que T é a projecção em R2 das primeiras duas componentes

dos pontos do conjunto

U =

[xy

]

: x ∈ R2, y ∈ R

4, A

[xy

]

= b, y ≥ 0,

onde A =

1 0 1 0 0 0−1 0 0 1 0 0

0 1 0 0 1 00 −1 0 0 0 1

e b =

2211

. Por outro lado, o ponto

(0, 0, 2, 2, 1, 1)T , embora sendo uma solução básica para U (de componentes nãonegativas) não só não é ponto extremo como a sua imagem, pela projecção con-siderada (ou seja, o ponto (0, 0)T ), também não é ponto extremo de T .

3Com efeito, se existem dois vectores

u =

[x1

y1

]

, v =

[x2

y2

]

∈ U

tais que π(u) = π(v) ⇔ x1 = x2 (*), então Ax1 = Ax2, donde (uma vez que y1 = b − Ax1 ey2 = b − Ax2) se pode concluir que y1 = y2 (**). Tendo em conta (*) e (**) vem que u = v.Por outro lado, se x ∈ T , então

[x

b − Ax

]

∈ U.

e a sua imagem por π é precisamente x.

Page 33: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

2.1 Relações entre pontos extremos e soluções básicas 29

T

Figura 2.5: Representação de T = (x, y) ∈ R2 : −2 ≤ x ≤ 2,−1 ≤ y ≤ 1.

Por exemplo, (−2, 1, 4, 0, 0, 2)T e (2,−1, 0, 4, 2, 0)T são pontos de U (aosquais correspondem soluções básicas) tais que

1

2(−2, 1, 4, 0, 0, 2)T +

1

2(2,−1, 0, 4, 2, 0)T = (0, 0, 2, 2, 1, 1)T .

Note-se que este exemplo não entra em contradição com o Teorema 2.1, tendoem conta que nele apenas se afirma a equivalência entre pontos extremos esoluções básicas definidas num conjunto S = x ∈ R

n : Ax = b, x ≥ 0.Considerando U tal como anteriormente e procedendo às mudanças de variávelx1 = x′1 − x′′1 e x2 = x′2 − x′′2 , com x′1, x

′′1 , x′2 , x′′2 ≥ 0, transformamos as

variáveis livres x1 e x2 em variáveis não negativas e o subconjunto U ⊂ R6 no

subconjunto de R8

V =

[x′

y

]

= (x′1, x′2, x

′′1 , x

′′2 , y1, y2, y3, y4)

T ∈ R8 : A′

[x′

y

]

= b,

[x′

y

]

≥ 0,

onde A′ =

1 −1 0 0 1 0 0 0−1 1 0 0 0 1 0 0

0 0 1 −1 0 0 1 00 0 −1 1 0 0 0 1

.

A partir da aplicação

g : R8 7→ R

6

x′1x′′1x′2x′′2y1y2y3y4

x′1 − x′′1

x′2 − x′′2

y1y2y3y4

,

verifica-se que g(V ) = U e que, por sua vez, π(g(V )) = π(U) = T . No en-tanto, g não é uma aplicação injectiva uma vez que, por exemplo, o ponto

Page 34: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

30 Pontos Extremos e Direcções Extremas

(0, 0, 2, 2, 1, 1)T ∈ U é imagem por g de qualquer dos pontos do subconjunto(α, α, β, β, 2, 2, 1, 1)T : α, β ∈ R ⊂ R

8. Se considerarmos, porém, apenas osubconjunto V ′ ⊂ V , definido por

[x′

y

]

∈ R8 : x′ =

x′1

x′2

x′′1

x′′2

∈ R

4, A′[x′

y

]

= b,

[x′

y

]

≥ 0, x′1x

′′1 = 0, x′

2x′′2 = 0,

g já constitui uma bijecção entre V ′ e U . Nestas condições, porém, embora setenha g(V ) = U e π(g(V )) = T , apesar do ponto z = (0, 0, 0, 0, 2, 2, 1, 1)T ∈ V ′

ser uma solução básica admissível para V e, consequentemente, de acordo como Teorema 2.1, um ponto extremo de V , nem g(z) = (0, 0, 2, 2, 1, 1) é um pontoextremo de U , nem π(g(z)) = (0, 0) é um ponto extremo de T . Deve notar-se,no entanto, que neste caso, V ′ não só não é um conjunto poliédrico, como nemsequer é um conjunto convexo.Por exemplo, ao conjunto poliédrico I = x ∈ R : 1 ≤ x ≤ 1 corresponde,biunivocamente, o subconjunto de R

2

W = (x′, x′′) ∈ R2 :

[1 −1−1 1

] [x′

x′′

]

[11

]

, x′x′′ = 0, x′, x′′ ≥ 0,

uma vez que h : R2 → R, definida por h(x′, x′′) = x′−x′′, constitui uma bijecção

entre W e I (como exercício, prove esta afirmação e determine a inversa de h).No entanto, h−1(I) = W não é um conjunto convexo.

x′

x′′

1

1

W

−1 1I

>

Figura 2.6: Bijecção entre um conjunto convexo e um conjunto não convexo.

Definição 2.5. Uma solução básica, x, do sistema de equações Ax = b, queapresenta pelo menos uma das suas componentes básicas com valor nulo desi-gna-se por solução básica degenerada (e, no caso de ser admissível, diz-se básicaadmissível degenerada ).

No exemplo da Figura 2.5, transformando o sistema de inequações no sistema

Page 35: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

2.1 Relações entre pontos extremos e soluções básicas 31

de equações de variáveis não negativas:

3 5 1 0 05 3 0 1 01 1 0 0 1

xyz1z2z3

=

404010

,

x, y, z1, z2, z3 ≥ 0,

verifica-se que ao ponto extremo (5, 5) estão associadas as soluções básicas de-generadas (x, y, z1) = (5, 5, 0), (x, y, z2) = (5, 5, 0) e (x, y, z3) = (5, 5, 0) às quaiscorrespondem as bases

B′ =

3 5 15 3 01 1 0

, B′′ =

3 5 05 3 11 1 0

, B′′′ =

3 5 05 3 01 1 1

.

Uma vez que os candidatos a pontos extremos de S são as soluções básicas dosistema de equações Ax = b, podemos concluir que qualquer ponto extremo deS tem pelo menos n−m componentes nulas e que o número de pontos extremosde S é não superior a

(nm

)= n!

m!(n−m)! .

Teorema 2.3. Se S 6= ∅ então S tem pelo menos um ponto extremo.

Demonstração. Seja x ∈ S e, sem perda de generalidade, suponha-se quex = (x1, . . . , xk, xk+1, . . . , xn)T , onde xi > 0 para i = 1, . . . , k e xj = 0, paraj = k + 1, . . . , n. Seja A = [a1 . . . akak+1 . . . an], onde a1, . . . , ak, ak+1, . . . , an deno-tam as colunas de A.Se a1, . . . , ak são vectores linearmente independentes, então k ≤ m e x é uma soluçãobásica admissível, pelo que (de acordo com o Teorema 2.2) é um ponto extremo.Suponha-se que existem k escalares, λ1, . . . , λk, com pelo menos um positivo, tais que∑k

j=1 λjaj = 0, ou seja, a1, . . . , ak são vectores linearmente dependentes (note-se que se

existem k escalares não positivos que satisfazem o sistema de equações∑k

j=1 λjaj = 0,multiplicando-os por −1 obtêm-se k escalares não negativos que satisfazem as mesmasequações). Fazendo-se α = min1≤j≤k

xj

λj: λj > 0 = xi

λie determinando-se x′ de tal

forma que as suas componentes venham determinadas por

x′j =

xj − αλj , para 1 ≤ j ≤ k,0, para j > k,

vem que x′j ≥ 0 para, j = 1, . . . , k, x′

j = 0 para j = k + 1, . . . , n e x′i = 0.

Nestas condições,

Ax′ =n∑

j=1

x′jaj =

k∑

j=1

(xj − αλj)aj =k∑

j=1

xjaj − αk∑

j=1

λjaj = b− 0 = b,

pelo que se obtém um novo ponto x′ com, no máximo k− 1 componentes estritamentepositivas. Uma vez que este processo se pode repetir até que às componentes estri-tamente positivas correspondam colunas de A linearmente independentes, conclui-se opretendido.

Page 36: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

32 Pontos Extremos e Direcções Extremas

2.2 Direcções extremas e representação de polie-

dros convexos

Teorema 2.4. Pode afirmar-se que d é uma direcção extrema de S sse (apósreordenação das componentes de d e, consequentemente, das colunas de A)

1. a matriz A admite uma decomposição do tipo A = [B,N ], onde B é umamatriz invertível,

2. existe pelo menos uma coluna aj tal que B−1aj ≤ 0,

3. d é um múltiplo escalar positivo de

[−B−1aj

ej−m

]

,

com ej−m denotando o (j −m)-ésimo vector da base canónica de Rn−m.

Demonstração.

(⇐) Se B−1aj ≤ 0, então d ≥ 0 e, além disso, Ad = 0, pelo que d é uma direcção deS.Vamos mostrar que se trata de uma direcção extrema.Sendo d = d′+d′′, com d′ e d′′ duas direcções de S, tem-se que n−m−1 compo-nentes, tanto de d′ como d′′, são iguais a zero (uma vez que as correspondentescomponentes de d são nulas). Nestas condições, tanto d′ como d′′ são da forma

d′ =

[d′Bdjej−m

]

e d′′ =

[d′′Bdjej−m

]

.

Dado que Ad′ = Ad′′ = 0, i.e., Ad′ = Bd′B + djaj = 0 e Ad′′ = Bd′′B + djaj = 0,vem que d′B = dj(−B

−1aj) e d′′B = dj(−B−1aj), ou seja, d′ e d′′ não são duas

direcções distintas. Logo d é uma direcção extrema.

(⇒) Reciprocamente, suponha-se que d é uma direcção extrema de S e, sem perdade generalidade, que

d =

d1

...dk

0...0dj

0...0

,

com di > 0, para i = 1, . . . , k e i = j.Suponha-se ainda que as k primeiras colunas de A, a1, . . . , ak, são linearmente

Page 37: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

2.2 Direcções extremas e representação de poliedros convexos 33

dependentes. Logo, existem k escalares, λ1, . . . , λk, não todos nulos, tais que∑k

i=1 λiai = 0. Seja

u =

λ1

...λk

...0...0

e escolha-se α > 0, suficientemente pequeno para que os vectores d′ = d+ αu ed′′ = d− αu tenham componentes não negativas. Note-se que

Ad′ = Ad+ αAu = 0 +k∑

i=1

λiai = 0 = 0 −k∑

i=1

λiai = Ad− αAu = Ad′′.

Assim, d′ e d′′ são duas direcções de S distintas de d e distintas entre si, uma vezque α > 0, u 6= 0 e a j-ésima componente, tanto de d′ como de d′′, são iguais àj-ésima componente de d 4. Adicionalmente, pode concluir-se que d = 1

2d′+ 1

2d′′,

o que contradiz a suposição de d ser uma direcção extrema. Consequentemente,a1, . . . , ak são colunas de A linearmente independentes e, uma vez que a carac-terística de A é m, tem-se que k ≤ m. Nestas condições, acrescentando as m−kcolunas de A que, conjuntamente com a1, . . . , ak, formam uma base para R

m

e, consequentemente, constituem uma matriz invertível B, fazendo A = [B,N ],vem que

Ad = BdB + djaj = 0 ⇔ dB = djB−1aj ,

pelo que

d = dj

[−B−1aj

ej−m

]

.

Como corolário, imediato, deste teorema pode afirmar-se que o número dedirecções extremas de S é não superior a (n−m)

(nm

), onde n−m corresponde

ao número de possibilidades de escolha de aj e(

nm

)corresponde ao número de

partições possíveis de A na forma [B,N ].Segue-se um teorema que desempenha um papel crucial em Optimização Linear.

Teorema 2.5 (da representação de poliedros convexos ). Dado um ponto x ∈R

n, x ∈ S sse x admite uma representação do tipo

x =

p∑

j=1

αjxj +

q∑

i=1

βidi,

4Com efeito, d′ = τd′′ com τ > 0, é equivalente a d + αu = τ(d − αu) ⇔ (1 + τ)αu =(τ − 1)d ⇒ (τ − 1)dj = 0 (uma vez que a j-ésima componente de u é nula). Por outro lado,dado que (por hipótese) dj > 0, conclui-se que τ = 1. Logo, 2αu = 0, o que é absurdo, tendoem conta que α > 0 e u 6= 0.

Page 38: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

34 Pontos Extremos e Direcções Extremas

com∑p

j=1 αj = 1, αj ≥ 0, para j = 1, . . . , p, e βi ≥ 0, para i = 1, . . . , q, onde

os xjs são pontos extremos de S e os dis são direcções extremas de S (se taisdirecções existem).

Demonstração. Uma vez que qualquer ponto x que admita uma representação dotipo da indicada no teorema é um ponto de S (porquê?), resta-nos provar que qualquerponto de S admite uma representação deste tipo.Suponha-se que ∃x ∈ S tal que x não se pode representar pela adição de uma combina-ção linear convexa de pontos extremos de S com uma combinação linear não negativadas suas direcções extremas, i.e., tal que x 6∈ X, onde

X =

p∑

j=1

αjxj +

q∑

i=1

βidi :

p∑

j=1

αj = 1, αj ≥ 0, j = 1, . . . , p, βi ≥ 0, i = 1, . . . , q.

Dado que S 6= ∅, podemos concluir que S tem pelo menos um ponto extremo e,consequentemente, que X 6= ∅. Adicionalmente, fazendo

C =

[x1 . . . xp d1 . . . dq

1 . . . 1 0 . . . 0

]

e u = (α1, . . . , αp, β1, . . . , βq)T

dizer que x 6∈ X, equivale a afirmar que não existe u ≥ 0 tal que Cu =

[x1

]

. Logo,

aplicando o Lema de Farkas

[cδ

]

∈ Rn+1 \ 0 tal que [cT , δ]C ≤ 0 e [cT , δ]

[x1

]

> 0,

o que equivale a afirmar que

1. cTxj + δ ≤ 0 ∀j ∈ 1, . . . , p,

2. cT di ≤ 0 ∀i ∈ 1, . . . , q

3. e cTx+ δ > 0.

Sendo xk um ponto extremo de X, tal que cTxk = maxcTxj , j = 1, . . . , p, etendo em conta 1. e 3., conclui-se que

4. cTx > cTxk.

Uma vez que xk é um ponto extremo de S, pelo Teorema 2.2, xk é uma solução básicapara S, ou seja, pode representar-se na forma

xk =

[B−1b

0

]

,

onde B é uma submatriz de A invertível que, sem perda de generalidade, se supõe talque B−1b > 0. Dado que x ∈ S, tem-se que Ax = b e x ≥ 0, pelo que, decompondo x

em

[xB

xN

]

, se obtém

b = Ax = BxB +NxN ⇒ xB = B−1b−B−1NxN .

Por sua vez, decompondo cT em [cB , cN ], vem

cTx = cBxB + cNxN = cBB−1b+ (cN − cBB

−1N)xN = cTxk + (cN − cBB−1N)xN

Page 39: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

2.2 Direcções extremas e representação de poliedros convexos 35

(uma vez que cTxk = cBB−1b). Logo, de 4. decorre que

cTxk + (cN − cBB−1N)xN > cTxk ⇔ (cN − cBB

−1N)xN > 0.

Desta última inequação, e uma vez que cada componente de xN é não negativa, decorreque existe pelo menos uma componente de xN , xr, tal que xr > 0 e cr − cBB−1ar > 0.Nestas condições, B−1ar tem pelo menos uma componente positiva, caso contrárioB−1ar ≤ 0 e, consequentemente,

d =

[−B−1ar

er−m

]

,

com er−m identificando o (r −m)-ésimo vector da base canónica de Rn−m, seria uma

direcção extrema de S tal que cT d = −cBB−1ar + cr > 0, o que contradiz 2. Fazendo

x′ = xk + τd, com

τ = min1≤i≤m

(B1b)i

(B−1ar)i

: (B1ar)i > 0

=(B−1b)s

(B−1ar)s

,

obtém-se x′ ≥ 0 tal que

Ax′ = Axk + τAd = b+ 0 = b

e ainda que x′ tem no máximo m componentes positivas (dado que x′s = 0). Consi-

derando a submatriz de A, B′, obtida de B pela substituição de as por ar (note-seque, dado que (B−1ar)s 6= 0, B′ continua invertível 5) conclui-se que x′ é uma soluçãobásica para S e, consequentemente, um ponto extremo, tal que

cTx′ = cTxk + τcTd,

com τ > 0 e cT d > 0. Logo,cTx′ > cTxk,

o que é absurdo.Como consequência, do Teorema 2.5, vamos terminar este capítulo, sobre

pontos extremos e direcções extremas de conjuntos convexos, com um resultado(cuja prova é proposta no Exercício 2.4) que nos garante a existência de umponto extremo óptimo em problemas de optimização de uma funcional linearnum poliedro convexo, com valor óptimo finito.

Teorema 2.6. Seja f uma funcional linear, f : Rn 7→ R. Se ∃z∗ ∈ R tal que

z∗ = maxf(x) : x ∈ S,

então o valor z∗ é atingido num ponto extremo de S.

5Com efeito, suponha-se que ar é combinação linear das colunas a1, . . . , as−1, as+1, . . . , am.Então existe um m-uplo de escalares não todo nulos uT = (α1, . . . , αm), tais que ar =∑m

i=1 αiai com αs = 0. Logo, de ar = Bu vem que u = B−1ar , com (B−1ar)s = 0, o quecontraria a hipótese.

Page 40: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

36 Pontos Extremos e Direcções Extremas

2.3 Exercícios

Exercício 2.1. Sendo S = x ∈ Rn : Ax = b, x ≥ 0, com n > m, A ∈

Rm×n \ 0 e b ∈ R

m prove cada uma das seguintes afirmações:

1. S é um conjunto convexo.

2. Se r(A) = m, então r(A) = r([A, b]) 6.

3. Se r(A) 6= r([A, b]), então S = ∅.

4. Se b = 0 e S 6= 0, então qualquer ponto de S é uma direcção de S (ouseja, S é um cone).

5. O número de soluções básicas admissíveis de S é não superior a(

nm

)=

n!m!(n−m)! .

6. O número de direcções extremas de S é não superior a (n − m)(

nm

)=

(n−m) n!m!(n−m)! .

Exercício 2.2. Considere a região poliédrica S = x ∈ R5 : Ax = b, x ≥ 0,

onde

A =

−5 1 1 0 0−3 2 0 1 0

1 −4 0 0 1

e b =

5122

,

e responda às seguintes questões:

1. Faça o esboço da região de R2 que corresponde à região S.

2. Determine duas soluções básicas para S e indique, na figura da alíneaanterior, os vértices a que correspondem.

3. Determine as duas direcções extremas de S.

Exercício 2.3. Supondo que X é um politopo cujos pontos extremos são

x1 =

[10

]

, x2 =

[13

]

, x3 =

[43

]

e x4 =

[40

]

,

com recurso ao teorema da representação, verifique se

x =

[7454

]

∈ X.

Exercício 2.4. Faça a prova do Teorema 2.6.

Exercício 2.5. Dada uma matriz invertível B = [b1, . . . , bm] ∈ Rm×m e um vec-

tor u ∈ Rm tal que (B−1u)i 6= 0, prove que a matriz B obtida de B substituindo

a i-ésima coluna por u, continua invertível.

6r(B) denota a característica da matriz B.

Page 41: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

2.3 Exercícios 37

Exercício 2.6. Considerando o politopo X do Exercício 2.3, determine:

1. max2x1 + x2 :

[x1

x2

]

∈ X.

2. min2x1 + x2 :

[x1

x2

]

∈ X.

(Sugestão: utilize o Teorema 2.6).

Exercício 2.7. Considere a região poliédrica T = x ∈ R : −1 ≤ x ≤ 1, aqual (introduzindo variáveis de desvio) se pode definir pela região:

U = (x1, x2, x3) ∈ R3 :

[1 1 0−1 0 1

]

x1

x2

x3

=

[11

]

, x2, x3 ≥ 0.

1. Prove que ao ponto 0 ∈ T corresponde uma solução básica para U .

2. Verifique se a solução básica (0, 1, 1) ∈ U é um ponto extremo e ana-lise a existência ou não de uma contradição entre a conclusão obtida e oenunciado do Teorema 2.2.

Exercício 2.8. Sendo S um subconjunto convexo fechado de Rn, prove que

∀x∗ ∈ fr(S) ∃c ∈ Rn \ 0

tal que cTx∗ = maxcTx : x ∈ S.

Exercício 2.9. Sejam U e V dois subconjuntos convexos de Rn tais que W =

U − V e seja c ∈ Rn \ 0. Suponha ainda que z∗ = mincTx : x ∈W > 0.

1. Prove que W é um conjunto convexo.

2. Prove que existe um hiperplano que separa estritamente U e V .

Page 42: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:
Page 43: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

Capítulo 3

Modelos de ProgramaçãoLinear

Muitos problemas de grande interesse prático podem ser formulados como pro-gramas lineares. Existem modelos de Programação Linear em áreas como a dostransportes aéreos (gestão de frotas, sequenciamento de tripulações, controlo dereservas, planeamento de tráfego em aeroportos), transportes terrestres (“rou-ting”, localização de armazéns e/ou depósitos, sequenciamento e afectação deveículos), financeira (selecção e optimização de investimentos, gestão de “cash”,seguros), processos industriais (refinação de produtos, logística, optimização demisturas), gestão da produção (planeamento da produção, gestão de stocks,sequenciamento de tarefas), gestão e planeamento da produção agropecuária,definição de redes de transporte (de distribuição de energia eléctrica, de abaste-cimento de água, de gás natural), gestão de “staff” (sequenciamento de equipasmédicas e/ou de apoio hospitalar), definição de “layout”, avaliação da exposiçãoà radiação, entre muitas outras.A arte da modelação matemática de problemas reais, requer não só uma ade-quada preparação matemática, como também um grande espírito de observaçãoe elevada experiência. Questões como “O que é o problema”, “Quais os dadosrelevantes?”, “Como se relacionam?”, “Quais as decisões em jogo?” estão fre-quentemente associadas à modelação de situações complexas perante as quaisé necessário tomar decisões. De acordo com os procedimentos usuais da Inves-tigação Operacional (actividade científica dedicada à resolução de problemasrelacionados com a tomada ou o apoio à tomada de decisões) um processo detomada de decisão envolve, geralmente, os seguintes passos:

1. Observação da situação associada à decisão a tomar;

2. Reconhecimento e definição do problema;

3. Modelação conceptual e formulação matemática do problema;

4. Determinação de uma solução para o problema matemático obtido;

Page 44: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

40 Modelos de Programação Linear

5. Tomada de decisão com base na solução encontrada;

6. Implementação da decisão e avaliação dos resultados.

3.1 Exemplos de programas lineares

Neste capítulo vamos procurar, recorrendo a vários exemplos, ilustrar unica-mente a passagem do passo 2 (reconhecimento e definição do problema) para opasso 4 (modelação conceptual e formulação matemática do problema) centran-do-nos nas múltiplas situações que podem ser resolvidas recorrendo a modelosde Programação Linear. Seguem-se alguns exemplos de modelos de problemasProgramação Linear.

Exemplo 3.1 (problema da dieta óptima ). Um nutricionista pretende pôrem prática um tipo de alimentação que satisfaça certas exigências em termosdos nutrientes que pode fornecer, como sejam, proteínas, cálcio e vitaminas,com o menor custo possível. Assim, suponha que são necessárias b1 unidades denutrientes do tipo N1, b2 unidades de nutrientes do tipo N2, . . . , e bm unidadesde nutrientes do tipo Nm. Suponha ainda que estão disponíveis n tipos diferentesde alimentos e que aij, para i = 1, . . . ,m e j = 1, . . . , n, corresponde ao númerode unidades de nutriente do tipo Ni contidos em cada unidade de alimento dotipo j. Sendo x1, x2, . . . , xn, respectivamente, a quantidade de alimento do tipo1, . . . , n e c1, . . . , cn os respectivos custos unitários de cada um dos tipos dealimento em causa, com a formulação que a seguir se indica

min f(x) =∑n

j=1 cjxj

sujeito a∑n

i=1 aijxj ≥ bi, para i = 1, . . . ,mxj ≥ 0, para j = 1, . . . , n,

determina-se o (ou os) n-uplo(s) de números reais (x1, x2, . . . , xn) que, de entreos que satisfazem as restrições indicadas, minimiza (ou minimizam) a funçãof(x).

Exemplo 3.2 (problema de transportes ). Uma dada companhia necessita abas-tecer n fábricas com um determinado produto, a partir de m armazéns. Supo-nha que, relativamente ao produto em causa, existem bi unidades no i-ésimoarmazém (com i ∈ 1, . . . ,m) e que a j-ésima fábrica pretende adquirir a aj

unidades (com j ∈ 1, . . . , n). Supondo ainda que a quantidade disponível, natotalidade dos armazéns, é igual à totalidade da quantidade pretendida pelasdiferentes fábricas, ou seja,

m∑

i=1

bi =

n∑

j=1

aj

e que o custo do transporte de uma unidade de produto do armazém i para afábrica j é de cij (para i = 1, . . . ,m e j = 1, . . . , n), o problema em questãoresume-se à determinação das quantidades de produto a transportar entre cadaum dos armazéns e cada uma das fábricas de modo a que este transporte se faça

Page 45: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

3.1 Exemplos de programas lineares 41

com o menor custo possível. Assim, sendo xij o número de unidades de produtoa transportar entre o i-ésimo armazém e a j-ésima fábrica, o problema podeformular-se do seguinte modo:

min∑m

i=1

∑n

j=1 cijxij

sujeito a∑n

j=1 xij = bi, para i = 1, . . . ,m∑m

i=1 xij = aj , para j = 1, . . . , nxij ≥ 0, para i = 1, . . . ,m e j = 1, . . . , n.

Exemplo 3.3 (problema de optimização da produção ). Suponha que uma dadafábrica é capaz de produzir n produtos distintos utilizando m recursos limitados,os quais podem ser horas de trabalho ou tempos de operação de várias máquinaspor semana, matérias primas, etc. Sendo cj o lucro obtido por cada unidadedo j-ésimo produto, bi a quantidade de recurso i disponível e aij a quantidadede recurso i utilizada por unidade de produto j, a determinação do leque deprodutos a produzir, bem como as suas diferentes quantidades com o máximolucro, obtém-se resolvendo o problema:

max∑n

j=1 cjxj

sujeito a∑n

i=1 aijxj ≤ bi, para i = 1, . . . ,mxj ≥ 0, para j = 1, . . . , n.

Exemplo 3.4 (problema de gestão de “staff” ). Considere que num dado hos-pital existem 6 turnos diários em cada um dos quais o número mínimo de en-fermeiras necessárias para assegurar o serviço é o indicado no quadro a seguir.

Turno 1 2 3 4 5 6Período 0-4h 4-8h 8-12h 12-16h 16-20h 20-24hNúmero 8 10 12 10 8 6

Supondo que as enfermeiras têm 8 horas diárias de trabalho (seguidas) e queiniciam sempre o seu trabalho no princípio de um turno, pretende-se determinaro menor número de enfermeiras de modo a que sejam garantidos os númerosmínimos indicados no quadro. Assim, sendo xj (para j = 1, . . . , 6) o número deenfermeiras que começam a trabalhar no j-ésimo turno, o problema em questãocorresponde ao seguinte programa linear:

min x1 + x2 + x3 + x4 + x5 + x6

sujeito a x1 + x6 ≥ 8x1 + x2 ≥ 10

x2 + x3 ≥ 12x3 + x4 ≥ 10

x4 + x5 ≥ 8x5 + x6 ≥ 6

x1, x2, x3 x4, x5, x6 ≥ 0.

Page 46: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

42 Modelos de Programação Linear

Embora, em rigor, se devesse também impor que as variáveis x1, x2, x3, x4, x5

e x6 fossem inteiras, neste caso, esta condição pode ser relaxada, uma vez que oproblema indicado dá uma solução óptima inteira. Com efeito, x∗1 = 8, x∗2 = 4,x∗3 = 8, x∗4 = 2, x∗5 = 6 e x∗6 = 0 constitui uma solução óptima.

Exemplo 3.5 (problema de inventário ). Num dado período t, seja xt a pro-dução (número de artigos produzidos) de uma dada fábrica, seja It o inventário(número de artigos em “stock”) e pt a procura (número de artigos pretendidospelo mercado). Então, a relação geral entre estas variáveis para os diferentesperíodos vem dada por:

xt + It−1 = pt + It, para t = 1, . . . , T.

Suponha que, para t =1, 2 e 3, os custos unitários de produção são 15 euros, 30euros e 40 euros, respectivamente, e que os custos unitários de armazenamentosão de 10 euro por período. Supondo ainda que a procura nestes três períodos éde 10 000 artigos no 1 período, 20 000 no 2 e 25 000 no 3, com o objectivo deminimizar os custos globais de modo a satisfazer a procura, dever-se-à resolvero seguinte programa linear:

min 15x1 + 30x2 + 40x3 + 10I1 + 10I2 + 10I3sujeito a x1 − I1 = 10 000

x2 + I1 − I2 = 20 000x3 + I2 − I3 = 25 000

x1, x2, x3, I1, I2, I3 ≥ 0.

3.2 Formas padrão e canónica de programas li-

neares

Tipicamente, os problemas de programação linear apresentam-se na forma pa-drão ou na forma canónica e quando tal não acontece é possível transforma-losde modo tomarem uma destas formas.

Definição 3.1. Dada uma matriz A = [aij ]i=1,...,m j=1,...,n (com m linhas en colunas), um m-uplo de reais bt = [b1, . . . , bm] e um n-uplo de reais cT =[c1, . . . , cn], designa-se por programa linear de minimização (maximização) naforma padrão (ou standard), e denota-se por PL(A, b, c) de minimização (ma-ximização) na forma padrão, o problema de determinação de um n-uplo dereais xT = [x1, . . . , xn] que minimiza (maximiza) a função objectivo f(x) =c1x1 + c2x2 + . . .+ cnxn, no conjunto de pontos de R

n que satisfazem as restri-ções:

a11x1 + a12x2 + . . . + a1nxn = b1,a21x1 + a22x2 + . . . + a2nxn = b2,

......

......

......

......

...am1x1 + am2x2 + . . . + amnxn = bm,

e xj ≥ 0, para j = 1, 2, . . . , n.

Page 47: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

3.2 Formas padrão e canónica de programas lineares 43

Numa forma mais condensada, este problema corresponde a determinar o

argumento do min(max) cTxsujeito a Ax = b

x ≥ 0.

Definição 3.2. Dada a matriz A = [aij ]i=1,...,m j=1,...,n (com m linhas e ncolunas), um m-uplo de reais bT = [b1, . . . , bm] e um n-uplo de reais cT =[c1, . . . , cn], designa-se por programa linear de minimização (maximização) naforma canónica, e denota-se por PL(A, b, c) de minimização (maximização)na forma canónica, o problema de determinação de um n-uplo de reais xT =[x1, . . . , xn] que minimiza (maximiza) a função objectivo f(x) = c1x1 + c2x2 +. . .+ cnxn, no conjunto de pontos de R

n que satisfazem as restrições:

a11x1 + a12x2 + . . .+ a1nxn ≥ b1 (a11x1 + a12x2 + . . .+ a1nxn ≤ b1),a21x1 + a22x2 + . . .+ a2nxn ≥ b2 (a21x1 + a22x2 + . . .+ a2nxn ≤ b2),

......

am1x1 + am2x2 + . . .+ amnxn ≥ bm (am1x1 + am2x2 + . . .+ amnxn ≤ bm),

e xj ≥ 0, para j = 1, 2, . . . , n.

Numa forma mais condensada, o programa linear PL(A, b, c) na forma ca-nónica corresponde, respectivamente, a determinar o

argumento do min cTx argumento do max cTxsujeito a Ax ≥ b sujeito a Ax ≤ b

x ≥ 0 x ≥ 0.

Em ambas as definições as entradas da matriz A (coeficientes aij ) designam-sepor coeficientes tecnológicos .

De acordo com a definição anterior, num programa linear (ou problema deprogramação linear) há que destacar as variáveis de decisão, denotadas porx1, . . . , xn, a função objectivo denotada por cTx (ou f(x) = c1x1 + c2x2 +. . .+ cnxn), as restrições que, embora se possam (conforme definição 3.1) apre-sentar a forma de equações, na definição 3.2 (que se refere unicamente à formacanónica) são constituídas por inequações do tipo “≤” ou “≥” e as condições denão negatividade das variáveis.

Embora, de acordo com a Definição 3.2, a nossa intenção seja a determina-ção do argumento da função objectivo que a optimiza na região definida pelasrestrições, usualmente, a especificação de um problema de programação linear(optimização linear), na forma canónica ou padrão, faz-se, sinteticamente, a-doptando uma das formulações a seguir indicadas.

Page 48: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

44 Modelos de Programação Linear

(maximização) (minimização)

(forma padrão)max cTxs. a. Ax = b

x ≥ 0

min cTxs. a. Ax = b

x ≥ 0

(forma canónica)max cTxs. a. Ax ≤ b

x ≥ 0

max cTxs. a. Ax ≥ b

x ≥ 0

Qualquer n-uplo de reais que satisfaça o conjunto de restrições de PL(A, b, c)diz-se uma solução admissível e o conjunto de todas as soluções admissíveisdesigna-se por conjunto ou região admissível. Por outro lado, x∗ diz-se umasolução óptima para o PL(A, b, c) de minimização (maximização) se

cTx∗ = min (max) cTx : x é solução admissível para PL(A, b, c).

Note-se ainda que o facto de estarmos a considerar um problema de maximizaçãoou minimização é irrelevante uma vez que, relativamente à solução ou conjuntode soluções óptimas a determinar, o problema de minimização mincTx : x ∈R

n, Ax = b e x ≥ 0 é equivalente ao problema de maximização PL(A, b,−c).Com efeito, se x∗ é admissível para PL(A, b, c) e é tal que −cTx∗ ≥ −cTxpara todo o x admissível para PL(A, b,−c), então cTx∗ ≤ cTx para todo o xadmissível para o PL(A, b, c). As duas formas (canónica ou padrão) em que umprograma linear é apresentado são completamente equivalentes, uma vez que épossível passar de uma para outra sem que o conjunto de soluções se altere.Com efeito, a partir de uma restrição do tipo

n∑

j=1

aijxj ≤ bi ⇔ bi −n∑

j=1

aijxj ≥ 0⇔ xn+i = bi −n∑

j=1

aijxj , com xn+i ≥ 0,

acrescentando-se a variável de desvio (ou folga ) xn+i, obtém-se a restrição deigualdade

n∑

j=1

aijxj + xn+1 = bi, com xn+i ≥ 0.

De modo a que se faça a distinção entre as variáveis originais (x1, . . . , xn) e asvariáveis de desvio (ou folga) as primeiras designamŋse por variáveis de decisão.

Deve observar-se ainda que à variável de desvio pode, em geral, dar-se umacerta interpretação económica ou física , consoante o problema. Com efeito, se noExemplo 3.3 passarmos o problema para a forma padrão, o valor que a variávelde desvio xn+i toma, para uma dada solução admissível corrente, correspondeà quantidade de i-ésimo recurso que não é utilizada na referida solução.

Page 49: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

3.3 Resolução gráfica de programas lineares com duas variáveis 45

No caso de se ter uma restrição de igualdade, esta é facilmente convertidaem duas restrições de desigualdade, uma vez que

n∑

j=1

aijxj = bi ⇔

ai1x1 + . . .+ ainxn ≤ biai1x1 + . . .+ ainxn ≥ bi

ai1x1 + . . .+ ainxn ≤ bi−ai1x1 − . . .− ainxn ≤ −bi

Por outro lado, qualquer variável livre, i.e., qualquer variável não restringida (aosreais não negativos), xj , pode converter-se num par de variáveis não negativas,x′j ≥ 0 e x′′j ≥ 0, escrevendo-se xj = x′j − x

′′j . Deste modo, dado um sistema de

equações Ax = b, em que as variáveis são não restringidas, fazendo x = x′ − x′′

com x′ ≥ 0, x′′ ≥ 0, obtém-se o sistema com variáveis restringidas:

A(x′ − x′′) = b⇔ Ax′ −Ax′′ = b⇔ [A,−A]

[x′

x′′

]

= b,

ou seja, Ay = b com A = [A,−A] e y =

[x′

x′′

]

≥ 0.

3.3 Resolução gráfica de programas lineares com

duas variáveis

Os problemas de programação linear com duas variáveis podem resolver-se gra-ficamente, uma vez que, neste caso, a função objectivo define uma recta quepode ser deslocada no sentido do seu gradiente, até se tornar tangente à regiãoadmissível. Os pontos de tangência obtidos (um, nenhum, ou uma infinidade)correspondem aos pontos da região admissível que optimizam a função objectivo.

Os dois exemplos que a seguir se indicam, onde, por intermédio das respec-tivas representações gráficas, no primeiro se determina a solução óptima e nosegundo se conclui a ausência de óptimo finito, ilustram o modo de actuar nestescasos.

Exemplo 3.6.max x1 + x2

s. a. −x1 + x2 ≤ 1x1 − 2x2 ≤ 2x2 ≤ 2x1, x2 ≥ 0

Deve observar-se que, após a introdução das variáveis de desvio, a regiãoadmissível fica definida pelo conjunto

x1

x2

x3

x4

x5

∈ R5 :

−1 1 1 0 01 −2 0 1 00 1 0 0 1

x1

x2

x3

x4

x5

=

122

, x1, x2, x3, x4, x5 ≥ 0

Page 50: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

46 Modelos de Programação Linear

x 2

x 1 -2x

2 =2

(1,2)

(6,2)

-x 1 +x

2 =1

1

2

3

4 5 6 3

-1

1 2

c

c

c

c

c

c

Figura 3.1: Aplicação do método gráfico a um problema com óptimo finito.

e, por exemplo, os pontos (1, 2) e (6, 2) correspondem, respectivamente, aospontos (1, 2, 0, 5, 0)T e (6, 2, 5, 0, 0)T .

Exemplo 3.7.max 2x1 + x2

s. a. −x1 + x2 ≤ 1x1 − 2x2 ≤ 2x1, x2 ≥ 0

x 1

x 2

x 1 -2x

2 =2

1

2

3

4 5 6 3

-1

1 2

c

c

(2,0)

Figura 3.2: Aplicação do método gráfico a um problema sem óptimo finito.

Neste caso, transformando o problema na forma padrão, obtém-se

max2x1 + x2 :

[−1 1 1 01 −2 0 1

]

x1

x2

x3

x4

=

[12

]

, x1, x2, x3, x4 ≥ 0

Page 51: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

3.3 Resolução gráfica de programas lineares com duas variáveis 47

e, a partir da base associada ao ponto (2, 0) que, após reordenação das variáveis,

corresponde ao ponto

x1

x2

x3

x4

=

2300

e tendo em conta que a base correspon-

dente é B =

[−1 11 0

]

, obtêm-se as direcções linearmente independentes do

subespaço nula da matriz de decisão

d′ =

d′Bd′3d′4

=

−B−1a2

10

e d′′ =

d′′Bd′′3d′′4

=

−B−1a4

01

.

Tendo em conta que B−1 =

[0 11 1

]

, a2 =

[1−2

]

e a4 =

[01

]

, vem que d′ =

2110

e d′′ =

−1−101

. Logo, podemos concluir que d′ constitui uma direcção

extrema para a região admissível do problema em causa par a a qual, tendo emconta que o gradiente da função objectivo é cT = [cB, cN ] = [2, 0, 1, 0], se verificaque cTd′ = 5 > 0. Consequentemente, d′ é uma direcção extrema responsávelpela inexistência de óptimo finito (tal como se observa graficamente).

Page 52: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

48 Modelos de Programação Linear

3.4 Exercícios

Exercício 3.1. Considere uma fábrica em que para a produção de camisas,calças e casacos são executadas operações de corte, costura e empacotamento.Considere ainda que os tempos semanais disponíveis (em minutos) para as dife-rentes operações, os tempos requeridos por cada um dos produtos e os respectivoslucros unitários correspondem aos valores apresentados no quadro a seguir.

Tempos (min.)/unidade produzida

camisascalçascasacos

tempos disp.

corte costura empacotar.1 4 12 5 11 10 2

9 000 38 000 6 000

lucros unitários3 euros7 euros8 euros

Apresente uma formulação de Programação Linear, sabendo que se pretendedeterminar a produção semanal que maximiza o lucro.

Exercício 3.2. Numa unidade agro-pecuária criam-se galinhas com rações ob-tidas à custa da mistura de milho, lima e alfalfa de modo a satisfazer os valoresmínimos diários em proteínas, hidrocarbonatos e vitaminas que se indicam noquadro a seguir. Nesse quadro, são também indicados os valores dos nutrientesfornecidos por cada unidade das substâncias que compõem a ração bem como osrespectivos custos.

Ingredientes ValoresNutrientesProteínas

HidrocarbonetosVitaminas

Custos/Unitários

Milho Lima Alfalfa2 4 44 2 42 3 410 6 7

Mínimos Diários1065

Sabendo que se pretende determinar a mistura de custo mínimo, apresente umaformulação de Programação Linear para este problema.

Exercício 3.3. Considere que uma dada fábrica de brinquedos pretende lançarno mercado uma boneca, um carro e um “puzzle”, com produções que envolvem autilização de 3 tipos de máquinas (A, B e C) de tal forma que, no caso da boneca,existem duas linhas de fabrico alternativas (L1 e L2) as quais não utilizam osmesmos tipos de máquinas. Considere ainda que os tempos consumidos por cadaartigo, nas diferentes máquinas e (para a boneca) segundo as diferentes linhasde produção, o número diário de horas disponíveis por tipo de máquina e oslucros unitários obtidos são os que se indicam.

Page 53: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

3.4 Exercícios 49

Artigos n de horas

Maq. AMaq. BMaq. C

Lucros Unitários

boneca(L1) boneca(L2) carro “puzzle”2 h. 0 h. 2 h. 4 h.0 h. 4 h. 5 h. 2 h.6 h. 4 h. 3 h. 6 h.4 4 3 8

disponíveis100 h.200 h.250 h.

Apresente uma formulação de Programação Linear, sabendo que se pretendedeterminar a produção diária (n de bonecas segundo cada uma das linhas deprodução, n de carros e n de “puzzles”) de maior lucro.

Exercício 3.4. Suponha que uma dada empresa produz dois tipos de artigosA e B, os quais, na sua fabricação, ocupam necessariamente as máquinas I eII. Suponha ainda que os tempos disponíveis para a produção nestas máquinas,bem como os tempos necessários (em cada máquina) para a produção de umaunidade dos diferentes artigos são os indicados na tabela a seguir.

Artigo A Artigo B N de Horas DisponíveisMáquina I 2 h. 4 h. 720 h.Maquina II 4 h. 4 h. 880 h.

Sabendo ainda que os lucros unitários para os artigos A e B são, respectiva-mente, 600$00 e 300$00, determine a produção (n de artigos do tipo A e n deartigos do tipo B) que maximiza o lucro total.

Exercício 3.5. Considere cada um dos problemas de Programação Linear aseguir indicados

max 2x1 + 5x2 min 2x1 + 2x2

s. a. 2x1 + 3x2 ≤ 6 s. a. −2x1 + x2 ≥ 1x1 + x2 ≥ 4 x1 − 2x2 ≥ 1x1, x2 ≥ 0 x1, x2 ≥ 0

e resolva-os por aplicação do método gráfico.

Page 54: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:
Page 55: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

Capítulo 4

Estudo e Fundamentação doMétodo Simplex

Apesar de, a partir da década de 80 se terem desenvolvido diferentes métodospara Programação Linear, baseados em técnicas de pontos interiores, o métodosimplex é, ainda hoje, o método mais popular para este tipo de problemas. O mé-todo simplex foi desenvolvido no princípio da década de 50 por George Dantzige consiste, basicamente, numa pesquisa sistemática das soluções básicas admis-síveis. Com ele, a partir de uma solução básica admissível inicial, gera-se umasequência de soluções básicas admissíveis, escolhendo-se, em cada passo, uma deentre as soluções básicas admissíveis que correspondem aos vértices adjacentes(ligados por uma aresta) ao vértice corrente, de modo que o correspondente valorda função objectivo seja "melhorado" (maior se o problema é de maximizaçãoou menor no caso contrário). Quando, a partir da solução básica admissível cor-rente, não existe uma solução básica adjacente para a qual a função objectivoapresente um valor “melhorado”, pode concluir-se que a solução corrente é umasolução óptima para o problema em causa.

Uma vez que o número de soluções básicas de qualquer Programa Linear éfinito, por aplicação do método simplex, ao fim de um número finito de passos, ouse determina uma solução básica óptima, ou se conclui que o problema não temóptimo finito. Por outro lado, embora o método simplex apenas pesquise soluçõesbásicas admissíveis (vértices) com vista à determinação da “melhor” delas, oTeorema 2.6 garante-nos a suficiência desta pesquisa, com vista à determinaçãode uma solução óptima para um Programa Linear.

A partir de agora vamos considerar o programa linear PL(A, b, c) na formapadrão, que consiste na determinação do

mincTx : x ∈ S (4.1)

com S = x ∈ Rn : Ax = b, x ≥ 0, onde se supõe que a matriz A ∈ R

m×n

tem característica m (i.e., igual ao número de linhas). Vamos modificar (4.1),exprimindo um ponto genérico de S como sendo a adição de um ponto particular

Page 56: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

52 Estudo e Fundamentação do Método Simplex

com uma combinação linear não negativa de certas direcções do espaço nulo damatriz A.

Se x0 é um ponto arbitrário de S, i.e., uma solução arbitrária admissívelpara o PL(A, b, c) de minimização na forma padrão, e se d1, d2, . . . , dp, são pvectores linearmente independentes que geram o subespaço nulo da matriz A,Ker(A), então x ∈ S sse ∃λ1, λ2, . . . , λp ∈ R tais que

x = x0 +

p∑

j=1

λjdj ≥ 0.

Com efeito, se x ∈ S, então x ≥ 0 e, dado que x = x0 + (x − x0), vem quex = x0 + d, com d = x − x0. Logo Ad = A(x − x0) = 0, ou seja, d pertenceao subespaço nulo de A e, consequentemente, ∃λ1, λ2, ..., λp ∈ R tais que d =∑p

j=1 λjdj . Reciprocamente, supondo x = x0 +

∑p

j=1 λjdj ≥ 0, então Ax =

Ax0 +∑p

j=1 λjAdj = b + 0 = b e, consequentemente, x ∈ S. Nestas condições,

o programa PL(A, b, c) pode escrever-se na forma:

mincT (x0 +

p∑

j=1

λjdj) :

p∑

j=1

λjdj ≥ 0,

ou seja,

min cTx0 +∑p

j=1 λjcTdj ,

s. a. x0 +∑p

j=1 λjdj ≥ 0.

Supondo, sem perda de generalidade, que x0 corresponde à solução básica admis-

sível, x0 =

[x0

B

x0N

]

, com x0B > 0 e x0

N = 0, vem que

Ax0 = b⇔ [B,N ]

[x0

B

x0N

]

= b⇔ Bx0B +Nx0

N = b⇔ Bx0B +N0 = b,

e, consequentemente, que x0B = B−1b.

Adicionalmente, identificando por aj a j-ésima coluna de A, e fazendo

dj−m =

[−B−1aj

ej−m

]

, para j = m+ 1, . . . , n,

onde ej−m corresponde ao (j − m)-ésimo vector da base canónica de Rn−m,

obtêm-se n−m vectores dj−m, para j = m+1, . . . , n, que constituem uma basepara o espaço nulo da matriz A. Com efeito, a característica de A é m (logodim(Ker(A) = n−m) e ∀j ∈ m+ 1, . . . , n, Adj−m = 0, uma vez que

Adj−m = [B,N ]

[−B−1aj

ej−m

]

= −BB−1aj − aj = 0.

Page 57: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

Estudo e Fundamentação do Método Simplex 53

Decompondo cT nos correspondentes subvectores linha cB e cN , i.e., fazendocT = [cB, cN ], o programa PL(A, b, c) anterior fica

min cBB−1b−

∑nj=m+1 λj [cB, cN ]

[B−1

0 aj

−ej−m

]

s. a.

[x0

B

x0N

]

−∑n

j=m+1 λj

[B−1aj

−ej−m

]

≥ 0.

Nestas condições, pode concluir-se que os escalares λj (para j = m+ 1, . . . , n)vão corresponder aos valores das variáveis não básicas, xm+1, xm+2, . . . , xn, peloque o PL(A, b, c) se pode escrever na forma

min cBB−1b−

∑n

j=m+1 xj(cBB−1aj − cj)1

s. a.

[B−1b0

]

−∑n

j=m+1 xj

[B−1aj

−ej−m

]

≥ 0.

Organizando-se os diferentes coeficientes de acordo com o quadro

xm+1 . . . xm+k . . . xn

x1

...xq

...xm

B−1am+1 . . . B−1am+k . . . B−1an B−1b

xm+1 -1 . . . 0 . . . 0 0...

......

......

......

xk 0 . . . -1 . . . 0 0...

......

......

......

xn 0 . . . 0 . . . -1 0cBB

−1am+1 − cm+1 . . . cBB−1am+k − cm+k . . . cBB

−1an − cn cBB−1b

obtêm-se todas as componentes em jogo.A partir do quadro, vamos seleccionando um vector, de entre os que verificam a

inequação [cb, cN ]

[B−1aj

−ej−m

]

= [cBB−1aj − cj ] > 0. Assim, supondo que se seleccio-

nou o m+ k-ésimo, ou seja,

[B−1am+k

ek

]

, incrementando (tanto quanto possível) a

correspondente variável xm+k, mantendo-se as demais variáveis não básicas com valornulo, vem

x1 =

[B−1

0 b0

]

− xm+k

[B−1am+k

−ek

]

=

B−1b− xm+kB−1am+k

0xm+k

0

,

Page 58: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

54 Estudo e Fundamentação do Método Simplex

(onde 0 denota um subvector de componentes nulas de dimensão adequada). Por outro

lado, cTx1 = cTx0 − xjcT

[B−1am+k

−ek

]

= cBB−1b − xm+k(cBB

−1am+k − cm+k).

Como consequência, se xm+k > 0 e (cBB−1am+k − cm+k) > 0, pode concluir-se quecTx1 < cTx0. Logo, haverá todo o interesse em incrementar tanto quanto possívelxm+k.

Uma vez que x1 ≥ 0, vem que B−1b− xm+kB−1am+k ≥ 0, ou seja,

xm+k(B−1am+k)i ≤ (B−1b)i ∀i ∈ 1, . . . , m.

Assim, para que se cumpra a condição x1 ≥ 0, basta que se verifique

xm+k ≤(B−1b)i

(B−1am+k)i

∀i ∈ 1, . . . ,m tal que (B−1am+k)i > 0.

Caso não exista i ∈ 1, . . . ,m tal que (B−1am+k)i > 0, podemos concluir que oproblema não tem óptimo finito (porquê?). Caso exista, com o objectivo de incrementaro mais possível a variável xm+k faz-se

xm+k = min(B−1b)i

(B−1am+k)i

: (B−1am+k)i > 0, i = 1, . . . ,m.

Supondo que min (B−1b)i

(B−1ak)i: (B−1ak)i > 0, i = 1, . . . , m =

(B−1b)q

(B−1ak)q, pode

concluir-se que a k-ésima componente de x1 (que para x0 era nula) vem agora igual

a (B−1b)q

(B−1ak)qe que as restantes componentes (que são não básicas, e por conseguinte

nulas, para x0) permanecem não básicas. Finalmente, as demais componentes (queeram básicas para x0) tomam os valores:

xi = (B−1b)i − xm+k(B−1am+k)i, para i = 1, ..., m.

Deve observe-se ainda que, nestas condições, a q-ésima componente (que é positiva

para x0) de x1 é igual a zero, dado que xq = (B−1b)q −(B−1b)q

(B−1am+k)q(B−1am+k)q.

Voltando ao quadro anterior, identificando o vector coluna B−1am+j por yj , efazendo zm+j − cm+j = cBB

−1am+j − cm+j , para j = 1, . . . , p, com p = n−m,

xm+1 . . . xm+k . . . xn

x1

...xq

...xm

y1 . . . yk . . . yp B−1b

xm+1 -1 . . . 0 . . . 0 0...

......

......

......

xk 0 . . . -1 . . . 0 0...

......

......

......

xn 0 . . . 0 . . . -1 0zm+1 − cm+1 . . . zm+k − cm+k . . . zn − cn cBB

−1b

Page 59: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

Estudo e Fundamentação do Método Simplex 55

estamos em condições de proceder à respectiva actualização, i.e., à determinação doquadro associado à nova solução básica admissível x1, onde vão constar as componen-tes dos vectores definidores dos deslocamentos admissíveis (ao longo das arestas dopoliedro que partem do novo vértice). Assim, no caso da variável escolhida para entrarna base ser xm+k (pelo que zm+k − cm+k > 0), dizemos que yk é a coluna pivotal.Consequentemente, no pressuposto de que (tal como se descreveu) se obtém

(B−1b)q

yqk

= min1≤i≤m

(B−1b)i

yik

: yik > 0,

a variável a sair da base é xq e a q-ésima linha do quadro designa-se por linha pivotal.

A linha pivotal determina a variável a sair da base e a coluna pivotal determina avariável a entrar para a base.

O coeficiente determinado pelo cruzamento da coluna pivotal com a linha pivo-tal designa-se por “pivot” e a última linha do quadro designa-se por linha de custosreduzidos.

Consequentemente, a solução básica corrente passa a ser

x1 =

x11

...x1

q−1

0x1

q+1

...x1

m

0...

x1m+k

...0

=

x01

...x0

q−1

x0q

x0q+1

...x0

m

0...0...0

−(B−1b)q

yqk

y1k

...y(q−1)k

yqk

y(q+1)k

...ymk

0...

−1...0

,

e os vectores de deslocamento associados à variável xq (que agora é não básica relati-vamente a x1) e às variáveis xj , com j ∈ m+ 1, . . . , n \ k deverão ser os vectores

Page 60: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

56 Estudo e Fundamentação do Método Simplex

do subespaço nulo de A 2 determinados por

y11j

...y1

qj

...y1

mj

0...

y1(m+k)j

...−1...0

=

y1j

...yqj

...ymj

0...0...

−1...0

−yqj

yqk

y1k

...yqk

...ymk

0...

−1...0...0

, para j ∈ 1, ..., p \ k.

Por sua vez y1k vem dado por

y11k

...y1

qk

...y1(m+k)k

0...y1

kk

...0

=−1

yqk

y1k

...yqk

...ymk

0...

−1...0

.

No que diz respeito à linha de custos reduzidos, a actualização das suas componentesvem dada por cT y1

j = z1m+j − cm+j = cT yj −

yqj

yqkcT yk = (zm+j − cm+j)−

yqj

yqk(zm+k −

cm+k), para j ∈ 1, . . . , p \ k e cT y1k = z1

m+k − cm+k = −1yqk

(zm+k − cm+k). Com

todas estas actualizações, obtém-se o quadro

2Observe-se que um vector pertence a um dado subespaço sse é combinação linear devectores desse subespaço.

Page 61: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

Estudo e Fundamentação do Método Simplex 57

xm+1 . . . xm+k . . . xn

x1

.

..xq

...xm

y11 −yq1

yqky1k

.

..0...

ym1 −yq1

yqkymk

. . ....

. . ....

. . .

− y1k

yqk

.

..−1...

− ymk

yqk

. . ....

. . ....

. . .

y1p −yqp

yqky1k

.

..0...

ymp −yqp

yqkymk

(B−1b)1 −(B−1b)q

yqky1k

.

..0...

(B−1b)m −(B−1b)q

yqkymk

xm+1

.

..xm+k

...xn

−1...

yq1

yqk

..

.0

. . ....

. . ....

. . .

0...1

yqk

...0

. . ....

. . ....

. . .

0...

yqp

yqk

.

..−1

0...

(B−1b)q

yqk

...0

zm+1 − cm+1− zn − cn− cBB−1b−

−yq1

yqk(zm+k − cm+k) . . .

−(zm+k−cm+k)

yqk. . . −

yqp

yqk(zm+k − cm+k) −

(B−1b)q

yqk(zm+k − cm+k)

onde as operações de actualização efectuadas se designam por operações de pivotação(nas quais o “pivot” é a q-ésima componente de yk, ou seja, yqk). Trocando-se a k-ésimalinha do quadro (anteriormente obtido) com a q-ésima, bem como as posições relativasdas correspondentes variáveis, obtém-se o novo quadro numa forma idêntica à inicial.

xm+1 . . . xq . . . xn

x1

...xk

...xm

y11 −yq1

yqky1k

...yq1

yqk

..

.ym1 −

yq1

yqkymk

. . ....

. . ....

. . .

− y1kyqk

.

..1

yqk

...− ymk

yqk

. . ....

. . ....

. . .

y1p −yqp

yqky1k

...yqp

yqk

...ymp −

yqp

yqkymk

(B−1b)1 −(B−1b)q

yqky1k

...(B−1b)q

yqk

..

.

(B−1b)m −(B−1b)q

yqkymk

xm+1

.

..xq

...xn

−1...0...0

. . ....

. . ....

. . .

0...

−1...0

. . ....

. . ....

. . .

0...0...

−1

0...0...0

(zm+1 − cm+1)− (zn − cn)− cBB−1b−

−yq1

yqk(zm+k − cm+k) . . .

−(zm+k−cm+k)

yqk. . . −

yqp

yqk(zm+k − cm+k) −

(B−1b)q

yqk(zm+k − cm+k)

Denotando por B1 a matriz básica associada a este quadro, ou seja, a que se obtémde B trocando a coluna aq por ak (B1 = [a1 . . . aq−1 am+k aq+1 . . . am]), apósreordenação das variáveis obtêm-se os vectores do subespaço nulo da matriz A1 (obtidade A, após a correspondente troca de colunas),

y1j =

[B−1

1 aj

−ej−m

]

, para j ∈ m + 1, . . . , n \ k e y1q =

[B−1

1 aq

−ek

]

.

Page 62: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

58 Estudo e Fundamentação do Método Simplex

4.1 Método simplex

Para descrever o método simplex, vamos considerar apenas o que se designa por qua-dro simplex reduzido 3 que, relativamente ao quadro anterior, é constituído pelas mprimeiras linhas acrescidas da linha de custos reduzidos. Nestas condições, o quadrosimplex reduzido associado a x0 corresponde ao quadro que a seguir se indica.

xm+1 . . . xm+k . . . xn

x1

...xq

...xm

y11...yq1

...ym1

. . ..... . ..... . .

y1k

...yqk

...ymk

. . ..... . ..... . .

y1p

...yqp

...ymp

(B−1b)1...

(B−1b)q

...(B−1b)m

z1 − cm+1 . . . zm+k − cm+k . . . zn − cn cBB−1b

4.1.1 Actualização dos quadros simplex

Deve observar-se que, neste último quadro, existe toda a informação necessária para seproduzir o quadro simplex reduzido associado a x1. A determinação (actualização) dosquadros subsequentes faz-se de um modo idêntico ao descrito para as transformaçõesefectuadas entre os dois quadros anteriores. Com efeito, suponha que se actualiza oquadro simplex reduzido associado a xs (de modo a obter-se o quadro simplex reduzidoassociado a xs+1), escolhendo para coluna pivotal a coluna ys

k associada à variável nãobásica xjk

. Então, podemos concluir que, em problemas de maximização, zsjk

− cjk<

0 e, em problemas de minimização, zsjk

− cjk> 0. Nestas condições, sendo JNs =

j1, . . . , jk, . . . , jp o conjunto de índices não básicos e (xBs)1, . . . , (xBs)q, . . . , (xBs)m

as variáveis básicas, podemos fazer a actualização do quadro, de acordo com o seguinteprocedimento:

1. Determina-se a linha pivotal, calculando

(B−1s b)q

ysqk

= min1≤i≤m

(B−1

s b)i

ysik

: ysik > 0.

2. Divide-se a q-ésima linha do quadro pelo “pivot”, ou seja,

ys+1qj =

ysqj

ysqk

, ∀j ∈ 1, 2, . . . , p \ k

(B−1s+1b)q =

(B−1s b)q

ysqk

.

3Esta designação aparece em oposição à de quadro simplex completo no qual, além dascolunas que constam no reduzido, aparecem, também, as relativas à matriz identidade (quecorrespondem às componentes básicas correntes).

Page 63: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

4.1 Método simplex 59

3. Substituem-se os elementos da k-ésima coluna pelos simétricos dos quocientesdas suas componentes pelo “pivot”, ou seja,

ys+1ik =

−ysik

ysqk

∀i ∈ 1, 2, . . . ,m \ q;

zs+1jk

− cjk= −

zsjk

− cjk

ysqk

.

4. Substitui-se o “pivot” pelo seu inverso, i.e., ys+1qk = 1

ysqk

.

5. Actualizam-se os restantes elementos do quadro, fazendo

ys+1ij = ys

ij −ys

qj

ysqk

ysik ∀i ∈ 1, . . . ,m \ q e ∀j ∈ 1, . . . , p \ k;

(B−1s+1b)i = (B−1

s b)i −(B−1

s b)q

ysqk

ysik ∀i ∈ 1, 2, . . . ,m \ q;

zs+1ji

− cji= zs

ji− cji

−ys

qj

ysqk

(zsjk

− cjk) ∀ji ∈ JNs \ jk.

6. Actualiza-se o valor da função objectivo para a nova solução, fazendo

cBs+1B−1

s+1b = cBsB−1s b−

(B−1s b)q

ysqk

(zsjk

− cjk).

7. Finalmente, a variável básica (xBs)q passa a ser não básica e é substituída pelavariável xjk

.

As operações efectuadas no passo 5 são conhecidas por operações de pivotação e aregra de cálculo associada por regra em estrela.

Em termos matriciais, dada uma partição da matriz A = [Bs, Ns], ondeBs denota asubmatriz básica tal que B−1

s b ≥ 0, e a correspondente partição do gradiente da função

objectivo, cT = [cBs , cNs ], o quadro simplex reduzido associado a xs =

[B1

s b0

]

,

corresponde ao quadro

xNs

xBs B−1s Ns B−1

s b

cBsB−1s Ns − cNs cBsB

−1s b

Da análise efectuada, supondo que xs =

[xBs

xNs

]

é a solução básica admissível cor-

rente, cBs e cNs os subvectores linha de cT = [cBs , cNs ] que correspondem aos subvec-tores de variáveis básicas xBs e não básicas xNs e sendo (zNs)j = cBsB

−1Nsej paraj = 1, . . . , p, no pressuposto de que PL(A, b, c) é um programa linear de minimizaçãona forma padrão, podemos adiantar as seguintes conclusões:

I Se (zNs)j − (cNs)j ≤ 0 ∀j ∈ 1, . . . , p, então xs é uma solução óptima.

II Se xs é uma solução óptima e xBs > 0, então (zNs)j−(cNs)j ≤ 0 ∀j ∈ 1, . . . , p.

Page 64: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

60 Estudo e Fundamentação do Método Simplex

III Se ∃j ∈ 1, . . . , p tal que (zNs)j − (cNs)j > 0 e B−1s Nsej ≤ 0, então o programa

linear PL(A, b, c) não tem solução óptima finita.

IV Se ∃j ∈ 1, . . . , p tal que (zNs)j − (cNs )j > 0 e pelo menos uma componentedo vector coluna B−1Nsej é positiva, então fazendo

xs+1 =

[xBs

xNs

]

− θj

[B−1

s Nsej

−ej

]

,

onde θj = min1≤i≤m(xBs

)i

(B−1s Nsej )i

: (B−1s Nsej)i > 0, obtém-se uma nova solu-

ção básica, xs+1, tal que cTxs+1 < cTxs.

Estas conclusões (I, II, III e IV) constituem a base de todo o processo de pesquisautilizado no método simplex, pelo que, tendo em conta a sua importância, vamos pro-ceder à respectiva demonstração.

Demonstração.

I Como se sabe, ∀x ∈ S, ∃θ1, θ2, . . . , θp ≥ 0 tais que

x =

[xBs

xNs

]

− θ1

[B−1

s Nse1−e1

]

− θ2

[B−1

s Nse2−e2

]

− . . .− θp

[B−1

s Nsep

−ep

]

.

Logo, tendo em conta que cT = [cBs , cNs ], obtém-se

cTx = cBsxsB −

p∑

j=1

θj(cBsB−1s Nsej − (cNs)j)

= cBsxBs −

p∑

j=1

θj((zNs)j − (cNs)j).

Consequentemente, uma vez que x ≥ 0 ⇒ (θj ≥ 0 ∀j ∈ 1, . . . , p) e, de acordocom a hipótese,

(zNs)j − (cNs)j ≤ 0 ∀j ∈ 1, . . . , p,

conclui-se que cTx ≥ cTxs. Donde, tendo em conta que x é um ponto arbitrário

de S, decorre que xs =

[xBs

xNs

]

é uma solução óptima para o programa linear

PL(A, b, c).

II Se xs =

[xBs

xNs

]

é uma solução óptima para o programa linear PL(A, b, c) tal

que xBs > 0, então ∀j ∈ 1, . . . , p, ∃θj > 0 tal que

x =

[xBs

xNs

]

− θj

[B−1

s Nsej

−ej

]

≥ 0,

i.e., tal que x ∈ S, pelo que

cTx = cTxs − θj(cBsB−1s Nsej − (cNs )j) = cTxs − θj((zNs)j − (cNs)j).

Tendo em conta que, de acordo com a hipótese, cTx ≥ cTxs, pode concluir-seque

(zNs)j − (cNs )j ≤ 0 ∀j ∈ 1, . . . , p.

Page 65: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

4.1 Método simplex 61

III Supondo que ∃j ∈ 1, . . . , p tal que (zNs)j − (cNs )j > 0 e B−1s Nsej ≤ 0, vem

que ∀θj ≥ 0

x =

[xBs

xNs

]

− θj

[B−1

s Nsej

−ej

]

≥ 0 e cTx = cTxs − θj((zNs)j − (cNs)j).

Logo, se θj → ∞ então cTx = cTxs − θj((zNs)j − (cNs)j) → −∞, pelo que, emtais condições, o programa linear PL(A,b,c) não tem óptimo finito.

IV Seja j ∈ 1, . . . , p tal que (zNs)j − (cNs)j > 0 e suponha que B−1s Nsej tem

pelo menos uma das suas componentes positiva, então fazendo

θj = min1≤i≤m

(xBs)i

(B−1s Nsej)i

: (B−1s Nsej)i > 0 =

(xB)q

(B−1s Nsej)q

e x =

[xBs

xNs

]

− θj

[B−1

s Nsej

−ej

]

, vem que x ≥ 0 (porquê?), cTx ≥ cTxs

(porquê?) e ainda que x continua a ser uma solução básica admissível, uma vezque a q-ésima componente de x é nula (porquê?) e as restantes componentes

não básicas de xs =

[xBs

xNs

]

à excepção da j-ésima, que agora tem o valor θj ,

continuam a ser não básicas para x. Logo, substituindo na submatriz básica Bs

a q-ésima coluna pela j-ésima coluna de Ns, obter-se-á uma matriz Bs+1 quecontinua a ser básica (como exercício, faça a prova desta última afirmação).

4.1.2 Algoritmo para o método simplex

Segue-se a apresentação formal (algorítmica) do método simplex.

• Algoritmo (método simplex).

1. Determinar uma solução básica admissível inicial x0 =

[xB

xN

]

4 (e por

conseguinte uma base inicial B, à qual está associado o conjunto de índicesbásicos JB e não básicos JN = 1, . . . , n \ JB = j1, . . . , jp), construir orespectivo quadro simplex reduzido

xj1 . . . xjk. . . xjp

xB B−1

N B−1

b

(zj1 − cj1) . . . (zjk− cjk

) . . . (zjp − cjp ) cBB−1b

onde [(zj1 − cj1) . . . (zjp − cjp )] = cBB−1N − cN , e passar a 2.

2. Se o problema é de

(a) maximização, determinar zjk− cjk

= minzji− cji

: ji ∈ JN e sezjk

− cjk≥ 0 então STOP (a solução básica admissível corrente é

óptima) senão passar a 3.

4Os métodos usualmente utilizados para a determinação de uma solução básica admissívelinicial (método das duas fases e método do “big-M”) serão alvo de estudo mais adiante.

Page 66: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

62 Estudo e Fundamentação do Método Simplex

(b) minimização, determinar zjk− cjk

= maxzji− cji

: ji ∈ JN e sezjk

− cjk≤ 0 então STOP (a solução básica admissível corrente é

óptima) senão passar a 3.

3. Se B−1ajk≤ 0 então STOP (o problema não tem óptimo finito) senão

passar a 4.

4. Fazendo yk = B−1ajk, determinar q tal que

(B−1b)q

yqk

= min1≤i≤m

(B−1b)i

yik

: yik > 0

e passar a 5.

5. Actualizar o quadro simplex, tomando para “pivot” yqk, e voltar a 2.

• Fim do algoritmo.

O critério de escolha da coluna pivotal adoptado neste algoritmo (o qual decorredos cálculos do passo 2) é conhecido por critério de Dantzig e corresponde à escolhado vector de deslocamento com taxa de variação da função objectivo mais favorável.

Exemplo 4.1. Para ilustrar a aplicação deste algoritmo, vamos resolver o programalinear do Exemplo 3.5, o qual se pode escrever na seguinte forma:

min cTxs.a. Ax = b

x ≥ 0,

onde cT = [15, 30, 40, 10, 10, 10], A =

1 0 0 −1 0 00 1 0 1 −1 00 0 1 0 1 −1

e b =

10 00020 00025 000

.

Solução. Considerando x0 = (10 000, 20 000, 25 000, 0, 0, 0)T , como solução básicaadmissível inicial (à qual está associada a submatriz básica B = I), obtém-se o quadrosimplex reduzido

I1 I2 I3x1 -1 0 0 10 000x2 1 -1 0 20 000x3 0 1 -1 25 000

5 0 -50 1 750 000

Uma vez que, por aplicação do passo 2 (determinação do maxz1 − c1, z2 − c2, z3 −c3), se obtém 5 = max5, 0,−50 e, dado que as condições do passo 3 não se verificam(i.e., nem todas as componentes da 1a coluna do quadro são não positivas), por aplica-ção do passo 4, a escolha do “pivot” recai sobre o coeficiente assinalado com um bordo,ou seja, o que se obtém do cruzamento da 2a linha (linha pivotal) com a 1a coluna (co-luna pivotal) do quadro. Como consequência, após a actualização, obtém-se o quadrosimplex associado à solução básica admissível x1 = (30 000, 0, 25 000, 20 000, 0, 0)T ,

Page 67: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

4.1 Método simplex 63

x2 I2 I3x1 1 -1 0 30 000I1 1 -1 0 20 000x3 0 1 -1 25 000

-5 5 -50 1 650 000

Aplicando novamente os passos 2, 3 e 4, determina-se a 2a coluna como colunapivotal e a 3a linha como linha pivotal. Procedendo à actualização determinada pelopasso 5, obtém-se o quadro simplex óptimo

x2 x3 I3x1 1 1 -1 55 000I1 1 1 -1 45 000I2 0 1 -1 25 000

-5 -5 -45 1 525 000

o qual determina, como solução óptima para o programa linear em estudo, a solução

x∗ =

55 00000

45 00025 000

0

.

No caso de, no quadro simplex óptimo, existir na linha de custos reduzidos um(ou mais) coeficiente(s) nulo(s), significa que a solução óptima não é única (existemsoluções óptimas alternativas). Com efeito, suponha que o quadro a seguir se refere aum problema de minimização e que a solução básica corrente é óptima. Adicionalmente,denotando os conjuntos de índices básicos e não básicos por JB e JN = j1, . . . , jp,respectivamente, considere que ∃jk ∈ JN tal que zjk

− cjk= 0.

xj1 . . . xjk. . . xjp

xB B−1

N B−1

b

(zj1 − cj1 ) . . . (zjk− cjk

) . . . (zjp − cjp ) cBB−1b

Se B−1b > 0, então fazendo x =

[B−1b

0

]

− θk

[yk

−ek

]

, onde yk = B−1ajke

θk =

µ, se yik > 0 e 1 ≤ i ≤ m = ∅

min1≤i≤m (B−1b)i

yik: yik > 0, no caso contrário,

onde µ é um escalar positivo arbitrariamente grande, vem que x é uma solução distintada fornecida pelo quadro simplex óptimo e é tal que

Page 68: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

64 Estudo e Fundamentação do Método Simplex

cTx = cT[B−1b

0

]

− θkcT

[yk

−ek

]

= cBB−1b− θk(zjk

− cjk) = cBB

−1b

(uma vez que zjk− cjk

= 0), ou seja, é também óptima.Verifica-se ainda que qualquer combinação linear convexa de diferentes soluções

óptimas é uma solução óptima.

4.1.3 Determinação da inversa da base corrente

Supondo que a matriz básica admissível inicial (associada a x0) é a matriz identidade,ou seja, A = [I,N ] (onde I = B), e supondo que o quadro corrente determina a soluçãobásica admissível xs associada a base Bs, dado que

B−1s Axs = B−1

s b⇔ [B−1s , B−1

s N ]xs = B−1s b,

a partir do correspondente quadro simplex completo

x

xBs B−1s A B−1

s b

cBsB−1s A− cT cBsB

−1s b

com facilidade se determina B−1s (i.e., a inversa da base associada a xs), a qual ocupa

a posição das colunas associadas à base inicial.

Exemplo 4.2. Para ilustrar a determinação da inversa da base corrente, a partirdo respectivo quadro simplex, vamos determinar as inversas das bases associadas àssoluções básicas admissíveis x1 e x2, determinadas no Exemplo 4.1.

Solução. Tendo em conta que, no Exemplo 4.1, a base associada a x0 é a matrizidentidade e as variáveis básicas iniciais são x1, x2 e x3, do quadro simplex completoassociado a x1 (i.e., relativo a B1), vem que

B−11 A =

x1 x2 x3 I1 I2 I31 1 0 0 −1 00 1 0 1 −1 00 0 1 0 1 −1

,

donde se pode concluir que B1 é constituída pelas 1a, 4a e 3a (por esta ordem) colunas

de A e que B−11 =

1 1 00 1 00 0 1

. Com efeito, denotando a j-ésima coluna de A por

aj , deve observar-se que

B−11 a1 =

100

, B−11 a4 =

010

e B−11 a3 =

001

,

ou seja,

B−11 [a1 a4 a3] = I ⇔ [a1 a4 a3] = B1.

Page 69: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

4.1 Método simplex 65

Por outro lado, tendo em conta que A = [I,N ], onde N é a submatriz não básicainicial (constituída pelas colunas de A, a4, a5 e a6) vem que B−1

1 A = [B−11 , B−1

1 N ].Relativamente ao quadro associado à solução óptima x2 (quadro óptimo), conclui-seque

B−12 A =

x1 x2 x3 I1 I2 I31 1 1 0 0 −10 1 1 1 0 −10 0 1 0 1 −1

e, consequentemente, que B−12

1 1 10 1 10 0 1

.

Se em vez do quadro simplex completo dispusermos, apenas, do quadro simplexreduzido, a determinação da inversa da base corrente faz-se tendo em conta que ascolunas associadas à base inicial (matriz identidade) que não constam do quadro actualcontinuam básicas, pelo que são vectores da base canónica determinados pela posição,no quadro, das variáveis básicas que lhes estão associadas. No Exemplo 4.1, a partirdo quadro simplex reduzido óptimo, embora a coluna associada a x1 (única variávelde entre as variáveis básicas iniciais que permanece básica) não conste no quadro, pelaposição que ocupa, conclui-se que a coluna que lhe corresponde em B−1 é precisamenteo 10 vector da base canónica.

4.1.4 Método simplex revisto

Embora a aplicação do método simplex, confinada à actualização dos quadros simplexreduzidos, proporcione alguma economia de esforço (nomeadamente em relação à uti-lização do quadro simplex completo), é ainda possível obter alguma redução no esforçocomputacional associado às operações de pivotação e, bem ainda, restringir o espaçode memória reservado aos sucessivos quadros simplex que se vão actualizando, recor-rendo ao que se designa por método simplex revisto que foi introduzido em (Dantzig,1953).Conforme se referiu anteriormente, se no quadro simplex inicial existir a matriz iden-tidade (o que é sempre possível de acontecer) então, após qualquer número de actua-lizações do quadro, nas entradas relativas a essa matriz identidade, encontraremos ainversa da matriz básica corrente.

Supondo que se pretende resolver o programa linear de minimização na formapadrão PL(A, b, c), com o método simplex revisto, para além dos dados associadosa este problema (como sejam, a matriz A, o vector de termos independentes b e ogradiente da função objectivo c), para o s-ésimo quadro, apenas se torna necessárioarmazenar os elementos que constam no quadro a seguir

xBs B−1s B

−1s b

ws cBsB−1s b

onde xBs denota o m-uplo de variáveis básicas, B−1s a inversa da base corrente e ws =

cBsB−1s (note-se ainda que cBsB

−1s b = wsb). A partir deste quadro, com facilidade se

obtém toda a informação associada ao quadro simplex completo

Page 70: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

66 Estudo e Fundamentação do Método Simplex

xNs

xBs Ys

B−1s b

(zsj1

− cj1) . . . (zsjp

− cjp ) cBsB−1s b

com JNs = j1, . . . , jp e Y s = B−1s Ns.

Com o método simplex revisto, a escolha da coluna pivotal pode fazer-se comrecurso ao critério de Dantzig, determinando-se, para o s-ésimo quadro simplex,

zsjk

− cjk= maxzs

j − cji= wsaji

− cji: ji ∈ JNs,

ou, simplesmente, adoptando para coluna pivotal a primeira coluna,

[ys

jk

zsjk

− cjk

]

=[

B−1s ajk

wsajk− cjk

]

, que verifica a inequação zsjk

− cjk> 0.

Se maxzsji−cji

= wsaji−cji

: ji ∈ JNs ≤ 0, então pode concluir-se que wsA−cT ≤ 0e, consequentemente, que a solução básica admissível corrente é óptima.

Após a escolha da coluna pivotal, anteriormente considerada, supondo que

(B−1s b)r

ysrk

= min1≤i≤m

(B−1

s b)i

ysik

: ysik > 0,

destacando a k-ésima coluna não básica[

ysk

zsjk

− cjk

]

=

[B−1

s ajk

wsajk− cjk

]

(4.2)

a determinação de B−1s+1, B

−1s+1b, w

s+1 e cBs+1B−1

s+1b faz-se aplicando as operações depivotação usuais (regra em estrela), considerando a coluna (4.2)) como pivotal.

ys1k

...

xBs B−1s B

−1s b y

s

rk

...ys

mk

ws cBsB−1s b zs

jk− cjk

Note-se que da actualização da linha de custos reduzidos para os índices, i, asso-ciados às colunas que actualmente coincidem com as de B−1

s (e que, por conseguinte,inicialmente coincidiam com a matriz identidade) decorre que

ws+1i − ci = cBs+1

B−1s+1ei − ci

= zs+1i − ci (dado que ei é coluna de A)

= zsi − ci − (zs

jk− cjk

)ys

ri

ysrk

(aplicação da regra em estrela)

= cBsB−1s ei − ci − (zs

jk− cjk

)ys

ri

ysrk

= wsi − ci − (zs

jk− cjk

)ys

rj

ysrk

,

Page 71: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

4.1 Método simplex 67

donde se conclui que ws+1i = ws

i − (zsjk

− cjk)

ysrj

ysrk

, ou seja, a actualização da última

linha do quadro do método simplex revisto faz-se (como no caso do quadro reduzido)de acordo com a regra em estrela.

Por outro lado, deve observar-se ainda que a actualização deste quadro correspondeà sua multiplicação, à esquerda, pela matriz quadrada de ordem m:

Gs =

1 0 . . . gs1r . . . 0 0

0 1 . . . gs2r . . . 0 0

......

......

......

...

0 0... gs

rr

... 0 0...

......

......

......

0 0 . . . gs(m−1)r . . . 1 0

0 0 . . . gsmr . . . 0 1

ou seja, pela matriz que difere da identidade, unicamente, na r-ésima coluna, para aqual se tem

gsir =

−ysik

ysrk

∀i ∈ 1, . . . ,m \ r e gsrr =

1

ysrk

.

Com efeito, a determinação da coluna ys+1j (j 6= k) vem dada por

ys+1j = Gsys

j =

1 0 . . .−ys

1k

ysrk

. . . 0

......

......

......

0 0 . . . 1ys

rk

. . . 0

......

......

......

0 0 . . .−ys

mk

ysrk

. . . 1

ys1j

...ys

rj

...ys

mj

=

ys1j

...0...

ysmj

+ysrj

−ys1k

ysrk

...1

ysrk

...−ys

mk

ysrk

.

Consequentemente, denotando por G1, G2, . . . , Gs, as matrizes relativas às suces-sivas operações de pivotação, a partir da inversa da matriz básica inicial B−1

0 (que emgeral é a matriz identidade) obtém-se w0 = cB0

B−10 e a sequência,

B−11 = G1B−1

0 e w1 = cB1G1B−1

0 ,B−1

2 = G2G1B−10 e w2 = cB2

G2G1B−10 ,

......

...B−1

s = Gs · · ·G2G1B−10 e ws = cBsG

s · · ·G2G1B−10 .

Nestas condições, basta armazenar as matrizes Gr (as quais ficam completamentecaracterizadas pelo vector que as distingue da matriz identidade e pela sua posiçãoenquanto vector coluna) para, em cada actualização, se determinar o quadro associadoao método simplex revisto.

Exemplo 4.3. Vamos aplicar o método simplex revisto na resolução do programalinear do Exemplo 3.5.

Page 72: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

68 Estudo e Fundamentação do Método Simplex

Solução. Aplicando o método simplex revisto, a partir da matriz básica inicial associ-ada às variáveis x1, x2 e x3 (matriz identidade) obtém-se a sequência de quadros que aseguir se indica (com ∗ assinalando o custo reduzido que determina a variável a entrarpara a base e o "pivot” indicado a negrito):

1.

I1x1

x2

x3

1 0 00 1 00 0 1

10 00020 00025 000

w1aI1 − cI1 = 5∗

w1aI2 − cI2 = 0w1aI3 − cI3 = −50

-110

15 30 40 1 750 000 5

2.

I2x1

I1x3

1 1 00 1 00 0 1

30 00020 00025 000

w2ax2− cx2

= −5w2aI2 − cI2 = 5∗

w2aI3 − cI3 = −50

-1-11

15 25 40 1 650 000 5

3.x1

I1I2

1 1 10 1 10 0 1

55 00045 00025 000

w3ax2− cx2

= −5w3ax3

− cx3= −5

w3aI3 − cI3 = −4515 25 35 1 525 000

O método simplex revisto apresenta vantagens “computacionais” relevantes, rela-tivamente à versão original, quando o número de colunas da matriz de decisão, A,é significativamente superior ao número de linhas (situação que, na prática, é muitocomum). Com efeito, no caso revisto, para cada actualização do quadro, as operaçõesde pivotação são executadas, unicamente, sobre uma matriz com m linhas e m+ 1 co-lunas e, a estas operações de pivotação, apenas se adiciona o esforço “computacional”relativo à determinação da coluna pivotal (cálculo dos custos reduzidos waj − cj), àactualização do vector w (cBB−1) e ao cálculo (opcional) do valor corrente da funçãoobjectivo (wb). Por sua vez, na versão original do método simplex, cada actualizaçãodo quadro (reduzido) implica a execução de operações de pivotação sobre uma matrizcom m+ 1 linhas e (n−m) + 1 colunas.

4.2 Determinação de uma solução básica admis-

sível inicial

Para finalizar este capítulo, resta-nos abordar as formas de ultrapassar o (em geral)desconhecimento de uma solução básica admissível inicial.Com efeito, embora em qualquer programa linear a região admissível possa tomar aforma S′ = x ∈ R

n : Ax ≤ b, x ≥ 0 e a partir dela, acrescentando as variáveis dedesvio, a forma

S′′ =

[xs

]

∈ Rn+m : [A, I ]

[xs

]

= b, x, s ≥ 0

da qual, com facilidade, se retira a solução básica definida por x = 0 e s = b, existem

muitas situações onde algumas das componentes de b são negativas, pelo que

[0b

]

não é admissível para S′.

Page 73: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

4.2 Determinação de uma solução básica admissível inicial 69

As técnicas que vamos analisar para ultrapassar o desconhecimento de qualquersolução básica admissível para um programa linear na forma padrão, i.e., para o pro-grama linear

PL(A, b, c) mincTx : x ∈ S,

com S = x ∈ Rn : Ax = b, x ≥ 0, A ∈ R

m×n e r(A) = m, designam-se por métododas duas fases e método do “big-M”.

Qualquer destes dois métodos exige que se transforme o sistema Ax = b para que setenha b ≥ 0 (para o que basta multiplicar, adequadamente, cada uma das equações dosistema por 1 ou -1) e que se acrescentem variáveis artificiais, xa, de modo a obter-sea região

Sxa = x ∈ Rn, xa ∈ R

m, Ax+ xa = b, x, xa ≥ 0.

O recurso a variáveis artificiais para a obtenção de uma solução admissível inicial foipublicado, pela primeira vez, em (Dantzig, 1951).

4.2.1 Método das duas fases

Com este método, a resolução do programa linear PL(A, b, c) de minimização na formapadrão divide-se em duas fases, a saber, a fase I e a fase II.

• A fase I consiste na resolução do programa linear auxiliar:

mineTxa :

[xxa

]

∈ Sxa,

onde eTxa =∑m

j=1 xaj. Se o valor óptimo é positivo, isso significa que não

existe x ≥ 0 tal que Ax = b (dado que se um tal x existisse, então

[x0

]

seria uma solução admissível para este programa auxiliar, para a qual a funçãoobjectivo tomaria o valor nulo). Se o valor óptimo é nulo, então o programa

linear PL(A, b, c) admite uma solução básica óptima da forma

[x1

0

]

, pelo que

o programa linear PL(A, b, c) é consistente.

• A fase II consiste em resolver o programa linear PL(A, b, c), tomando parasolução básica admissível inicial a solução x1 determinada na fase I, podendoaproveitar-se o quadro simplex óptimo da fase I para prosseguir com a fase II.No caso de, no final da fase I, apesar do valor óptimo ser nulo, existir uma(ou mais) variável (variáveis) artificial (artificiais) na base, para a(s) retirar(no caso de serem várias o procedimento deve repetir-se para cada uma delas)basta proceder às operações de pivotação, tomando para linha pivotal a linhaque lhe corresponde e para coluna pivotal uma de entre as colunas associadas avariáveis não artificiais e não básicas com componente não nula na linha pivotal.Neste caso, a eventualidade do “pivot” ser negativo não causa qualquer problema,uma vez que as variáveis básicas não nulas permanecem inalteradas e as quevierem a entrar para a base tomam o valor nulo. No caso de existir uma ou maislinhas associadas a variáveis artificiais básicas (com valor nulo) relativamenteàs quais não é possível determinar pivôs (coeficientes não nulos) associados avariáveis não artificiais e não básicas, tal significa que as restrições que lhescorrespondem são redundantes (ou seja, são combinação linear das outras), peloque podem ser retiradas do problema sem que isso afecte a respectiva região de

Page 74: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

70 Estudo e Fundamentação do Método Simplex

admissibilidade. Com efeito, suponha-se que ξB = [ξ1, ξ2, ..., ξq]T é o q-uplo de

valores das variáveis básicas não artificiais (as quais, sem perda de generalidade,se supõem ser as q primeiras, com q < m), e que Bs é a base óptima obtida nofinal da fase I. Uma vez que

B−1s [A, b] =

[Iq R ξB

0 0 0

]

⇔ [A, b] = Bs

[Iq R ξB

0 0 0

]

,

onde Iq denota a matriz identidade de ordem q e R identifica uma matriz com qlinhas e (n− q) colunas. Então, podemos concluir que a i-ésima linha de [A, b],

eTi [A, b], vem dada por eT

i Bs

[Iq R ξB

0 0 0

]

=∑q

j=1 (Bs)ij(eTi [Iq R ξB]), para

i = 1, . . . ,m. Como consequência, todas as linhas de [A, b] são geradas pelas qlinhas de [Iq R ξB], pelo que [A, b] tem m − q linhas linearmente dependentes.Nestas condições, também se pode concluir que as m− q últimas linhas de [A, b]são combinação linear das q primeiras.

Segue-se um exemplo que ilustra a aplicação do método das duas fases.

Exemplo 4.4. Vamos resolver o programa linear

max 3x1 − x2

s. a. 2x1 + x2 ≥ 2x1 + 3x2 ≤ 3

x2 ≤ 4x1, x2 ≥ 0

(4.3)

pelo método das duas fases.

Solução. Introduzindo as variáveis de desvio, obtém-se o programa linear na formapadrão:

max 3x1 − x2

s. a. 2x1 + x2 − x3 = 2x1 + 3x2 + x4 = 3

x2 + x5 = 4x1, x2, x3, x4, x5 ≥ 0

• Fase I

min x6

s. a. 2x1 + x2 − x3 + x6 = 2x1 + 3x2 + x4 = 3

x2 + x5 = 4x1, x2, x3, x4, x5 ≥ 0

1.

x1 x2 x3

x6 2 1 -1 2x4 1 3 0 3x5 0 1 0 4

2 1 -1 2

2.

Page 75: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

4.2 Determinação de uma solução básica admissível inicial 71

x6 x2 x3

x1 1/2 1/2 -1/2 1x4 -1/2 5/2 1/2 2x5 0 1 0 4

-1 0 0 0

• Fase II

1.

x2 x3

x1 1/2 -1/2 1

x4 5/2 1/2 2

x5 1 0 45/2 -3/2 3

2.

x2 x4

x1 3 1 3x3 5 2 4x5 1 0 4

10 3 9

Tendo em conta o quadro óptimo obtido, conclui-se que x∗ =

30404

é a solução

óptima do problema (4.3).

4.2.2 Método do "big”-M

O método das duas fases obriga à resolução de dois programas lineares distintos (o dafase I e o da fase II). No método do “big-M” resolve-se um único problema e procura-seque a solução básica admissível a determinar esteja tão próxima da solução óptimaquanto possível.

Com o método do big-M, a função objectivo do programa linear PL(A, b, c) émodificada com a introdução de um parâmetro de penalização M , ou seja, resolve-se

o programa linear modificado PL([A, I ], b,

cM...M

):

min cTx+M

m∑

j=1

xaj

s.a. Ax+ xa = b

x, xa ≥ 0,

onde M é uma constante positiva arbitrariamente grande.Assim, sendo x∗ a solução óptima para o PL(A, b, c), com M convenientemente

escolhido, vem que

[x∗

0

]

é uma solução óptima para o problema modificado. Com

Page 76: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

72 Estudo e Fundamentação do Método Simplex

efeito, suponha-se que

[x′

x′a

]

, com x′a 6= 0, é uma solução óptima para o PL([A, I ], b,

cM...M

)

de minimização na forma padrão, então vem que cTx′ + MeTx′a ≤ cTx∗ (onde eT =

[1, . . . , 1]), o que é impossível para M > cT x∗−cT x′

etx′

a

5.

Conclui-se assim que se o programa linear PL(A, b, c) é consistente e tem óptimo fi-nito, então, desde queM tome um valor suficientemente grande, o problema modificadoapresenta o mesmo conjunto de soluções óptimas e o mesmo valor óptimo.

Deve observar-se que no caso do programa liner ser de maximização, com o mé-todo do big-M, contrariamente ao que se descreveu anteriormente, o problema inicialé modificado subtraindo à respectiva função objectivo a soma das variáveis artificiaismultiplicadas pelo parâmetro de penalização M . O exemplo a seguir ilustra, precisa-mente, este caso.

Exemplo 4.5. Vamos resolver o programa linear de maximização na forma padrãodo Exemplo 4.4, desta vez por aplicação do método do big-M.

Solução. Introduzindo a variável artificial e o parâmetro de penalização obtém-se oprograma linear modificado:

max 3x1 − x2 − Mx6

s. a. 2x1 + x2 − x3 + x6 = 2x1 + 3x2 + x4 = 3

x2 + x5 = 4x1, x2, x3, x4, x5, x6 ≥ 0

1.

x1 x2 x3

x6 2 1 -1 2x4 1 3 0 3x5 0 1 0 4

-2M-3 -M+1 M -2M

2.

x6 x2 x3

x1 1/2 1/2 -1/2 1

x4 -1/2 5/2 1/2 2

x5 0 1 0 4M+3/2 5/2 -3/2 3

3.

x6 x2 x4

x1 0 3 1 3x3 -1 5 2 4x5 0 1 0 4

M 10 3 9

5Uma vez que x′a 6= 0, podemos concluir que eT x′

a > 0.

Page 77: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

4.3 Exercícios 73

4.3 Exercícios

Exercício 4.1. Aplique o método simplex ao programa linear

max 2x1 + x2

s.a. −x1 + x2 ≤ 1x1 − 2x2 ≤ 2x1, x2 ≤ 0

e verifique se o problema tem óptimo finito.

Exercício 4.2. Considerando o problema de optimização linear

mincTx : x =

004160

+ θ1

101

−300

+ θ2

01

−11

−20

+ θ3

00

−12

−11

≥ 0, θ1, θ2, θ3 ≥ 0,

onde cT = [1, 1, 4, 0, 0, 0], determine o quadro simplex reduzido relativo à solução básicaadmissível [0, 0, 4, 1, 6, 0]T .

Exercício 4.3. Considere que durante a aplicação do método simplex na resolução deum dado programa linear de minimização na forma padrão, PL(A, b, c), se obtiveramos quadros simplex reduzidos consecutivos:

xN

xB B−1N B−1b

cBB−1N − cN cBB

−1b

xN′

xB′ B′−1N B′−1

b

cB′B′−1N ′ − cN′ cB′B′−1

b

1. Prove que as operações de pivotação efectuadas no quadro associado à matrizbásica B conduzem à obtenção da solução básica x′

B determinada pelo quadroassociado à nova matriz básica B′.

2. Prove que, no caso das soluções básicas óptimas serem não degeneradas,

cB′B′−1N ′ − cN′ ≤ 0

é uma condição necessária e suficiente de optimalidade para a solução básicaadmissível obtida no quadro simplex associado a B′.

Exercício 4.4. Considere o programa linear de maximização na forma canónicaPL(A,b,c), para o qual foi determinado o quadro simplex:

x4 x2 x6

x1 1 0 -2 α1

x5 -2 -3 1 α2

x3 1 1 1 α3

3 4 0 δ

Page 78: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

74 Estudo e Fundamentação do Método Simplex

onde cT = [1, 2, 2], bT = [2, 3, 1] e x4, x5 e x6 denotam as variáveis de desvio.

1. Determine a inversa da matriz básica e os valores de α1, α2, α3 e δ.

2. Determine a solução óptima do programa linear PL(A, b, c).

Exercício 4.5. Considere o quadro simplex reduzido a seguir apresentado.

x2 x4

x1 -2 1 1x3 -1 2 2x5 0 3 4

α β δ

Sabendo que o programa linear original associado a este quadro simplex é

mincTx : Ax ≤ b, x ≤ 0,

b ≥ 0 e que se tomou para solução básica inicial xB =

x3

x4

x5

= b, onde x3, x4 e x5

são as variáveis de desvio, responda às seguintes questões:

1. Determine a inversa da matriz básica corrente.

2. Sabendo que cT = [1, 1], determina α e β e δ.

3. Verifique se o problema tem óptimo finito, justificando.

Exercício 4.6. Considere o programa linear:

min −2x1 + x2

s.a. x1 + x2 ≥ 2x1 − 2x2 ≤ 1x1 ≤ 3x1, x2 ≥ 0

1. Determine uma solução básica admissível para este problema (utilizando o mé-todo das duas fases).

2. A partir da solução básica encontrada na alínea anterior, determine a soluçãoóptima pelo método simplex revisto.

Exercício 4.7. Resolva o programa linear

min −x1 + x2

s. a. 4x1 + x2 ≥ 4x1 + x2 ≥ 2x1 + 3x2 ≥ 3x1, x2 ≥ 0

por aplicação do método do big-M.

Page 79: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

Capítulo 5

Estudo da Convergência doMétodo Simplex

Tendo presente o algoritmo simplex, no pressuposto de que não existem soluções bá-sicas degeneradas, é fácil provar a convergência finita deste método, no sentido emque num número finito de operações de pivotação, ou se atinge uma situação que nospermite concluir a não existência de óptimo finito ou se determina uma solução básicaóptima. Com efeito, na ausência de degenerescência, após cada actualização do quadro,obtém-se uma nova solução básica admissível (vértice) relativamente à qual a funçãoobjectivo toma um valor mais favorável (maior se o problema é de maximização oumenor se o problema é de minimização). Nestas condições, vão-se obtendo soluçõesbásicas necessariamente distintas (uma vez que devido à estrita monotonicidade dafunção objectivo, em relação às sucessivas soluções básicas admissíveis que se vão de-terminando, o método não poderá produzir duas soluções básicas admissíveis iguais).Consequentemente, como o número de vértices é finito, ao fim de um número finito dequadros simplex ou se obtém uma solução óptima ou a conclusão de que o problemanão tem óptimo finito.

Resta pois estudar os problemas levantados pelos casos degenerados, para os quaiso método simplex pode entrar em ciclo, bem como o modo de os ultrapassar.

O primeiro exemplo de entrada em ciclo do método simplex foi publicado em(Hoffman, 1953) e pode ser consultado em (Dantzig, 1963). Trata-se de um programalinear com 11 variáveis e 3 equações. Mais tarde, em (Beale, 1955), surgiu o exemploque a seguir se apresenta, com apenas 7 variáveis e 3 equações.

Exemplo 5.1 (Beale, 1953). Considere-se o programa linear

min −34x1 + 20x2 − 1

2x3 + 6x4

s. a 14x1 − 8x2 − x3 + 9x4 + x5 = 0

12x1 − 12x2 − 1

2x3 + 3x4 + x6 = 0x3 + x7 = 1

x1, x2, x3, x4, x5, x6, x7 ≥ 0,

para o qual se obtém a solução óptima x∗ = (1, 0, 1, 0, 34 , 0, 0)T e cujo valor

óptimo é igual a −54 . Vamos aplicar o método simplex revisto com o critério de

Dantzig para escolha da coluna pivotal (com o qual sendo zk = maxzj = wsaj−

Page 80: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

76 Estudo da Convergência do Método Simplex

cj : 1 ≤ j ≤ n > 0 se escolhe a k-ésima coluna para coluna pivotal), a partirdo quadro associado à solução básica admissível inicial x1 = (0, 0, 0, 0, 0, 0, 1)T

(cuja matriz básica é a matriz identidade).

Solução. Com o critério de Dantzig de escolha da coluna pivotal, a partir da soluçãobásica referida, determina-se a seguinte sequência de quadros

xBs B−1s B−1

s b

ws wsb

1.

x1

x5

x6

x7

1 0 00 1 00 0 1

001

1/4

1/20

0 0 0︸ ︷︷ ︸

w1

0 3/4

onde 34

= maxz1 − c1 = 34, z2 − c2 = −20, z3 − c3 = 1

2, z4 − c4 = −6.

2.

x2

x1

x6

x7

4 0 0-2 1 00 0 1

001

−32

40

−3 0 0︸ ︷︷ ︸

w2

0 4

onde 4 = maxz2 − c2 = 4, z3 − c3 = 72, z4 − c4 = −33, z5 − c5 = −3.

3.

x3

x1

x2

x7

-12 8 0-1/2 1/4 00 0 1

001

83/81

−1 −1 0︸ ︷︷ ︸

w3

0 2

onde 2 = maxz3 − c3 = 2, z4 − c4 = −18, z5 − c5 = −1, z6 − c6 = −1.

4.

x4

x3

x2

x7

-3/2 1 01/16 -1/8 03/2 -1 1

001

−21/2

3/16

21/22 −3 0

︸ ︷︷ ︸

w4

0 3

onde 3 = maxz1 − c1 = −14, z4 − c4 = 3, z5 − c5 = 2, z6 − c6 = −3.

Page 81: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

5.1 Regra lexicográfica 77

5.

x5

x3

x4

x7

2 -6 01/3 -2/3 0-2 6 1

001

21/3−2

1 −1 0︸ ︷︷ ︸

w5

0 1

onde 1 = maxz1 − c1 = 12, z2 − c2 = −16, z5 − c5 = 1, z6 − c6 = −1.

6.

x6

x5

x4

x7

1 -3 00 1/3 00 0 1

001

−3

1/3

00 2 0

︸ ︷︷ ︸

w6

0 2

onde 2 = maxz1 − c1 = 74, z2 − c2 = −44, z3 − c3 = −1

2, z6 − c6 = 2.

7.

x5

x6

x7

1 0 00 1 00 0 1

001

0 0 0 0

Uma vez que o último dos quadros apresentados é igual ao primeiro, o métodoentra em ciclo sem nunca atingir a solução óptima.

Para evitar este tipo de problemas propuseram-se algumas regras, das quais vamosapresentar duas. A regra lexicográfica (que condiciona a escolha do índice da linhapivotal) e a regra de Bland (que condiciona a escolha dos índices da coluna e da linhapivotal).

A prova de que a aplicação da regra lexicográfica evita a entrada em ciclo dométodo simplex (em situações de degenerescência) foi, pela primeira vez, apresentadaem (Dantzig, Orden and Wolfe, 1955) enquanto a regra de Bland (mais elegante doque a lexicográfica mas, computacionalmente, menos eficiente) foi introduzida maisrecentemente em (Bland, 1977).

O primeiro exemplo de entrada em ciclo com a aplicação do método simplex foiapresentado em (Hoffman, 1953).

5.1 Regra lexicográfica

Antes de passarmos à descrição da regra lexicográfica, vamos introduzir o conceito deordem lexicográfica e de mínimo lexicográfico de um conjunto de vectores.

Definição 5.1. Diz-se que um vector u é lexicograficamente positivo (não negativo), edenota-se u >LEX 0 (u ≥LEX 0), se não é identicamente nulo e a primeira componentenão nula é positiva (se é identicamente nulo ou se a primeira componente não nula épositiva). Um vector u diz-se lexicograficamente menor (respectivamente, não superior)

Page 82: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

78 Estudo da Convergência do Método Simplex

do que o vector v, e denota-se u <LEX v (u ≤LEX v) se v−u >LEX 0 (v−u ≥LEX 0).Dado um conjunto de vectores ui : 1 ≤ i ≤ m onde ui = [ui

1, . . . , uip] para i =

1, . . . ,m, diz-se que ur é o mínimo lexicográfico de ui : 1 ≤ i ≤ m, e escreve-seur = minlexui : 1 ≤ i ≤ m, se ur ≤LEX ui ∀i ∈ 1, . . . ,m.

Como exemplo, considerando o conjunto de vectores u1, u2, u3, onde u1 = [1, 3, 4, 0, 2],u2 = [0, 0, 2, 1, 2] e u3 = [0, 0, 0, 2, 1], verifica-se que u1 >LEX 0, que u2 <LEX u3 e queu2 = minlexu1, u2, u3.

Uma vez que da definição dada decorre, de um modo imediato, a existência e uni-cidade do mínimo lexicográfico de um conjunto singular de vectores (u = minlexu),vamos analisar o caso em que o conjunto de vectores tem cardinalidade superior a 1.

Teorema 5.1. Para todo o conjunto de vectores (naturalmente distintos) U = uj :1 ≤ j ≤ p de cardinalidade não inferior a 2 (p ≥ 2), ∃!ur ∈ U , tal que ur <LEX

uj ∀j ∈ 1, . . . , p \ r (ou seja, o mínimo lexicográfico de U existe e é único).

Demonstração. Sejam uj =

uj1

...uj

n

∈ R

n, para j = 1, . . . , p, os vectores do con-

junto U e J1 o conjunto de índices J1 = r : ur1 = minuj

1 : 1 ≤ j ≤ p, então∀r ∈ J1 ur <LEX uj ∀j ∈ 1, . . . , p \ J1. Se J1 é um conjunto singular, entãour = minlexuj : 1 ≤ j ≤ p e fica provado o que se pretendia. Caso contrário,determine-se a sequência de conjuntos de índices:

J2 = r : ur2 = minuj

2 : j ∈ J1,

J3 = r : ur3 = minuj

3 : j ∈ J2,

...

Jq = r : urq = minuj

q : j ∈ Jq−1,

até que Jq seja um conjunto singular. Note-se que, com esta construção, ∃q ≤ n talque Jq é um conjunto singular, caso contrário, com q = n, obter-se-iam pelo menosdois índices distintos r1, r2 ∈ Jp, para os quais ur1 = ur2 , o que contraria a hipótese.Logo Jq = r, ur = minlexuj : 1 ≤ j ≤ p e ur <LEX uj ∀j ∈ 1, . . . , p \ r.

A aplicação da regra lexicográfica pressupõe que a submatriz básica inicial, B1,seja tal que as linhas de [B−1

1 b,B−11 ] sejam lexicograficamente positivas (o que efecti-

vamente acontece se b ≥ 0 e B1 = I).Sendo Bs a submatriz básica corrente e yk = B−1

s ak a coluna escolhida para pivotal(e por conseguinte xk a variável escolhida para entrar para a base), a aplicação da regralexicográfica impõe que se escolha para linha pivotal (e por conseguinte para variávela abandonar a base) a linha correspondente ao mínimo lexicográfico

1

yrk

eTr [B−1

s b,B−1s ] = minlex

1

yik

eti[B

−1s b,B−1

s ] : 1 ≤ i ≤ m e yik > 0,

onde eTi denota o transposto do i-ésimo vector da base canónica de R

m (e, consequen-temente, eT

i [B−1s b,B−1

s ] denota a i-ésima linha da matriz [B−1s b,B−1

s ]).Note-se que, de acordo com Teorema 5.1, o mínimo lexicográfico das linhas da matriz[B−1

s b,B−1s ] existe e é único (porquê?).

Exemplo 5.2. Para ilustrar a aplicação da regra lexicográfica vamos voltar ao Exem-plo 5.1, em particular ao 1o quadro e, a partir dele, aplicar a regra lexicográfica.

Page 83: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

5.1 Regra lexicográfica 79

Solução. Aplicando a regra lexicográfica a partir do 1o quadro do Exemplo 5.1,obtém-se a sequência de quadros que a seguir se indica.

1.

x1

x5

x6

x7

1 0 00 1 00 0 1

001

1/4

1/2

00 0 0

︸ ︷︷ ︸

w1

0 3/4

onde 34

= maxz1 − c1 = 34, z2 − c2 = −20, z3 − c3 = 1

2, z4 − c4 = −6. A regra

lexicográfica conduz à determinação do pivot assinalado, uma vez que

1

y11eT1 [B−1

0 b,B−10 ] = [0, 4, 0, 0] e

1

y21eT2 [B−1

0 b,B−10 ] = [0, 0, 2, 0].

Consequentemente,

1

y21et2[B

−10 b,B−1

0 ] = [0, 0, 2, 0] = minlex1

yi1et

i[B−10 b,B−1

0 ] : 1 ≤ i ≤ 3 e yi1 > 0,

pelo que (de acordo com a regra lexicográfica) a 2a linha é a escolhida parapivotal.

2. Executando às operações de pivotação, obtém-se o 2o quadro

x3

x5

x1

x7

1 -1/2 00 2 00 0 1

001

−3/4−1

10 −3/2 0

︸ ︷︷ ︸

w2

0 5/4

onde 54

= maxz2 − c2 = −2, z3 − c3 = 54, z4 − c4 = −21

2, z6 − c6 = −3

2.

Novamente, a partir do quadro, vem que

1

yi3et

i[B−10 b,B−1

0 ] : 1 ≤ i ≤ 3 e yi1 > 0 = 1

y33et

i[B−11 b,B−1

1 ] = [1, 0, 0, 1],

donde se conclui que

1

y33et1[B

−11 b,B−1

1 ] = [1, 0, 0, 1] = minlex1

yi3et

i[B−11 b,B−1

1 ] : 1 ≤ i ≤ 3 e yi3 > 0,

e, consequentemente, que a linha escolhida para pivotal é a 3a.

3. Procedendo às correspondentes operações de pivotação, obtém-se o 3o quadro

x5

x1

x3

1 -1/2 3/40 2 10 0 1

3/411

0 −3/2 −5/4︸ ︷︷ ︸

w3

−5/4

Page 84: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

80 Estudo da Convergência do Método Simplex

a partir do qual se obtêm as condições de optimalidade w3A − cT ≤ 0. Comefeito,

z2 − c2 = −2, z4 − c4 =−21

2, z6 − c6 =

−3

2, z7 − c7 =

−5

4.

A aplicação da regra lexicográfica tem como pressuposto que os termos indepen-dentes são não negativos (b ≥ 0), que a matriz básica inicial é a matriz identidade,donde as linhas do quadro simplex inicial, [B−1

1 b,B−11 ] = [b, I ], são lexicograficamente

positivas, e ainda que esta propriedade se mantém invariante ao longo dos sucessivosquadros actualizados com recurso a esta regra.

No que se segue, dada uma matriz, C,

C >LEX 0 (C ≥LEX 0)

denota que as linhas de C são lexicograficamente positivas (não negativas).

Teorema 5.2. Se, no método simplex (ao longo das sucessivas actualizações dos qua-dros), a linha pivotal é a determinada pela regra lexicográfica, então

∀s ≥ 1, [B−1s b,B−1

s ] >LEX 0 ⇒ [B−1s+1b,B

−1s+1] >LEX 0

Demonstração. Suponha-se que [B−1s b,B−1

s ] >LEX 0, que yk = B−1s ak é a coluna

escolhida para pivotal (logo zk − ck = wsak − ck > 0), e ainda que (de acordo com aregra lexicográfica) se escolhe para linha pivotal a r-ésima linha. Então, o (s+1)-ésimoquadro vem dado por:

eTi [B−1

s+1b,B−1s+1] = [(B−1

s b)i −(B−1

s b)r

ysrk

ysik,

(B−1s )i1 −

(B−1s )r1

ysrk

ysik,

...

(B−1s )im −

(B−1s )rm

ysrk

ysik], para i 6= r (5.1)

e

eTr [B−1

s+1b,B−1s+1] = [

(B−1s b)r

ysrk

,(B−1

s )r1

ysrk

, . . . ,−(B−1

s )rm

ysrk

]. (5.2)

Consequentemente, dado que ysrk > 0 e [(B−1

s b)r, (B−1s )r1, . . . , (B

−1s )rm] >LEX 0,

de acordo com (5.2), vem que eTr [B−1

s+1b,B−1s+1] >LEX 0 e, para i 6= r, de acordo com

(5.1), vem que

eTi [B−1

s+1b,B−1s+1] = [(B−1

s b)i, (B−1s )i1, . . . , (B

−1s )im] −

−ys

ik

ysrk

[(B−1s b)r, (B

−1s )r1, . . . , (B

−1s )rm]. (5.3)

Page 85: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

5.1 Regra lexicográfica 81

Se ysik ≤ 0, então eT

i [B−1s+1b,B

−1s+1] >LEX 0 (uma vez que é a soma de uma linha

lexicograficamente positiva com uma linha lexicograficamente não negativa). Se ysik > 0

então, dado que

1

ysrk

[(B−1s b)r, (B

−1s )r1, . . . , (B

−1s )rm] = minlex

1

ysik

eTi [B−1

s b,B−1s ] : ys

ik > 0 e 1 ≤ i ≤ m,

obtém-se

1

ysrk

[(B−1s b)r, (B

−1s )r1

, . . . , (B−1s )rm ] <LEX

1

ysik

[(B−1s b)i, (B

−1s )i1, . . . , (B

−1s )im]

e, consequentemente,

ysik

ysrk

[(B−1s b)r, (B

−1s )r1, . . . , (B

−1s )rm] <LEX [(B−1

s b)i, (B−1s )i1, . . . , (B

−1s )im],

ou seja, eTi [B−1

s+1b, B−1s+1] >LEX 0.

Embora até, ao momento, tenhamos considerado apenas o método simplex revisto,a regra lexicográfica é imediatamente estendida aos quadros simplex reduzidos (oucompletos), bastando para isso identificar, em cada um deles, a inversa da matrizbásica corrente B−1

s , com vista à determinação do mínimo lexicográfico das linhas damatriz [B−1

s b,B−1s ].

No que diz respeito à convergência finita do método simplex com aplicação daregra lexicográfica, qualquer prova para o método simplex revisto é também válidapara o método simplex com a utilização do quadro reduzido (ou completo), uma vezque cada quadro associado ao método simplex revisto fica univocamente determinadopor um quadro reduzido (ou completo) e reciprocamente.

Teorema 5.3. O método simplex revisto, com a utilização da regra lexicográfica, con-verge, num número finito de quadros, para o quadro óptimo, se um tal quadro existir,ou para um quadro que determina uma direcção extrema favorável à função objectivo(ou seja, para um quadro que nos garante a inexistência de óptimo finito).

Demonstração. Uma vez que o número de bases distintas é finito, se as bases não serepetem, então o método converge, num número finito de quadros, para a base óptimaou para uma base, Bs, com a qual não é possível proceder a qualquer operação depivotação (i. e, para a qual existe uma coluna ak tal que zs

k−ck > 0 e B−1s ak ≤ 0), o que

equivale, neste último caso, a dizer que o problema não tem óptimo finito (porquê?).Assim, suponha-se que, apesar da aplicação da regra lexicográfica, se obtêm duas

bases Bs e Bs+q (com q ≥ 1) tais que Bs = Bs+q . Suponha-se ainda que, para o quadroassociado a Bs, se escolhe para coluna pivotal

[ys

k

zsk − ck

]

=

[B−1

s ak

cBsB−1s ak − ck

]

(pelo que zsk − ck > 0). Então, sendo 1

ysrk

[(B−1s b)r, (B

−1s )r1, . . . , (B

−1s )rm] o mínimo

lexicográfico dos vectores linha eTi

ysik

[B−1s b,B−1

s ] tais que i ∈ q : ysqk > 0 (logo a linha

pivotal), vem que

[ws+1b, ws+1] = [wsb, ws] −zs

k − ckys

rk

[(B−1s b)r, (B

−1s )r1, . . . , (B

−1s )rm],

Page 86: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

82 Estudo da Convergência do Método Simplex

e, tendo em conta que [(B−1s b)r, (B

−1s )r1, . . . , (B

−1s )rm] >LEX 0 e zs

k−ck

ysrk

> 0, podemos

concluir que

[ws+1b, ws+1] <LEX [wsb, ws] ⇔ [wsb, ws] − [ws+1b, ws+1] >LEX 0.

Como esta propriedade é invariante ∀s ≥ 1, obtém-se

[wsb, ws] − [ws+1b, ws+1] >LEX 0,[ws+1b, ws+1] − [ws+2b, ws+2] >LEX 0,

......

...[ws+q−1b, ws+q−1] − [ws+qb, ws+q] >LEX 0.

Dado que, por hipótese, [wsb, ws] = [ws+qb, ws+q]), adicionando todas as parcelas,obtém-se 0 >LEX 0, o que é absurdo.

5.2 Regra de Bland

A regra de Bland parte de uma ordem inicialmente estabelecida para as variáveis eadopta como critério de escolha da variável a entrar e a sair da base o menor índicede entre os das respectivas candidatas.

Exemplo 5.3. Vamos aplicar a regra de Bland na resolução do exemplo de Beale, apartir do quadro simplex revisto

x5

x6

x7

1 0 00 1 00 0 1

001

0 0 0 0

Solução. Segue-se a sequência de quadros que se obtêm quando a escolha da colunae da linha pivotal é feita de acordo com a regra de Bland.

1.

x1

x5

x6

x7

1 0 00 1 00 0 1

001

1/4

1/20

0 0 0︸ ︷︷ ︸

w1

0 3/4

2.

x2

x1

x6

x7

4 0 0-2 1 00 0 1

001

−32

40

−3 0 0︸ ︷︷ ︸

w2

0 4

3.

Page 87: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

5.2 Regra de Bland 83

x3

x1

x2

x7

-12 8 0-1/2 1/4 00 0 1

001

83/81

−1 −1 0︸ ︷︷ ︸

w3

0 2

4.

x4

x3

x2

x7

-3/2 1 01/16 -1/8 03/2 -1 1

001

−21/28

3/16

21/22 −3 0

︸ ︷︷ ︸

w4

0 3

5.

x1

x3

x4

x7

2 -6 01/3 -2/3 0-2 6 1

001

−5/2−1/4

5/2

1 −1 0︸ ︷︷ ︸

w5

0 1

6.

x6

x3

x4

x1

0 0 12/15 -1/15 1/10-4/5 12/5 2/5

11/102/5

0

2/15

−4/57/5 11/5 −1/5

︸ ︷︷ ︸

w6

-1/5 7/5

7.

x3

x5

x1

0 0 11 -1/2 3/40 2 1

13/4

10 −3/2 −5/4 -5/4

Note-se que ao longo dos sucessivos quadros, a escolha da coluna pivotal caiu sobre aprimeira coluna com coeficiente na linha de custos reduzidos positivo e a escolha dalinha pivotal caiu sobre a de menor índice de entre as candidatas. Note-se ainda queo último quadro obtido é o quadro óptima.

Da regra de Bland decorre uma propriedade de monotonicidade que implica a au-sência de bases repetidas. Informalmente, denotando-se o conjunto de índices básicose não básicos associados à s-ésima base, respectivamente, por JBs e JNs , esta propri-edade consiste na impossibilidade de um índice q ∈ JNs ∩ JBs+1

(o índice que entrapara a base Bs+1) sair da base sem que um índice p ∈ JNs , tal que p > q, seja básico.Mais formalmente, sendo q um índice tal que

q ∈ JNs ∩ JBs+1∩ . . . ∩ JBs+r

∩ JNs+r+1,

Page 88: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

84 Estudo da Convergência do Método Simplex

i.e., q entra na (s+ 1)-ésima e sai da (s+ r)-ésima base, então

q = max JNs ∩ JBs+1≤ max JNs ∩ JBs+2

≤ . . . ≤ maxJNs ∩ JBs+r+1= p,

com p > q. Deve observar-se que JNs ∩ JBs+1é um conjunto singular.

No Exemplo 5.3, pode evidenciar-se esta propriedade de monotonicidade, consi-derando a sequência dos pares de subconjuntos de índices, respectivamente, básicos enão básicos:

(JB1, JN1

) = (5, 6, 7, 1, 2, 3, 4) (JB2, JN2

) = (1, 6, 7, 2, 3, 4, 5)

(JB3, JN3

) = (1, 2, 7, 3, 4, 5, 6) (JB4, JN4

) = (2, 3, 7, 1, 4, 5, 6)

(JB5, JN5

) = (3, 4, 7, 1, 2, 5, 6) (JB6, JN6

) = (1, 3, 4, 2, 5, 6, 7)

(JB7, JN7

) = (1, 3, 5, 2, 4, 6, 7)

e comparando cada índice q ∈ JNs ∩ JBs+1∩ . . .∩ JBs+r

∩ JNs+r+1com o maior índice

de cada uma das intersecções JNs ∩JBs+1, . . . , JNs ∩JBs+r

e JNs ∩JBs+r+1, conforme

a seguir se explicita.

JN1∩ JB2

∩ JB3∩ JN4

∋ 1 ≤ 2 = maxJN1∩ JB3

≤ 3 = max JN1∩ JB4

;

JN2∩ JB3

∩ JB4∩ JN5

∋ 2 ≤ 3 = maxJN2∩ JB4

≤ 4 = max JN2∩ JB5

;

JN4∩ JB5

∩ JB6∩ JN7

∋ 4 ≤ 4 = maxJN4∩ JB6

≤ 5 = max JN4∩ JB7

.

Seguem-se dois teoremas onde se estabelece, respectivamente, no primeiro a propri-edade de monotonicidade exemplificada e que decorre da aplicação da regra de Blande no segundo a impossibilidade de, com esta regra, o método simplex entrar em ciclo.

Teorema 5.4. Seja Bs a base corrente (que se supõe degenerada) e sejam JBs e JNs ,respectivamente, os conjuntos de índices básicos e não básicos que lhe estão associa-dos. Se, com a aplicação da regra de Bland ao longo das actualizações dos quadrosassociados ao mesmo vértice (operações de pivotação degeneradas),

∃q ∈ JNs ∩ JBs+1∩ . . . ∩ JBs+r

∩ JNs+r+1,

com r ≥ 1, então ∃p > q tal que

q = max JNs ∩ JBs+1≤ . . . ≤ max JNs ∩ JBs+r

≤ max JNs ∩ JBs+r+1= p.

Demonstração. Uma vez que JNs ∩JBs+1= q e q ∈ JNs∩JBs+j

para 1 ≤ j ≤ s+r,conclui-se imediatamente que

q = max JNs ∩ JBs+1≤ max JNs ∩ JBs+2

≤ . . . ≤ max JNs ∩ JBs+r,

pelo que resta provar que ∃p > q tal que p ∈ JNs ∩ JBs+r+1.

Suponha que o problema a resolver é o programa linear PL(A, b, c) de minimizaçãona forma padrão (onde A = [a1 . . . an], bT = [b1, . . . , bm]T e cT = [c1, . . . , cn]) e que oquadro simplex completo associado a Bs é o que a seguir se indica, onde τ s

j = zsj − cj

para j = 1, . . . , n.

xBs Ys B−1s b

τ s1 . . . τ s

q . . . τ sn cBsB

−1s b

Page 89: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

5.2 Regra de Bland 85

Seja JNs = j1, . . . , q, . . . , jn−m, J1 = j ∈ JNs : j < q e J2 = j ∈ JNs : j > q(donde decorre que JNs = J1 ∪ q ∪ J2). Uma vez que, por hipótese, q é o índiceseleccionado para entrar para a base Bs+1, conclui-se que τ s

q > 0 e τ sj ≤ 0 ∀j ∈ J1.

Dado que

cTx = cBsxBs + cNsxNs

= cBsB−1s b+ (cNs − cBsB

−1s Ns)xNs

= cBsB−1s b+

j∈JNs

(cj − cBsB−1s aj)xj ,

o problema PL(A, b, c) é equivalente ao programa linear PL(A, b,−τ s) de minimizaçãona forma padrão, onde τ s = [τ s

1 , . . . , τsn], com τ s

j = cBsB−1s aj − cj para j = 1, . . . , n

1. Consequentemente τ sj ≤ 0 ∀j ∈ JBs ∪ J1 e, relativamente a Bs, o quadro simplex

completo, para PL(A, b,−τ s), vem dado por

xBs Ys B−1s b

τ ′s1 . . . τ ′

sq . . . τ ′

sn 0

onde τ ′sj = [0, . . . , 0]B−1s aj−(−τ s

j ). Logo τ ′sj = τ sj ∀j ∈ 1, . . . , n, concluindo-se assim

que os quadros, para ambos os problemas, são iguais e mantêm-se iguais ao longo dasrespectivas actualizações.

Suponha que a propriedade de monotonicidade enunciada não se verifica, i.e., quenão existe j ∈ JNs ∩ JBs+r+1

tal que j > q, o que é equivalente a afirmar que

j ∈ JNs ∩ JBs+r+1, ⇒ j ∈ J1. (5.4)

Seja k o índice que substitui q na base (i. e, k ∈ JNs+r∩ JBs+r+1

).

• Se k ∈ JNs , então, pela implicação (5.4), k ∈ J1.

• Se k 6∈ JNs então k ∈ JBs .

Em qualquer dos casos, τ sk ≤ 0. Consequentemente, tendo em conta que

τ ′s+rk = (−τ s)Bs+r

ys+rk − (−τ s

k) > 0 ⇔ (−τ s)Bs+rys+r

k > −τ sk ,

onde ys+rk = B−1

s+rak e (−τ s)Bs+ré o subvector de −τ s de componentes associadas

ao conjunto de índices básicos JBs+r, podemos concluir que (−τ s)Bs+r

ys+rk > 0. Logo

(denotanto por ys+rik a componente de ys+r

k associada a xi), dado que

(−τ s)Bs+rys+r

k =∑

i∈JBs+r

ys+rik (−τ s

i ) > 0

1Note-se que o problema PL(A, b,−τs) corresponde ao programa linearmin

∑nj=1 (−τs

j )xj : Ax = b, x ≥ 0, onde τsj = 0 ∀j ∈ JBs

e τsj = (zs

j − cj) ∀j ∈ JNs.

Page 90: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

86 Estudo da Convergência do Método Simplex

e ys+rqk (−τ s

q ) < 0 (uma vez que o “pivot” ys+rqk > 0 e τ s

q > 0), então ∃i ∈ JBs+r\ q tal

que ys+rik (−τ s

i ) > 0. Por outro lado, dado que, por hipótese, JBs ∪ J1 ∪ q ⊇ JBs+r2, vem que −τ s

j ≥ 0 ∀j ∈ JBs+r\ q e ainda que ys+r

ik > 0. Adicionalmente, tendoem conta que τ s

j = 0 ∀j ∈ JBs , conclui-se que i ∈ J1 e, consequentemente, que a i-ésima linha é candidata a pivotal (uma vez que na presença de operações de pivotaçãodegeneradas a variável xi entrou para a base, entre os quadros associados a Bs e aBs+r, com valor nulo). Mas esta conclusão é absurda, dado que os índices em J1 sãoinferiores a q e, de acordo com a regra de Bland, a linha escolhida para pivotal é a demenor índice de entre as candidatas.

Teorema 5.5. Em situações degeneradas, o método simplex, com a aplicação da regrade Bland, não produz bases repetidas.

Demonstração. Seja Bs uma base degenerada e suponha-se que, aplicando a regrade Bland, ∃r ≥ 2 tal que Bs = Bs+r

3. Então o método simplex entra em ciclo e todasas bases, entre Bs e Bs+r, se repetem. Com esta repetição de bases, seja q o maioríndice a entrar para base e suponha-se, sem perda de generalidade, que tal se verificapara Bs+1, i.e.,

q = JNs ∩ JBs+1.

Uma vez que as bases se repetem e, em particular, JBs = JBs+r, podemos concluir

que existe j < r tal que

q ∈ JNs ∩ JBs+1∩ . . . ∩ JBs+j

∩ JNs+j+1.

Consequentemente, de acordo com a propriedade de monotonicidade da regra de Bland,descrita no Teorema 5.4, vem que ∃p > q tal que

q = max JNs ∩ JBs+1≤ . . . ≤ max JNs ∩ JBs+j

≤ max JNs ∩ JBs+j+1= p,

o que contraria a hipótese de q ser o maior índice a entrar para a base.Embora a regra lexicográfica seja, do ponto de vista de implementação, computa-

cionalmente mais dispendiosa do que a regra de Bland, as experiências efectuadas têmrevelado que a sua utilização (em geral) é mais eficiente, no sentido em que, com ela,se obtém um menor número de quadros associados ao mesmo vértice.

5.3 Método das perturbações

Para finalizar este capítulo sobre a convergência do método simplex, vamos descre-ver o método das perturbações introduzido em (Charnes, 1952) o qual, embora sejaequivalente ao método lexicográfico 4, se apresenta (como usualmente) numa formadistinta. Com este método, supondo que a matriz básica inicial é a matriz identidadee que esta matriz ocupa as primeiras colunas do quadro simplex completo que lhecorresponde, sempre que exista mais que uma linha candidata a pivotal os termos in-dependentes são (perturbados) substituídos pelos polinómios em ǫ indicados no quadroa seguir (com bi = (B−1b)i, para 1 ≤ i ≤ m), onde ǫ denota uma quantidade positiva,suficientemente pequena, tal que ǫj < ǫi se j > i.

2Com efeito, q ∈ JBs+ré o índice que sai da base, k ∈ J1 ⊇ JBs

é o índice que entrapara JBs+r+1

e os restantes índices de JBs+r+1, que por hipótese pertencem a J1 ⊇ JBs

, sãoprecisamente os índices que em JBs+r

complementam q.3Deve observar-se que ∀s, Bs 6= Bs+1.4Uma ideia esquemática desta equivalência é dada em (Nash and Sofer, 1996) pag. 139-140.

Page 91: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

5.3 Método das perturbações 87

x1 xk xn

xB1y11 . . . y1k . . . y1n b1

......

......

......

...xBq yq1 . . . yqk . . . yqn bq

......

......

......

...xBm ym1 . . . ymk . . . ymn bm

z1 − c1 . . . zk − ck . . . zn − cn

x1 . . . xk . . . xn

xB1y11 . . . y1k . . . y1n b1 +

∑n

j=1 y1jǫj

......

......

......

...xBq yq1 . . . yqk . . . yqn bq +

∑n

j=1 yqjǫj

......

......

......

...xBm ym1 . . . ymk . . . ymn bm +

∑n

j=1 ymjǫj

z1 − c1 . . . zk − ck . . . zn − cn

Com a perturbação introduzida, no pressuposto de que a coluna pivotal é a k-ésima,tem-se a garantia de que o

min1≤i≤m

bi +

∑n

j=1 yijǫj

yik

: yik > 0

é único, deixando, nestas condições, de haver indecisão quanto à escolha da linha pivo-tal. Com efeito, suponha-se que existem duas linhas, a p-ésima e a q-ésima, candidatasa pivotal, i.e.,

bp +∑n

j=1 ypjǫj

ypk

=bq +

∑n

j=1 yqjǫj

yqk

,

donde vem quebpypk

−bqyqk

+n∑

j=1

(ypj

ypk

−yqj

yqk

)ǫj = 0.

Contudo, para que esta esta função polinomial em ǫ seja identicamente nula, é neces-sário que se verifiquem as igualdades bp

ypk−

bq

yqk= 0 e

ypj

ypk−

yqj

yqk= 0, para j = 1, . . . , n.

Tal, porém, é absurdo, dado que, sendo xjp e xjq as variáveis básicas associadas, res-pectivamente, à p-ésima e à q-ésima linha, da leitura do quadro decorrem as igualdades:

ypjp

ypk

−yqjp

yqk

=1

ypk

−0

yqk

ypjq

ypk

−yqjq

yqk

=0

ypk

−1

yqk

.

Segue-se um exemplo de aplicação do método das perturbações.

Page 92: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

88 Estudo da Convergência do Método Simplex

Exemplo 5.4. Vamos aplicar o método das perturbações na resolução do exemplo deBeale.

Solução. Tendo em conta o Exemplo 5.1 e considerando as variáveis que definem aidentidade posicionadas à esquerda (em sintonia com a regra lexicográfica), obtém-se o quadro simplex completo a seguir indicado, onde os termos independentes sãomodificados de acordo com o método das perturbações,

x5 x6 x7 x1 x2 x3 x4

x5 1 0 0 1/4 -8 -1 9 0 + ǫ + (1/4)ǫ4 − 8ǫ5 − ǫ6 + 9ǫ7

x6 0 1 0 1/2 -12 -1/2 3 0 + ǫ2 + (1/2)ǫ4 − 12ǫ5 − (1/2)ǫ6 + 3ǫ7

x7 0 0 1 0 0 1 0 1 + ǫ3 + ǫ6

0 0 0 3/4 -20 1/2 -6 0

e (a partir dele) os quadros:

x5 x6 x7 x1 x2 x3 x4

x5 1 -1/2 0 0 -2 -3/4 12 0x1 0 2 0 1 -24 -1 6 0

x7 0 0 1 0 0 1 0 10 -3/2 0 0 -2 5/4 -21/2 0

x5 x6 x7 x1 x2 x3 x4

x5 1 -1/2 3/4 0 -2 0 15/2 3/4x1 0 2 1 1 -24 0 6 1x3 0 0 1 0 0 1 0 1

0 -3/2 -5/4 0 -2 0 -21/2 -5/4

Um dos problemas não totalmente resolvidos associado às situações de dege-nerescência, diz respeito ao que se designa por “stalling”, que significa a ocorrên-cia de um número exponencial de operações de pivotação em função da dimensãodo problema (número de variáveis n e de restrições m) antes de se abandonar ovértice degenerado. Deve observar-se que o “staling” pode ocorrer mesmo com aaplicação da regra de Bland, conforme se prova em (Cunninghan, 1983).

Uma outra questão que ainda continua em aberto é a de saber se a regralexicográfica munida do critério de Dantzig para a escolha da coluna pivotal,admite ou impede o “stalling” em programas lineares gerais, uma vez que, nocaso de programas lineares com estrutura de rede (os quais serão abordadosna disciplina de Optimização em Redes e Não Linear) ficou provado em (Orlin,1985) que a regra lexicográfica munida do critério de Dantzig para a escolha dacoluna pivotal, previne a ocorrência de “stalling”.

Relativamente à existência de programas lineares de pequena dimensão sus-ceptíveis de provocarem a entrada em ciclo quando resolvidos pelo métodossimplex, em (Marshall and Suurballe, 1969) provou-se que o PL(A, b, c) de me-nor dimensão tem m = 2 e n = 6 e apresenta um ciclo de comprimento 6.

Page 93: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

5.4 Exercícios 89

5.4 Exercícios

Exercício 5.1. Considere o conjunto de vectores:

U = [0, 0, 1, 2, 3, 1], [0, 2, 3, 1, 4, 2], [1, 1, 1, 1, 0, 0], [1, 1, 1, 1, 0, 0].

1. Determine o mínimo lexicográfico do conjunto U .

2. Indique o vector ou vectores de U lexicograficamente positivos.

3. Escreva os vectores de U segundo uma ordem lexicograficamente crescente.

Exercício 5.2. Considerando que durante a aplicação do método simplex, comutilização da regra lexicográfica, à resolução de um dado programa linear deminimização na forma padrão, PL(A, b, c), se obtiveram os quadros simplexcompletos consecutivos:

xxB Y B−1b

cBB−1A− cT cBB

−1b

x

xB′ Y ′ B′−1b

cB′B′−1A− cT cB′B′−1

b

onde Y = B−1A e Y ′ = B′−1A, prove cada uma das afirmações:

1. Se [B−1b, Y ] >LEX 0, então [B′−1b, Y ′] >LEX 0 e [cB′B′−1

A − cT ] <LEX

[cBB−1A− cT ].

2. Se a condição descrita na alínea anterior se mantém, ao longo dos su-cessivos quadros simplex, então as matrizes básicas associadas são todasdistintas.

Exercício 5.3. A partir do quadro simplex reduzido, a seguir apresentado,

x1 x2 x3 x4

x5 0.5 -5.5 -2.5 9 0x6 0.5 -1.5 -0.5 1 0x7 1 0 0 0 1

10 -57 -9 -24

determine o quadro simplex óptimo (supondo que o problema é de minimização)

1. por aplicação da regra de Bland;

2. por aplicação da regra lexicográfica;

3. pele método das perturbações.

Page 94: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

90 Estudo da Convergência do Método Simplex

Exercício 5.4. A partir da resolução do Exercício 5.3-1, evidencie a proprie-dade de monotonicidade da regra de Bland enunciada no Teorema 5.4.

Exercício 5.5. Resolva o exemplo de Beale com a aplicação da regra lexicográ-fica.

Exercício 5.6. Se os sucessivos quadros simplex obtidos durante a resolução deum programa linear, produzem termos independentes distintos, prove ou refute(justificadamente) cada uma das seguintes conclusões:

1. então, nenhum dos quadros produz uma solução básica degenerada;

2. então, não existe a possibilidade do método simplex entrar em ciclo.

Exercício 5.7. Dado um programa linear de minimização (maximização) naforma padrão PL(A, b, c), prove que se este problema é consistente e c ≥ 0(c ≤ 0), i.e., se o conjunto de soluções admissíveis é não vazio e os coeficientesdo gradiente da função objectivo são todos não negativos (não positivos), entãoo problema não tem direcções extremas favoráveis à função objectivo.

Sugestão. Utilize uma técnica semelhante à adoptada na prova da propri-edade de monotonicidade da regra de Bland (Teorema 5.4), para demonstrar aimpossibilidade de existência de uma coluna candidata a pivotal cujas compo-nentes sejam (todas) não positivas. Para tal, tenha em conta que qualquer queseja a base B, sendo yj = B−1aj,

cByj − cj > 0 (cByj − cj < 0) ⇒ cByj > 0 (cByj < 0).

Exercício 5.8. Prove que, com a aplicação do método das perturbações, nãoexiste mais do que uma linha candidata a pivotal.

Exercício 5.9. Resolva o exemplo de Beale e o problema apresentado no Exer-cício 5.3 por aplicação do método das perturbações.

Exercício 5.10. Prove a equivalência entre a regra lexicográfica e o método dasperturbações.

Page 95: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

Capítulo 6

Algumas Variantes doMétodo Simplex

Em certas situações, a elevada dimensão do problema a resolver ou mesmo a suaestrutura particular, justificam que se introduzam algumas alterações tendo emvista aumentar a eficiência da aplicação do método simplex. Essas alteraçõesdão origem a diferentes versões, das quais vamos analisar as que se designam,respectivamente, por método simplex para variáveis limitadas e o método dedecomposição de Dantzig-Wolfe . Mais adiante, após a introdução da dualidadeem programação linear, ainda abordaremos os métodos dual simplex e primal-dual.

6.1 Método simplex para variáveis limitadas

Dado um programa linear de minimização na forma padrão, PL(A, b, c), no qualas condições de não negatividade das variáveis de decisão são substituídas pelasrestrições de caixa, l ≤ x ≤ u, ou seja, dado o programa linear:

min cTxs.a. Ax = b com A ∈ R

m×n,l ≤ x ≤ u,

onde l e u denotam n-uplos, respectivamente, de limites inferiores e de limitessuperiores para o n-uplo de variáveis, x, vamos designa-lo por programa linear deminimização na forma padrão, PL(A, b, c), com variáveis limitadas (ou restriçõesde caixa), l ≤ x ≤ u. A partir deste programa, fazendo y = x− l⇔ x = y + l eprocedendo à respectiva mudança de variáveis obtém-se

min cT y + cT ls.a. Ay = b−Al,

0 ≤ y ≤ u− 1.

Page 96: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

92 Algumas Variantes do Método Simplex

Introduzindo variáveis de desvio, nas restrições relativas aos limites superi-ores, o programa toma a forma:

min cT y + cT l

s.a.

[A 0In In

] [yys

]

=

[b−Alu− l

]

,

y, ys ≥ 0.

Com esta transformação, no entanto, aumenta-se o número de restrições dem para m+n e o número de variáveis de n para 2n, o que, para valores elevadosde n, não é muito recomendável. Por este motivo, desenvolveu-se uma variantedo método simplex para problemas com variáveis limitadas que não recorre aesta mudança de variáveis.

Dado o sistema de equações e inequações

Ax = bl ≤ x ≤ u

, uma solução x′ de

Ax = b diz-se básica, se a matriz A pode ser partida em [B,Nl, Nu], onde B éuma matriz quadrada invertível (r(B) = m) tal que, sendo

x′ =

x′Bx′N1

x′Nu

,

vem que x′Nl= lNl

, x′Nu= uNu

e x′B = B−1b−B−1NllNl−B−1NuuNu

.Adicionalmente, se lB ≤ x′B ≤ uB, então x′ diz-se uma solução básica

admissível. Nestas condições, a matriz B designa-se por base de trabalho,xB denota o m-uplo de variáveis básicas e xNl

e xNudenotam às variáveis não

básicas, respectivamente, nos seus limites inferiores e superiores. Sendo x′ umasolução básica admissível, se lB < x′B < uB, então x′ diz-se não degenerada,caso contrário diz-se degenerada .

Uma partição deA, [B,Nl, Nu], que corresponda a uma solução básica admis-sível, diz-se uma partição básica admissível. Denotando por JB , JNl

e JNu

os subconjuntos de índices, respectivamente, básicos, não básicos cujas variá-veis atingiram os limites inferiores e não básicos cujas variáveis atingiram oslimites superiores. Embora JB fique completamente determinado a partir doconhecimento de JNl

e JNu, vamos denotar uma partição básica admissível pelo

respectivo terno de subconjuntos (JB , JNl, JNu

).Duas partições básicas admissíveis, (J ′

B , J′Nl, J ′

Nu) e (J ′′

B , J′′Nl, J ′′

Nu), dizem-se

adjacentes se, passando de uma para outra todas as variáveis não básicas, comexcepção de uma, se mantêm não básicas e nos respectivos limites superiores einferiores. Mais formalmente, as partições básicas admissíveis (J ′

B, J′Nl, J ′

Nu) e

(J ′′B, J

′′Nl, J ′′

Nu) dizem-se adjacentes se |J ′

Nl∩J ′′

Nl|+|J ′

Nu∩J ′′

Nu| = |J ′

Nl|+|J ′

Nu|−1.

Seja A = [B,Nl, Nu], x =

xB

xN1

xNu

, cT = [cB, cNl, cNu

], b o m-uplo de

componentes básicas xB e ζ o valor corrente da função objectivo cTx. Então

Page 97: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

6.1 Método simplex para variáveis limitadas 93

vem que

b = B−1b−B−1NxN

= B−1b−B−1NlxNl−B−1NuxNu

,

ζ = cB(B−1b−B−1NxN ) + cNxN

= cB(B−1b−B−1NlxNl−B−1NuxNu

) + cNlxNl

+ cNuxNu

= cBB−1b − (cBB

−1Nl − cNl)xNl

− (cBB−1Nu − cNu

)xNu,

onde N = [Nl, Nu] e xN =

[xNl

xNu

]

. Nestas condições, o quadro simplex toma

o aspecto:

xNlxNu

xB B−1Nl B−1Nu b

cBB−1Nl − cNl

cBB−1Nu − cNu

ζ

• Tendo em conta que ζ = cBB−1b−

j∈JN1

(zj − cj)xj−∑

j∈JNu(zj − cj)xj ,

podemos concluir o seguinte:

– Se ∃j ∈ JNltal que zj−cj > 0, então um aumento de xj (xj = lj+∆j ,

com ∆j > o) beneficia a função objectivo.

– Se ∃j ∈ JNutal que zj − cj < 0, então a diminuição de xj (xj =

lj −∆j , com ∆j > o) beneficia a função objectivo.

Assim, a escolha da k-ésima coluna para coluna pivotal pode fazer-se, poraplicação do critério de Dantzig, a partir da determinação de

δk = maxmaxj∈JNl

(zj − cj), maxj∈JNu

−(zj − cj).

Se δk ≤ 0, então concluí-se que a solução básica corrente é óptima (a provadesta afirmação é proposta no Exercício 6.2, no final deste capítulo). Casocontrário, k é o índice de uma variável não básica candidata a entrar paraa base.

• Suponha-se que a solução básica corrente é a determinada pela partiçãobásica admissível (JB, JNl

, JNu) e que a k-ésima coluna é candidata a

pivotal. Então ocorre uma das situações:

1. A variável candidata a entrar para a base está no seu limite inferior(xk = lk).

2. A variável candidata a entrar para a base está no seu limite superior(xk = uk).

Vamos analisar cada um destes casos, considerando JN = JNl∪ JNu

.

Page 98: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

94 Algumas Variantes do Método Simplex

1. Supondo que o índice k é tal que xk = lk, pelo que zk − ck > 0,fazendo xk = lk + ∆k, com ∆k > 0, vem que

ζ ← cBB−1b−

j∈JN\k

(zj − cj)xj − (zk − ck)(lk + ∆k)

= cBB−1b−

j∈Nl

(zj − cj)lj −∑

j∈Nu

(zj − cj)uj − (zk − ck)∆k

= ζ − (zk − ck)∆k.

As restantes variáveis não básicas (com índice distinto de k) perma-necem com os mesmos valores e as básicas são actualizadas conformese indica:

xB ← B−1b−∑

j∈JN\k

xjB−1aj − (lk + ∆k)B−1ak

= B−1b−∑

j∈JNl

ljB−1aj −

j∈JNu

ujB−1aj −∆kB

−1ak

= b−∆kyk,

onde yk = B−1ak e b = B−1b−∑

j∈JNl

ljB−1aj −

j∈JNuujB

−1aj .De modo a garantir a admissibilidade da nova solução, i.e., de modoa garantir as desigualdades lk ≤ lk + ∆k ≤ uk e lB ≤ b − ∆kyk ≤uB (onde lB e uB denotam os m-uplos dos limites, respectivamente,inferiores e superiores associados às variáveis básicas correntes), aescolha de ∆k deve satisfazer as desigualdades:

0 ≤ ∆k ≤ uk − lk,

e ∀i ∈ 1, . . . ,m,

(lB)i ≤ bi −∆kyik ≤ (uB)i ⇔

∆k ≤bi−(lB)i

yikse yik > 0

∆k ≤(uB)i−bi

−yikse yik < 0

,

onde (lB)i e (uB)i denotam a i-ésima componente do m-uplo de li-mites, respectivamente, inferiores e superiores das variáveis básicas.Assim, o valor mais favorável para ∆k vem dada pelo ínfimo do con-junto

bi − (lB)i

yik

: 1 ≤ i ≤ m, yik > 0∪(uB)i − bi

−yik

: 1 ≤ i ≤ m, yik < 0∪uk−lk,

o qual, no caso de não existirem limites superiores para determina-das variáveis, pode tomar valores arbitrariamente grandes e, em talsituação, diz-se que ∆k =∞.

2. Supondo que o índice k é tal que xk = uk, pelo que zk − ck < 0,

Page 99: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

6.1 Método simplex para variáveis limitadas 95

fazendo xk = uk −∆k, com ∆k > 0, vem que

ζ ← cBB−1b−

j∈JN\k

(zj − cj)xj − (zk − ck)(uk −∆k)

= cBB−1b−

j∈Nl

(zj − cj)lj −∑

j∈Nu

(zj − cj)uj + (zk − ck)∆k

= ζ + (zk − ck)∆k.

As restantes variáveis não básicas (com índice distinto de k) perma-necem com os mesmos valores e as básicas são actualizadas conformese indica:

xB ← B−1b−∑

j∈JN\k

xjB−1aj − (uk −∆k)B−1ak

= B−1b−∑

j∈JNl

ljB−1aj −

j∈JNu

ujB−1aj + ∆kB

−1ak

= b+ ∆kyk,

onde yk = B−1ak e b = B−1b−∑

j∈JNl

ljB−1aj −

j∈JNuujB

−1aj .De modo a garantir a admissibilidade da nova solução, i.e., de modoa garantir as desigualdades lk ≤ uk−∆k ≤ uk e lB ≤ b+∆kyk ≤ uB,a escolha de ∆k deve satisfazer as desigualdades:

0 ≤ ∆k ≤ uk − lk,

e ∀i ∈ 1, . . . ,m,

(lB)i ≤ bi + ∆kyik ≤ (uB)i ⇔

∆k ≤bi−(lB)i

−yikse yik < 0

∆k ≤(uB)i−bi

yikse yik > 0

.

Logo, o valor mais favorável para ∆k vem dado pelo ínfimo do con-junto

bi − (lB)i

−yik

: 1 ≤ i ≤ m, yik < 0∪(uB)i − bi

yik

: 1 ≤ i ≤ m, yik > 0∪uk−lk,

o qual, no caso de não existirem limites superiores para determina-das variáveis, pode tomar valores arbitrariamente grandes e, em talsituação, diz-se que ∆k =∞.

• Mais geralmente (para 1 e 2), considerando a aplicação

σ : JN 7→ 1,−1

k σ(k) =

1 se k ∈ JNl

−1 se k ∈ JNu

,

e denotando por Ω(JNl, JNu

, yk) o conjunto

bi − (lB)i

σ(k)yik

: 1 ≤ i ≤ m, σ(k)yik > 0∪(uB)i − bi

−σ(k)yik

: 1 ≤ i ≤ m, σ(k)yik < 0∪uk−lk,

Page 100: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

96 Algumas Variantes do Método Simplex

vem que∆k = inf Ω(JNl

, JNu, yk).

– Se ∆k =∞, então o valor óptimo não é finito.

– Se ∆k = uk − lk < ∞, então a variável xk mantém-se não bá-sica, mudando apenas de um dos subconjuntos não básicos para ooutro. Como consequência, no quadro simplex, tanto B−1N comocBB

−1N − cN permanecem inalteráveis. Porém, xk, o m-uplo de va-riáveis básicas xB e ζ, devem ser actualizados conforme se indica:

xk ← xk + σ(k)∆k (6.1)

xB ← xB − σ(k)∆kyk (6.2)

ζ ← ζ − σ(k)∆k(zk − ck) (6.3)

– Se ∆k =bq−(lB)q

σ(k)yqkou ∆k =

(uB)q−bq

−σ(k)yqk, então o quadro simplex deve ser

actualizado através das operações de pivotação, considerando comopivôt yqk. No entanto, a actualização de xk, a actualização das com-ponentes básicas da solução básica corrente e a actualização do valorda função objectivo, deve continuar a fazer-se de acordo com (6.1),(6.2) e (6.3).

• A determinação da solução básica admissível inicial pode fazer-se recor-rendo ao método das duas fases ou ao método do “big-M”, atribuindo àsvariáveis originais (por exemplo) os respectivos limites inferiores e intro-duzindo variáveis artificiais com os valores obtidos para os termos inde-pendentes, depois de multiplicar por -1 as equações em que os termosindependentes aparecem com valor negativo.

Exemplo 6.1. Vamos resolver o programa linear a seguir indicado, por aplica-ção do método simplex para problemas com variáveis limitadas.

min −2x1 − 4x2 − x3

s. a 2x1 + x2 + x3 ≤ 10,x1 + x2 − x3 ≤ 4,

0 ≤ x1 ≤ 4,0 ≤ x2 ≤ 6,1 ≤ x3 ≤ 4.

Solução. Introduzindo as variáveis de desvio, x4 e x5 (cujos limites inferior e su-perior são 0 e ∞, respectivamente), considerando estas variáveis como variáveisbásicas e fazendo x1 = x2 = 0 e x3 = 1, obtém-se a solução básica admissívelinicial, x4 = 10 − 2x1 − x2 − x3 = 9 e x5 = 4 − x1 − x2 + x3 = 5 e o quadrosimplex

l l lx1 x2 x3

x4 2 1 1 9x5 1 1 -1 5

2 4 1 -1

Page 101: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

6.1 Método simplex para variáveis limitadas 97

no qual, as etiquetas l denotam que as correspondentes variáveis não básicastêm como valores correntes os limites inferiores (mais adiante, as variáveis nãobásicas com valores iguais aos limites superiores serão etiquetadas com u).

1. maxj∈Nl(zj − cj) = max2, 4, 1 = 4 = z2 − c2,

l l lx1 x2 x3 y2

x4 2 1 1 9 1x5 1 1 -1 5 1

2 4 1 -1 4

Ω(JNl, JNu

, y2) = Ω(1, 2, 3, ∅, y2)

= b1 − l4σ(2)y12

,b2 − l5σ(2)y22

∪ ∅ ∪ u2 − l2

= 9− 0

1,5− 0

1, 6− 0.

Uma vez que ∆2 = inf Ω(JNl, JNu

, y2) = inf9, 5, 6 = 5, a segunda linhado quadro é a pivotal e obtêm-se as actualizações:

x2 ← l2 + ∆2 = 0 + 5 = 5;[x4

x5

]

← b−∆2y2 =

[95

]

− 5

[11

]

=

[40

]

;

ζ ← ζ −∆2(z2 − c2) = −1− 5× 4 = −21;

l l lx1 x5 x3

x4 1 -1 2 4x2 1 1 -1 5

-2 -4 5 -21

2. maxj∈Nl(zj − cj) = max−2,−4, 5 = 5 = z3 − c3,

l l lx1 x5 x3 y3

x4 1 -1 2 4 2x2 1 1 -1 5 -1

-2 -4 5 -21 5

Ω(JNl, JNu

, y3) = Ω(1, 5, 3, ∅, y3)

= b1 − l4σ(3)y13

∪ u2 − b2−σ(3)y23

∪ u3 − l3

= 4− 0

2,6− 5

1, 4− 1.

Page 102: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

98 Algumas Variantes do Método Simplex

Uma vez que ∆3 = inf Ω(JNl, JNu

, y3) = inf2, 1, 3 = 1, a segunda linhado quadro é a pivotal e obtêm-se as actualizações:

x3 ← l3 + ∆3 = 1 + 1 = 2;[x4

x2

]

← b−∆3y3 =

[45

]

[2−1

]

=

[26

]

;

ζ ← ζ −∆3(z3 − c3) = −21− 1× 5 = −26;

l l ux1 x5 x2

x4 3 1 2 2x3 -1 -1 -1 2

3 1 5 -26

3. max maxj∈Nl(zj−cj),maxj∈Nu

−(zj−cj) = max3,−5 = 3 = z1−c1,

l l ux1 x5 x2 y1

x4 3 1 2 2 3x3 -1 -1 -1 2 -1

3 1 5 -26 3

Ω(JNl, JNu

, y1) = Ω(1, 5, 2, y1)

= b1 − l4σ(1)y11

∪ u3 − b2−σ(1)y21

∪ u1 − l1

= 2− 0

3,4− 2

1, 4− 0.

Uma vez que ∆1 = inf Ω(JNl, JNu

, y1) = inf 23 , 2, 4 = 2

3 , a primeira linhado quadro é a pivotal e obtêm-se as actualizações:

x1 ← l1 + ∆1 = 0 +2

3=

2

3;

[x4

x3

]

← b−∆1y1 =

[22

]

−2

3

[3−1

]

=

[083

]

;

ζ ← ζ −∆1(z1 − c1) = −26−2

3× 3 = −28;

l l ux4 x5 x2

x113

13

23

23

x3 − 23 − 2

3 − 13

83

-1 0 3 -28

Page 103: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

6.2 Método de decomposição de Dantzig-Wolfe 99

4. max maxj∈Nl(zj − cj),maxj∈Nu

−(zj − cj) = max0,−3 = 0.Nestas condições, a solução básica admissível corrente é óptima. Porém,uma vez que z5 − c5 = 0, existe uma solução óptima alternativa que podeser determinada escolhendo y5 para coluna pivotal. Tendo em vista a suadeterminação, procedendo como anteriormente, vem que

l l ux4 x5 x2 y5

x113

13

23

23

13

x313 − 2

3 − 13

83 − 2

31 0 3 -28 0

Ω(JNl, JNu

, y5) = Ω(4, 5, 2, y5)

= b1 − l1y15

∪ u3 − b2−y25

∪ u5 − l5

= 23 − 0

13

,4− 8

323

,∞− 0.

Uma vez que ∆5 = inf Ω(JNl, JNu

, y5) = inf2, 2,∞ = 2 e este ínfimonão é único, 1 escolhe-se (por exemplo) a primeira linha para pivotal eobtêm-se as actualizações:

x5 ← l5 + ∆5 = 0 + 2 = 2;[x1

x3

]

← b −∆5y5 =

[2383

]

− 2

[13− 2

3

]

=

[04

]

;

ζ ← ζ −∆5(z5 − c5) = −28− 2× 0 = −28.

6.2 Método de decomposição de Dantzig-Wolfe

Para ilustrar o método de decomposição de Dantzig-Wolfe, ao longo desta secção,vamos considerar o programa linear PL(A, b, c) de minimização:

min cTxs.a. Ax = b,

x ∈ X,

onde X é um conjunto poliédrico definido à custa de restrições com determinadaestrutura. Pelo teorema da representação (Teorema 2.5), sendo x1, . . . , xp os

1Devido à situação de empate existente na escolha da linha pivotal, a solução básica obtidaé degenerada (com x1 e x3 a atingirem os respectivos limites, inferior e superior).

Page 104: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

100 Algumas Variantes do Método Simplex

pontos extremos de X e sendo d1, . . . , dq as respectivas direcções extremas,∀x ∈ X, ∃λ1, . . . , λp ≥ 0, com

∑p

j=1 λj = 1, e ∃µ1, . . . , µq ≥ 0 tais que

x =

p∑

j=1

λjxj +

q∑

i=1

µidi.

Nestas condições o programa linear PL(A, b, c) pode reescrever-se do se-guinte modo:

min∑p

j=1 λjcTxj +

∑qi=1 µic

tdi

s. a∑p

j=1 λjAxj +

∑qi=1 µiAd

i = b,∑p

j=1 λj = 1,

λ1, . . . , λp, µ1, . . . , µq ≥ 0.

Assim, fazendo

A =

[Ax1 . . . Axp Ad1 . . . Adp

1 . . . 1 0 . . . 0

]

,

b =

[b1

]

,

cT = [cTx1, . . . , cTxp, cTd1, . . . , cTdq],

obtém-se o programa linear de minimização na forma padrão PL(A, b, c), oqual designamos por problema principal de modo a distingui-lo de um outroproblema, a introduzir mais adiante, que se designará por problema auxiliar.

Aplicando a PL(A, b, c) o método simplex revisto, para uma dada solução

básica admissível,

[λB

µB

]

, à qual está associada a matriz básica B, obtém-se o

quadro

λB

µB

B−1 B−1b

[w,α] ζ

onde [w,α] = cBB−1 e ζ = cBB

−1b = wb+ α.A determinação dos coeficientes da linha de custos reduzidos vem dada por:

zj − cj = [w,α]

[Axj

1

]

− cTxj = (wA − cT )xj + α, para j = 1, . . . , p,

zp+i − cp+i = [w,α]

[Adi

0

]

− cT di = (wA − cT )di, para i = 1, . . . , q.

Porém, tendo em conta o facto de, usualmente, desconhecermos a genera-lidade, quer dos pontos extremos, quer das direcções extremas de X (quando

Page 105: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

6.2 Método de decomposição de Dantzig-Wolfe 101

existem), a determinação (ou verificação da não existência) de uma coluna deA associada a um coeficiente positivo na linha de custos reduzidos será feitaatravés da resolução do seguinte problema auxiliar:

max(wA − cT )x : x ∈ X. (6.4)

No caso deste problema auxiliar ser ilimitado, então tal significa que existe dk−p

(direcção extrema de X) tal que (wA − cT )dk−p > 0. Logo, escolhendo µk−p

como variável candidata a entrar para a base, a coluna candidata a pivotal(associada à k-ésima coluna de A) e o correspondente coeficiente da linha decustos reduzidos vêm dados por

yk = B−1

[Adk−p

0

]

e zk − ck = (wA − cT )dk−p,

respectivamente (se yk ≤ 0, então podemos concluir que o problema originalnão tem óptimo finito).

No caso do problema auxiliar produzir uma solução básica óptima xk, verifi-ca-se uma das situações:

1. (wA − cT )xk + α > 0.

2. (wA − cT )xk + α ≤ 0.

Vamos analisar cada um destes casos.

1. Se (wA − cT )xk + α > 0, então escolhendo λk como variável candidataa entrar para a base, a coluna candidata a pivotal e o correspondentecoeficiente da linha de custos reduzidos vêm dados por

yk = B−1

[Axk

1

]

e zk − ck = (wA − cT )xk + α,

respectivamente (mais uma vez, se yk ≤ 0, então podemos concluir que oproblema original não tem óptimo finito).

2. Se (wA− cT )xk + α ≤ 0, então

(wA− cT )x+ α ≤ (wA − cT )xk + α ≤ 0 ∀x ∈ X,

ou seja, zj − cj ≤ 0 ∀j ∈ 1, . . . , p + q, donde podemos concluir que asolução básica corrente é óptima. Consequentemente, em tais condições,

se λB =

λ1

...λr

e µB =

µ1

...µs

, então

x∗ =

r∑

j=1

λjxj +

s∑

i=1

µidi

constitui uma solução óptima para o problema original.

Page 106: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

102 Algumas Variantes do Método Simplex

A determinação de uma base admissível inicial, para o problema principal,pode fazer-se à custa do conhecimento de um ponto extremo de X , x1 (de modoa caonsiderar-se λ1 = 1 como componente básica) e da introdução de variáveisde desvio (no caso das restrições serem da forma

∑p

j=1 λjAxj +

∑q

i=1 µiAdi ≤ b

com b ≥ 0) ou artificiais (no caso contrário). Com efeito, supondo (sem perda degeneralidade) que b ≥ 0, modificando o problema principal, conforme se indica:

min∑p

j=1 λjcTxj +

∑q

i=1 µicTdi

s. a∑m

k=1 skek +∑p

j=1 λjAxj +

∑q

i=1 µiAdi = b,

∑p

j=1 λj = 1,

s1, . . . , sm, λ1, . . . , λp, µ1, . . . , µq ≥ 0,

onde ek denota o k-ésimo vector da base canónica de Rm+1, obtém-se B =

1 0 . . . 0 (Ax1)10 1 . . . 0 (Ax1)2...

.... . .

......

0 0 . . . 1 (Ax1)m

0 0 . . . 0 1

, o (m+ 1)-uplo de variáveis básicas

s1s2...sm

λ1

, b =

B−1

[b1

]

e [w,α] = cTBB−1 = [0, . . . , 0, cTx1]B−1.

Note-se que sendo B =

[I Ax1

0 1

]

, vem que B−1 =

[I −Ax1

0 1

]

.

6.2.1 Determinação de um minorante para o problema

principal

No caso do problema auxiliar ter óptimo finito, a sua resolução permite-nos adeterminação de um minorante para a função objectivo do problema principal.Com efeito, sendo xk a solução óptima para o problema auxiliar, conclui-se que

zk − ck = max(wA − cT )x : x ∈ X+ α,

e ainda que

(wA− cT )x + α ≤ (wA− cT )xk + α = zk − ck

m

wAx − cTx+ α ≤ zk − ck. (6.5)

Consequentemente, sendo x uma solução admissível arbitrária para o problemaprincipal, i.e., sendo x tal que Ax = b e x ∈ X , da desigualdade (6.5) vem que

Page 107: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

6.2 Método de decomposição de Dantzig-Wolfe 103

wb− cTx+ α ≤ zk − ck, ou seja,

cTx ≥ wb+ α− (zk − ck)

= [w,α]

[b1

]

− (zk − ck)

= cTBB−1

[b1

]

− (zk − ck)

= ζ − (zk − ck).

Dado que esta desigualdade é verdadeira para todo o x ∈ X tal que Ax = b,podemos concluir que

mincTx : Ax = b, x ∈ X ≥ ζ − (zk − ck),

ou seja, que wb+ α− (zk − ck) constitui um minorante para o valor óptimo doproblema principal. Porém, deve observar-se que ao longo das sucessivas actuali-zações do quadro, os minorantes que se vão obtendo não têm (necessariamente)um comportamento monotonamente crescente, pelo que, durante este processo,deveremos guardar o melhor (maior) dos até então determinados.

No caso de aplicação do método de decomposição de Dantzig-Wolfe a pro-blemas de maximização, com as modificações adequadas, a determinação de ummajorante para o valor óptimo da função objectivo do problema original segueum procedimento semelhante ao anteriormente descrito.

6.2.2 Descrição algorítmica

Estamos agora em condições de proceder à descrição algorítmica do método dedecomposição de Dantzig-Wolfe.

• Algoritmo para o método de decomposição de Danztig-Wolfe aplicado aproblemas de minimização.

1. Determinar uma solução básica admissível inicial para o problemaprincipal, a correspondente base B e o quadro do método simplexrevisto que lhe está associado:

sB

λB

B−1 B−1b

[w,α] ζ

2. Resolver o problema auxiliar max(wA− cT )x : x ∈ X.

(a) Se este problema tem óptimo finito e xk é a solução básica óp-

tima encontrada, então escolher yk = B−1

[Axk

1

]

para coluna

candidata a pivotal, fazer zk− ck = (wA− cT )xk +α e continuarpara o passo 3;

Page 108: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

104 Algumas Variantes do Método Simplex

(b) Se este problema não tem óptimo finito e dk é uma direcçãoextrema de X tal que (wA − cT )dk > 0, então escolher yk =

B−1

[Adk

0

]

para coluna candidata a pivotal, fazer zk − ck =

(wA − cT )dk e continuar para o passo 3;

3. Se zk − ck ≤ 0, então STOP a solução corrente é óptima, casocontrário continuar para o passo 4;

4. Se yk ≤ 0, então STOP o problema não tem óptimo finito, casocontrário proceder à respectiva actualização do quadro e voltar aopasso 2;

• Fim do algoritmo.

Este algoritmo facilmente se adapta (com pequenas alterações) a casos deaplicação do método de decomposição de Dantzig-Wolfe a problemas de maxi-mização.

Exemplo 6.2. Vamos resolver o programa linear a seguir indicado, por aplica-ção do método de decomposição de Dantzig-Wolfe.

min −x1 − 2x2 − x3

s. a x1 + x2 + x3 ≤ 12,−x1 + x2 ≤ 2,−x1 + 2x2 ≤ 8,

x3 ≤ 3,x1, x2, x3 ≥ 0.

Solução. Identificando-se a primeira restrição por Ax ≤ b e assumindo-se queas restantes definem a região X , obtém-se o problema na forma:

min∑p

j=1 λjcTxj +

∑q

i=1 µicT di

s. a s +∑p

j=1 λjAxj +

∑q

i=1 µiAdi = b,

∑pj=1 λj = 1,

λ1, . . . , λp, µ1, . . . , µq ≥ 0,

onde cT = [−1,−2,−1], A = [1, 1, 1] e os xjs e os dis denotam os pontos extre-

mos e direcções extremas de X , respectivamente. Uma vez que x1 =

000

∈ X

e Ax1 ≤ 12, introduzindo uma variável de desvio, s, de modo a obter-se s+Ax1 =

12, podemos considerar para solução básica admissível inicial

[sλ1

]

=

[121

]

,

cuja base associada é a matriz identidade e o vector [w,α] associado é o vectornulo. Consequentemente, obtém-se o quadro simplex revisto

sλ1

1 00 1

121

0 0 0

Page 109: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

6.2 Método de decomposição de Dantzig-Wolfe 105

a partir do qual se determina a sequência de problemas auxiliares e consequentesactualizações de quadros simplex revistos que se descreve.

1. O problema auxiliar max(wA− cT )x : x ∈ X, ou seja,

max x1 + 2x2 + x3

s. a −x1 + x2 ≤ 2,−x1 + 2x2 ≤ 8,

x3 ≤ 3,x1, x2, x3, ≥ 0,

decompõe-se em dois subproblemas (um associado a (x1, x2) e outro as-sociado a x3). Uma vez que a solução óptima do problema associado a x3

é x∗3 = 3, vamos resolver, apenas, o problema associado a (x1, x2), como qual, denotando as variáveis de folga por y1 e y2, se obtém a seguintesequência de quadros reduzidos do método simplex:

(a)

x1 x2

y1 -1 1 2y2 -1 2 8

-1 -2 0

(b)

x1 y1x2 -1 1 2y2 1 -2 4

-3 2 4

(c)

y2 y1x2 1 -1 6x1 1 -2 4

3 -4 16

A partir do último quadro, verifica-se que o problema auxiliar não tem

óptimo finito e determina-se a direcção d1 =

[21

]

, a qual, em X (espaço

dos ternos (x1, x2, x3)) corresponde à direcção d1 =

210

e é tal que

(wA − cT )d1 = [1, 2, 1]

210

= 4

Page 110: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

106 Algumas Variantes do Método Simplex

Como consequência, a variável µ1 é candidata a entrar para a base e, parao problema principal, vem que

z1 − c1 = 4,

Ad1 = [1, 1, 1]

210

= 3,

yp+1 = B−1

[Ad1

0

]

=

[1 00 1

] [30

]

=

[30

]

.

Assim, executando as correspondentes operações de pivotação, obtém-se

µ1

s 1 0 12 3 µ113 0 4

λ1 0 1 1 0 → λ1 0 1 10 0 0 4 − 4

3 0 -16

2. Do último quadro simplex revisto para o problema principal decorre que[w,α] = [− 4

3 , 0] 2 e que o gradiente da função objectivo do problemaauxiliar é

wA− cT = [−4

3+ 1,−

4

3+ 2,−

4

3+ 1] = [−

1

3,2

3,−

1

3],

pelo que o problema auxiliar max(wA − cT )x + α : x ∈ X toma oaspecto:

max − 13x1 + 2

3x2 − 13x3

s. a −x1 + x2 ≤ 2,−x1 + 2x2 ≤ 8,

x3 ≤ 3,x1, x2, x3, ≥ 0,

Uma vez que o valor óptimo para x3 vem dado por x∗3 = 0, resta-nos re-solver o problema em relação às variáveis (x1, x2). Para a resolução desteproblema, o quadro simplex inicial pode ser obtido a partir do último qua-dro encontrado durante a resolução do problema auxiliar anterior, depoisde devidamente adaptado para o gradiente da nova função objectivo.

y2 y1x2 1 -1 6x1 1 -2 4

13 0 8

3

2Neste caso, uma vez que w < 0, a variável s, que não é considerada no problema auxiliar,

não é candidata a entrar para a base, dado que zs−cs = cBB−1as−cs = [w,α]

[10

]

−0 = w.

Porém, nos casos em que se obtém, pelo menos um coeficiente de w positivo, deve ter-se emconta que a correspondente variável de desvio é candidata a entrar para a base.

Page 111: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

6.2 Método de decomposição de Dantzig-Wolfe 107

Da análise deste quadro verifica-se que a solução que lhe está associada éóptima (embora não seja única). Logo, uma solução óptima para o pro-

blema auxiliar vem dada por x2 =

460

. Por outro lado,

ζ − (z2 − c2) = −16−8

3= −

56

3

constitui um minorante para o valor óptimo do problema principal.

Voltando ao problema principal, sabendo que

z2 − c2 =8

3,

Ax2 = [1, 1, 1]

460

= 10,

y2 = B−1

[Ax2

1

]

=

[13 00 1

] [101

]

=

[1031

]

,

actualizando o quadro simplex revisto do problema principal, obtém-se

λ2

µ113 0 4 10

3 µ113 − 10

323

λ1 0 1 1 1 → λ2 0 1 1− 4

3 0 -16 83 − 4

3 − 83 − 56

3

Uma vez que o minorante, anteriormente determinado, coincide com ovalor que a função objectivo do problema principal toma para a soluçãoadmissível corrente, podemos concluir que ela é óptima.

Logo, a solução óptima do problema original vem dada por

x∗ = λ2x2 + µ1d

1 ⇔ x∗ =

460

+2

3

210

=

1632030

.

Page 112: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

108 Algumas Variantes do Método Simplex

6.3 Exercícios

Exercício 6.1. Considere o programa linear

max x1 + x2 + 3x3

s. a x1 + x2 + x3 ≤ 12,x1 + 2x2 ≤ 5,

x2 + x3 ≤ 5,x1, x2, x3 ≥ 0.

e resolva-o aplicando o método simplex para variáveis limitadas.

Exercício 6.2. Dado um programa linear de minimização, PL(A, b, c), comas restrições de caixa l ≤ x ≤ u, prove que uma partição básica admissível(JB, JNl

, JNu) define uma solução óptima se

maxmaxj∈JNl

(zj − cj), maxj∈JNu

(zj − cj) ≤ 0.

Exercício 6.3. Considere uma partição básica admissível, (J0B, J

0Nl, J0

Nu), para

um programa de minimização na forma padrão, PL(A, b, c), com restrições decaixa l ≤ x ≤ u, e bem ainda que no quadro simplex que lhe está associado,b denota o m-uplo dos respectivos termos independentes. Supondo que, neste

quadro, ∃k ∈ J0Nu

tal que zk − ck < 0 e que inf Ω(JNl, JNu

, yk) =bq−(lB)q

−yqk, com

yqk < 0, prove ou refute (justificadamente) cada uma das seguintes afirmações:

1. A k-ésima coluna é candidata a pivotal.

2. A actualização do quadro simplex, escolhendo a k-ésima coluna para pi-votal, implica que, no próximo quadro, o índice q pertença ao conjuntoJ1

Nl.

3. Sebq−(lB)q

−yqk= uk − lk e a k-ésima coluna é escolhida para pivotal, en-

tão a próxima solução básica admissível (ou partição básica admíssivel) édegenerada.

4. Nas condições da alínea anterior, optando-se pela permanência da basecorrente, se dos sucessivos quadros simplex decorrerem as partições básicasadmissíveis (J0

B , JiNl, J i

Nu) para i = 1, . . . , s, então ∀i ∈ 1, . . . , s, k 6∈

J iNu

.

Exercício 6.4. Considere o programa linear

max −2x1 − x2 − x3 + x4

s. a x1 + x3 ≤ 2,x1 ≤ 2,x1 + x2 ≤ 5,

− x3 + x4 ≤ 2,x1, x2, x3, x4 ≥ 0,

e responda às seguintes questões:

Page 113: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

6.3 Exercícios 109

1. Aplique o método de decomposição de Dantzig-Wolfe para a resolução desteproblema, tomando para problema principal o que se define à custa daprimeira restrição.

2. Indique, para cada um dos problemas auxiliares, resolvidos na alínea an-terior, o valor do minorante determinado pelo método de decomposição deDantzig-Wolfe.

Exercício 6.5. Supondo que, por aplicação do método de decomposição deDantzig-Wolfe ao programa linear PL(A, b, c), mincTx : Ax = b, x ∈ X, ondeX é um conjunto poliédrico não vazio com determinada estrutura, se obtém oquadro

λB B−1 B−1b[w,α] ζ

e que τ = max(wA − cT )x : x ∈ X, prove ou refute (justificadamente) cadauma das afirmações:

1. Se τ <∞, então wb+ α− τ constitui um minorante para PL(A, b, c).

2. Supondo que xk é uma solução óptima para o problema auxiliar e que

yk = B−1

[Axk

1

]

, se min (B−1b)i

yik: 1 ≤ i ≤ m, yik > 0 = 1, então a

solução básica determinada após as operações de pivotação (com yk comocoluna pivotal) é uma solução óptima para o problema principal.

3. Se τ =∞, então PL(A, b, c) não tem óptimo finito.

Page 114: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:
Page 115: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

Capítulo 7

Dualidade

O estudo da dualidade em Programação Matemática leva-nos à consideraçãode um problema (o qual é geralmente designado por problema dual) distintodaquele que pretendemos resolver, mas cuja abordagem nos permite obter algu-mas conclusões directamente relacionadas com o problema original (problemaprimal), nomeadamente, com as condições de optimalidade.

Definição 7.1. Dado o problema de programação linear de minimização naforma canónica

min cTx (7.1)

s. a Ax ≥ b, (7.2)

x ≥ 0, (7.3)

o qual consideramos ser o problema primal e denotamos por (P ), designa-se pordual de (P ) e denota-se por (D), o programa linear de maximização na formacanónica PL(AT , c, b)

max bT y

s. a AT y ≤ c,

y ≥ 0,

o qual, muitas vezes, também se escreve na forma equivalente:

max yT b (7.4)

s. a yTA ≤ cT , (7.5)

y ≥ 0, (7.6)

Esta definição de dual com facilidade se estende a problemas de programaçãolinear na forma padrão ou outra. Por exemplo, considerando o problema de

Page 116: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

112 Dualidade

programação linear de minimização na forma padrão PL(A, b, c) e escrevendo-ona forma

min cTxs. a Ax ≥ b,−Ax ≥ −b,

x ≥ 0,

min cTx

s. a

[A−A

]

x ≥

[b−b

]

,

x ≥ 0,

recorrendo à definição anterior, com facilidade se obtém o respectivo dual, ouseja,

max(y′ − y′′)T bs.a (y′ − y′′)TA ≤ cT ,

y′, y′′ ≥ 0,⇔

max yT bs. a yTA ≤ cT ,

y (livre).

Teorema 7.1 (da dualidade fraca). Considere o par de problemas primal-dual(P ): (7.1)-(7.3) e (D): (7.4)-(7.6). Se x′ é admissível para (P ) e y′ é admissívelpara (D), então

y′Tb ≤ cTx′.

Demonstração. Uma vez que x′ ≥ 0 e yTA ≤ cT , vem que

y′TAx′ ≤ cTx′. (7.7)

Por outro lado, dado que y′ ≥ 0 e Ax′ ≥ b, vem que

y′Tb ≤ y′

TAx. (7.8)

Como consequência, tendo em conta (7.7) e (7.8), vem que y′T b ≤ cTx.Como corolário deste teorema decorrem as conclusões que a seguir se indicam

e cuja prova fica como exercício.

1. Se ambos os problemas (primal e dual) têm soluções admissíveis, entãoambos os problemas têm óptimo finito.

2. Se o problema primal admite uma sucessão de soluções admissíveis xkk∈N,tal que cTxk → −∞, então o dual não tem qualquer solução admissível.

3. Se o problema dual admite uma sucessão de soluções admissíveis ykk∈N

tais que bT yk →∞, então o primal não tem qualquer solução admissível.

Das condições de optimalidade do método simplex decorre que, se o pro-blema primal tem solução óptima (i.e., tem óptimo finito), então o respectivodual também tem e os correspondentes valores óptimos coincidem. Com efeito,considere-se o quadro simplex reduzido óptimo associado ao problema de pro-gramação linear de minimização na forma padrão PL(A, b, c):

xN

xB B−1N B−1bcBB

−1N − cN cBB−1b

Page 117: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

Dualidade 113

Das condições de optimalidade, cBB−1N − cN ≤ 0, obtidas na linha de custosreduzidos, e supondo (sem perda de generalidade) que a matriz A se parte emA = [B,N ], fazendo yT = cBB

−1, vem que

yTA = cBB−1[B,N ] = [cB, cBB

−1N ] ≤ [cB, cN ] = cT .

Logo, conclui-se que yT = cBB−1 é admissível para (D). Por outro lado,

yT b = cBB−1b o que, mais uma vez, de acordo com o quadro, é precisamente o

valor óptimo de (P ). Como consequência, do teorema da dualidade fraca (Teo-rema 7.1) decorre que os valores óptimos de (P ) e (D) coincidem.

A teoria da programação linear permite obter resultados ainda mais fortes(do que os anteriormente referidos) sobre as relações primal-dual. No teoremaque se segue, conhecido por teorema da dualidade forte , (P ) denota o problemade programação linear de minimização na forma canónica (7.1)-(7.3) e (D) ocorrespondente dual (7.4)-(7.6).

Teorema 7.2 (da dualidade forte). Considere-se o par de problemas primal--dual (P ): (7.1)-(7.3) e (D): (7.4)-(7.6).

1. Se ambos os problemas, (P ) e (D), são consistentes (i.e., ambos têm solu-ções admissíveis), então ambos têm solução óptima e os respectivos valoresóptimos coincidem.

2. Se (P ) é inconsistente, então o dual é consistente sse não tem óptimofinito.

3. Se (D) é inconsistente, então o primal é consistente sse não tem óptimofinito.

4. Pode acontecer que nem (P ) nem (D) seja consistente.

Demonstração.

1. Considere-se o sistema de inequações

Ax ≥ b− AT y ≥ −c

−cTx + bT y ≥ 0x, y ≥ 0

o qual se pode escrever na forma

A 00 −AT

−cT bT

[xy

]

b−c

0

x, y ≥ 0

Ax ≥ bx ≥ 0

(7.9)

onde A =

A 00 −AT

−cT bT

, b =

b−c

0

e x =

[xy

]

.

Se este sistema admite uma solução (x′, y′), então x′ é admissível para (P ) e

Page 118: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

114 Dualidade

y′ é admissível para (D) e são tais que cTx′ ≤ bT y′. Logo, por aplicação doteorema da dualidade fraca (Teorema 7.1), conclui-se que cTx′ = bT y′ e, comoconsequência, que x′ é solução óptima para (P ) e y′ é solução óptima para (D).

Suponha-se que o sistema (7.9) não admite qualquer solução. Então, pelo lemade Farkas (Lema 1.4), o sistema

[uT vT λ

]A ≤ 0

[uT vT λ

]b > 0

u, v, λ ≥ 0⇔

ATu − λc ≤ 0− Av + λb ≤ 0

bTu − cT v > 0

tem uma solução (u′, v′, l′).Suponha-se que λ 6= 0. Então (sem perda de generalidade) podemos supor queλ′ = 1. Como consequência vem que u′ é admissível para (D) e v′ é admissívelpara (P ) e bTu′ > cT v′, o que entra em contradição com o teorema fraco dadualidade (Teorema 7.1). Suponhaŋse que λ′ = 0. Se cT v′ ≥ 0, então bTu > 0 e,novamente, por aplicação do Lema 1.4, (P ) não tem qualquer solução admissível,o que contradiz a hipótese. Se cT v′ < 0, então sendo x′ uma solução admissívelpara (P ) ∀θ ≥ 0, xθ = x′ + θv′ é admissível para (P ) e é tal que cTxθ =cTx′ + θcT v′ → −∞ quando θ → ∞, logo, pelo teorema da dualidade fraca,somos levados a concluir que o dual não tem qualquer solução admissível, factoque contraria a hipótese.

2. Dado que (P ) é inconsistente, pelo lema de Farkas (Lema 1.4), o sistema

AT y ≤ 0 (7.10)

bT y > 0 (7.11)

y ≥ 0 (7.12)

tem uma solução y′. Seja y∗ uma solução admissível para (D) e, para cada τ ≥ 0,seja yτ = y∗ + τy′. Então ∀τ ≥ 0 yT

τ ≥ 0 e AT yτ = AT y∗ + τAT y′ ≤ c, i. e., yτ éadmissível para o dual (D) ∀τ ≥ 0. Logo, dado que bT yτ = bT y∗ + τbT y′ → ∞quando τ → ∞, pode concluir-se que (D) não tem óptimo finito.

3. Esta prova é idêntica à anterior.

4. Neste caso a prova pode fazer-se exibindo o seguinte exemplo de um par deproblemas (P )-(D), em que ambos são inconsistentes:

(P )

min −x1 − x2

s. a x1 − x2 ≥ 1−x1 + x2 ≥ 1x1, x2 ≥ 0

(D)

min y1 + y2s. a y1 − y2 ≥ −1

−y1 + y2 ≥ −1y1, y2 ≥ 0

Como consequência, do Teorema 7.2 decorre o teorema que se segue, no qualse estabelece uma relação de complementaridade entre soluções óptimas primaise duais.

Page 119: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

Dualidade 115

Teorema 7.3 (da complementaridade). Se x∗ e y∗ são soluções óptimas para oprimal (P ) e para o dual (D), respectivamente, então verificam-se as seguintesigualdades:

(cj − y∗T aj)x

∗j = 0, para j = 1, . . . , n

y∗i(aix∗ − bi) = 0, para i = 1, . . . ,m

.

onde aj, para j = 1, . . . , n, denota a j-ésima coluna de A, ai, para i = 1, . . . ,m,denota a i-ésima linha de A, cj, para j = 1, . . . , n, denota o j-ésimo coeficientedo gradiente da função objectivo de (P ) e bi, para i = 1, . . . ,m, denota o i-ésimocoeficiente do gradiente da fumção objectivo de (D).

Demonstração. Dado que x∗ e y∗ são admissíveis para (P ) e (D), respectivamente,conclui-se que x∗ ≥ 0 e Ax∗ ≥ b, e y∗ ≥ 0 e y∗TA ≤ cT . Logo, vem que

y∗TAx∗ ≥ y∗T b

y∗TAx∗ ≤ cTx∗ ,

ou seja, y∗T b ≤ y∗TAx∗ ≤ cTx∗. Por outro lado, uma vez que y∗ e x∗ são soluçõesóptimas, pelo teorema da dualidade forte (Teorema 7.2), sabe-se que y∗T b = cTx∗.Assim, conclui-se que y∗T b = y∗TAx∗ = cTx∗, i. e.,

y∗T (Ax∗ − b) = 0

(cT − y∗TA)x∗ = 0⇔

∑m

i=1 y∗

i(aix∗ − bi) = 0

∑m

i=1 (cj − y∗T aj)x∗j = 0

(7.13)

Consequentemente, dado que ∀i ∈ 1, . . . ,m y∗i ≥ 0 e aix∗ − bi ≥ 0, e ∀j ∈1, . . . , n x∗

j ≥ 0 e cj − y∗Taj ≥ 0, de (7.13) vem que

y∗i(a

ix∗ − bi) = 0 para i = 1, . . . ,m

(cj − y∗T aj)x∗j = 0 para j = 1, . . . , n

(7.14)

Deste teorema decorrem as seguintes conclusões:

1. ∀i ∈ 1, . . . ,m

y∗i > 0 ⇒ aix∗ = biaix∗ > bi ⇒ y∗i = 0

2. ∀j ∈ 1, . . . , n

x∗j > 0 ⇒ y∗Taj = cjy∗taj < cj ⇒ x∗j = 0

,

podendo-se afirmar que a variáveis de decisão duais positivas correspondem res-trições primais activas (i.e., variáveis de desvio primais nulas) e a restriçõesprimais não activas (i.e., variáveis de desvio primais positivas) correspondemvariáveis de decisão duais nulas e reciprocamente, ou seja, a variáveis de decisãoprimais positivas correspondem restrições duais activas (i.e., variáveis de des-vio duais nulas) e a restrições duais não activas (i.e., variáveis de desvio duaispositivas) correspondem variáveis de decisão primais nulas. Devido a esta propri-edade de complementaridade entre variáveis de decisão primais e variáveis duaisde desvio e variáveis de decisão duais e variáveis primais de desvio, o teoremaanterior é usualmente designado por teorema da complementaridade (ou por te-orema da complementaridade de “slacks”). Quando o recíproco da propriedadede complementaridade, anteriormente referida, acontece, ou seja,

Page 120: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

116 Dualidade

1. ∀i ∈ 1, . . . ,m

aix∗ = bi ⇒ y∗i > 0y∗i = 0 ⇒ aix∗ > bi

2. ∀j ∈ 1, . . . , n

y∗T aj = cj , ⇒ x∗j > 0

x∗j = 0 ⇒ y∗Taj < cj,

dizemos que o par de soluções (x∗, y∗) satisfaz a propriedade da complementa-ridade estrita.

Em programação linear, quando o par de problemas primal dual (P )-(D)tem soluções óptimas, verifica-se que existe um par de soluções óptimas quetem a propriedade da complementaridade estrita, conforme o teorema (da com-plementaridade estrita) a seguir indicado estabelece.

Teorema 7.4 (da complementaridade estrita). Cada par de problemas primal-dual, com soluções óptimas, admite um par de soluções óptimas com a proprie-dade da complementaridade estrita.

Demonstração. Primeiramente vamos provar a existência de um par de soluções(x′, y′), óptimas para (P ) e (D), respectivamente, com a propriedade da complemen-taridade estrita entre as variáveis de desvio duais e as variáveis de decisão primais. SejaY ∗ =

∑r

j=1 λjy∗j :

∑r

j=1 λj = 1, λj ≥ 0, j = 1, . . . , r o conjunto de soluções óptimas

para (D) e I = i : ∃y∗k, para o qual s∗i = ci − (y∗k)Tai > 0, então ∃y∗ ∈ Y ∗ tal que∀i ∈ I s∗i = ci − (y∗)T ai > 0. Com efeito, fazendo y∗ =

∑r

j=1 λjy∗j, com

∑r

j=1 λj = 1e λj > 0, j = 1, . . . , r, vem que ∀i ∈ I

s∗i = ci − (y∗)T ai

= ci − (r∑

j=1

λj(y∗j)T )ai

= (r∑

j=1

λj)ci − (r∑

j=1

λj(y∗j)T ai)

=r∑

j=1

λj [ci − (y∗j)Tai] > 0,

dado que ci − (y∗j)T ai ≥ 0 ∀j ∈ 1, . . . , r e ∃y∗k tal que s∗i = ci − (y∗k)T ai > 0 eλk > 0. Consequentemente, para as variáveis de desvio que tomam valores positivos,para pelo menos uma solução óptima para (D), a propriedade da complementaridadeestrita é evidente.

Logo, resta fazer a prova para as componentes cujos índices estão no conjuntoJ = j : s∗j = cj − (y∗)Taj = 0 ∀y∗ ∈ Y ∗, onde, tal como anteriormente, Y ∗ denotao conjunto de soluções óptimas para (D).

Sendo ν∗ o valor óptimo para (P ) (e consequentemente para (D)) o programalinear

max∑

j∈JeT

j s

s. a AT y + s = c,−bT y ≤ −ν∗,

y, s ≥ 0,

Page 121: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

7.1 Método dual simplex 117

(onde ej denota o j-ésimo vector da base canónica de Rn), tem valor óptimo nulo.

Logo, o respectivo dual

min cTx − ν∗λs. a Ax − bλ ≥ 0,

xj ≥ 1 ∀j ∈ J,xj ≥ 0 ∀j 6∈ J,

λ ≥ 0,

tem solução óptima

[x′

λ′

]

, com valor óptimo cTx′ − ν∗λ′ = 0.

Supondo que x∗ é uma solução óptima para (P ), obtém-se uma das seguinte situ-ações:

1. λ′ = 0, e então vem que

cTx′ = 0, Ax′ ≥ 0, x′j ≥ 1 ∀j ∈ J e x′

j ≥ 0 ∀j 6∈ J,

donde ∀τ ≥ 0, x∗ + τx′ não só é uma solução óptima para (P ), uma vez que

x∗+τx′ ≥ 0, A(x∗+τx′) = Ax∗+τAx′ ≥ b e cT (x∗+τx′) = cTx∗+τcTx′ = ν∗,

como, para τ > 0, x∗ + τx′ é tal que (x∗ + τx′)j > 0 ∀j ∈ J ;

2. λ′ > 0, e então

cTx′

λ= ν∗,

x′

λ≥ 0, A

x′

λ≥ b e

1

λx′

j ≥1

λ> 0 ∀j ∈ J.

A prova da existência de um par de soluções (x′′, y′′) óptima para (P ) e (D),respectivamente, com a propriedade da complementaridade estrita entre as variáveisde desvio primais e as variáveis de decisão duais, é idêntica à anterior.

Um vez provado que existe um par de soluções (x′, y′) óptimas para (P ) e (D),respectivamente, com a propriedade da complementaridade estrita entre as variáveis dedesvio duais e as variáveis de decisão primais e que existe um par de soluções (x′′, y′′)óptima para (P ) e (D), respectivamente, com a propriedade da complementaridadeestrita entre as variáveis de desvio primais e as variáveis de decisão duais, ∀λ ∈]0, 1[,fazendo x∗ = λx′ + (1− λ)x′′ e y∗ = λy′ + (1 − λ)y′′, fica provada a existência de umpar de soluções (x∗, y∗) óptimas para (P ) e (D), respectivamente, com a propriedadeda complementaridade estrita.

Conforme decorre das relações primal-dual abordadas, o método simplex, aolongo das sucessivas actualizações do quadro, lida com soluções básicas, cujasbases definem (simultaneamente) soluções primais admissíveis e duais comple-mentares, com vista à determinação de uma base que defina uma solução primaladmissível e uma solução dual complementar que seja admissível. Quando talacontece, isso significa que foram atingidas as condições de optimalidade. É,precisamente, com base nestas propriedades que se desenvolveu uma variantedo método simplex, que se designa por método dual simplex.

7.1 Método dual simplex

Enquanto no método simplex clássico (também conhecido por método primal-simplex) a base corrente é primal admissível e as sucessivas actualizações do

Page 122: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

118 Dualidade

quadro (operações de pivotação) são executadas de modo a respeitar essa admis-sibilidade e a diminuir o valor corrente da função objectivo do problema primal,com o método dual simplex a base corrente satisfaz as condições de optimali-dade na linha de custos reduzidos e o quadro é actualizado sem que estas con-dições sejam violadas e de modo a incrementar a função objectivo do problemadual. No primeiro caso (método primal simplex) tem-se em vista a obtenção dascondições de optimalidade na linha de custos reduzidos (as quais equivalem àadmissibilidade dual) e no segundo (método dual simplex) tem-se em vista aobtenção da admissibilidade primal.

Considere-se o seguinte programa linear de minimização na forma canónica:

min cTxs. a Ax ≥ b,

x ≥ 0,

e seja B uma submatriz básica de A = [−I, A] ∈ Rm×n não, necessariamente,

admissível. Considere-se ainda o correspondente quadro simplex

xN1. . . xNk

. . . xNp

xB1y11 . . . y1k . . . y1p b1

......

......

......

...xBr

yr1 . . . yrk . . . yrp br...

......

......

......

xBmym1 . . . ymk . . . ymp bm

z1 − cN1. . . zk − cNk

. . . zp − cNpcBB

−1b

no qual, sendo yT = cBB−1, vem que zj−cNj

= yTaNj−cNj

, para j = 1, . . . , p.Se zj − cNj

≤ 0 ∀j ∈ 1, . . . , p, então

yT [B,N ]−cT = [cBB−1B, cBB

−1N ]−cT = [cB , cBB−1N ]−[cB, cN ] ≤ 0⇔ yT A ≤ cT ,

ou seja, y é uma solução dual admissível.Supondo que ∃r ∈ 1, . . . ,m tal que br < 0, então B−1b não é uma solução

primal admissível, pelo que podemos escolher, para linha pivotal, a r-ésima eproceder à escolha da coluna pivotal, de tal forma que a admissibilidade dualse mantenha (ou seja, de tal forma que, após a actualização do quadro, oscoeficientes da linha de custos reduzidos se mantenham não positivos) e a funçãoobjectivo do problema dual seja incrementada. Logo, supondo que a coluna pi-votal escolhida é a k-ésima (e, por conseguinte, o elemento escolhido para “pivot”é o coeficiente não nulo yrk), para que o valor corrente da função objectivo dual,ζ = cBB

−1b, seja incrementado é necessário (mas não suficiente) que yrk sejanegativo. Com efeito, supondo yrk < 0, da actualização do quadro vem que

ζ′ = cBB−1b−

zk − cNk

yrk

br

> ζ se zk − cNk

< 0= ζ se zk − cNk

= 0,

donde, em qualquer caso, se obtém ζ′ ≥ ζ, uma vez quezk−cNk

yrk≥ 0 e br < 0.

Page 123: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

7.1 Método dual simplex 119

Com esta escolha de yrk < 0 para “pivot”, o termo independente do novoquadro, br′ = br

yrk, vem positivo e os coeficientes da linha de custos reduzidos

(z′j − cNj), para j = 1, . . . , p vêm actualizados do seguinte modo:

z′j − cNj=

zj − cNj−

zk−cNk

yrkyrj, se j 6= k

−zk−cNk

yrk, se j = k

.

Consequentemente, vem que z′k − cNk≤ 0 e, para j 6= k,

zj − cNj−zk − cNk

yrk

yrj ≤ 0 ⇔zj − cNj

yrj

≥zk − cNk

yrk

(7.15)

se yrj < 0. Tendo em conta (7.15) e a implicação

yrj ≥ 0 ⇒ z′j − cNj= zj − cNj

−zk − cNk

yrk

yrj ≤ 0,

a escolha da coluna pivotal deve ser feita determinando

zk − cNk

yrk

= min1≤j≤p

zj − cNj

yrj

: yrj < 0

e, nestas condições, a k-ésima coluna do quadro reduzido é escolhida para pivotalsem que se destrua a admissibilidade dual da base associada ao próximo quadro.

Após a escolha do “pivot”, as operações de pivotação conducentes à actuali-zação do quadro devem fazer-se como habitualmente.

Tendo em conta que as soluções duais obtidas são também básicas, desde quese previna a eventual entrada em ciclo nos casos degenerados (em que zk−cNk

=0), ao fim de um número finito de quadros, ou se conclui que o problema não temóptimo finito, ou se conclui que não é possível incrementar a função objectivode (D), i.e., i : 1 ≤ i ≤ m e bi < 0 = ∅. Esta última situação traduz,precisamente, a admissibilidade primal.

Se, para um dado quadro simplex, br < 0 e j : 1 ≤ j ≤ p e yrj < 0 = ∅ en-tão, pode concluir-se que o primal é inconsistente. Com efeito, neste caso, sendoB a submatriz básica corrente e supondo que o sistema Ax = b é equivalenteao sistema [B,N ]x = b, multiplicando ambos os membros por B−1 obtém-seB−1Ax = B−1b ⇔ [I, B−1N ]x = b, donde, considerando a r-ésima equaçãodeste sistema e tendo em conta que os coeficientes que lhe estão associados sãoos coeficientes da r-ésima linha do respectivo quadro simplex, vem que

xr +

p∑

j=1

yrjxm+j = br ⇔ xr = br −p

j=1

yrjxm+j . (7.16)

Da equação (7.16), tendo em conta que yrj ≥ 0 ∀j ∈ 1, . . . , p e br < 0,conclui-se que não existem valores não negativos para xm+j (∀j ∈ 1, . . . , p),com os quais se obtenha xr ≥ 0, pelo que (P ) é inconsistente (e, consequente-mente, pelo teorema da dualidade forte, (D) não tem óptimo finito).

Page 124: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

120 Dualidade

Considerando para matriz básica inicial a submatriz constituída pelas mprimeiras colunas de A, a determinação de uma solução dual admissível inicialpode fazer-se acrescentando, ao conjunto de restrições do problema original, arestrição:

n∑

j=m+1

xj ≤M ⇔ x0 +n∑

j=m+1

xj = M, (7.17)

onde M é um escalar positivo suficientemente grande e x0 é uma variável dedesvio (i.e., x0 ≥ 0). Posteriormente, a partir do quadro a seguir indicado,para se obter uma solução dual admissível, basta proceder à sua actualização(com as respectivas operações de pivotação) escolhendo para “pivot” o elementodeterminado pela primeira linha e pela k-ésima coluna, desde que

zm+k − cm+k = maxm+1≤j≤n

zj − cj,

donde (no pressuposto de que a base corrente não define uma solução dualadmissível) se conclui que zm+k − cm+k > 0.

xm+1 . . . xm+k . . . xn

x0 1 . . . 1 . . . 1 Mx1 y11 . . . y1k . . . y1(n−m) b1...

.... . .

.... . .

......

xr yr1 . . . yrk . . . yr(n−m) br...

......

......

......

xm ym1 . . . ymk . . . ym(n−m) bmz1 − cm+1 . . . zm+k − cm+k . . . zn − cn cBB

−1b

Nestas condições, no quadro actualizado, vemz′k − cm+k = − (zk − cm+k) < 0z′j − cm+j = zj − cNj

− (zk − cm+k) ≤ 0, para j 6= k.

Com esta modificação do problema original (P ), i.e., com a introdução darestrição (7.17), pode chegar-se a um dos seguintes casos:

1. o problema transformado é inconsistente;

2. obtém-se uma solução óptima, x∗, para a qual x∗0 = 0 (ou seja, para aqual a variável de desvio associada à restrição introduzida tem valor nulo)e z0 − c0 < 0 (i.e., o coeficiente que lhe está associado na linha de custosreduzidos é negativo);

3. obtém-se uma solução óptima, x∗, para a qual se verifica uma das situa-ções:

(a) x∗0 > 0;

Page 125: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

7.1 Método dual simplex 121

(b) x∗0 = 0 e z0 − c0 = 0.

Em 1 pode concluir-se que o problema original é inconsistente (uma vez queM é arbitrariamente grande).

Em 2 pode concluir-se que (P ) não tem óptimo finito, uma vez que x0 é nãobásica (e, consequentemente, a restrição introduzida é activa para valores de Marbitrariamente grandes) e qualquer deslocamento no sentido em que se viola anão negatividade da variável de desvio x0, faz decrescer a função objectivo de(P ) 1.

x*

-c

e t x=M

Figura 7.1: Exemplificação do caso descrito em 2.

Finalmente em 3 pode concluir-se que a solução encontrada é óptima para(P ), uma vez que em 3a (x∗0 > 0) a restrição introduzida é redundante numavizinhança da solução óptima encontrada e em 3b (x∗0 = 0 e z0 − c0 = 0) asvariações em x0 não produzem variações na função objectivo.

Segue-se a descrição algorítmica do método dual simplex.

• Algoritmo para o método dual simplex

1. Determinar uma base B tal que cBB−1N − cN ≤ 0 e passar a 2;

2. Se B−1b ≥ 0 então STOP, a base corrente é óptima. Caso contráriodeterminar br = minbi : 1 ≤ i ≤ m e passar a 3;

3. Se yrj : j ∈ JN e yrj < 0 = ∅ (onde JN denota o conjunto deíndices não básicos correntes) então STOP, (P ) é inconsistente. Casocontrário determinar

zk − ckyrk

= minj∈JN

zj − cjyrj

: yrj < 0

e passar a 4;

1Logo deslocando o hiperplano que define a restrição introduzida (aumentando M), afunção objectivo pode decrescer tanto quanto se queira.

Page 126: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

122 Dualidade

x*

-c

e t x=M

x*

-c

e t x=M

Figura 7.2: Exemplificação dos casos 3a e 3b (supondo-se em 3b que o gradienteda f.o. é ortogonal ao vector de componentes unitárias e).

4. Escolher yrk para “pivot”, actualizar o quadro e voltar ao passo 2;

• Fim do algoritmo.

As regras a utilizar para a prevenção de entrada em ciclo para o método dualsimplex, com ligeiras adaptações, são idênticas às utilizadas no método simplex(primal).

1. No que diz respeito à aplicação da regra lexicográfica, denotando por JB oconjunto de índices não básicos correntes, partindo-se de um quadro cujas

colunas,

[−(zj − cNj

)yj

]

, são lexicograficamente positivas para todo o

índice j ∈ JN , no pressuposto de se escolheu para linha pivotal a r-ésima(donde se pode concluir que br < 0), determinando-se

1

−yrk

[−(zk − cNk

)yk

]

= minlex1

−yrj

[−(zj − cNj

)yj

]

: yrj < 0,

garante-se a invariância desta propriedade e, consequentemente, evita-sea entrada em ciclo.Deve observar-se que, de acordo com a técnica introduzida para a deter-minação de uma solução dual admissível inicial, as colunas inicialmente

obtidas

−(z′j − cNj)

1yj

, para j = 1, . . . , p, vêm lexicograficamente po-

sitivas (conforme é requerido pela regra lexicográfica). Por outro lado,

supondo que as colunas não básicas do s-ésimo quadro,

[−(zs

j − csNj

)

ysj

]

,

são lexicograficamente positivas, que a linha escolhida para pivotal é ar-ésima e ainda que

1

−ysrk

[−(zs

k − csNk

)ys

k

]

= minlex1

−ysrj

[−(zs

j − csNj

)

ysj

]

: ysrj < 0,

Page 127: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

7.1 Método dual simplex 123

no pressuposto que (sem perda de generalidade) na matriz de decisão doproblema original não existem duas colunas que são múltiplo escalar posi-tivo uma da outra, podemos concluir que este mínimo é único e que, após

a actualização do quadro, a coluna pivotal

[−(zs+1

k − cs+1Nk

)

ys+1k

]

mantém-se

lexicograficamente positiva (uma vez que todos os seus coeficientes perma-necem com o mesmo sinal 2), o mesmo acontecendo às restantes colunas.

Com efeito, da actualização do quadro dual simplex,[−(zs+1

j − cs+1Nj

)

ys+1j

]

=

[−(zs

j − csNj

)

ysj

]

−ys

rj

ysrk

[−(zs

k − csNk

)ys

k

]

,

decorre as seguintes implicações:

(a) Se ysrj ≥ 0, então

[−(zs+1

j − cs+1Nj

)

ys+1j

]

é a adição de uma coluna

lexicograficamente positiva com uma coluna lexicograficamente nãonegativa.

(b) Se ysrj < 0, então

1

−ysrk

[−(zs

k − csNk

)ys

k

]

<LEX

1

−ysrj

[−(zs

j − csNj

)

ysj

]

m

0 <LEX

[−(zs

j − csNj

)

ysj

]

−ys

rj

ysrk

[−(zs

k − csNk

)ys

k

]

.

Deve observar-se ainda que[−ζs+1

B−1s+1b

]

=

[−ζs

B−1s b

]

−bsrys

rk

[−(zs

k − csNk

)ys

k

]

[−ζs+1

B−1s+1b

]

<LEX

[−ζs

B−1s b

]

,

tendo em conta que bsr < 0, ysrk < 0 e

[−(zs

k − csNk

)ys

k

]

>LEX 0.

2. No que diz respeito à regra de Bland, a sua adaptação ao método dual sim-plex é imediata, escolhendo-se primeiramente o menor dos índices linha,de entre os das candidatas a pivotais e, posteriormente, o índice coluna,fazendo-se o desempate com a escolha do menor dos índices de entre oscandidatos. A prova de que a versão da regra de Bland (para o métododual simplex) previne a entrada em ciclo pode ser consultada em (Schrij-ver, 1986).

2Note-se que à excepção do “pivot”, que passa a ser o respectivo inverso, os restantescoeficiente são divididos pelo simétrico do “pivot”.

Page 128: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

124 Dualidade

Segue-se um exemplo de aplicação do método dual simplex.

Exemplo 7.1. Vamos resolver o programa linear (P ):

min 2x1 + 7x2 + 6x3 + 5x4

s. a 2x1 − 3x2 − 5x3 + 4x4 ≥ 20,7x1 + 2x2 + 6x3 − 2x4 ≤ 35,4x1 + 5x2 − 3x3 − 2x4 ≥ 15,x1, x2, x3, x4 ≥ 0,

aplicando o método dual simplex.

Solução. Transformando este programa linear na forma padrão obtém-se:

min 2x1 + 7x2 + 6x3 + 5x4

s. a 2x1 − 3x2 − 5x3 + 4x4 − x5 = 20,7x1 + 2x2 + 6x3 − 2x4 + x6 = 35,4x1 + 5x2 − 3x3 − 2x4 − x7 = 15,x1, x2, x3, x4 x5, x6, x7 ≥ 0,

Tendo em conta que o dual de (P ) corresponde ao programa linear:

(D) maxyT b : yTA ≤ cT ,

onde y ∈ R3, b =

203515

, A =

2 −3 −5 4 −1 0 07 2 6 −2 0 1 04 5 −3 −2 0 0 −1

e cT =

[2, 7, 6, 5, 0, 0, 0], conclui-se imediatamente que x =

0000

−2035−15

é uma solução

básica para o problema primal (P ) cuja base é dual admissível, conforme sepode verificar no correspondente quadro simplex.

1o x1 x2 x3 x4

x5 -2 3 5 -4 -20x6 7 2 6 -2 35x7 -4 -5 3 2 -15

-2 -7 -6 -5 0

Prosseguindo com o método dual simplex obtém-se a sequência de quadros:

2o x5 x2 x3 x4

x1 −1/2 −3/2 −5/2 2 10x6 7/2 25/2 47/2 -16 -35x7 -2 -11 -7 10 25

-1 -10 -11 -1 20

Page 129: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

7.2 Método Primal-Dual 125

3o x5 x2 x3 x6

x1 −1/16 1/16 7/16 1/8 45/8x4 −7/32 −25/32 −47/32 −1/16 35/16x7 3/16 −51/16 123/16 5/8 75/8

−39/32 −353/32 −399/32 −1/16 355/16

7.2 Método Primal-Dual

Considere-se o seguinte par de problemas primal-dual (P )-(D):

min cTx max yT b(P ) s. a Ax = b, (D) s. a yTA ≤ cT ,

x ≥ 0,

onde A ∈ Rm×n, y, b ∈ R

m e x, c ∈ Rn, e seja y′ uma solução dual admissível

inicial, i.e., tal quey′

Taj ≤ cj , para j = 1, . . . , n.

Sendo J(y′) = j : y′Taj = cj, ou seja, o conjunto de índices para os quais as

variáveis de decisão primais complementares podem tomar valores positivos, deacordo com o método primal-dual, resolve-se o programa primal restrito :

min∑

j∈J(y′) 0xj +∑

i∈1,...,m ui

s. a∑

j∈J(y′) ajxj +∑

i∈1,...,m eiui = b ∀j ∈ J(y′),

xj ≥ 0 ∀j ∈ J(y′),ui ≥ 0 ∀i ∈ 1, . . . ,m,

onde u1, . . . , um denotam as variáveis artificiais que determinam uma solução ad-missível inicial e ei denota o i-ésimo vector da base canónica, para i = 1, . . . ,m.

Denotando o valor óptimo do problema primal restrito por µ∗, obtém-seµ∗ ≥ 0.

• Se µ∗ = 0, então a correspondente solução óptima,

[x∗

u∗

]

, com u∗ = 0,

determina uma solução admissível para (P ), x′. Consequentemente, umavez que y′ é dual admissível e é complementar para x′, conclui-se queambas são óptimas para os respectivos problemas (P ) e (D).

• Se µ∗ > 0, então x∗ não é admissível para (P ), pelo que deveremos modifi-car a solução dual admissível corrente, y′, com o objectivo de incrementaro valor da função objectivo do problema dual e diminuir o valor óptimodo primal restrito obtido com esta modificação. Assim, considere-se o dualdo problema primal restrito

max vT bs. a vT aj ≤ 0 ∀j ∈ J(y′),

vT ≤ [1, . . . , 1],

Page 130: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

126 Dualidade

e seja v∗ uma solução óptima para este problema (a qual, como se sabe,pode ser obtida directamente do quadro simplex óptimo relativo ao primalrestrito). Então, se x∗j é básica para o primal restrito vem que v∗T aj = 0(de acordo com a linha de custos reduzidos do quadro simplex óptimo doprimal restrito) e, adicionalmente, v∗Taj ≤ 0 ∀j ∈ J(y′).

Fazendo y′′ = y′ + θv∗, com θ > 0, vem que

y′′Taj − cj = (y′ + θv∗)T aj − cj = (y′

Taj − cj) + θv∗Taj ≤ 0 ∀j ∈ J(y′),

tendo em conta que y′Taj − cj = 0 e v∗Taj ≤ 0 ∀j ∈ J(y′). Logo, restaanalisar os índices pertencentes ao conjunto 1, . . . , n \ J(y′).

– Para j ∈ 1, . . . , n\J(y′) tal que v∗Taj ≤ 0, vem que y′′Taj−cj < 0

(uma vez que y′T aj − cj < 0).

– Se ∃j ∈ 1, . . . , n \ J(y′) tal que v∗Taj > 0, determinando θ, de talforma que

θ =−(y′

Tak − ck)

v∗Tak

= minj 6∈J(y′)

−(y′

Taj − cj)

v∗Taj

: v∗Taj > 0,

vem que ∀j ∈ 1, . . . , n,

y′′Taj − cj = (y′

Taj − cj) + θv∗Taj

= (y′Taj − cj) +

−(y′Tak − ck)

v∗Tak

v∗Taj ≤ 0,

ou seja, y′′ é uma solução dual admissível para a qual existe k 6∈ J(y′)

tal que y′′Tak − ck = 0 e v∗T ak > 0. Adicionalmente

y′′Tb = (y′ + θv∗)T b

= y′Tb+ θv∗T b

> y′Tb, (7.18)

dado que θ > 0 e v∗T b = µ∗ > 0.

Assim, considerando a solução dual admissível y′′ em lugar de y′, não só semelhora o valor da função objectivo do problema dual como se introduz,pelo menos, uma nova variável no primal restrito, cuja entrada para abase reduz o valor da respectiva função objectivo. Com efeito, a primeiraafirmação decorre directamente de (7.18) e a segunda decorre do facto danova variável xk do primal restrito produzir, na linha de custos reduzidos,o coeficiente zk − ck = v∗ak > 0.

• Consequentemente (recorrendo-se às regras usuais de prevenção de en-trada em ciclo na presença de soluções degeneradas), se o problema dualtem óptimo finito, ao fim da resolução de um número finito de problemas

Page 131: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

7.2 Método Primal-Dual 127

primais restritos, necessariamente, se determina uma solução óptima, x∗,para a qual µ∗ = 0.

Se durante a aplicação do método, sendo y′ a solução dual admissívelcorrente, se obtiver µ∗ > 0 e v∗T aj ≤ 0 ∀j 6∈ J(y′), então ∀θ > 0,yθ = y′ + θv∗ é dual admissível, pelo que (D) não tem óptimo finito. Comefeito, nestas condições, vem que

yTθ aj − cj = y′

Taj − cj + θv∗T aj ≤ 0 ∀j ∈ 1, . . . , n

eyt

θb = y′Tb+ θv∗T b = y′

Tb+ θµ∗ →∞, quando θ →∞.

A determinação de uma solução dual admissível inicial pode fazer-se a partirde uma modificação idêntica à utilizada no método dual simplex.

Note-se que a resolução do método primal-dual recorre essencialmente aoproblema primal restrito, dado que, a partir dele, é possível encontrar as solu-ções duais óptimas que lhe estão associadas. Para facilitar o cálculo podemos,inclusivamente, utilizar um único quadro simplex (primal), no qual, para alémda linha de custos reduzidos associada ao problema original, consideramos tam-bém a linha de custos reduzidos associada ao problema primal restrito. Nestascondições, a identificação do problema primal restrito pode ser feita por in-termédio da etiquetagem das colunas que lhe correspondem, estendendo-se asoperações de pivotação necessárias à resolução deste problema (primal restrito)às restantes colunas do quadro.

No que diz respeito à linha de custos reduzidos do problema inicial, após aobtenção de uma nova solução dual admissível, a sua actualização pode fazer-secomo a seguir se indica (onde se considera o quadro simplex completo).

Sejam zj − cj , para j = 1, . . . , n, os coeficientes da linha de custos reduzidosassociados ao problema original e zj− cj os coeficientes da linha de custos redu-zidos para o problema primal restrito. Então, sendo y′ a solução dual admissívelcorrente e v∗ a solução dual óptima para o problema primal restrito associadoa y′, para cada variável xj , tal que j ∈ J(y′), vem que

zj − cj = y′

Taj − cj

zj − cj = v∗Taj

,

donde decorre que

y′′Taj − cj = y′

Taj − cj + θv∗Taj = zj − cj + θ(zj − cj).

Verifica-se assim que, para actualizar a linha de custos reduzidos associada aoproblema original, basta adicionar-lhe a linha de custos reduzidos associada aoprimal restrito depois de multiplicada por θ.

Exemplo 7.2. Vamos aplicar o método primal-dual a partir do quadro simplex aseguir indicado, relativo a um programa linear de minimização onde as variáveisx8 e x9 são artificiais e, para o qual, as condições de optimalidade são satisfeitas(i.e., existe dual admissibilidade).

Page 132: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

128 Dualidade

x1 x2 x3 x4 x5 x6 x7 x8 x9

x8 2 −1 1 6 −5 −1 0 1 0 6x9 1 1 2 1 2 0 −1 0 1 3ζ −3 −4 −6 −7 −1 0 0 0 0 0µ 0 0 0 0 0 0 0 −1 −1 0

Solução. Começando com x8 e x9 na base, dever-se-à proceder à actualizaçãoda linha de custos reduzidos relativa ao problema restrito (cujas colunas sãoetiquetadas, a seguir, pelo símbolo •), pelo que se obtém o quadro

• • • •x1 x2 x3 x4 x5 x6 x7 x8 x9

x8 2 −1 1 6 −5 −1 0 1 0 6x9 1 1 2 1 2 0 −1 0 1 3ζ −3 −4 −6 −7 −1 0 0 0 0 0µ 3 0 3 7 −3 −1 −1 0 0 9

Dado que zj − cj ≤ 0 ∀j ∈ J(y′) = 6, 7, 8, 9, a solução corrente é óptima parao problema restrito e, fazendo

θ = min1≤j≤5

−(zj − cNj

)

zj − cj: zj − cj > 0 (7.19)

= min−(z1 − c1)

y′T a1

,−(z3 − c3)

y′Ta3

,−(z4 − c4)

y′T a4

(7.20)

= min−(−3)

3,−(−6)

3,−(−7)

7 (7.21)

=−(z1 − c1)

y′Ta1

=−(z4 − c4)

y′Ta4

= 1, (7.22)

após a actualização da linha de custos reduzidos do quadro relativo ao problemaoriginal, obtém-se a sequência de quadros a seguir indicada, relativos ao proble-ma primal restrito definido pelas variáveis assinaladas com •.

1o • • • •x1 x2 x3 x4 x5 x6 x7 x8 x9

x8 2 −1 1 6 −5 −1 0 1 0 6x9 1 1 2 1 2 0 −1 0 1 3ζ 0 −4 −3 0 −4 −1 0 1 0 9µ 3 0 3 7 −3 −1 −1 0 0 9

2o • • • •x1 x2 x3 x4 x5 x6 x7 x8 x9

x4 2/6 −1/6 1/6 1 −5/6 −1/6 0 1/6 0 1

x9 4/6 7/6 11/6 0 17/6 1/6 −1 −1/6 1 2

ζ 0 −4 −3 0 −4 −1 0 1 0 9µ 4/6 7/6 11/6 0 17/6 1/6 −1 −7/6 0 2

Page 133: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

7.2 Método Primal-Dual 129

3o • • • •x1 x2 x3 x4 x5 x6 x7 x8 x9

x4 0 −3/4 −3/4 1 −9/4 −1/4 2/4 1/4 −2/4 0x1 1 7/4 11/4 0 17/4 1/4 −6/4 −1/4 6/4 3ζ 0 −4 −3 0 −4 −1 0 1 0 9µ 0 0 0 0 0 0 0 −1 −1 0

Uma vez que µ∗ = 0, conclui-se que (x∗1, x∗2, x

∗3, x

∗4, x

∗5, x

∗6, x

∗7) = (3, 0, 0, 0, 0, 0, 0)

é uma solução óptima para o problema original.

Page 134: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

130 Dualidade

7.3 Exercícios

Exercício 7.1. Escreva os duais dos seguintes problemas de programação linear:

1. maxcTx : A′x = b′, A′′x ≥ b′′, x ≥ 0;

2. mincTx : Ax ≤ b;

3. minyT b : yTA ≤ b, y ≥ 0;

4. maxc′Tx+ c′′Tx′′ : A′x′ +A′′x′′ ≤ b, x′ ≥ 0.

Exercício 7.2. Prove que o dual do dual de um programa linear é o primal.

Exercício 7.3. Considerando o programa linear primal na forma canónica

mincTx : Ax ≥ b, x ≥ 0,

prove que se existe um par de soluções x∗ e y∗ admissíveis, respectivamente,para o primal e para o dual, satisfazendo a complementaridade de “slacks”, i.e.,y∗T (Ax∗ − b) = (cT − y∗TA)x∗ = 0, então estas soluções são óptimas, respecti-vamente, para o primal e para o dual.

Exercício 7.4. Considere o programa linear (P ) mincTx : Ax = b, x ∈ X,que o conjunto X = x ∈ R

n : Bx ≥ d, x ≥ 0 é um politopo e que x ∈ Rn :

Ax = b, x ∈ X 6= ∅.

1. Prove que o programa

maxwwT b+ min(cT − wTA)x : x ∈ X

equivale ao dual de (P ) 3 .

2. Denotando por x1, . . . , xp, os vértices de X, prove que o problema deter-minado na alínea anterior se pode transformar no problema 4

max zs. a z ≤ wT b+ (cT − wTA)xj , para j = 1, . . . , p.

z, w não restringidos.

Exercício 7.5. Considere o programa linear (P ):

min 2x1 + 2x2

s. a −2x1 + x2 ≥ 1x1 − 2x2 ≥ 1x1, x2, ≥ 0

3Sugestão: construa o dual de (P ), (D), nas variáveis w e y e, para cada w (fixo), considereo dual de (D).

4Este tipo de decomposição é conhecida por decomposição de Benders.

Page 135: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

7.3 Exercícios 131

1. Determine o quadro simplex associado à solução básica não admissível[x1

x2

]

=

[00

]

.

2. Formule o dual de (P ).

3. Aplicando o dual simplex ao quadro obtido em 1 verifique (justificando) seo dual de (P ) tem solução óptima finita.

Exercício 7.6. Considere o programa linear (P )

min 2x1 + x2

s. a 3x1 + x2 ≥ 34x1 + 3x2 ≥ 6x1, x2 ≥ 0

1. Resolva este problema por aplicação do método primal-dual.

2. Identifique o dual de (P ) e determine a respectiva solução óptima.

Page 136: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:
Page 137: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

Capítulo 8

Análise Pós-Optimal e Cortesde Gomory

Uma das questões que se levanta, após a determinação de uma solução óptimapara um programa linear, é a de saber até que ponto essa mesma solução semantém óptima quando perturbamos os dados do problema e, no caso da referidasolução deixar de ser óptima, qual o procedimento a adoptar para (com o menoresforço computacional possível) se atingir, de novo, a optimalidade. Este tipode análise designa-se, habitualmente, por análise pós-optimal (ou análise desensibilidade ).

Dado o programa linear PL(A, b, c), as perturbações possíveis nos dados doproblemas podem dividir-se nas seguintes:

1. Modificação dos coeficientes do gradiente da função objectivo.

2. Modificação dos termos independentes.

3. Modificação das entradas da matriz de decisão 1.

4. Adição de uma nova actividade 2.

5. Adição de uma nova restrição.

Para qualquer destas perturbações vamos supor conhecido o quadro simplexóptimo que a seguir se indica.

xN

xB B−1N B−1bcBB

−1N − cN cBB−1b

1Usualmente designadas por coeficientes tecnológicos.2A qual envolve a consideração de uma nova variável, de uma nova coluna na matriz A e

de um novo coeficiente no gradiente da função objectivo.

Page 138: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

134 Análise Pós-Optimal e Cortes de Gomory

8.1 Modificação dos coeficientes da função objec-

tivo

Supondo que o vector cT foi perturbado pela adição de ∆cT = [∆c1, . . . ,∆cn],i.e.,

cT ← [c1 + ∆c1, c2 + ∆c2, . . . , cn + ∆cn],

no quadro simplex óptimo, apenas se alteram os coeficientes da linha de custosreduzidos e o valor corrente da função objectivo, ou seja,

cBB−1N − cN ← cBB

−1N − cN + ∆cBB−1N −∆cN

cBB−1b ← cBB

−1b+ ∆cBB−1b.

Consequentemente, se as desigualdades

cBB−1N − cN + ∆cBB

−1N −∆cN ≤ 0

são satisfeitas, então a solução básica corrente permanece óptima. Para tal bastaque qualquer que seja o índice j não básico se verifiquem as desigualdades

∆cBB−1aj −∆cj ≤ cj − cBB

−1aj = −(zj − cj).

No caso de alguma das desigualdades anteriores não se verificar, devemosprosseguir com o método simplex (primal) até se obter uma nova solução óptimapara o problema PL(A, b, c+ ∆c).

Exemplo 8.1. Como exemplo de aplicação, vamos considerar o programa line-ar:

maxcTx : Ax ≤ b, x ≥ 0,

cujo quadro simplex reduzido óptimo (no qual x4 e x5 são variáveis de desvio)é o que se indica

x2 x3 x4

x1 −2 −1 1 8x5 3 −1 1 12

3 3 2 16

e analisar a perturbação do gradiente da função objectivo cT , o qual (conformedecorre do quadro) é tal que cT = [2,−7,−5], pela adição do vector ∆cT =[−1, 2, 2], i.e., de tal forma que cT ← [1,−5,−3].

Solução. Após a correspondente modificação do quadro simplex, obtém-se:

x2 x3 x4

x1 −2 −1 1 8x5 3 −1 1 12

3 2 1 8

Page 139: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

8.1 Modificação dos coeficientes da função objectivo 135

Uma vez que que as condições de optimalidade se mantêm, podemos concluirque a solução básica óptima para o problema não perturbado se mantém óptimapara o problema perturbado.

Esta análise pós-optimal (ou de sensibilidade) a este tipo de perturbação éusualmente utilizada na resolução de problemas de programação paramétrica,os quais se distinguem dos problemas de programação linear pelo facto dascomponentes do gradiente da função objectivo dependerem de um determinadoparâmetro.

Exemplo 8.2. Como exemplo de aplicação, vamos resolver o problema de pro-gramação paramétrica

min (1 − λ)x1 + (2 + λ)x2 + (1 + λ)x3

s. a x1 + x2 + x3 ≥ 20,2x1 + 2x2 + x3 ≥ 30,x1, x2, x3 ≥ 0.

Solução. Determinando-se o quadro simplex reduzido associado à solução básica(10,0,10), obtém-se:

x2 x4 x5

x1 1 1 −1 10x3 0 −2 1 10

−1− 2λ −(1 + 3λ) 2λ 20

Este quadro é óptimo, desde que λ satisfaça o seguinte sistema de desigualdades:

−1− 2λ ≤ 0−(1 + 3λ) ≤ 0

2λ ≤ 0⇔ −

1

3≤ λ ≤ 0.

Para valores de λ 6∈]−13 , 0[, deverá proceder-se às respectivas operações de pivo-

tação, obtendo-se a sequência de quadros que a seguir se apresentam.

• λ < − 13 ;

1o x2 x4 x5

x1 1 1 −1 10x3 0 −2 1 10

−1− 2λ −1− 3λ 2λ 20

2o x2 x1 x5

x4 1 1 −1 10x3 2 2 −1 30

λ 1 + 3λ −1− λ 30(1 + λ)

Dado que λ < − 13 , no coeficiente da linha de custos reduzidos relativo a

x5 obtém-se −1 − λ ≤ 0 para −1 ≤ λ ≤ − 13 e −1 − λ > 0 para λ < −1.

Nesta condições pode concluir-se que (0, 0, 30) é uma solução óptima para−1 ≤ λ ≤ − 1

3 e que o problema não tem óptimo finito para λ < −1.

Page 140: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

136 Análise Pós-Optimal e Cortes de Gomory

• λ > 0;

1o x2 x4 x5

x1 1 1 −1 10

x3 0 −2 1 10−1− 2λ −1− 3λ 2λ 20

2o x2 x4 x1

x5 1 −1 1 20x3 0 −2 1 10

−1− 2λ −1 + λ −2λ 20(1− λ)

A partir do último quadro obtido, concluí-se que (0, 0, 10) é solução óptimapara λ > 0.

Denotando por µ(λ) a função que corresponde ao valor óptimo do programaparamétrico considerado, vem que

µ(λ) =

−∞, se λ < −130(1 + λ), se −1 ≤ λ ≤ − 1

320, se − 1

3 ≤ λ ≤ 020(1− λ), se 0 ≤ λ ≤ 1−∞, se λ > 1

8.2 Modificação dos termos independentes

Supondo que o vector de termos independentes b é perturbado pelo vector ∆b,i.e., b ← b + ∆b, o quadro simplex que lhe corresponde vem modificado daseguinte forma:

xN

xB B−1N B−1b+B−1∆b

cBB−1N − cN cBB

−1b+ cBB−1∆b

Consequentemente, o quadro simplex mantém-se óptimo sse as componentes dovector de termos independentes permanecerem não negativas, i.e.,

B−1b+B−1∆b ≥ 0⇔ B−1∆b ≥ −B−1b.

No caso de pelo menos uma das componentes passar a negativa, então a determi-nação da nova solução básica óptima do problema PL(A, b+∆b, c) pode fazer-seaplicando o método dual simplex (uma vez que as condições de optimalidadenão são alteradas).

Page 141: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

8.3 Modificação das entradas da matriz de decisão 137

Exemplo 8.3. Voltando ao quadro simplex reduzido óptimo do Exemplo 8.1,

do qual decorre que a inversa da base corrente é a matriz B−1 =

[1 01 1

]

e

que b =

[84

]

é o vector de termos independentes iniciais, vamos analisar a

perturbação de b pela adição do vector ∆b =

[−9

1

]

.

Solução. O quadro simplex modificado pela perturbação vem dado por

x2 x3 x4

x1 −2 −1 1 −1x5 3 −1 1 4

3 3 2 −2

Uma vez que as condições de optimalidade da linha de custos reduzidos semantêm, aplica-se o método dual simplex, com o qual se obtém a sequênciade quadros simplex que a seguir se indica. Note-se que, neste caso, uma vezque o problema é de maximização, a escolha da coluna pivotal é determinadacalculando min2≤j≤4

zj−cj

−y1j: y1j < 0 = min 3

2 , 3 = 32 = z2−c2

2 .

1o x2 x3 x4

x1 −2 −1 1 −1

x5 3 −1 1 43 3 2 −2

2o x1 x3 x4

x2 −1/2 1/2 −1/2 1/2x5 3/2 −5/2 5/2 5/2

3/2 3/2 7/2 −9/2

8.3 Modificação das entradas da matriz de deci-

são

Este tipo de perturbação pode dividir-se nos seguintes subcasos: 1−modificaçãode uma coluna não básica; 2− modificação de uma coluna básica.

1. Modificação de uma coluna não básica.Suponhamos que a coluna não básica aj é perturbada pela adição do vectorcoluna ∆aj , ou seja, aj ← aj+∆aj , então, no quadro, apenas se modificama coluna B−1aj (que passa a ser B−1aj + B−1∆aj) e o coeficiente dalinha de custos reduzidos cBB−1aj − cj (que passa a ser cBB−1aj − cj +cBB

−1∆aj). Nestas condições, desde que cBB−1aj − cj + cBB−1∆aj se

mantenha não positivo, i.e., desde que se verifique a desigualdade

cBB−1aj − cj ≤ −cBB

−1∆aj ,

Page 142: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

138 Análise Pós-Optimal e Cortes de Gomory

o quadro corrente mantém-se óptimo.

2. Modificação de uma coluna básica.Se a coluna aj perturbada é correntemente uma coluna básica, então é pre-ferível acrescentar uma nova actividade x′j , bem como a correspondentecoluna a′j = aj + ∆aj e, posteriormente, após o cálculo de B−1a′j ecBB

−1a′j − c′j (com c′j = cj), estender o quadro simplex reduzido a esta

nova variável, acrescentando a coluna[

y′jz′j − c

′j

]

=

[B−1a′j

cBB−1a′j − c

′j

]

.

Se y′jj 6= 0, então deve escolher-se este elemento para “pivot” e procederàs operações de pivotação de modo a retirar da base a variável xj . Umavez que xj não esteja na base, devemos ignora-la (retirando-a do quadro)e

• prosseguir com o método simplex (primal), se as condições de admis-sibilidade primal se mantiverem,

• com o método dual simplex, se as condições de admissibilidade dualse mantiverem

ou introduzindo variáveis artificiais no caso de nenhuma das situações severificar. Se y′jj = 0, então pode concluir-se que a nova coluna a′j não podesubstituir a coluna aj na base (uma vez que, em tal situação, as demaisnão formam uma base juntamente com a′j). Nesta última situação, ou seretira xj da base substituindo-a por qualquer outra (se tal for possível)ou se considera esta variável como artificial e se lhe associa um peso queprejudica a sua permanência na base (utilizando uma técnica do tipo “big-M”).

Exemplo 8.4. Vamos analisar o tipo de perturbação 1, considerando que namatriz de decisão do Exemplo 8.1, à coluna associada a x2 se adiciona o vector

de perturbação ∆a2 =

[4−4

]

.

Solução. Nestas condições obtém-se

B−1a2 ← B−1a2 +B−1∆a2 =

[23

]

+

[1 01 1

] [4−4

]

=

[23

]

e

cBB−1a2 − c2 ← cBB

−1a2 − c2 + cBB−1∆a2

= 3 + [2, 0]

[1 01 1

] [4−4

]

= 11.

Page 143: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

8.4 Adição de uma nova actividade 139

Exemplo 8.5. Vamos analisar o tipo de perturbação 2, supondo que no Exem-

plo 8.1 a coluna de A associada a x1, a1, (para a qual se obtém B−1a1 =

[10

]

)

é perturbada pela adição do vector ∆a1 =

[11

]

.

Solução. Introduzindo a variável x6, à qual se associa a coluna a6 = a1+∆a1 e ocoeficiente do gradiente da função objectivo c6 = c1 = 2, obtêm-se as igualdades

B−1a6 = B−1a1 +B−1∆a1

=

[10

]

+

[1 01 1

] [11

]

=

[22

]

e

cBB−1a6 − c6 = [2, 0]

[22

]

− 2 = 2.

Como consequência, determinado o quadro simplex reduzido

x2 x3 x4 x6

x1 −2 −1 1 1 8x5 3 −1 1 2 12

3 3 2 2 16

e procedendo às operações de pivotação, conducentes a tirar da base a variá-vel x1, (que posteriormente é ignorada), obtém-se o quadro simplex reduzidoóptimo.

x2 x3 x4

x6 −1 −1/2 1/2 4x5 1 0 0 4

5 4 1 8

8.4 Adição de uma nova actividade

Supondo que se pretende acrescentar uma nova actividade, xn+1, à qual estáassociada a coluna de coeficientes tecnológicos an+1 e o custo unitário cn+1,deve acrescentar-se ao quadro a coluna

[yp+1

zp+1 − cn+1

]

=

[B−1an+1

cBB−1an+1 − cn+1

]

.

Se zn+1 − cn+1 ≤ 0, então a solução corrente com x∗n+1 = 0 continua óptima 3.Se zn+1− cn+1 > 0, então xn+1 é candidata a entrar para a base e o método

simplex (primal) deve prosseguir.

3Note-se que embora o exemplo que temos vindo a considerar seja um problema de maximi-zação, o estudo mais abstracto que estamos a fazer diz respeito a um problema de minimização.

Page 144: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

140 Análise Pós-Optimal e Cortes de Gomory

Exemplo 8.6. Voltando ao Exemplo 8.1, vamos analisar a perturbação pro-vocada ao acrescentar-se uma nova variável (que vamos denotar por x6) cuja

coluna, na matriz dos coeficientes tecnológicos A, é a6 =

[12

]

e a respectiva

componente do gradiente da função objectivo é c6 = 4.

Solução. Tendo em conta que

B−1a6 =

[1 01 1

] [12

]

,

=

[13

]

cBB−1a6 − c6 = cBB

−1

[12

]

− 4

= [2, 0]

[12

]

− 4

= −2,

a partir do quadro simplex reduzido (apresentado no Exemplo 8.1, determina-seo quadro simplex (para o problema modificado).

x2 x3 x4 x6

x1 2 1 1 1 8x5 3 −1 1 3 12

3 3 2 −2 16

Procedendo às respectivas operações de pivotação, com vista à determinaçãoda nova solução óptima, determina-se o quadro óptimo

x2 x3 x4 x5

x1 1 4/3 2/3 −1/3 4x6 1 −1/3 1/3 1/3 4

5 7/3 8/3 2/3 24

do qual decorre a solução óptima x∗ = (4, 0, 0, 0, 0, 4)T .

8.5 Adição de uma nova restrição

A adição de uma nova restrição é, precisamente, a operação dual da adição deuma nova actividade.Sendo am+1x ≤ bm+1 ⇔ am+1x + xn+1 = bm+1, com xn+1 ≥ 0, a restriçãoacrescentada, onde am+1 denota o vector linha dos respectivos coeficientes tecno-lógicos, as matrizes básica e não básica passam a ser

B′ =

[B 0

am+1B 1

]

e N ′ =

[N

am+1N

]

,

Page 145: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

8.5 Adição de uma nova restrição 141

onde am+1B e am+1

N correspondem aos subvectores de am+1 associados, respecti-vamente, às variáveis xB e xN .

Tendo em conta a forma de B′, facilmente se conclui que a sua inversacorresponde à matriz

B′−1=

[B−1 0

−am+1B B−1 1

]

,

donde vem que

B′−1N ′ =

[B−1 0

−am+1B B−1 1

] [N

am+1N

]

=

[B−1N

−am+1B B−1N + am+1

N

]

,

B′−1[

bbm+1

]

=

[B−1 0

−am+1B B−1 1

] [b

bm+1

]

=

[B−1b

bm+1 − am+1B B−1b

]

,

cB′B′−1[

bbm+1

]

= [cB, 0]

[B−1b

bm+1 − am+1B−1b

]

= cBB−1b,

cB′B′−1N ′ − cN ′ = [cB, 0]

[B−1N

−am+1B B−1N + am+1

N

]

− cN

= cBB−1N − cN .

Como consequência, obtém-se o quadro simplex

xN

xB B−1N B−1bxn+1 am+1

N − am+1B B−1N bm+1 − a

m+1B B−1b

cBB−1N − cN cBB

−1b

do qual se conclui, relativamente ao original, que a única modificação susceptívelde pôr em causa a optimalidade da solução básica corrente diz respeito a

bm+1 − am+1B−1b.

• Se bm+1 − am+1B−1b ≥ 0 4, então a solução básica corrente é óptima.

• Se bm+1 − am+1B−1b < 0, então recomenda-se a utilização do métododual simplex, com vista à obtenção da primal admissibilidade e, comoconsequência, de uma solução óptima para o problema modificado.

4Nestas condições, a solução básica óptima (anteriormente obtida) não viola a nova res-trição, o que implica que se mantenha óptima para o problema modificado (porquê?).

Page 146: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

142 Análise Pós-Optimal e Cortes de Gomory

Exemplo 8.7. Mais uma vez, recorrendo ao Exemplo 8.1, vamos analisar asalterações provocadas no quadro simplex quando se acrescenta a restrição

x1 + x2 + x3 ≤ 3⇔ x1 + x2 + x3 + x6 = 3,

com x6 ≥ 0, e utilizar as técnicas pós-optimais recomendadas.

Solução. Tendo conta que b3 = 3 e a3 = [1, 1, 1, 0, 0], vem que

a3N − a

3BB

−1N = [1, 1, 0]− [1, 0]

[−2 −1 1

3 −1 1

]

= [3, 2,−1]

e ainda que b3 − a3BB

−1b = 3− [1, 0]

[8

12

]

= 5.

Como consequência, obtém-se (para o novo problema) o quadro simplexreduzido a seguir indicado e, por aplicação do método dual simplex, o respectivoquadro óptimo.

1o x2 x3 x4

x1 −2 −1 1 8x5 3 −1 1 12

x6 3 2 −1 −5

3 3 2 16

2o x2 x3 x6

x1 1 1 1 3x5 6 1 1 7x4 −3 −2 −1 5

9 7 2 6

Este tipo de análise pós-optimal (relativamente à adição de restrições) podeser utilizada na resolução de problemas de programação inteira com uma técnicaque usualmente se designa técnica dos cortes (fraccionais) de Gomory.

8.6 Cortes de Gomory em programação inteira

Muitos problemas práticos são representados por modelos de programação li-near com a restrição adicional de que as variáveis apenas podem tomar valoresinteiros. Uma tentativa de resolver o problema de optimização

(P ) mincTx : Ax = b, x ≥ 0, x ∈ Z,

consiste em ignorar a restrição que impõe que as variáveis só podem tomar va-lores inteiros, na expectativa de que a solução óptima a encontrar (para esteproblema relaxado) satisfaça essa restrição. No caso de tal não acontecer, su-pondo que o quadro óptimo é o que a seguir se apresenta,

Page 147: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

8.6 Cortes de Gomory em programação inteira 143

xN1. . . xNk

. . . xNp

xB1y11 . . . y1k . . . y1p b1

......

. . . . . .. . . . . . . . .

xBryr1 . . . yrk . . . yrp br

. . . . . .. . . . . .

. . . . . . . . .xBm

ym1 . . . ymk . . . ymp bmz1 − cN1

. . . zk − cNk. . . zp − cNp

cBB−1b

sabe-se que pelo menos um dos termos independentes não é inteiro e que Ax = bé equivalente aos sistema de equações

xBi+

p∑

j=1

yijxNj= bi, i = 1, . . . ,m,

onde os coeficientes yij são os que constam no quadro. Denotando por ⌊α⌋ omaior inteiro não superior a α (ou seja, ⌊α⌋ denota a parte inteira de α), supondoque br não é inteiro (i.e., que a variável básica xBr

não tem um valor inteiro) ereescrevendo a r-ésima equação, tal como se indica

xBr+

∑pj=1 (⌊yrj⌋+ (yrj − ⌊yrj⌋))xNj

= ⌊br⌋+ (br − ⌊br⌋)m

xBr+

∑p

j=1 ⌊yrj⌋xNj− ⌊br⌋ = (br − ⌊br⌋)−

∑p

j=1 (yrj − ⌊yrj⌋)xNj,

pode concluir-se que o novo termo independente é inteiro, qualquer que seja asolução admissível com componentes inteiras.

Porém, uma vez que o termo independente

(br − ⌊br⌋)−p

j=1

(yrj − ⌊yrj⌋)xNj

é inferior a 1 (dado que br−⌊br⌋ < 1, yrj−⌊yrj⌋ ≥ 0 e xNj≥ 0 para j = 1, . . . , p),

podemos concluir que as soluções admissíveis (com componentes inteiras) devemsatisfazer a nova restrição:

(br − ⌊br⌋)−∑p

j=1 (yrj − ⌊yrj⌋)xNj≤ 0

m−

∑pj=1 (yrj − ⌊yrj⌋)xNj

≤ −(br − ⌊br⌋).

Desta forma pode concluir-se que a nova restrição corta a região admissíveldo programa relaxado, pelo que a sua adição ao conjunto de restrições iniciais avai “apertar” e, eventualmente, alterar a solução óptima corrente. Por aplicaçãoda técnica pós-optimal anteriormente referida (associada à adição de uma novarestrição) pode facilmente determinar-se uma solução óptima (para o problemarelaxado) que satisfaça a restrição que acabamos de introduzir.

A aplicação sistemática deste procedimento designa-se por técnica dos cortes(fraccionais) de Gomory e conduz-nos à obtenção de uma solução óptima parao problema de optimização (P ) 5.

5Estes problemas são usualmente designados, na literatura, por problemas de programaçãolinear inteira.

Page 148: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

144 Análise Pós-Optimal e Cortes de Gomory

Exemplo 8.8. Vamos resolver o problema de optimização:

minx1 + x2 : x1 + 2x2 ≥ 3, 3x1 + x2 ≥ 3, x1, x2 ≥ 0 e x1, x2 ∈ Z,

utilizando a técnica dos cortes de Gomory.

Solução. Resolvendo o problema relaxado, a partir da solução básica admissívelinicial (x1, x2) = (3, 0), obtém-se:

1o x2 x3 2o x4 x3

x1 2 -1 3 x1 −2/5 1/5 3/5x4 5 -3 6 x2 1/5 −3/5 6/5

1 -1 3 −1/5 −2/5 9/5

Uma vez que a solução óptima encontrada não tem componentes inteiras, vamosseleccionar uma variável não inteira (por exemplo x1) e gerar o corte associadoà equação do quadro

x1−25x3+ 1

5x4 = 35 ⇔ x1−(0+ 2

5 )x3+(0+ 15 )x4 = (0+ 3

5 )⇔ x1 = 35 + 2

5x3−15x4.

Como consequência obtém-se o corte

35 + 2

5x3 −15x4 ≤ 0⇔ 2

5x3 −15x4 + x5 = − 3

5 , x5 ≥ 0.

Adicionando ao problema inicial a nova restrição, obtém-se o quadro

xN

xB B−1N B−1bx5 a3

N − a3BB

−1N b3 − a3BB

−1bcBB

−1N − cN cBB−1b

onde a3N = [25 ,−

15 ], a3

B = [0, 0] e b3 = − 35 , pelo que se obtém

a3N − a

3BB

−1N = [25 ,−15 ] e b3 − a3

BB−1b = − 3

5 .

Nestas condições, por aplicação do método dual simplex, obtém-se os quadros:

3o x3 x4 4o x3 x5

x1 -2 /5 1/5 3/5 x1 0 1 0x2 1/5 -3/5 6/5 x2 −1 −3 3

x5 2/5 -1/5 -3/5 x4 −2 −5 3

-1/5 -2/5 9/5 −1 −2 3

A partir do quadro simplex óptimo obtido (o 4o), conclui-se que (x1, x2) = (0, 3)é uma solução óptima para o problema inicial.

Page 149: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

8.7 Exercícios 145

8.7 Exercícios

Exercício 8.1. Considere o programa linear minctx : Ax ≤ b, x ≥ 0, ondecT = [−2, 1,−1] e o quadro simplex reduzido óptimo que lhe está associado (noqual x4 e x5 são variáveis de desvio)

x2 x3 x4

x1 1 1 1 6x5 2 1 1 10

−3 -1 -2 12

1. Sabendo que pretende modificar c, fazendo

cT = [2, 1, 1] + ∆[1, 1, 2],

determine o intervalo de valores de ∆ para os quais a solução básica cor-rente se mantém óptima.

2. Sabendo que a coluna de A associada a x2 ,

[12

]

, passou para

[25

]

,

verifique se as condições de optimalidade associadas à solução básica cor-rente foram alteradas.

3. Considerando que ao problema original se acrescentou a restrição

x1 + 4x2 ≤ 7,

determine a respectiva solução óptima para o problema modificado.

Page 150: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:
Page 151: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

Bibliografia

[1] Antunes, C. H., Tavares, L. V. (ed.)Casos de Aplicação da InvestigaçãoOperacional, McGraw-Hill, Lisboa (2000).

[2] Avriel, M. S., Golany, B. (ed.) Mathematical Programming for IndustrialEngineers. Marcel Deker, Inc. New York (1996).

[3] Bazaraa, M. S., Jarvis, J. J., Sherali, H. D. Linear P*rogramming andNetwork Flows. John Wiley & Sons, Inc. New York (1990).

[4] Beale, E. M. L. Cycling in the dual simplex algorithm, Naval Research Lo-gistics Quaterly, 2 (1955): 269-276.

[5] Bland, R. G. New Finite Pivoting Rules for the Simplex Method, Mathema-tics of Operations Research, 2 (1977): 103-107.

[6] Cardoso, D. M. O Método Simplex Generalizado: Uma Nova Aproximação àProgramação Linear. Tese de Doutoramento, Universidade de Aveiro, Aveiro(1992).

[7] Charnes. A. Optimality and degeneracy in linear programming, Econometrica20 (1952): 160-177.

[8] Cunninghan, W. H. A Class of Linear Programs and Convertible to NetworkProblems, Operations Research, 31, 2 (1983): 387-390.

[9] Dantzig, G. B. Applications of the Simplex Method to a Transportation Pro-blem, in T. C. Koopmans (ed.), Activity of Production and Allocation, JohnWiley & Sons, Inc. New York (1951): 359-373.

[10] Dantzig, G. B. Computational algorithm of the revised simplex method,Report RM 1266, The Rand Corporation, Santa Monica, CA (1953).

[11] Dantzig, G. B., Orden, A., Wolfe, P. The Generalized Simplex Method forMinimizing a Linear Form Under Linear Inequality Restraints, Pacific Jour-nal of Mathematics, 5, 2 (1955): 183-195.

[12] Dantzig, G. B. Linear Programming and Extensions, Princeton UniversityPress, Princeton NJ (1963).

Page 152: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

148 Bibliografia

[13] Hoffman, A. Cycling in the simplex algorithm, Report 2974, Natinal Bureauof Standards, Gaithersburg MD (1953).

[14] Lay, S. R. Convex Sets and their Applications, John Wiley & Sons, Inc.(1982).

[15] Marshal, K. T., Suurballe, J. W. A Note on Cycling in the Simplex Method,Naval Research Logistics Quarterly, 16 (1969): 121-137.

[16] Nash, S. G., Sofer, A. Linear and Nonlinear Programming, McGraw-Hill,New York (1996).

[17] Orlin, J. B. On the Simplex Algorithm for Network and GeneralizedNetworks, Mathematical Programming, 24 (1985): 166-178.

[18] Saigal, R. Linear Programming - A Moderb Integrated Analysis, KluwerAcademic Publishors, Boston (1995).

[19] Schrijver, A. Theory of Linear and Integer Programming, John Wley &Sons, Inc., Chichester (1986).

[20] Sierksma, G. Linear and Integer Programming: Theory and Pratice, MarcelDekker, Inc. (1996).

[21] Tavares, L. V., Oliveira, R. C., Themido, I. H., Correia, F. N. InvestigaçãoOperacional, McGraw-Hill, Lisboa (1996).

[22] Urruty, J. B. H., Lemaréchal, C. Convex Analysis and Mininmization Al-gorithms, vol. I, Springer, Berlin (1993).

Page 153: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

Índice

aderência, 8algoritmo

para o método dual simplex, 121análise de sensibilidade, 133análise pós-optimal, 133aplicação

aditiva, 12homogénea, 12linear, 12

base de trabalho, 92

coeficientes tecnológicos, 43coluna pivotal, 55combinação afim, 4combinação convexa, 4componentes

básicas, 25não básicas, 25

condições de não negatividade, 43cone, 13

convexo, 13polar negativo, 14

conjuntoconvexo, 4dependente afim, 5independente afim, 5

cortes de Gomory, 143

dimensãode um conjunto, 6de uma variedade linear, 6

direcçãodistinta, 24extrema, 24

dualidade, 111

exemploBeale de entrada em ciclo, 75de aplicação do método dual sim-

plex, 124

fronteira, 8funcional linear, 12função objectivo, 42, 43

hiperplano, 12homotetia, 3

interior, 8interior relativo, 8interpretação económica

da variável de desvio ou folga, 44invólucro

afim, 6convexo, 6

Lemada acessibilidade, 9de Farkas (1a versão), 16de Farkas (2a versão), 18

lexicograficamentemenor, 77não negativo, 77não superior, 77positivo, 77

linhade custos reduzidos, 55pivotal, 55

meio espaço, 12método

das duas fases, 69das perturbações, 86, 87

Page 154: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

150 ÍNDICE

de decomposição de Dantzig-Wolfe,91, 99

do big-M, 69dual simplex, 91, 118primal-dual, 91, 125simplex, 61simplex para variáveis limitadas,

91, 92simplex revisto, 65

mínimo lexicográfico, 77, 78

operações de pivotação, 57, 59ordem lexicográfica, 77

partições básicas admissíveis adjacente,92

pivot, 55poliedro convexo, 13politopo, 8ponto extremo, 23problema

da dieta óptima, 40de gestão de “staff”, 41de inventário, 42de optimização da produção, 41de transportes, 40dual, 111primal, 111

problema auxiliardo método de Dantzig-Wolfe, 100,

101problema principal

do método de Dantzig-Wolfe, 100programa linear, 42

na foram canónica, 43na foram padrão, 42

programa primal restrito, 125programação paramétrica, 135propriedade

de monotonicidade da regra de Bland,83

quadro simplexcompleto, 58reduzido, 58

região admissível, 44

regrade Bland, 77, 82em estrela, 59, 66, 67lexicográfica, 77, 78

restrições, 43restrições de caixa, 91

semi-espaço, 12simplex, 8solução

básica admissível degenerada, 30básica degenerada, 30admissível, 44básica, 25básica admissível, 25óptima, 44

solução básicaem problemas com variáveis limi-

tadas, 92solução básica admissível

em problemas com variáveis limi-tadas, 92

solução básica degeneradaem problemas com variáveis limi-

tadas, 92solução básica não degenerada

em problemas com variáveis limi-tadas, 92

stalling, 88subespaço afim, 6

Teoremada complementaridade, 115da complementaridade estrita, 116da dualidade forte, 113da dualidade fraca, 112da representação de poliedros con-

vexos, 33da separação estrita, 15de Bolzano-Weirstrass, 16de Caratheodory, 7de Helly, 19de Radon, 19

translação, 3

variedade linear, 6

Page 155: Domingos Moreira Cardoso - arquivoescolar.orgarquivoescolar.org/bitstream/arquivo-e/70/4/OL2005.pdf · nações lineares convexas de xe y, {z= λx+ (1 −λ)y:

ÍNDICE 151

variávelde decisão, 44de desvio, 44de folga, 44não restringida, 45

vértice, 8