Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
UNIMONTE – SANTOS – SP
2
1. Análise de investimentos
Neste modelo de P.L. desejamos maximizar uma função linear, chamada função objetiva a
várias variáveis, respeitando-se um sistema linear de desigualdades, que recebem o nome de
restrições. As restrições representam limitações nos recursos disponíveis (capital, mão de obra,
recursos minerais, fatores de produção, etc.).
EXEMPLO:
Numa marcenaria são fabricadas mesas e escrivaninhas; cada mesa é vendida com um lucro
de 3 unidades monetárias (u.m.) e demora 2,5 horas para montagem, 3 horas para polimento e 1
hora para encaixotar; cada escrivaninha é vendida com lucro de 4 u.m. e requer 1 hora para
montagem, 3 horas para polimento e 2 horas para encaixotar. A marcenaria dispõe de mão de obra
de 20 horas para montagem, 30 horas para polimento e 16 horas para encaixotar. Quantas mesas e
quantas escrivaninhas deve a marcenaria produzir, de maneira a obter lucro máximo?
2. Problema da dieta
Neste modelo de P.L. procuramos a solução que minimiza uma função objetiva (chamada
solução ótima). Cada restrição agora é dada em forma de desigualdade do tipo “maior ou igual”, já
que a quantidade de nutrientes a serem consumidos não poderá ser menor que as quantias mínimas
exigidas.
EXEMPLO:
Um indivíduo preocupado com a sua saúde, deseja ingerir um mínimo diário de 36 unidades
de vitamina A, 28 unidades de vitamina C e 32 unidades de vitamina D. Cada kg de carne custa 9
u.m. e contém 2 unidades de vitamina A, 2 de C e 8 de D; cada kg de peixe custa 12 u.m. e fornece
3 unidades de vitamina A, 2 de C e 2 de D. Qual a combinação de custo mínimo que garante as
necessidades diárias?
Para equacionarmos o problema, vamos chamar de x1 a quantidade de carne a ser
consumida e x 2 a quantidade de peixe; teremos que procurar a solução que minimiza a função
objetiva:
C = 9 x1 + 12 x 2
⎧a ) 2 x1 + 3 x 2 ≥ 36 (unid. vit. A)
⎪b) 2 x1 + 2 x 2 ≥ 28 (unid. vit. C)
⎪
E que atenda as restrições: ⎨
⎪c) 8 x1 + 2 x 2 ≥ 32 (unid. vit. D)
⎪⎩d ) x1 ≥ 0 e x 2 ≥ 0 (não negatividade)
3
OBSERVAÇÃO: a restrição de não negatividade é inerente a todos os problemas de P.L., pelo que
não faremos mais referência a ela; graficamente significa que iremos trabalhar apenas no 1º.
quadrante do plano cartesiano.
CAP. I I – SOLUÇÃO GRÁFICA DE PROBLEMAS DE P. L.
Como as restrições dos problemas de P.L. são dadas em forma de desigualdades, então a solução
gráfica do conjunto de restrições será um polígono convexo (não necessariamente fechado) que
recebe o nome de região de soluções viáveis ( R.S.V.).
A pergunta que surge de imediato é: Qual dos infinitos pontos da R.S.V. corresponde à
solução ótima do problema de P.L.?
Pode-se demonstrar que a solução ótima (se existir), será um ponto extremo da região.
4
⎧2,5 x1 + x 2 ≤ 20 (a)
⎪
EXEMPLO I : Max. L = 3 x1 + 4 x 2 sujeita às restrições ⎨3 x1 + 3 x 2 ≤ 30 (b)
⎪ x + 2 x ≤ 16 (c)
⎩ 1 2
Figura 2
A região de soluções viáveis é o polígono convexo OABCD; a solução ótima será um dos
vértices do polígono. Para encontrarmos a solução ótima, vamos inicialmente analisar a equação da
função objetiva L = 3 x1 + 4 x 2 .
No plano cartesiano essa equação representa uma família de retas paralelas; começamos
traçando a reta que anula a função objetiva (reta que passa pela origem e que corresponde a um
lucro 0, representando a situação mais desfavorável); em seguida vamos procurar o vértice do
polígono pelo qual passa a reta paralela à reta traçada anteriormente, ponto esse que deve ser o mais
afastado possível (visto que o problema é de maximização). Na figura 2 esse é o ponto B,
5
⎧3x1 + 3x 2 = 30 ⎧ x1 = 4
intersecção das restrições b e c; resolvendo-se o sistema de equações ⎨ ⇔ ⎨
⎩ x1 + 2 x 2 = 16 ⎩ x2 = 6
obtém-se o ponto B (4,6). Substituindo os valores de x1 e de x 2 na função objetiva, teremos a
solução ótima: x1 = 4 , x 2 = 6 e L = 36 u.m. Isso significa que a marcenaria deve fabricar 4
mesas e 6 escrivaninhas, obtendo assim um lucro máximo de 36 u.m.
EXEMPLO II :
⎧ 2 x1 + 3x 2 ≥ 36 (a)
⎪
Min C = 9 x1 + 12 x 2 sujeita às restrições ⎨2 x1 + 2 x 2 ≥ 28 (b)
⎪8 x + 2 x ≥ 32 (c)
⎩ 1 2
6
Figura 3
A R.S.V. é o polígono convexo aberto da figura 3. Para encontrarmos o vértice da solução
ótima,vamos procurar o ponto extremo do polígono pelo qual passa a reta paralela à reta de equação
C = 0 , reta essa que deve ficar o mais próxima possível da outra, visto que agora o problema é de
minimização. Esse ponto é o ponto C da figura 3.
⎧ 2 x1 + 3 x 2 = 36 ⎧ x1 = 6
As coordenadas do ponto C obtêm-se resolvendo-se o sistema ⎨ ⇔ ⎨
⎩2 x1 + 2 x 2 = 28 ⎩ x2 = 8
onde iremos encontrar o ponto C (6 , 8) e o custo mínimo C = 150.
OBSERVAÇÃO: Qualquer outro ponto cujas coordenadas forem substituídas na função objetiva,
irão produzir um custo superior a 150 u.m.
As coordenadas do ponto C (6 , 8) satisfazem todas as restrições do problema.
EXEMPLO III :
⎧4 x1 + x 2 ≥ 20 (a)
⎪
Min C = 4 x1 + 2 x 2 sujeita às restrições ⎨2 x1 + x 2 ≥ 14 (b)
⎪ x + 6 x ≥ 18 (c)
⎩ 1 2
7
Figura 4
A análise da figura 4 mostra-nos que a reta da restrição b é paralela à reta C = 4 x1 + 2 x 2 = 0
isto significa que qualquer ponto do segmento de reta BC é solução ótima do problema proposto,
ou seja, o problema possui infinitas soluções ótimas (dizemos que é um problema degenerado).
EXERCÍCIOS
⎧ 2 x1 + 5 x 2 ≤ 40
⎪
1) Max. L = 24 x1 + 8 x 2 sujeita às restrições ⎨ 4 x1 + x 2 ≤ 20 R: x1 = 4, x 2 = 4, L =
⎪10 x + 5 x ≤ 60
⎩ 1 2
128
⎧2 x1 + 6 x 2 ≤ 36
⎪
2) Max. L = 40 x1 + 50 x 2 sujeita às restrições ⎨5 x1 + 3x 2 ≤ 30 R: x1 = 3, x 2 = 5, L = 370
⎪8 x + 2 x ≤ 40
⎩ 1 2
⎧5 x1 + 2 x 2 ≤ 30
⎪
3) Max. L = 40 x1 + 30 x 2 sujeita às restrições ⎨2 x1 + 4 x 2 ≤ 28 R: x1 = 4, x 2 = 5, L = 310
⎪x ≤6
⎩ 2
780
CAP. III – SOLUÇÃO ALGÉBRICA DE PROBLEMAS DE P. L. – MÉTODO SIMPLEX
1. Resumo histórico
2.
Definição 1: Variáveis de folga
As restrições dos problemas de P.L. são dadas em forma de inequações lineares; cada
desigualdade do tipo “menor ou igual” transforma-se em equação linear se acrescentarmos uma
variável não negativa chamada variável de folga (na prática, o valor da variável de folga representa
a parte do recurso da restrição que não foi utilizada). Para cada restrição teremos uma variável de
folga.
O sistema de equações lineares obtido a partir do conjunto de restrições pela introdução das
variáveis de folga, tem mais variáveis do que equações, sendo portanto um sistema indeterminado;
dentre as infinitas soluções que esse sistema linear possui, interessam-nos aquelas em que todas as
variáveis possuem valores não negativos. Essas soluções chamam-se soluções compatíveis básicas.
⎧a) 3 x1 + x 2 ≤ 12
EXEMPLO: Suponhamos as restrições ⎨
⎩b) 2 x1 + x 2 ≤ 11
Inicialmente vamos introduzir as variáveis de folga x3 e x 4 para obtermos
⎧ 3x1 + x 2 + x3 = 12
o sistema de equações lineares ⎨
⎩ 2 x1 + x 2 + x 4 = 11
Este sistema linear possui 4 variáveis e 2 equações, sendo portanto um sistema de grau 2 de
indeterminação.
As soluções x1 = 2, x 2 = 5 e x3 = 1, ou então, x1 = 1, x 2 = 9 e x3 = 0 são soluções
compatíveis básicas, já que todas as variáveis são não negativas.
A solução x1 = 6, x 2 = –11 e x3 = 5, não é solução compatível básica, pois a variável x 2
assume valor negativo. Nos problemas de P.L. só nos interessam as soluções compatíveis básicas.
O método SIMPLEX é um método algébrico exato, iterativo, que nos leva à solução ótima
de um problema de P.L., se ela existir, através de um número finito de iterações. Usa os seguintes
passos:
1. Achar uma solução compatível básica inicial.
2. Verificar se a solução atual é ótima. Se for, fim. Caso contrário, seguir para o passo 3.
3. Determinar a variável não básica que deve entrar na base.
4. Determinar a variável básica que deve sair da base.
5. Achar a nova solução compatível básica, e voltar ao passo 2.
EXEMPLO:
⎧2 x1 + x 2 ≤ 10
⎪
Max. L = 5 x1 + 6 x 2 sujeita às restrições ⎨3x1 + 2 x 2 ≤ 17
⎪ x + 2 x ≤ 11
⎩ 1 2
1º. Passo: Acrescentar as variáveis de folga ao conjunto de restrições para obter o sistema de
equações lineares ( as variáveis de folga são x3 , x 4 e x5 ).
⎧2 x1 + x 2 + x3 = 10
⎪3x + 2 x + x = 17
⎪ 1 2 4
⎨ (1)
⎪ x1 + 2 x 2 + x5 = 11
⎪⎩ x1 , x 2 , x3 , x 4 e x5 ≥ 0
Como a variável x1 continua igual a 0 na próxima solução, devemos tirar da base a variável
que se anula mais rapidamente com o crescimento de x 2 , de contrário passaremos a ter variáveis
negativas, o que constitui uma solução não-compatível básica. Essa variável é x5 .
Logo, quem sai da base é x5 .
Vamos agora voltar ao 2º. passo, isto é, saber se a presente solução é ou não a solução ótima. Para
isso precisamos explicitar a função objetiva L em função das variáveis não básicas x1 e x5 :
11 − x1 − x5
Isolando x 2 na 3ª. equação de (2) e substituindo em L = 5 x1 + 6 x 2 ⇔ L = 5 x1 + 6.
2
Fazendo as operações algébricas: L = 33 + 2 x1 – 3 x5
Como a variável x1 tem coeficiente positivo, significa que a presente solução não é a ótima,
e que x1 deve entrar na base. Na próxima solução, x1 será variável básica.
Variáveis básicas: x1 = 3 , x 2 = 4 e x3 = 0
Para esta solução o valor de L = 5 . 3 + 6 . 4 = 39 u.m.
⎧
⎪ x3 = 4,5 − 1,5 x1 + 0,5 x5
⎪⎪ 6 − x 4 + x5
⎨ x 4 = 6 − 2 x1 + x5 ⇔ x1 =
⎪ 2
⎪ x = 5,5 − 0,5 x − 0,5 x 6 − x 4 + x5
⎪⎩ 2 1 5 ⇔ x 2 = 5,5 − 0,5 ⋅ − 0,5 x5
2
6 − x4 + x5 ⎛ 6 − x 4 + x5 ⎞
L = 5 x1 + 6 x 2 = 5 . + 6 . ⎜ 5,5 − 0,5 ⋅ − 0,5 x5 ⎟
2 ⎝ 2 ⎠
Como os coeficientes das variáveis não básicas são negativos, significa que se elas
entrassem na base, diminuiriam o valor de L, logo, atingimos a solução ótima:
x1 = 3 , x 2 = 4 e L = 39 u.m.
Os cálculos efetuados no item anterior podem ser condensados num quadro simplificado que
torna o uso do método SIMPLEX muito mais atraente. Para isso vamos começar escrevendo a
função objetiva na forma L – 5 x1 – x 2 = 0 , junto com o sistema:
⎧ L − 5 x1 − 6 x 2 = 0
⎪2 x + x + x = 10
⎪ 1 2 3
⎨ x1 , x 2 , x3 , x 4 e x5 ≥ 0
⎪3 x1 + 2 x 2 + x 4 = 17
⎪⎩ x1 + 2 x 2 + x5 = 11
Esta notação permite que tenhamos do lado direito do sinal de igual, apenas constantes.
O quadro abaixo corresponde à solução compatível básica inicial ( x3 = 10 , x 4 =17 e x5 = 11).
SOLUÇÃO INICIAL:
x1 x2 x3 x4 x5 Const.
12
BASE –5 –6 0 0 0 0
x3 2 1 1 0 0 10
x4 3 2 0 1 0 17
x5 1 2 0 0 1 11
Para sabermos se uma solução é a ótima basta olharmos a linha da base da matriz
correspondente à solução; se houver coeficientes negativos nessa linha, significa que a solução
ótima ainda não foi alcançada; além disso, faremos entrar na base a variável cujo coeficiente
negativo tiver maior módulo, no caso x 2 entra na base.
Para sabermos a variável que sai da base, dividimos os elementos da coluna das constantes
(termos independentes das equações) pelos elementos positivos da coluna da variável que entra na
base; a divisão que proporcionar menor quociente indica a linha da variável que vai sair da base.
Vejamos: 1ª. linha : 10 : 1 = 10
2ª. linha : 17 : 2 = 8,5
3ª. linha : 11 : 2 = 5,5 Æ sai a variável x5 (ver as indicações abaixo)
( S2 ): entra
↓
x1 x2 x3 x4 x5 Const.
BASE –2 0 0 0 3 33
x3 1,5 0 1 0 – 0,5 4,5 Æ sai
x4 2 0 0 1 –1 6
x2 0,5 1 0 0 0,5 5,5
Neste caso há um empate na saída, já que os quocientes da 1ª. e da 2ª. linha são iguais; é portanto
indiferente se sai x3 (1ª. linha) ou se sai x 4 (2ª. linha). Vamos escolher x3 .
Teremos a nova solução:
( S3 ):
x1 x2 x3 x4 x5 Const.
BASE 0 0 4/3 0 7/3 39
x1 1 0 2/3 0 – 1/3 3
x4 0 0 4/3 1 1/3 0
x2 0 1 1/3 0 2/3 4
Agora não existem números negativos na linha da base; isso quer dizer que a presente
solução é a solução ótima.
entra
↓
x1 x2 x3 x4 x5 C
BASE –5 –6 0 0 0 0
x3 2 1 1 0 0 10
x4 3 2 0 1 0 17
x5 1 2 0 0 1 11 Æ sai
BASE –2 ↓ 0 0 0 3 33
x3 3/2 0 1 0 – 1/2 9/2 Æ sai
x4 2 0 0 1 –1 6
x2 1/2 1 0 0 1/2 11/2
BASE 0 0 4/3 0 7/3 39
x1 1 0 2/3 0 – 1/3 3
x4 0 0 – 4/3 1 1/3 0
x2 0 1 – 1/3 0 2/3 4
14
RESPOSTA : x1 = 3 , x 2 = 4 e L = 39 (estes valores vêm apresentados na coluna das constantes)
⎧ x1 + x 2 ≤ 70
⎪
⎨ x1 + 2 x 2 ≤ 120 e x1 , x2 ≥ 0
⎪5 x + 3x ≤ 330
⎩ 1 2
⎧ L − 2 x1 − 3 x 2 = 0
⎪ x + x + x = 70
⎪ 1 2 3
⎨
⎪ x1 + 2 x 2 + x 4 = 120
⎪⎩5 x1 + 3x 2 + x5 = 330
entra
↓
x1 x2 x3 x4 x5 C
BASE –2 –3 0 0 0 0
x3 1 1 1 0 0 70
x4 1 2 0 1 0 120 Æ sai
x5 5 3 0 0 1 330
BASE – 1/2 ↓ 0 0 3/2 0 180
NOTA : A igualdade x5 = 80 significa que das 330 unidades do recurso da 3ª. restrição, 80 não
serão utilizadas.
⎧ x1 + x 2 + 2 x3 ≤ 23
⎪
⎨3x1 + x 2 + x3 ≤ 30 e x1 , x 2 , x3 ≥ 0
⎪2 x + 3x + 2 x ≤ 43
⎩ 1 2 3
⎧ L − 5 x1 − 5 x 2 − 6 x3 = 0
⎪ x + x + 2 x + x = 23
⎪
Passando para a forma padrão, teremos: ⎨ 1 2 3 4
⎪3 x1 + x 2 + x3 + x5 = 30
⎪⎩2 x1 + 3x 2 + 2 x3 + x6 = 43
entra
↓
x1 x2 x3 x4 x5 x6 C
BASE –5 –5 –6 0 0 0 0
x4 1 1 2 1 0 0 23 Æ sai
x5 3 1 1 0 1 0 30
x6 2 3 2 0 0 1 43
BASE –2 –2 ↓ 0 3 0 0 69
RESPOSTA : x1 = 6 , x 2 = 7 , x3 = 5 e L = 95 u.m.
Observação: Na 2ª. solução houve empate na entrada entre x1 e x 2 . Se x1 entrar primeiro na base,
a resposta do problema será a mesma.
⎧3 x1 + 4 x 2 + x3 ≤ 10
⎪
⎨ x1 + 3 x 2 + 2 x3 ≤ 5 e x1 , x 2 , x3 ≥ 0
⎪x ≤ 5
⎩ 1
⎧ L − 3x1 − 6 x 2 − 2 x3 = 0
⎪3x + 4 x + x + x = 10
⎪ 1 2 3 4
Na forma padrão, teremos: ⎨
⎪ x1 + 3x 2 + 2 x3 + x5 = 5
⎪⎩ x1 + x6 = 5
entra
↓
x1 x2 x3 x4 x5 x6 C
BASE –3 –6 –2 0 0 0 0
x4 3 4 1 1 0 0 10
x5 1 3 2 0 1 0 5 Æ sai
x6 1 0 0 0 0 1 5
BASE –1 ↓ 0 2 0 2 0 10
RESPOSTA : x1 = 2 , x 2 = 1 , x3 = 0 e L = 12 u.m.
Observações: 1) Como a variável de decisão x3 não é variável básica na solução ótima, significa
que o seu valor é zero.
2) Na solução 1, não podemos dividir o 3º. elemento da coluna das constantes pelo
correspondente da coluna de x 2 , uma vez que esse coeficiente é zero.
17
EXERCÍCIO:
⎧ 2 x1 + 3x 2 + x3 ≤ 25
⎪
Max. L = 3 x1 + 2 x 2 + 5 x3 , sujeita às restrições: ⎨ x1 + 2 x 2 + 2 x3 ≤ 21
⎪ x + x + x ≤ 12
⎩ 1 2 3
RESPOSTA : x1 = 3, x 2 = 0, x3 = 9 e L = 54 u.m.
CAP. IV – DUALIDADE
EXEMPLOS:
⎧ 2 x1 + 3x 2 ≥ 36 (a)
⎪
1) Min C = 9 x1 + 12 x 2 sujeita às restrições ⎨2 x1 + 2 x 2 ≥ 28 (b)
⎪8 x + 2 x ≥ 32 (c)
⎩ 1 2
Solução: Vamos formar uma matriz com todos os coeficientes das variáveis de decisão x1 e x 2 ,
colocando na última linha dessa matriz os coeficientes de x1 e de x 2 que aparecem na
função objetiva. Teremos então a matriz:
x1 x 2 Const.
a) 2 3 36
b) 2 2 28
c) 8 2 32
F . obj. 9 12
Como a função objetiva C = 9 x1 + 12 x 2 não tem termo constante, a matriz não vai ter o
elemento da linha de C (função objetiva custo) e coluna das constantes.
Agora vamos escrever a transposta desta matriz, chamando de y1 , y 2 e y 3 as variáveis de
decisão da nova função objetiva:
y1 y 2 y 3 const.
a) 2 2 8 9
com y1 , y 2 e y 3 ≥ 0
b) 3 2 2 12
F . obj. 36 28 32
⎧ 2 y1 + 2 y 2 + 8 y 3 ≤ 9
Max. L = 36 y1 + 28 y 2 + 32 y 3 sujeita às restrições: ⎨
⎩3 y1 + 2 y 2 + 2 y 3 ≤ 12
18
⎧ L − 36 y1 − 28 y 2 − 32 y 3 = 0
⎪
Que na forma padrão será: ⎨2 y1 + 2 y 2 + 8 y 3 + y 4 = 9
⎪3 y + 2 y + 2 y + y = 12
⎩ 1 2 3 5
Usando agora o algoritmo SIMPLEX para resolver o problema DUAL, as variáveis de folga
y 4 e y 5 do dual, correspondem às variáveis de decisão x1 e x 2 respectivamente do primal. A
resposta do nosso exercício será em função de x1 , x 2 e Custo.
entra
↓ x1 x2
y1 y2 y3 y4 y5 Const.
BASE – 36 – 28 – 32 0 0 0
y4 2 2 8 1 0 9
y5 3 2 2 0 1 12 Æ sai
BASE 0 –4 –8 ↓ 0 12 144
Observações:
1. Este exercício é o problema de dieta do cap. 1.
2. A solução gráfica é mais simples.
3. A leitura final da solução ótima é feita nos elementos que estão na linha da base; assim, o
valor 6 refere-se à variável x1 do primal, assim como o valor 8 refere-se à variável x 2 e o
valor 150 à função objetiva custo. As variáveis yi não aparecem na resposta, uma vez que o
problema primal era nas variáveis xi .
4. É importante observar que, em cada solução do algoritmo SIMPLEX, os vetores-coluna da
matriz identidade são as colunas das variáveis básicas.
⎧2 x1 + x 2 + x3 ≤ 2
2) Max. L = 14 x1 + 12 x 2 + 18 x3 , sujeita às restrições: ⎨
⎩ x1 + x 2 + 3x3 ≤ 4
Vamos escrever a matriz correspondente ao problema:
19
x1 x2 x3 Const . 2 1 14
2 1 1 2 1 1 12
Cuja transposta será:
1 1 3 4 1 3 18
14 12 18 2 4
⎧2 y1 + y 2 ≥ 14
⎪
DUAL: Min C = 2 y1 + 4 y 2 , sujeita às restrições ⎨ y1 + y 2 ≥ 12
⎪ y + 3 y ≥ 18
⎩ 1 2
⎧ 2 x1 + 2 x 2 + x3 ≥ 10
⎪
⎨ 2 x1 + 3x 2 + x3 ≥ 12 e x1 , x 2 , x3 ≥ 0
⎪ x + x + 5 x ≥ 14
⎩ 1 2 3
⎧2 y1 + 2 y 2 + y3 ≤ 9
⎪
Max. L = 10 y1 + 12 y 2 + 14 y 3 sujeita às restrições: ⎨2 y1 + 3 y 2 + y 3 ≤ 12
⎪ y + y + 5 y ≤ 15
⎩ 1 2 3
Observação final:
Neste trabalho abordamos os casos mais simples de aplicação do método SIMPLEX; não
foram abordados casos em que os coeficientes são negativos, nem o problema do transporte,
assuntos normalmente abordados no nosso curso de Cálculo Numérico.
Acreditamos que, como material de consulta, este trabalho possa vir a ser útil.