Post on 17-Apr-2015
GSCI - GSIGGSCI - GSIG
Prof. Ricardo Villarroel Dávalos, Dr. Eng.
E-mail: rdavalos@unisul.br
Palhoça, Outubro de 2006
Prof. Ricardo Villarroel Dávalos, Dr. Eng.
E-mail: rdavalos@unisul.br
Palhoça, Outubro de 2006
2
Programação Linear
2
Programação Linear
2.4 Modelagem do Problema
MO DEL O :* R es triç ões< =; >= ; =
* Função c usto
P r o ble m a
S oluç ãoM a nua l:G rá fic a e E x ce l
Fe rram e ntas :Lindo e So lve r
(www.lindo.c om )
Algo ritmo :S imp lex
Exemplo de Roteirização
2.5 Análise de Sensibilidade
A “Análise de sensibilidade” (Sensivity Analysis) é a interpretação dos resultados;
Mediante ela podem ser realizadas modificações de soluções;
Utilizada para realizar planejamento dos modelos aplicados e apoiar decisões gerencias;
A seguir será aplicado esta análise numa pequena empresa.
O Método Simplex é um procedimento matricial para resolver um modelo de Programação Linear;
Antes de aplicar o algoritmo é definido o problema conforme o modelo canônico ou original (MINIMIZAR);
Para as restrições “<=“ são consideradas variáveis de folga e o algoritmo é apresentado a seguir;
Para as restrições “>=“ e/ou “=“ são consideradas variáveis de folga e artificiais. O algoritmo é utilizado duas vezes.
2.6 Método Simplex
i) Localize o número mais negativo da última linha do quadro Simplex (coluna de trabalho);
ii) Forme quocientes de divisão da última coluna por cada número positivo da coluna de trabalho. Designe por “pivô” o elemento da coluna de trabalho que conduz ao menor quociente ;
iii) Use operações elementares sobre as linhas a fim de converter o elemento pivô em 1 e, em seguida reduzir a zero todos os outros elementos da coluna de trabalho;
Iv) Substitua a variável “x” existente na linha pivô, pela variável “x” da coluna de trabalho;
v) Repita os passos (i) a (iv) até a inexistência de números negativos na última linha;
vi) A solução ótima é obtida atribuindo-se a cada variável da primeira coluna o valor da linha.
2.6.1 Algoritmo Simplificado
2.6.2 Exemplo 1
Resolva através do Método Simplex (manualmente) o Problema de Programação Linear a seguir: Maximizar Z = x1 + 9x2 + x3
Sujeita a: x1 + 2x2 + 3x3 <= 9
3x1 + 2x2 + 2x3 <= 15
com: x1 >= 0
x2 >= 0
x3 >= 0
2.6.2 Exemplo 1
A forma canônica ou original: Minimizar Z = - x1 - 9x2 - x3
Sujeita a:
x1 + 2x2 + 3x3 + x4 = 9
3x1 + 2x2 + 2x3 + x5 = 15
com: x1 >= 0
x2 >= 0
x3 >= 0
x4 >= 0
x5 >= 0
x4 e x5 Variáveis de folga
2.6.2 Exemplo 1
VB X1 X2X3 X4 X5 bi
X4 1 2 3 1 0 9
X5 3 2 2 0 1 15
Z -1 -9 -1 0 0 0
2.6.2 Exemplo 1
Z = 81/2X1 = 0
X2 = 9/2
X3 = 0
X4 = 0
X5 = 6
VB X1 X2 X3 X4 X5 bi
X1 1/2 1 3/2 1/2 0 9/2
X5 2 0 -1 -1 1 6
Z 7/2 0 25/2
9/2 0 81/2
2.6.3 Exemplo 2
Resolva através do Método Simplex (manualmente) o Problema de Programação Linear a seguir: Maximizar Z = 2x1 + x2
Sujeita a: -10x1 + 15x2 <= 45
-x1 + 5x2 <= 20
x1 + x2 <= 10
x1 <= 8
com: x1 e x2 >= 0
2.6.3 Exemplo 2
A forma canônica ou original: Minimizar Z = 2x1 + x2
Sujeita a:
-10x1 + 15x2 + x4 = 45
-x1 + 5x2 + x5 = 20
x1 + x2 + x6 = 10
x1 + x7 = 8
com: x1 e x2 >= 0
x4 ; x5 ; x6 e x7 Variáveis de folga
2.6.3 Exemplo 2
VB X1 X2 X3 X4 X5 X6 bi
X3 -10 15 1 0 0 0 45
X4 -1 5 0 1 0 0 20
X5 1 2 0 0 1 0 10
X6 1 0 0 0 0 1 8
Z -2 -1 0 0 0 0 0
2.6.3 Exemplo 2
VB X1 X2 X3 X4 X5 X6 bi
X3 0 15 1 0 0 10 125
X4 0 5 0 1 0 1 28
X5 0 1 0 0 1 -1 2
X1 1 0 0 0 0 1 8
Z 0 -1 0 0 0 2 16
2.6.3 Exemplo 2
VB X1 X2 X3 X4 X5 X6 bi
X3 0 0 1 0 -15 25 95
X4 0 0 0 1 -5 6 18
X2 0 1 0 0 1 -1 2
X1 1 0 0 0 0 1 8
Z 0 0 0 0 1 1 18
2.6.3 Exemplo 2
Zmax = 18
X1 = 8
X2 = 2
X3 = 95
X4 = 18
X5 = 0
X6 = 0
2.6.4 Programa em Delphi
aplicando o Simplex
2.6.5 Programação Inteira,
Binária e Mista
Programação Inteira: Resultados inteiros (Lindo GIN X1);
Programação Binária: Resultados binários 0/1 (Lindo INT X1);
Programação Mista: Resultados inteiros e binários (Lindo GIN X1 e INT X2).
2.6.5 Programação Inteira,
Binária e Mixta
2.7 Problemas especiais de
Programação Linear
Para as restrições “>=“ e/ou “=“ são consideradas variáveis de folga e artificiais. O algoritmo é utilizado duas vezes.
Para as restrições “<=“ são consideradas variáveis de folga e o algoritmo é apresentado a seguir;
Antes de aplicar o algoritmo é definido o problema conforme o modelo canônico ou original (MINIMIZAR) e é resolvido em duas fases.
2.7.1 Exemplo 1
Resolva através do Método Simplex (manualmente) o Problema de Programação Linear a seguir: Maximizar Z = 6x1 - x2
Sujeita a: 4x1 + x2 <= 21
2x1 + 3x2 >= 13
-x1 + x2 = 1
com: x1 >= 0
x2 >= 0
A forma canônica ou original: Minimizar Z = -6x1 + x2
Sujeita a: 4x1 + x2 + x3 = 21
2x1 + 3x2 - x4 + x1a = 13
-x1 + x2 + x2a = 1
com: x1 >= 0
x2 >= 0
Variáveis de Folga x3 >= 0
x4 >= 0 Variáveis Artificiais x1a >= 0 x2a >= 0
2.7.1 Exemplo 1
2.7.1 Exemplo 1 – Fase W
VB X1 X2 X3 X4 X1a X2a bi
X3 4 1 1 0 0 0 21
X1a 2 3 0 -1 1 0 13
X2a -1 1 0 0 0 1 1
Z -6 1 0 0 0 0 0
W -1 -4 0 1 0 0 -14
2.7.1 Exemplo 1 – Fase W
VB X1 X2 X3 X4 X1
a
X2a bi
X3 5 0 1 0 0 -1 20
X1a 5 0 0 -1 1 -3 10
X2 -1 1 0 0 0 1 1
Z -5 0 0 0 0 -1 -1
W -5 0 0 0 0 4 -10
2.7.1 Exemplo 1 – Fase W
VB X1 X2 X3 X4 X1a X2a bi
X3 0 0 1 1 -1 2 10
X1 1 0 0 -1/5 1/5 -3/5 2
X2 0 1 0 -1/5 1/5 2/5 3
Z 0 0 0 -1 1 -4 9
W 0 0 0 0 1 1 0
2.7.1 Exemplo 1 – Fase Z
VB X1 X2 X3 X4 bi
X3 0 0 1 1 10
X1 1 0 0 -1/5 2
X2 0 1 0 -1/5 3
Z 0 0 0 -1 9
2.7.1 Exemplo 1 – Fase Z
VB X1 X2 X3 X4 bi
X4 0 0 1 1 10
X1 1 0 1/5 0 4
X2 0 1 1/5 0 5
Z 0 0 1 0 19
2.7.1 Exemplo 1
Solução: Z = 19X1 = 4
X2 = 5
X3 = 0
X4 = 10
2.7.1 Exemplo 1 – Lindo
2.8 Aplicativo “Solver”
Empresa de Decoração Lancaster
Maximizar Z = 90p + 75u Sujeita a: p + u <= 12000 (Restrição devido à maquina de estampagem) 3p +2u <= 30000 (Restrição devido à maquina de empacotamento) p <= 10000 (Restrição devido à maquina de aplicação de adesivo) p >= 3000 (mínimo papel autocolante produzido) u >= 3000 (mínimo papel sem cola produzido) com: p >= 0 u >= 0 p --> Metros de papel autocolanteu --> Metros de papel sem cola
Solução: p = 6000 u = 6000 Z = 99000
2.8 Aplicativo “Solver”
2.8 Aplicativo “Solver”