Buscar

Método Simplex

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

C A P Í T U L O 3 
Método Simplex 
 
1. Soluções Básicas Admissíveis 
 Considere um problema de PL representado nas suas formas padrão e matricial. Uma base é 
um conjunto de m variáveis, tais que a matriz dos coeficientes do sistema de equações lineares (3.2) é 
não singular (isto é, cujo determinante é não nulo). Por outras palavras, é toda a submatriz quadrada 
regular (m×m) contida em A (m×n)  existe pelo menos uma, já que car (A) = m < n. 
 Então, pode-se rescrever a matriz A da seguinte forma : 
 A = [ ]NB 
onde N é a submatriz formada pelas colunas de A que não estão na base B. 
 Da mesma forma, se pode particionar o vector X em 
 X = [ ] TNB XX 
e o vector C em 
 C = [ ]NB CC . 
Portanto, o problema pode ser representado da seguinte forma : 
 Maximizar [ ] 


×=
N
B
NB
X
X
CCZ 
 Sujeito a [ ] bXNXBb
X
X
NB NB
N
B =+⇔=


× 
 X ≥ 0 
 
28 Método Simplex 
Considere-se as seguintes definições : 
¾ variáveis básicas (VB) : as m variáveis que formam a base do sistema 
¾ variáveis não básicas (VNB) : as restantes n-m variáveis 
¾ solução básica (SB) : solução cujos valores das VNB são nulos (X com XN = 0 e XB = B-1 b) 
¾ solução básica admissível (SBA) : SB com todas as VB não negativas (XB ≥ 0) 
¾ SBA não degenerada : SBA em que as VB são estritamente positivas (XB > 0) 
¾ SBA degenerada : SBA em que uma ou mais VB são nulas 
¾ base admissível : uma base que corresponde a uma solução básica admissível 
¾ um ponto x ∈ X é ponto extremo se e só se constituir uma SBA do problema de PL 
¾ o conjunto dos vértices de um politopo X = { x : A x = b, x ≥ 0, x ∈ Rn } corresponde ao conjunto 
de soluções básicas admissíveis 
¾ o conjunto dos PE da região admissível corresponde ao conjunto das SBA e são ambos não 
vazios, desde que a região admissível seja não vazia. Cada SBA é equivalente a um PE, mas 
podem existir várias SBA correspondendo ao mesmo PE. 
Propriedades dos pontos extremos admissíveis : 
1. Se existe apenas uma solução óptima, então tem de ser um PE admissível. 
2. Se existem várias soluções óptimas, então pelo menos 2 são PE admissíveis adjacentes. 
3. Existe um número finita de PE admissíveis. 
4. Se um PE admissível não tem PE admissíveis adjacentes melhores, então esse PE é óptimo. 
As propriedades 1 e 2, implicam que a pesquisa de uma solução óptima pode ser reduzida, 
considerando apenas os PE admissíveis; desta forma, existe um número finito de soluções a 
considerar (propriedade 3). A propriedade 4 fornece um teste de optimalidade muito conveniente. 
2. Método Simplex 
 O método Simplex explora as 4 propriedades dos pontos extremos admissíveis apresentadas no 
sub-capítulo anterior (1), apenas examinando relativamente poucos PE admissíveis e parando logo 
que um deles passe o teste de optimalidade. Desta forma, o método Simplex move-se repetidamente 
(iterativamente) do PE admissível actual para um melhor PE admissível, até que a solução actual não 
tenha nenhum PE admissível adjacente melhor. Este processo é composto pelos seguintes passos : 
1º) Iniciação : Começar com um PE admissível. Qualquer PE admissível pode ser adoptada como 
solução inicial; no entanto, uma boa hipótese para a SBA inicial será considerar as slacks como 
VB e as originais como VNB. 
2º) Iteração : Mover-se para um melhor PE admissível adjacente. (Repetir este passo quantas 
vezes forem necessárias). Este movimento implica a conversão de uma VNB numa VB 
Método Simplex 
Algoritmo Primal Simplex (problema de maximização) 29 
(chamada a variável básica de entrada) e, simultaneamente, a conversão de uma VB numa 
VNB (chamada variável básica de saída), para depois identificar a nova SBA. 
3º) Teste de optimalidade : O PE admissível actual é óptimo se nenhum dos PE admissíveis seus 
adjacentes são melhores. 
3. Algoritmo Primal Simplex (problema de maximização) 
 Considere-se um problema de PL de maximização na sua forma padrão (Error! Reference 
source not found.). Na resolução de um problema através do algoritmo de Simplex, recorre-se ao 
chamado quadro Simplex. Supondo que as variáveis básicas são as primeiras m, 
 xB = (x1, ..., xm) e 
 xN = (xm+1, ..., xm+n), 
o quadro Simplex padrão assume o seguinte aspecto : 
XB xB xN 2º membro 
 Im NBA 1−= bBxb 1B −== 
zj − cj 0 NB CAC − bCZ BB = 
Passo inicial : 
Construir o quadro Simplex, considerando como SBA inicial, as m variáveis slacks, ficando o quadro 
Simplex com o seguinte aspecto : 
XB x1 . . . xn xn+1 . . . xn+m 2º m. 
xn+1 a11 . . . a1n 1 . . . 0 b1 
. . . . . . . . . . . . . . . . . . . . . . . . 
xn+m am1 . . . amn 0 . . . 1 bm 
zj − cj − c1 − cn 0 . . . 0 0 
Passo principal : Considerar o quadro Simplex padrão. 
1) Seja zk − ck = mínimo { zj − cj : j ∈ R }, onde R é o conjunto dos índices das VNB (candidatas a 
entrarem na base) 
Se zk − ck ≥ 0 então a SBA actual é óptima senão continuar (teste de optimalidade) 
2) Examinar a coluna k do quadro ( kA ) : 
Se ikA ≤ 0 ∀ i então o problema tem óptimo ilimitado (+∞) senão continuar. 
3) A variável xk entra na base e a xt sai da base, sendo t determinado pelo seguinte teste : 
 



 >== 0a,
a
bmin
a
bx ik
ik
i
tk
t
t . 
Método Simplex 
30 Algoritmo Primal Simplex (problema de maximização) 
Se existirem mais do que uma variável nestas condições, qualquer uma pode ser usada (conduz 
a soluções degeneradas). 
4) Actualizar o quadro Simplex, sendo o “pivot” o valor de tka , utilizando o método de 
eliminação de Gauss, de forma que o quadro apresente as seguintes alterações : 
a) na coluna k aparece tudo a 0, excepto na posição do “pivot” onde aparece 1, 
b) a linha zj − cj recalculada. 
Exemplo : 
 Uma empresa fabrica dois tipos de produtos : A e B. O lucro unitário líquido de cada um é 45 
(A) e 30 u.m. (B). Numa máquina, os produtos são processados durante 2 min. (A) e 1 min. (B). A 
máquina está disponível 1000 min.. Cada um dos produtos requer 1 min. de mão-de-obra directa. A 
disponibilidade de mão-de-obra é 800 min.. 
 Estudos de mercado indicam que a procura dos produtos A e B não excede 400 e 700 unidades, 
respectivamente. 
 Quantas unidades de A e B devem ser fabricadas de modo a maximizar o lucro ? 
Formalização do problema : 
 x1 = quantidade de unidades do produto A 
 x2 = quantidade de unidades do produto B 
 Max 45 x1 + 30 x2 (lucro) 
 s. a 2 x1 + x2 ≤ 1 000 (máquina) 
 x1 + x2 ≤ 800 (mão-de-obra) 
 x1 ≤ 400 (procura de A) 
 x2 ≤ 700 (procura de B) 
 x1, x2 ≥ 0 
Passar o problema para a sua forma padrão : 
 Determinar xi ≥ 0 , i = 1,...,6 de modo a 
 Max 45 x1 + 30 x2 
 s. a 2 x1 + x2 + x3 = 1 000 
 x1 + x2 + x4 = 800 
 x1 + x5 = 400 
 x2 + x6 = 700 
 xi ≥ 0 , i = 1,...,6 
Método Simplex 
Algoritmo Primal Simplex (problema de maximização) 31 
Resolução do problema, utilizando o algoritmo Simplex : 
Passo inicial : 
 XB x1 x2 x3 x4 x5 x6 2º m. 
L1 − 2 L3 x3 2 1 1 0 0 0 1 000 1000/2 = 500
L2 − L3 x4 1 1 0 1 0 0 800 800/1 = 800
L3 Í x5 1 0 0 0 1 0 400 400/1 = 400
L4 x6 0 1 0 0 0 1 700 ( − ) 
L5 + 45 L3 zj − cj −45 −30 0 0 0 0 0 
 Ï 
1ª Iteração : 
 XB x1 x2 x3 x4 x5 x6 2º m. 
L1 Í x3 0 1 1 0 −2 0 200 200/1 = 200
L2 − L1 x4 0 1 0 1 −1 0 400 400/1 = 400
L3 x1 1 0 0 0 1 0 400 ( − ) 
L4 − L1 x6 0 1 0 0 0 1 700 700/1 = 700
L5 + 30 L1 zj − cj 0 −30 0 0 45 0 18 000 
 Ï 
2ª Iteração : 
 XB x1 x2 x3 x4 x5 x6 2º m. 
L1 + 2 L2 x2 0 1 1 0 −2 0 200 ( − ) 
L2 Í x4 0 0 −1 1 1 0 200 200/1 = 200
L3 − L2 x1 1 0 0 0 1 0 400 400/1 = 400
L4 − 2 L2 x6 0 0 −1 0 2 1 500 500/2 = 250
L5 + 15 L2 zj − cj 0 0 30 0 −15 0 24 000 
 Ï 
3ª Iteração: 
 XB x1 x2 x3 x4 x5 x6 2º m. 
 x2 0 1 −1 2 0 0 600 ← x2 (opt) 
 x5 0 0 −1 1 1 0 200 ← x5 (opt) 
 x1 1 0 1 −1 0 0 200 ← x1 (opt) 
 x6 0 0 1 −2 0 1 100 ← x6 (opt) 
 zj − cj 0 0 15 15 0 0 27 000 ← Zmax 
 Como os elementos da linha (zj − cj) são todos não negativos, a solução presente é óptima : 
 x* = (200, 600, 0, 0, 200, 100) com z* = 27 000. 
Método Simplex 
32 Técnica da base artificial 
4. Problemas com restrições ≤, = e ≥ 
 Considere-se um problema de PL, apresentando a seguinte forma : 
 Max C X 
 s. a A X ∇ b ∇ ∈ { ≤, =, ≥ } 
 X ≥ 0 
em que todas as componentes de b são não negativas. 
 Restrição ≤ ⇒ variável slack 
coeficiente 1 (coluna I) • 
• 
• 
• 
• 
• 
• 
• 
• 
• 
• 
quando o valor de b excede o lado esquerdo 
coeficiente nulo na função objectivo 
corresponde à quantidade de recurso não consumido 
 Restrição ≥ ⇒ variável slack 
coeficiente −1 
quando o lado esquerdo excede o valor de b 
coeficiente nulo na função objectivo 
corresponde à quantidade de recurso consumido além do mínimo requerido 
 Restrições ≥ e = ⇒ variável artificial 
coeficiente 1 (coluna I) 
não pode aparecer na solução óptima 
coeficiente negativo muito elevado na função objectivo 
5. Técnica da base artificial 
 Como não existe qualquer variável que possa ser imediatamente tornada como básica, isto é, a 
matriz dos coeficientes A não contém uma submatriz identidade (b ≥ 0), é necessário introduzir 
algumas variáveis artificiais, tantas quanto as necessárias, para se conseguir arranjar um submatriz 
identidade de ordem m. 
 As variáveis artificiais, ao contrário das slacks, não têm significado de natureza económica, 
sendo apenas um mero artifício matemático  daí a designação de artificiais. 
 O objectivo consiste em anular as variáveis artificiais, pois só desta forma será possível a 
obtenção de uma solução do problema inicial. No entanto, qualquer solução do problema original é 
também solução do problema aumentado, com as variáveis artificiais a zero. O inverso também é 
verdade, desde que as variáveis artificiais valem zero. 
 Para conseguir tal objectivo, irão ser estudados 2 métodos diferentes, que são 2 variantes do 
método Simplex : método do M−Grande (Penalidades) e método das Duas−Fases. 
Método Simplex 
Técnica da base artificial 33 
5.1. Método do M−Grande (ou das Penalidades) 
 Neste método, as variáveis artificiais são “fortemente“ penalizadas na função objectivo, de 
modo a “provocar“ rapidamente o seu anulamento. O método Simplex, tenderá “naturalmente“ a 
eliminar da base as variáveis artificiais, como se pretende, dado que aquelas estão penalizadas com 
coeficientes arbitrariamente grandes : (−M) na maximização e (+M) na minimização. 
 Considere-se um problema de PL na forma padrão : 
 Maximizar Z = c1 x1 + … + cn xn 
 Sujeito a a11 x1 + … + a1n xn = b1 
 . . . 
 am1 x1 + … + amn xn = bm 
 xi ≥ 0, i = 1,…,n 
 Por aplicação do método do M-Grande, passa-se ao seguinte problema aumentado : 
 Maximizar Z = c1 x1 + … + cn xn – M xn+1 – … – M xn+m 
 Sujeito a a11 x1 + … + a1n xn + xn+1 = b1 
 . . . 
 am1 x1 + … + amn xn + xn+m = bm 
 xi ≥ 0, i = 1,…, n+m 
em que as variáveis xi (i = n+1, …, n+m) são artificiais e –M o coeficiente de penalização. 
 No entanto, os valores dos coeficientes de custo da função objectivo (linha de custo), associados 
às variáveis artificiais são não nulos (cj = −M, j é índice de variável artificial)  o que não pode 
acontecer, pois todos aqueles valores têm quer ser nulos. 
 Logo, é necessário determinar uma nova função objectivo, que seja equivalente à anterior, mas 
em que os coeficientes de custo das variáveis artificiais sejam nulos. Para tal, calcula-se a nova função 
objectivo, em função da anterior e das restrições onde existam as referidas variáveis. 
Exemplo : 
 Uma pequena empresa fabrica 3 tipos de kits electrónicos : A, B e C. O lucro unitário líquido de 
cada um é 5 (A), 10 (B) e 15 u.m. (C). O tempo disponível limita o número total de kits que podem ser 
fabricados, a 500. Estudos de mercado indicam que o total de kits tipos A e B deve ser pelo menos 
100. O total de kits tipo A deve exceder exactamente em 120 o total de kits tipos B e C. 
 Quantas unidades de A, B e C devem ser fabricadas de modo a maximizar o lucro ? 
Método Simplex 
34 Técnica da base artificial 
Formalização do problema : 
 x1 = quantidade de unidades do kit A 
 x2 = quantidade de unidades do kit B 
 x3 = quantidade de unidades do kit C 
 Max Z = 5 x1 + 10 x2 + 15 x3 (lucro) 
 s. a x1 + x2 + x3 ≤ 500 (capacidade) 
 x1 + x2 ≥ 100 (procura de A e B) 
 x1 − x2 − x3 = 120 (excedente de A) 
 x1, x2, x3 ≥ 0 
Passar o problema para a sua forma padrão : 
 Max Z = 5 x1 + 10 x2 + 15 x3 
 s. a x1 + x2 + x3 + x5 = 500 
 x1 + x2 − x4 = 100 
 x1 − x2 − x3 = 120 
 xi ≥ 0 , i = 1,...,5 
Como não é possível “arranjar“ uma matriz identidade, terão que ser introduzidas variáveis artificiais 
no problema. Desta forma, o problema passará a ter a seguinte forma : 
 Max Z = 5 x1 + 10 x2 + 15 x3 + 0 x4 + 0 x5 − M x6 − M x7 (M ≈ +∞) 
 s. a x1 + x2 + x3 + x5 = 500 
 x1 + x2 − x4 + x6 = 100 
 x1 − x2 − x3 + x7 = 120 
 xi ≥ 0 , i = 1,...,7 (x6, x7  variáveis artificiais) 
Aplicando o algoritmo Simplex a este problema, tem-se : 
Passo inicial : 
 XB x1 x2 x3 x4 x5 x6 x7 2º m. 
L1 − L2 x5 1 1 1 0 1 0 0 500 
L2 Í x6 1 1 0 −1 0 1 0 100 
L3 − L2 x7 1 −1 −1 0 0 0 1 120 
 (1) zj − cj −5 −10 −15 0 0 M M 0 
L4 + (2M+5) L2 (2) zj − cj −2M−5 −10 M−15 M 0 0 0 −220 M 
 Ï 
Método Simplex 
Técnica da base artificial 35 
(1) Como os valores de zj − cj (j = 6, 7) são não nulos (M) e x6 e x7 são variáveis básicas (portanto, para 
que se possa aplicar o algoritmo Simplex têm que ter zj − cj = 0, j = 6, 7), é necessário construir uma 
nova linha para zj − cj, o que se faz da seguinte forma : 
Linha 4 [ −5 −10 −15 0 0 M M 0 ]
Linha 2 (x6) −M [ 1 1 0 −1 0 1 0 100 ]
Linha 3 (x7) −M [ 1 −1 −1 0 0 0 1 120 ]
Nova linha 4 [ −2M−5 −10 M−15 M 0 0 0 −220 M ]
Desta forma, o primeiro quadro Simplex será o anterior, em que a linha zj − cj será a (2). 
1ª Iteração : 
 XB x1 x2 x3 x4 x5 x6 x7 2º m. 
L1 − L3 x5 0 0 1 1 1 −1 0 400 
L2 + L3 x1 1 1 0 −1 0 1 0 100 
L3 Í x7 0 −2 −1 1 0 −1 1 20 
L4 + (M+5) L2 zj − cj 0 2M−5 M−15 −M−5 0 2M+5 0 −20 M+500 
 Ï 
2ª Iteração : 
 XB x1 x2 x3 x4 x5 x6 x7 2º m. 
½ L1 Í x5 0 2 2 0 1 0 −1 380 
L2 + ½ L1 x1 1 −1 −1 0 0 0 1 120 
L3 + ½ L1 x4 0 −2 −1 1 0 −1 1 20 
L4 + 10 L1 zj − cj 0 −15 −20 0 0 M M+5 600 
 Ï 
3ª Iteração : 
 XB x1 x2 x3 x4 x5 x6 x7 2º m. 
 x3 0 1 1 0 0.5 0 −0.5 190 
 x1 1 0 0 0 0.5 0 0.5 310 
 x4 0 −1 0 1 0.5 −1 0.5 210 
 zj − cj 0 5 0 0 10 M M−5 4 400 
 Como todos os elementos da linha (zj − cj) são não negativos, então a solução presente é óptima : 
x* = (310, 0, 190, 210, 0, 0, 0) com z* = 4 400. 
 No quadro inicial as variáveis artificiais x6 e x7 são VB ⇒ R2 e R3 são violadas. 
 No 2º quadro a variável artificial x7 é VB ⇒ R3 é violada. 
 No 3º quadro a variável artificial x6 e x7 são VNB ⇒ Solução admissível. 
Método Simplex 
36 Técnica da base artificial 
5.2. Método das Duas-Fases 
 Nesta variante, o problema de PL é resolvido em duas fases distintas : na primeira, procura-se 
determinar se existem soluções admissíveis para o problema inicial e, caso existam, obtém-se uma 
SBA que será a solução de partida (inicial), da fase seguinte; a segunda, consiste simplesmente na 
aplicação do algoritmo do Simplex, tal como foi descrito inicialmente. 
 A 1ª fase consiste em remover da base todas as variáveis artificiais,de forma a obter uma SB 
apenas com variáveis não artificiais do problema. Para tal, resolve-se o seguinte problema de PL 
(problema auxiliar), começando com (X, Xa) = (0, b) como SBA : 
 Minimizar Z’ = ∑ Xa 
 Sujeito a A X = b 
 X ≥ 0 
em que Xa é o vector das variáveis artificiais e o objectivo consiste, nesta fase, em minimizar a sua 
soma (função objectivo artificial), quer o problema inicial seja de maximização quer seja de 
minimização. 
 Portanto, obtida uma solução para o problema auxiliar com as variáveis artificiais nulas, fica 
determinada a SBA de partida para o problema inicial. É evidente que uma solução nestas condições 
só se verifica com o valor da FO artificial igual a zero (Z’ = 0). 
 No entanto, outros situações podem acontecer. Portanto, no fim do 1ª fase, em que se atingiu a 
solução óptima do problema auxiliar, está-se numa das situações seguintes : 
i) z’ > 0  existe pelo menos uma variável artificial básica com valor estritamente positivo ⇒ o 
problema inicial é impossível (região admissível vazia); 
ii) z’ = 0 com todas as variáveis artificiais não básicas  a solução em presença é uma SBA de 
partida para o problema inicial ⇒ passar directamente à 2ª fase. 
iii) z’ = 0 com pelo menos uma variável artificial básica (nula)  a solução encontrada é uma 
solução admissível para o problema inicial. Se existir algum vector não artificial fora da base em 
condições de substituir um vector artificial procede-se à substituição, sendo a solução obtida 
degenerada; caso contrário, tira-se do quadro Simplex a linha respectiva (e a variável artificial 
associada). Em qualquer dos casos, após estas operações, passar à 2ª fase. 
 A 2ª fase consiste em considerar a solução obtida na fase anterior como primeira SBA, e aplicar 
o método Simplex normalmente até se atingir a solução óptima. Nesta fase, os vectores artificiais 
podem ser suprimidos dos respectivos quadros; no entanto, é vantajoso a sua manutenção, sem 
contudo questionar a sua possível reentrada na base. 
Método Simplex 
Técnica da base artificial 37 
Exemplo : 
Considere o seguinte problema de PL (minimização) : 
 Min Z = 3 x1 + 2 x2 
 s. a x1 ≤ 3 
 x2 ≤ 4 
 x1 + x2 ≤ 5 
 x1 + 5 x2 ≥ 5 
 5 x1 + 2 x2 ≥ 10 
 x1, x2 ≥ 0 
Este problema é equivalente ao seguinte problema de maximização : 
 Maximizar − Z = − 3 x1 − 2 x2 
 Sujeito a (x1, x2) ∈ X (mesmas restrições anteriores) 
Passar o problema para a sua forma padrão : 
 − Maximizar Z = − 3 x1 − 2 x2 
Sujeito a x1 + x5 = 3
 x2 + x6 = 4
 x1 + x2 + x7 = 5
 x1 + 5 x2 − x3 + x8 = 5
 5 x1 + 2 x2 − x4 + x9 = 10
 xi ≥ 0 , i = 1,...,9 (x8, x9  variáveis artificiais) 
1ª Fase : 
 Resolver o seguinte problema de PL auxiliar : 
 Minimizar Z’ = x8 + x9 
 sujeito a x ∈ X 
o qual é equivalente ao seguinte problema de maximização : 
 − Maximizar Z’ = − x8 − x9 
 sujeito a x ∈ X 
Método Simplex 
38 Técnica da base artificial 
Aplicando o algoritmo Simplex a este problema de maximização, tem-se : 
Passo inicial : 
 XB x1 x2 x3 x4 x5 x6 x7 x8 x9 2º m. 
L1 x5 1 0 0 0 1 0 0 0 0 3 
L2 − (1/5) L4 x6 0 1 0 0 0 1 0 0 0 4 
L3 − (1/5) L4 x7 1 1 0 0 0 0 1 0 0 5 
(1/5) L4 Í x8 1 5 −1 0 0 0 0 1 0 5 
L5 − (2/5) L4 x9 5 2 0 −1 0 0 0 0 1 10 
 (1) z’j − c’j 0 0 0 0 0 0 0 1 1 0 
L6 + (7/5) L4 (2) z’j − c’j −6 −7 1 1 0 0 0 0 0 −15 
 Ï 
(1) Como os valores de zj − cj (j = 8, 9) são não nulos (1), x8 e x9 são variáveis básicas (portanto, para 
que se possa aplicar o algoritmo Simplex têm que ter zj − cj = 0, j = 8, 9), é necessário construir uma 
nova linha para zj − cj, o que se faz da seguinte forma : 
Linha 6 [ 0 0 0 0 0 0 0 1 1 0 ]
Linha 4 (x8) − [ 1 5 0 0 0 0 0 1 0 5 ]
Linha 5 (x9) − [ 5 2 0 −1 0 0 0 0 1 10 ]
Nova linha 6 [ −6 −7 0 1 0 −1 0 0 0 −15 ]
Desta forma, o primeiro quadro Simplex será o anterior, em que a linha zj − cj será a (2). 
1ª Iteração : 
 XB x1 x2 x3 x4 x5 x6 x7 x8 x9 2º m. 
L1 − (5/23) L5 x5 1 0 0 0 1 0 0 0 0 3 
L2 + (1/23) L5 x6 −1/5 0 1/5 0 0 1 0 −1/5 0 3 
L3 − (4/23) L5 x7 4/5 0 1/5 0 0 0 1 −1/5 0 4 
L4 − (1/23) L5 x2 1/5 1 −1/5 0 0 0 0 1/5 0 1 
(5/23) L5 Í x9 23/5 0 2/5 −1 0 0 0 −2/5 1 8 
L6 + L5 z’j − c’j −23/5 0 −2/5 1 0 0 0 7/5 0 −8 
 Ï 
2ª Iteração : 
 XB x1 x2 x3 x4 x5 x6 x7 x8 x9 2º m. 
 x5 0 0 −2/23 5/23 1 0 0 2/23 −5/23 29/23 
 x6 0 0 5/23 −1/23 0 1 0 −5/23 1/23 77/23 
 x7 0 0 3/23 4/23 0 0 1 −3/23 −4/23 60/23 
 x2 0 1 −5/23 1/23 0 0 0 5/23 −1/23 15/23 
 x1 1 0 2/23 −5/23 0 0 0 −2/23 5/23 40/23 
 z’j − c’j 0 0 0 0 0 0 0 1 1 0 
Método Simplex 
Técnica da base artificial 39 
 Como z’j − c’j ≥ 0, ∀j, a solução actual é óptima, para o problema auxiliar, que será a SBA de 
partida para o problema inicial. Esta solução é a seguinte : 
 

=
23
60,
23
77,
23
29,0,0,
23
15,
23
40*x e z’* = 0. 
2ª Fase : 
 Resolver o problema inicial utilizando o algoritmo Simplex, em que a SBA de partida é a 
solução óptima do problema auxiliar. 
 Portanto, retoma-se a função objectivo inicial, pelo que o 1º quadro desta fase apenas difere do 
último da 1ª fase no que diz respeito aos zj − cj. 
 Como x1 e x2 fazem parte da SBA de partida, então valores de zj − cj (j = 1, 2) têm de ser nulos, o 
que não acontece (c1 = −3 e c2 = −2). Para tal, é necessário alterar a linha que corresponde a estes 
valores, da seguinte forma : 
 XB x1 x2 x3 x4 x5 x6 x7 x8 x9 2º m. 
 x5 0 0 −2/23 5/23 1 0 0 2/23 −5/23 29/23 
 x6 0 0 5/23 −1/23 0 1 0 −5/23 1/23 77/23 
 x7 0 0 3/23 4/23 0 0 1 −3/23 −4/23 60/23 
 x2 0 1 −5/23 1/23 0 0 0 5/23 −1/23 15/23 
 x1 1 0 2/23 −5/23 0 0 0 −2/23 5/23 40/23 
 (1) zj − cj 3 2 0 0 0 0 0 0 0 0 
 (2) zj − cj 0 0 4/23 13/23 0 0 0 −4/24 −13/23 −150/23 
 ↑Zmax 
(1) Como os valores de zj − cj (j = 1, 2) são não nulos (3, 2), x1 e x2 são variáveis básicas (portanto, para 
que se possa aplicar o algoritmo Simplex têm que ter zj − cj = 0, j = 1, 2), é necessário construir uma 
nova linha para zj − cj, o que se faz da seguinte forma : 
(1) Linha 6 [ 3 2 0 0 0 0 0 0 0 0 ]
Linha 4 (x8) −2 [ 0 1 −5/23 1/23 0 0 0 5/23 −1/23 15/23 ]
Linha 5 (x9) −3 [ 1 0 2/23 −5/23 0 0 0 −2/23 5/23 40/23 ]
(2) Nova linha 6 [ 0 0 4/23 13/23 0 0 0 −4/23 −13/23 −150/23 ]
Desta forma, o primeiro quadro Simplex será o anterior, em que a linha zj − cj será a (2). 
 Como zj − cj ≥ 0, ∀ j, a solução associada ao quadro é óptima. Esta é a seguinte : 
 

=
23
60,
23
77,
23
29,0,0,
23
15,
23
40*x com ( )maxmin Z23
150 −==Z 
Método Simplex 
40 Problemas de minimização 
 Resolução gráfica do problema : 
 
6. Problemas de minimização 
 Até aqui, o método Simplex apenas tem sido aplicado a problemas que consistem na 
maximização das funções de custo. No entanto, este método também se pode aplicar a problemas de 
minimização. Para tal, não será necessário alterar o algoritmo Simplex, descrito anteriormente, 
podendo aquele ser aplicando a problemas de minimização, pois pode-se converter um problema 
daquele tipo num problema de maximização equivalente, da seguinte forma : 
 Minimizar Z = c1 x1 + c2 x2 + … + cn xn 
 Sujeito a (x1, x2, … , xn) ∈ X 
é equivalente a 
 − Maximizar Z = − c1 x1 − c2 x2 − … − cn xn 
 Sujeito a (x1, x2, … , xn) ∈ X 
Método Simplex 
Propriedades do quadro Simplex 41 
7. Interpretação económica das variáveis folga (“slack“) 
 Uma variável “slack“, corresponde à quantidade de recurso não consumido (com coeficiente 
+1), ou à quantidade de recurso consumido além do mínimo requerido (com coeficiente −1). 
 Considere-se a solução óptima encontrada para o exemplo descrito em (5.1) : 
 X* = (310, 0, 190, 210, 0) ⇒ Z* = 4 400 { b = (500, 100, 120) } 
Estes valores significam o seguinte : 
 x1 (quantidade do kitA produzida) = 310 
 x2 (quantidade do kit B produzida) = 0 
 x3 (quantidade do kit C produzida) = 190 
 x4 (quantidade de kits do tipo A e B produzidos, além do mínimo exigido) = 210 
 x5 (quantidade de horas que restam) = 120 
Por outro lado, 
 zj = c1 x1j + c2 x2j + . . . + cm xmj 
corresponde ao valor do rendimento que se deixa de ter pela activação unitária de cada uma das 
actividades excluídas  custo de oportunidade. 
 cj  rendimento directo. 
8. Propriedades do quadro Simplex 
• Cada quadro contém uma matriz identidade de ordem m (Im). 
• Todas as componentes de b são positivas ( 0≥b ). 
• zj − cj negativo ⇒ função objectivo pode ser melhorada. 
• Mesmo valor de zj − cj para diferentes j ⇒ qualquer um pode ser utilizado (heurística : escolher 
o de menor índice). 
• Existe zj − cj negativo mas apenas há elementos não positivos na coluna “pivot” ⇒ solução não 
limitada. Acontece, normalmente, quando o problema está mal formulado. 
• Variável artificial na solução óptima ⇒ solução inexistente (região admissível vazia). 
• Empate na escolha do elemento “pivot” ⇒ qualquer um pode ser usado (conduz a soluções 
degeneradas). 
• zj − cj nulo e xj é VNB ⇒ óptimos alternativos. Se xj entrar na base, obtém-se a solução 
alternativa (também PE admissível); portanto, qualquer solução resultante da combinação 
convexa daquelas soluções, será também solução óptima. 
Método Simplex 
42 Degenerescência e entrada em ciclo (Técnica da Perturbação) 
9. Degenerescência e entrada em ciclo (Técnica da Perturbação) 
 Como a quantidade de SBA de um problema de PL é finito, o algoritmo Simplex garante a 
convergência para a solução óptima, desde que o valor da FO vá sempre melhorando (em sentido 
estrito) em cada iteração  soluções não degeneradas. Desta forma, a solução óptima é atingida ao 
fim de um número finito de iterações, uma vez que cada SBA do problema aparecerá, quando muito, 
apenas uma vez ao longo do processo. 
 No entanto, pode acontecer que, ao passar-se de uma SBA para outra, esta tenha associado um 
valor da função objectivo igual ao da anterior, podendo esta situação manter-se no decurso de uma 
sucessão de iterações, e até mesmo acontecer que, após algumas iterações, estar-se perante uma SBA 
já anteriormente considerada. A aplicação do algoritmo Simplex, reproduzirá periodicamente as 
mesmas SB, mantendo-se constante o valor da FO, entrando-se em ciclo; nestas condições, a solução 
óptima nunca será atingida. 
 O algoritmo Simplex apenas entra em ciclo em situação de degenerescência. A degenerescência 
pode surgir logo na SBA inicial, ou após a ocorrência de empate no critério de saída, mesmo quando a 
SBA em presença é não degenerada. Neste caso, dado que existe melhoria da FO, apesar de existirem 
várias variáveis que podem sair da base, a nova SBA será degenerada. 
 Geralmente, a entrada em ciclo depende do tipo de SBA degenerada em presença; tal só é 
possível quando nesta existir mais do que uma variável básica nula. 
 Para casos destes, em que existe a possibilidade de entrada em ciclo, existem métodos que 
permitem eliminar a ambiguidade no critério de saída, mercê da determinação de uma única variável 
de entrada, sendo o que está em causa é a escolha correcta do vector a sair da base. Um desses 
métodos é a “Técnica da Perturbação”. 
Técnica da Perturbação. 
 Esta técnica consiste em formular um novo problema, sem degenerescência, em que o vector 
formado pelos segundos membros das restrições, são obtidos deslocando ligeiramente 
(“perturbando”) o mesmo vector do problema inicial. 
 Esta técnica consiste nos seguintes passos : 
Passo 1. Calcular 
 



 >= 0a,
a
bminx ik
ik
i
i
t 
Se tx é único, então o processo a seguir é o normal, de acordo com o processo descrito no 
algoritmo Simplex; neste caso não há lugar à técnica da perturbação. 
Método Simplex 
Degenerescência e entrada em ciclo (Técnica da Perturbação) 43 
 Se, pelo contrário, houver empate no critério de saída, isto é, 
 
qr
q
sr
s
ik
ik
i
i
t
a
b
a
b0a,
a
bminx ===



 >= L 
passa-se ao passo seguinte. 
Passo 2. Calcular 
 



 >= 0aa
amin ik
ik
1i
q,...,si
 
para i correspondente aos vectores empatados. Se o mínimo desta expressão for único, então a 
variável associada àquele valor sai da base, de acordo com o processo descrito. 
 Se, pelo contrário, o empate ainda persiste, isto é, 
 
qr
1q
sr
1s
ik
ik
1i
i a
a
a
a0a,
a
amin ===



 > L 
passa-se ao passo seguinte. 
Passo 3. Calcular 
 



 >= 0aa
amin ik
ik
2i
q,...,si
 
 para i correspondente aos vectores ainda empatados. 
Se o mínimo desta expressão for único, então a variável associada àquele valor sai da 
base, utilizando o mesmo processo. 
 Se, pelo contrário, o empate ainda persistir, repetir o processo com 
 m ..., 4,3, = j para0a,
a
a
min ik
ik
ij
i 




 > , 
havendo a garantia de existir desempate, pois j percorre o conjunto dos índices dos vectores x1, 
x2, ..., xm, e estes constituem uma matriz identidade. 
Exemplo : 
Considere-se o quadro seguinte, correspondente à resolução de um problema de maximização. 
 XB x1 x2 x3 x4 x5 x6 x7 2º m. 
 x1 1 0 0 1/4 −8 −1 9 0 
 Í x2 0 1 0 1/2 −12 −1/2 3 0 
 x3 0 0 1 0 0 1 0 1 
 zj − cj 0 0 0 −3/4 20 −1/2 6 0 
 Ï 
 { }{ } 2,10,0min:i
2
1
0,
4
1
0min:iI0 ==











= { } 
Método Simplex 
44 Degenerescência e entrada em ciclo (Técnica da Perturbação) 
 Como I0 não é singular (situação de empate), então passar ao Passo 2. 
 { }{ } { } 11 xcoluna20,4min:i
2
1
0,
4
1
1min:i →==












=I 
 Como I1 é singular, então a variável que “sai na base” é a x2 (a 2ª na base). Logo, o quadro a 
passa a ter o seguinte aspecto : 
 XB x1 x2 x3 x4 x5 x6 x7 2º m. 
 x1 1 −1/2 0 0 −2 −3/4 15/2 0 
 x4 0 2 0 1 −24 −1 6 0 
 Í x3 0 0 1 0 0 1 0 1 
 zj − cj 0 3/2 0 0 2 −5/4 21/2 0 
 Ï 
 { }{ } { }31min:i
1
1min:i0 ==






=I 
 Como I0 é singular, então a variável que “sai na base” é a x3 (a 3ª na base). Logo, o quadro a 
passa a ter o seguinte aspecto : 
 XB x1 x2 x3 x4 x5 x6 x7 2º m. 
 x1 1 −1/2 3/4 0 −2 0 15/2 3/4 
 x4 0 2 1 1 −24 0 6 1 
 x6 0 0 1 0 0 1 0 1 
 zj − cj 0 3/2 5/4 0 2 0 21/2 5/4 
 Como zj − cj ≥ 0, ∀j, a solução actual é óptima. Esta solução é a seguinte : 
 
4
5*zcom0,1,0,1,0,0,
4
3*x =

= . 
 
Método Simplex 
	Método Simplex
	Soluções Básicas Admissíveis
	Método Simplex
	Algoritmo Primal Simplex \(problema de maximiza�
	Problemas com restrições \(, = e \(
	Técnica da base artificial
	Método do M\(Grande \(ou das Penalidades\)
	Método das Duas-Fases
	Problemas de minimização
	Interpretação económica das variáveis folga \�
	Propriedades do quadro Simplex
	Degenerescência e entrada em ciclo \(Técnica d�

Outros materiais

Perguntas Recentes