• Nenhum resultado encontrado

Complexidade do algoritmo simplex

No documento UM PEQUENO ESTUDO SOBRE OTIMIZAÇÃO LINEAR (páginas 39-44)

Nosso objetivo nesta seção é demonstrar que a complexidade de tempo do método simplex no pior caso não é polinomial. Para isto, nos basearemos no problema de Klee e Minty [7].

Para mostrarmos que o algoritmo simplex não é um algoritmo polinomial basta encontrarmos uma família de instâncias para a qual ele faz um número exponencial (no tamanho do problema de PL) de mudanças na base, isto é, desejamos encontrar uma sequência exponencial de soluções básicas viáveis 1 2

, , ..., k

x x x tais que i

x e i 1

x+ são adjacentes e satisfazem c xT i+1<c xT i, i=1, ...,k−1.

Como vimos no capítulo anterior, as sbv’s de um problema de PL correspondem aos pontos extremos do poliedro que representa o conjunto de soluções viáveis. Além disso, sbv’s não degeneradas adjacentes de um problema de PL correspondem a pontos extremos unidos por um segmento de reta (face unidimensional) do poliedro. Por exemplo, (0, 0, 1) e (0, 1, 1) na Figura 4.1 (a) são adjacentes.

Suponhamos que a direção de diminuição do vetor custo é para cima. Desejamos descobrir uma sequência exponencial de pontos extremos que são um adjacente ao próximo, e cada ponto extremo forneça um valor para a função objetivo melhor do que o ponto extremo anterior na sequência.

Precisaremos então de um poliedro que tenha um número exponencial de pontos extremos no tamanho do PPL. Tomaremos como exemplo o cubo

0≤xj ≤1, j=1, 2, 3, mostrado na Figura 4.1 (a).

O cubo tridimensional possui 6 lados (faces) e 8 pontos extremos (vértices). Em geral, o cubo d-dimensional definido pelas desigualdades

0≤xj ≤1, j=1, 2, ...., ,d

possui 2d faces, sendo uma para cada inequação, e 2d vértices, sendo um para cada disposição do conjunto { ,x x1 2, ....,xd}, para xj∈{0, 1}, j=1, 2, ...., .d

Agora, iremos construir um poliedro similar ao cubo, definido pelas seguintes inequações: 1≥ ≥x1

ε

1 1 1−εxjxj ≥εxj, j=2, 3, ..., ,d (4.1) onde 0 1 2 ε < < . (a) (b)

Figura 4.1 – Cubo de Klee e Minty.

O poliedro (4.1) é uma perturbação do cubo d-dimensional. Um exemplo tridimensional (para d = 3) é apresentado na Figura 4.1 (b). Nessa figura também é apresentada uma “longa” sequência de vértices adjacentes diminuindo o custo, ou seja, melhorando o valor da função objetivo. Nosso objetivo aqui é demonstrar a existência dessa sequência.

Passaremos agora (4.1) para o formato padrão. Para isso, adicionaremos d variáveis de folga e d variáveis de excesso, obtendo m = 2d e n = 3d. Nosso objetivo será maximizar xd

(ou minimizar −xd). O PPL completo no formato padrão é o seguinte problema de otimização:

1 1 1 1 1 1 1 0 1, 2, ..., , , 0, 1, ..., . d j j j j j j j j j minimizar x sujeito a: x r x s x x r x x s j d x r s j d

ε

ε

ε

− − = + = − − = + + = = ≥ = (4.2)

O próximo lema caracteriza o conjunto de soluções básicas viáveis de (4.2); conforme Papadimitriou e Steiglitz [10].

Lema 4.1 O conjunto das variáveis básicas de (4.2) é um subconjunto de

{

x1, ...,xd, ,...,r1 r sd, 1,...,sd

}

contendo todos os x’s e exatamente um dos rj, sj, para cada j = 1, ..., d. Além disso, todas as sbv’s são não degeneradas.

Demonstração Lembremos que 0 1 2

ε

< < . Como x1≥ε e xj+1≥εxj, j = 1, ..., d – 1, sempre

teremos em qualquer solução viável xj >0, j = 1, ..., d. Então, todas as bases viáveis de (4.2) devem conter as d colunas correspondentes aos x’s.

Suporemos agora que rj =sj =0 para algum j. Se j = 1, então teríamos

1 1 1

xe x = , o que é absurdo. Se j > 1, então pela terceira restrição de (4.2) obtemos

1

j j

xx e pela quarta restrição obtemos xjxj1= ⇔1 2εxj1=1. Pela segunda e quarta restrições de (4.2) temos que xj1≤1. Como 1

2

ε < , temos também que 2ε <1. Portanto a igualdade xj1=1 é impossível. Logo, concluímos que qualquer base viável deve conter uma das colunas correspondentes r e j s para cada j = 1, ..., d, obtendo assim j m = 2d colunas básicas. Notemos também que tais sbv’s não podem ter componentes com o valor igual a zero, e, portanto elas são todas não degeneradas.

Denotaremos uma sbv de (4.2) por xS, onde S é o subconjunto de {1, ..., d} que

Os próximos lemas nos serão úteis na demonstração de que o método simplex leva tempo exponencial para resolver o PPL (4.2); conforme Papadimitriou e Steiglitz [10].

Lema 4.2 Suponhamos que dS, mas dS'; então xdS >xdS'. Além disso, se S'= −S { }d ,

'

1 .

S S

d d

x = −x

Demonstração Uma vez que dS, temos que sd =0 e a quarta restrição de (4.2) fornece

1 1 S S d d x = −

ε

x . Temos que xdS1≤1 e 1 2 ε < , logo 1 2 S d

x > . Por outro lado, dS', logo temos

0

d

r = e a terceira restrição em (4.2) fornece ' '1 1

2

S S

d d

xx < . Portanto, xdS >xdS'. Passemos agora à segunda parte. Notemos que se S=S'∪{ }d , então xdS1=xdS'1. Temos então

' '

1 1 1

S S S S

d d d d

x =

ε

x =

ε

x = −x .

Lema 4.3 Sejam os subconjuntos de {1, ..., d} enumerados de tal modo que

1 2 ... S2d.

S S

d d d

xx ≤ ≤x Então as inequações são estritas, e as sbv’s Sj

x e Sj 1

x + são adjacentes para j = 1, ..., 2d−1.

Demonstração Usaremos aqui indução sobre d. Para d = 1 temos duas sbv’s:

(

x r s1, ,1 1

) (

=

ε

, 0, 1−

ε)

e

(

x r s1, ,1 1

) (

= 1, 1−

ε

, 0

)

. As duas sbv’s possuem x diferentes e elas 1

certamente são adjacentes. Para o passo da indução, suponhamos que o lema é estabelecido para o cubo d-dimensional, e sejam S1, ...,S a enumeração apropriada. Notemos que 2d

1, ..., 2d

S S são também subconjuntos de {1, ..., d + 1}, e que Sj1 Sj

d d

x + =

ε

x , j = 1, ..., 2d. Pela

hipótese de indução temos que 1 2 2

1 1 ... Sd1.

S S

d d d

x + <x + < <x + Consideremos os subconjuntos restantes de {1, ..., d + 1}, S′ =j Sj ∪ +{d 1}, j = 1, ..., 2d. Temos, pelo Lema 4.2, que

2 1 1 d j S S d d x + >x + e Sj1 1 Sj1 d d x + = −x + . Portanto 1 2 2 1 1 ... Sd1 Sd1 ... 1 S S d d d d x + < <x + <x + < < x + .

Pela hipótese de indução Sj

x e Sj 1

x + são adjacentes, e então Sj

x e Sj 1

x ′+

também o são. Além disso, S2d

x e S2d

x são adjacentes também, desde que a última base resulte da anterior adicionando rd+1 e retirando sd+1.

Agora estamos prontos para demonstrar o principal resultado desta seção; conforme Papadimitriou e Steiglitz [10].

Teorema 4.1 Para todo d > 1 há um PPL com 2d equações, 3d variáveis, e coeficientes

inteiros com valor absoluto limitado por 4, tal que o algoritmo simplex pode levar 2d−1

iterações para encontrar a solução ótima.

Demonstração Tomemos 1 4

ε = e multipliquemos todas as equações de (4.2) por 4, de modo

que todos os coeficientes são inteiros. Uma vez que o objetivo de (4.2) é maximizar xd, o Lema 4.3 garante a existência de uma sequência exponencial de sbv’s adjacentes com valor para xd crescente. Finalizamos a demonstração.

Tratamos nesta seção do comportamento do método simplex no pior caso, e não nos atentamos ao comportamento médio, que representa a complexidade média assintótica. Por isso, deve ser enfatizado que o número de iterações requeridas para encontrar a solução ótima de um PPL na prática usando o método simplex geralmente é menor do que o número de iterações requeridas no exemplo de Klee e Minty.

CAPÍTULO V

UMA INTRODUÇÃO À PROGRAMAÇÃO LINEAR INTEIRA

Nosso objetivo neste capítulo é definir o problema de programação linear inteira (PLI) e o problema de programação linear inteira 0-1.

No documento UM PEQUENO ESTUDO SOBRE OTIMIZAÇÃO LINEAR (páginas 39-44)

Documentos relacionados