Você está na página 1de 105

UNIVERSIDADE FEDERAL DO SUL E SUDESTE DO PARÁ

CAMPUS UNIVERSITÁRIO DE MARABÁ


FACULDADE DE ENGENHARIA DE MATERIAIS

OTIMIZAÇÃO E SIMULAÇÃO DE
SISTEMAS DE ENGENHARIA

PROFESSOR :
Eng. Márcio Paulo de Araújo Mafra

MARABÁ – PARÁ
MARÇO / 2015
DEFINIÇÃO E HISTORICO
O termo Pesquisa Operacional (PO) designa uma área do conhecimento que
consiste no desenvolvimento de métodos científicos de sistemas complexos, com a
finalidade de prever e comparar estratégias ou decisões alternativas, cujo objetivo
e dar suporte à definição de políticas e determinação de ações.
O trabalho do matemático russo Leonid Kantorovich de 1939 intitulado “Métodos
matemáticos na organização e no planejamento de produção" e considerado um dos
precursores da PO, porem manteve-se desconhecido da comunidade cientifica
ocidental ate 1959. O próprio termo Pesquisa Operacional, do inglês Operations
Research, foi cunhado pelo matemático russo na tentativa de englobar, sob uma
única denominação, todas as técnicas existentes ou que viriam a ser desenvolvidas e
que tinham o mesmo objetivo citado. De fato, o termo PO designa um conjunto de
disciplinas isoladas tais como Programação Linear, Teoria das Filas, Simulação,
Programação Dinâmica, Teoria dos Jogos, dentre outras.
A Pesquisa Operacional tal qual como a conhecemos surgiu durante a Segunda
Guerra Mundial tendo como objetivo o desenvolvimento de metodologia para
solução de problemas relacionados com as operações militares quando os Aliados se
viram confrontados com problemas complexos de natureza logística, tática e de
estratégia militar
ÁREAS DE APLICAÇÃO
· administração
· agropecuária
· economia e planejamento econômico
· educação e saúde
· energia
· engenharia
· forças armadas
· investimentos e finanças
· localização-armazenamento-distribuição
· planejamento e controle da produção
· planejamento urbano e regional
· recursos hídricos
· siderurgia
· telecomunicações
· transporte
INTRODUÇÃO
UNIVERSIDADE FEDERAL DO SUL E SUDESTE DO PARÁ
CAMPUS UNIVERSITÁRIO DE MARABÁ
FACULDADE DE ENGENHARIA DE MATERIAIS

PROGRAMAÇÃO LINEAR:
PPL

MARABÁ – PARÁ
MARÇO / 2015
INTRODUÇÃO
Programação Linear: Todas as funções do modelo são
lineares em relação as variáveis.
Programação Não-Linear: Pelo menos uma das funções
envolvidas não é linear.
Os Problemas de Programação Linear (PPL) são, em
sua grande maioria, problemas de otimização que visam
maximizar ou minimizar uma função linear de várias
variáveis. Essa função é chamada de Função
Objetiva(FO) e está sujeita a respeitar certo número de
relações lineares de igualdade ou desigualdade,
chamadas Restrições do problema.
FORMULAÇÃO
 A formulação de qualquer problema a ser resolvido segue alguns passos
básicos:

 Quais as variáveis de decisão?

 Qual o objetivo? Aqui devemos identificar o objetivo da tomada de


decisão, que deve ser único. Por exemplo, maximização de lucro,
minimização de tempo, custo. Tal objetivo será representado por uma
função objetivo.

 Quais as restrições? cada restrição imposta na descrição do sistema


deve ser expressa como uma relação linear (igualdade ou desigualdade),
montadas com as variáveis de decisão.
FORMULAÇÃO DE MODELOS DE
PPL
max ou min Z  c1 x1  c2 x2  ...  cn xn É a Função Objetivo

Sujeito à
a11x1  a12 x2  ...  a1n xn , , b1 

a21x1  a22 x2  ...  a2 n xn , , b2 

  Que são as Re strições do PPL
am1 x1  am 2 x2  ...  amn xn , , bm 

x1 , x2 ,..., xn  0 
 x1 , x2 ,..., xn como o conjunto de var iáveis de decisão estruturais  do problema
 c1 , c2 ,..., cn são os coeficient es da Função Objetivo do problema de PL
 aij e bi são os coeficient es das restrições .
MODELELAGEM MATEMÁTICA
EXEMPLO 1- INDÚSTRIA DE MOVELARIA
• Uma grande fábrica de móveis dispõe em estoque de
300m de tábuas, 600 m de pranchas e 500m de painéis
de aglomerado.
• Oferece normalmente 4 modelos de móveis:
Escrivaninha, Mesa, Armário e Prateleira.
• Os modelos são vendidos respectivamente por
$100,00; $80,00; $120,00; $30,00.
• E consomem:
– Escrivaninha: 1m tábua, 3m de painéis.
– Mesa: 1m tábua, 1m prancha, 2m painéis.
– Armário: 1m tábua, 1m prancha, 4 painéis.
– Prateleira: 4m tábua, 2 de prancha.
Pergunta-se

• Quanto a empresa deve fabricar de cada produto


para ter a maior receita?
Transformando os dados em expressões
matemáticas

• A função Lucro
– É claro que a receita máxima seria ilimitada se
não fosse a escassez de recursos.

Max Z  100 x E  80 x M  120 x A  30 x P Função Objetivomax imizar o Lucro 


Transformando os dados em
expressões matemáticas
• As restrições
– As quantidades utilizadas devem ser menor ou
igual às quantidades disponíveis.
– As quantidades de fabricação devem ser não
negativas
Max Z  100x E  80x M  120x A  30x P Função Objetivo max imizar o Lucro 
Sujeito à
1x E  1x M  1x A  4x P  300
0x E  1x M  1x A  2x P  600
3x E  2x M  4x A  0x P  500
xE , xM , xA , xP  0
EXEMPLO 2- PLANEJAMENTO DE PRODUÇÃO
AGRÍCOLA
• Um sitiante, possuidor de 50 ares de terra
• Por experiência, sabe que sua produtividade é: 8 sacas por
are cultivado de trigo e necessitando 3 homens -hora de
trabalho por are e 10 sacas por are cultivado de milho, com
2 homens-hora de trabalho por are.
• A mão de obra custa $100,00 por H/h e a disponibilidade
e de 120 H/h.
• O mercado de consumo se limita a 240 sacas de trigo,
vendidas à $75 cada uma, e 400 sacas de milho, vendidas à
$60 cada uma.
LRC
R  600 xT  600 xM
C  300 xT  200 xM
L  600 xT  600 xM   300 xT  200 xM 
L  300 xT  400 xM
max L  300 xT  400 xM Função Objetivomax imizar o lucro 
Sujeito à
xT  xM  50
3xT  2 xM  120
xT  30
xM  40
xT , xM  0
EXEMPLO 3- SIDERÚRGICA
Uma Siderúrgica produz três tipos de lotes de produtos para
construção de casas e prédios, sendo que cada um dos quais
necessita ser continuamente processado em equipamentos
diferentes. Os tempos consumidos por cada unidade de produto em
cada processo, a disponibilidade de tempo, os custos e a receita pela
venda de cada unidade de produto seguem na tabela a seguir.
Tempo de processo (minutos) Consumo de Receita
PRODUTOS Endireitad matéria prima unitária
Forno Laminador eira (kg) (R$)
Vergalhão
10 5 15 2,4 63
(A)
Treliça (B) 8 6 20 4,3 56
Telas (C) 9 7 16 1,7 40
Disponibilid
8000 750 3940 876
ade
Formule o modelo de que maximiza o lucro com a venda dos
produtos produzidos pela siderúrgica.
EXEMPLO 3- SIDERÚRGICA
max L  63 x1  56 x 2  40 x 3 Função Objetivo Maximizar o Lucro 
Sujeito à
10 x1  8 x 2  9 x 3  8000
5 x1  6 x 2  7 x 3  750
15 x1  20 x 2  16 x 3  3940
2,4 x1  4,3 x 2  1,7 x 3  876
x1 , x 2 , x 3  0
EXEMPLO 4- DIETA ALIMENTAR

• Devemos determinar, em uma dieta para redução calórica, as


quantidades de certos alimentos que deverão ser ingeridos diariamente,
de modo que determinados requisitos nutricionais sejam satisfeitos a
custo mínimo. Suponha que uma dieta alimentar esteja restrita a leite
desnatado, carne m agra de boi, peixe e uma salada pré-definida. Sabe-
se ainda que os requisitos nutricionais deveriam ser expressos em
termo de vitaminas A, C e D controlados por suas quantidades
mínimas(em mg).
Vitamina Leite Carne Peixe Salada Requisito
(mg) (l) (kg) (kg) (kg) Nutricional
A 02 02 10 20 11
C 50 20 10 30 70
D 80 70 10 80 250
Custo (R$) 2,00 4,00 1,50 1,00 -
EXEMPLO 4- DIETA ALIMENTAR

min C  2 xL  4 xC  1,5 xP  1xS Função Objetivomimizar o custo 


Sujeito à
2 xL  2 xC  10 xP  20 xS  11
50 xL  20 xC  10 xP  30 xS  70
80 xL  70 xC  10 xP  80 xS  250
xL , xC , xP , xS  0
EXEMPLO 5- PROBLEMA DE TRANSPORTE

• Duas Fabricas (F1 e F2) de brinquedos devem enviar sua produção


para três centros de distribuição (D1, D2 e D3). Os brinquedos são
transportados em contêineres fechados em um numero inteiro de
caminhões. Os custo de transportes de cada fabrica (fonte) para cada
centro de distribuição(destino), as capacidades de produção da fabrica
e capacidades de estoque de centros de distribuição estão especificados
na tabela abaixo:
FABRICA\CENTRO DE D1 D2 D3 PRODUÇÃO
DISTRIBUIÇÃO
F1 08 05 06 120
F2 03 09 10 80
Capacidade de Estoque 90 40 70 200
EXEMPLO 5- PROBLEMA DE TRANSPORTE
min C  8 x11  5 x12  6 x13  3 x21  9 x22  10 x23 Função Objetivomimizar o custo 
Sujeito à
x11  x12  x13  120
x21  x22  x23  80
x11  x21  90
x12  x22  40
x13  x23  70
xij  0, com i  1,2. e j  1,2,3. e int eiras .
UNIVERSIDADE FEDERAL DO SUL E SUDESTE DO PARÁ
CAMPUS UNIVERSITÁRIO DE MARABÁ
FACULDADE DE ENGENHARIA DE MATERIAIS

PROGRAMAÇÃO LINEAR:
SOLUÇÃO GRÁFICA DE PPL

MARABÁ – PARÁ
MARÇO / 2015
INTRODUÇÃO

A Solução ótima (Z*), ou seja, o máximo lucro ou o


mínimo custo, por exemplo, de um problema de
programação linear que tenha duas, ou até três,
variáveis de decisão pode ser encontradas usando-se
representações no sistema de eixos cartesianos
ortogonais (plano cartesiano).
REPRESENTAÇÃO GRÁFICA

x2

0 x1
x2
x 1  x 2  50

Região onde
50 x 1  x 2  50

0 50 x1
x2
3 x 1  2 x 2  120

Região onde
60
3 x 1  2 x 2  120

0 40 x1
3 x 1  2 x 2  120 x2

x 1  x 2  50
60
Região onde
50 3 x 1  2 x 2  120 e x 1  x 2  50

0 40 50 x1
3 x 1  2 x 2  120 x2
x 1  30
x 1  x 2  50 60
50 x 2  40
Re gião de Soluções 40
Compatíveis.

0 30 40 50 x1
VETOR GRADIENTE -
Uma ferramenta importante na busca da solução
ótima é o vetor gradiente da função objetivo, que
indica a direção do máximo crescimento dela, ou
seja, onde devemos procurar o ponto do conjunto de
soluções compatíveis que faça com que a função
objetiva adquira o seu maior valor. Esse vetor
gradiente, representado agora por (já que o
máximo que queremos é lucro)
Ponto do Plano que indica
x2
x1  e x 2 

0
x1
xT  xM  50
xM  40
R1  xT  xM  50
10  40  50  50 OK
R 2  3xT  2 xM  120
3.10  2.40  110  120 OK
R3  xT  30
xT   10  30 OK
R 4  xM  40
xM   40  40 OK
UNIVERSIDADE FEDERAL DO SUL E SUDESTE DO PARÁ
CAMPUS UNIVERSITÁRIO DE MARABÁ
FACULDADE DE ENGENHARIA DE MATERIAIS

PROGRAMAÇÃO LINEAR:
PROGRAMAÇÃO LINEAR
INTEIRA

MARABÁ – PARÁ
MARÇO / 2015
INTRODUÇÃO
Os Problemas de Programação Linear Inteira são
uma classe de problemas de PL que contém uma
particularidade: alguma restrição em relação ao tipo
de uma ou mais variáveis de decisão, como por
exemplo, variáveis que podem assumir apenas
valores inteiros.
UM MODELO DE PL INTEIRA

5 x1  3 x 2  17
Região onde
max Z  6 x1  11x2 5 x1  3 x2  17
5 x1  3 x2  17 5 , 67 e x1 , x2  0
e x1 , x2  0 e int eiros

0 3,4
O MÉTODO DE BRANCH AND BOUND

5 x1  3 x 2  17

x2  5
Região onde
5 x1  3 x2  17
x2  5
e x1 , x2  0

0 3,4
O MÉTODO DE BRANCH AND BOUND
5 x1  3 x  17 x1  1
2

 .Z

x2  5
Região onde
5 x1  3 x2  17
x2  5
e x1  1 e x2  0

0 1 3,4
O MÉTODO DE BRANCH AND BOUND
5 x1  3 x  17 x1  1
2

 .Z

x2  5
Região onde
5 x1  3 x2  17
x2  5
e x1  1 e x2  0

0
1 3,4
PL0

x1 = 0

x2 = 5,67

Z = 62,37
x2 não é viável
x2 ≤ 5 x2 ≥ 6

PL1 PL2

x1 = 0,4 Não tem

x2 = 5 Solução
x1 ≤ 0 x1 ≥ 1
Z = 57,4
x1 não é viável Eliminado
PL3 PL4

x1 = 0 x1 = 1

x2 = 5 x2 = 4

Z= 55 Z = 50
Solução Ótima Eliminado
APLICAÇÃO DE PLI
• Um técnico produz dois tipos de componentes eletrônicos. Ele
dispõe de 6 capacitores, usados na produção, e de 9 horas de trabalho.
O componente do tipo 1 necessita de 2 capacitores e 2 horas de
trabalho para ser produzido, enquanto que o componente do tipo 2
necessita apenas 1 capacitor, mas de 3 horas de trabalho para sua
produção. Esse técnico vende seus componentes eletrônicos ganhando
três reais pela venda de uma unidade do componente do tipo 1 e quatro
reais pela venda de uma unidade do componente do tipo 2. Quantos
componentes de cada tipo ele deve produzir de modo a obter o maior
lucro possível com a venda?
max L  3 x1  4 x2 Função Objetivomax izar o Lucro 
Sujeito à
2 x1  x2  6
2 x1  3 x2  9
x1 , x2  0 e int eiros
2 x1  x 2  6 x2

2 x1  3 x 2  9 .Z

3 4,5 x1
PL0

x1 = 2,25

x2 = 1,5

Z = 12,75
x2 ≤ 1 x2 ≥ 2
x1 ,x2 não são viáveis

PL1 PL2

x1 = 2,5 x1 = 1,5

x2 = 1 x1 ≤ 1 x2 = 2 x1 ≥ 2

Z = 11,5 Z = 12,5
PL3 PL4
x1 não é viável
x1 não é viável
x1 = 1 Não tem
solução
x2 = 2,33
x2 ≤ 2 x2 ≥ 3
Z= 12,33
Eliminado
x2 não é viável
PL5 PL6

x1 = 1,5 x1 = 0

x2 = 2 x2 = 3

Z= 12,5 Z = 12
Eliminado o PL2 se Solução Ótima
repetiu
APLICAÇÃO DE PLI
Uma fábrica de cristais procura planejar a produção de dois tipos de
produtos de modo a maximizar seu lucro. Essa fábrica possui um forno
para a fabricação de cristais que pode operar no máximo 16 horas por
dia. Nesse forno são produzidos dois produtos: um elefante de cristal,
que precisa de 15 minutos de forno para ficar pronto, e uma borboleta
de cristal, que precisa de 25 minutos para ficar pronta. Cada elefante é
vendido por R$ 12,00 e a borboleta é vendida por R$ 15,00. Quanto de
cada produto essa fábrica deve produzir num dia de trabalho?
max L  12 x1  15 x2 Função Objetivomax izar o Lucro 
Sujeito à
15 x1  25 x2  960
x1 , x2  0 e int eiros
Como o modelo apresenta
A Solução ótima inteira:
No ponto C (64, 0), temos
x1 = 64 e x2 = 0, ou seja,
L = 12 • 64 + 15 • 0
L = 768
APLICAÇÃO DE PLI
Max L  5 x1  4 x2 Função Objetivomax izar o Lucro 
Sujeito à
x1  x2  5
10 x1  6 x2  45
x1 , x2  0 e int eiros
PL0

x1 = 3,75

x2 = 1,25

Z = 23,75
x1 ≤ 3 x1 ≥ 4
x1 ,x2 não são viáveis

PL1 PL2

x1 = 3 x1 = 4

x2 = 2 x2 ≤ 0 x2 = 0,83 x2 ≥ 1

Z = 23 Z = 23,33
PL3 PL4
X1 e X2 são viáveis
x2 não é viável
(ótimo) x1 = 4,5 Não tem
solução
x2 = 0
x1 ≤ 4 x1 ≥ 5
Z= 22,5
Eliminado
x1 não é viável
PL5 PL6

x1 = 4 Não tem
solução
x2 = 0

Z= 20
Eliminado
X1 e X2 são viáveis
COMENTÁRIO:
A sequencia de solução (PL0 → PL2→PL4→PL3→PL6→PL5→PL1) é a
pior hipótese que, entretanto, pode perfeitamente ocorrer na prática.
O exemplo acima indica uma fraqueza principal no algoritmo B&B: dadas
múltiplas opções, como selecionamos o próximo subproblema e sua
variável de ramificação? Embora existam heurísticas para aprimorar a
capacidade do B&B de ‘prever’ qual ramo pode levar a uma solução
melhorada do PLI, não existe uma teoria sólida com resultados
consistentes, e é aqui que está a dificuldade que assola os cálculos em PLI.
UNIVERSIDADE FEDERAL DO SUL E SUDESTE DO PARÁ
CAMPUS UNIVERSITÁRIO DE MARABÁ
FACULDADE DE ENGENHARIA DE MATERIAIS

SOLUÇÃO ÓTIMA:
MÉTODO SIMPLEX

MARABÁ – PARÁ
MARÇO / 2015
INTRODUÇÃO
O Simplex é um método de resolução de problemas
de programação linear que se baseia em operações
matriciais na busca da solução ótima. Esse método
utiliza-se de uma solução conhecida no PPL para
encontrar as principais soluções compatíveis do
problema, determinando a maior dentre elas, em
problemas de maximização, ou a menor dentre as
soluções compatíveis, em problemas de minimização.
Para isso é necessário seguir uma sequência de
procedimentos padrão, já definidos, a solução ótima
e os valores das variáveis de decisão são
determinados facilmente, desde que o PPL esteja
escrito na sua forma padrão.
FORMA PADRÃO DO PPL
FORMA PADRÃO DO PPL
NÃO NEGATIVIDADE DA MÃO DIREITA:
EX:
max L  2 x1  x2  4 x3
sujeito a
5 x1  2 x2  3 x3   7
2 x1  2 x2  x3  8
x1 , x3  0

max L  2 x1  x2  4 x3
sujeito a
 5 x1  2 x2  3 x3  7
2 x1  2 x2  x3  8
x1 , x3  0
FORMA PADRÃO DO PPL
VARIÁVEIS NÃO-RESTRITAS:
EX:
max L  2 x1  x2  4 x3
sujeito a
 5 x1  2 x2  3 x3  7
2 x1  2 x2  x3  8
x1 , x3  0 (var iável x2 não restrita )

x2  x'2  x'2'
max L  2 x1  x'2  x'2'  4 x3
sujeito a
 5 x1  2( x'2  x'2' )  3 x3  7
2 x1  2( x'2  x'2' )  x3  8
x1 , x'2 , x'2' , x3  0
FORMA PADRÃO DO PPL
VARIÁVEIS DE FOLGA:
EX:
max L  2 x1  x2'  x2''  4 x3
sujeito a
 5 x1  2 x2'  2 x2''  3 x3  7
2 x1  2 x2'  2 x2''  x3  8
x1 , x2' , x2'' , x3  0 (Re strições definidas por  )

max L  2 x1  x'2  x'2'  4 x3  0 x f


sujeito a
 5 x1  2 x'2  2 x'2'  3 x3  x f  7
2 x1  2 x'2  2 x'2'  x3  0 x f  8
x1 , x'2 , x'2' , x3 , x f  0
FORMA PADRÃO DO PPL
VARIÁVEIS DE EXCESSO:
EX:
max L  2 x1  x'2  x'2'  4 x3  0 x f
sujeito a
 5 x1  2 x'2  2 x'2'  3 x3  x f  7
2 x1  2 x'2  2 x'2'  x3  0 x f  8
x1 , x'2 , x'2' , x3 , x f  0 (Re strições definidas por  )

max L  2 x1  x'2  x'2'  4 x3  0 x f  0 xe


sujeito a
 5 x1  2 x'2  2 x'2'  3 x3  x f  0 xe  7
2 x1  2 x'2  2 x'2'  x3  0 x f  xe  8
x1 , x'2 , x'2' , x3 , x f , xe  0
FORMA PADRÃO DO PPL
AJUSTAR A FUNÇÃO OBJETIVO:
EX:
max L  2 x1  x'2  x'2'  4 x3  0 x4  0 x5
sujeito a
 5 x1  2 x'2  2 x'2'  3 x3  x4  0 x5  7
2 x1  2 x'2  2 x'2'  x3  0 x4  x5  8
x1 , x'2 , x'2' , x3 , x4 , x5  0
TABLEAU SIMPLEX
Uma empresa de blindagem de veículos de passeio pode produzir três
tipos de blindagem: econômica, normal e reforçada. O processo de
blindagem pode ser representado por dois grandes processos
independentes: funilaria e vidraçaria, cujos dados de produção são
apresentados na tabela abaixo:

Determinar o plano de produção que maximize o lucro total.


Utilizando a metodologia Simplex
Solução:
Quantas blindagens de cada tipo executar por mês?
x1 = número de veículos blindados com blindagem econômica no mês
x2 = número de veículos blindados com blindagem leve no mês
x3 = número de veículos blindados com blindagem pesada no mês

Modelo Matemático:
max Lucro  6 x1  14x2  13x3
sujeito a
1
x1  2 x2  x3  24
2
x1  2 x2  4 x3  60
x1 , x2 , x3  0
Problema na forma Padrão:
Adicionando uma variável de folga para cada uma das restrições (x4 e x5):

max Lucro  6 x1  14 x2  13 x3  0 x4  0 x5
sujeito a
1
x1  2 x2  x3  x4  24
2
x1  2 x2  4 x3  x5  60
x1 , x2 , x3 , x4 , x5  0

VB X1 X2 X3 X4 X5 b Cálculos

X4 1/2 2 1 1 0 24

X5 1 2 4 0 1 60

Max L -6 -14 -13 0 0


VB X1 X2 X3 X4 X5 b Cálculos

X4 1/2 2 1 1 0 24 24/2=12 ÷ 2

X5 1 2 4 0 1 60 60/2=30

Max L -6 -14 -13 0 0 X2 entra na base e X4 sai da base

VB X1 X2 X3 X4 X5 b Cálculos

X4 1/4 1 1/2 1/2 0 12 24/2=12

X5 1 2 4 0 1 60 60/2=30

Max L -6 -14 -13 0 0 X2 entra na base e X4 sai da base

 1 4 1 1 2 1 2 0  12
 1 2 4 0 1  60 
 
 6  14  13 0 0  0 
Para eliminar o elemento a22, vamos fazer L2= L2-2.L1
Para eliminar o elemento a32, vamos fazer L3= L3 + 14.L1
Assim,

 14 1 12 12 0  12 
1  2.1 4 2  2.1 4  2.1 2 0  2.1 2 1  2.0  60  2 .12 
 
 6  14.1 4  14  14.1  13  14.1 2 0  14.1 2 0  14.0  0  14.12 

 1 4 1 1 2 1 2 0  12
 12 0 3  1 1  36

 2,5 0 6 7 0  168 

VB X1 X2 X3 X4 X5 b Cálculos

X2 1/4 1 1/2 1/2 0 12

X5 1/2 0 3 -1 1 36 36/3=12 ÷3

Max L -2,5 0 -6 7 0 168 X3 entra na base e X5 sai da base


VB X1 X2 X3 X4 X5 b Cálculos

X2 1/4 1 1/2 1/2 0 12

X5 1/6 0 1 -1/3 1/3 12 36/3=12

Max L -2,5 0 -6 7 0 168 X3 entra na base e X5 sai da base

Para eliminar o elemento a13, vamos fazer L1= L1-1/2.L2


Para eliminar o elemento a33, vamos fazer L3= L3 + 6.L2
Assim,
 1 4 1 12 12 0  12
 16 0 1  1 3 1 3  12 

 2,5 0 6 7 0  168 

1 4  1 2.1 6 1  1 2.0 1 2  1 2.1 1 2  1 2. 1 3 0  1 2.1 3  12  1 2.12


 16 0 1  1 3 1 3  12 
 
 2,5  6.1 6 0  6.0  6  6.1 7  6. 1 3 0  6.1 3  168  6.12 
VB X1 X2 X3 X4 X5 b Cálculos

X2 1/6 1 0 2/3 -1/6 6 6÷(1/6)=36÷ 1/6

X3 1/6 0 1 -1/3 1/3 12

Max L -1,5 0 0 5 2 240 X1 entra na base e X2 sai da base

VB X1 X2 X3 X4 X5 b Cálculos

X2 1 6 0 4 -1 36 6÷(1/6)=36

X3 1/6 0 1 -1/3 1/3 12

Max L -1,5 0 0 5 2 240 X1 entra na base e X2 sai da base

 1 6 0 4  1  36 
 1 6 0 1  1 3 1 3  12 
 
 1,5 0 0 5 2  240
Para eliminar o elemento a21, vamos fazer L2= L2-1/6.L1
Para eliminar o elemento a31, vamos fazer L3= L3 + 1,5.L1
Assim,

1 6 0 4 1  36 
1 6  1 6.1 0  1 6.6 1  1 6.0  1 3  1 6.4 1 3  1 6. 1  12  1 6.36
 
 1,5  1,5.1 0  1,5.6 0  1,5.0 5  1,5.4 2  1,5. 1  240  1,5.36 

 1 6 0 4  1  36 
 0  1 1  1 1 2  6 

 0 9 0 11 1 2  294

VB X1 X2 X3 X4 X5 b Cálculos

X1 1 6 0 4 -1 36
X3 0 -1 1 -1 1/2 6
Max L 0 9 0 11 1/2 294
Logo, para X1= 36, X3= 6 e X2= 0, temos com solução ótima:

max Lucro  6 x1  14x2  13x3


max Lucro  6  36  14  0  13  6  294
SOLUÇÃO NA FERRAMENTA SOLVER DO EXCEL:
VARIÁVEIS
X1 36
X2 0
X3 6

FUNÇÃO OBJETIVA 294

RESTRIÇÕES
FUNILARIA 24 <= 24
VIDRAÇARIA 60 <= 60
NÃO-NEGATIVIDADE 36 >= 0
0 >= 0
6 >= 0
UNIVERSIDADE FEDERAL DO SUL E SUDESTE DO PARÁ
CAMPUS UNIVERSITÁRIO DE MARABÁ
FACULDADE DE ENGENHARIA DE MATERIAIS

SOLUÇÃO ÓTIMA:
MÉTODO DAS DUAS FASES

MARABÁ – PARÁ
MARÇO / 2015
MÉTODO DAS DUAS FASES:
Quando o sistema de restrições do PPL apresenta todas as restrições do tipo 
Não há problemas em resolvê-lo pelo método simplex, mas quando existe uma
ou mais restrições do tipo  temos mais uma alteração a fazer. O problema
ocorre porque, na forma padrão, uma restrição do tipo  recebe uma variável
de excesso cujo coeficiente é -1, o que não nos dá uma solução básica inicial
compatível. Pode-se resolver esse problema utilizando-se o método das duas
fases.

Modelo Matemático:
Max Z  x1  x2
sujeito a
5 x1  2 x2  2
2 x1  x2  0,2
3 x1  5 x2  1,5
x1 , x2  0
Problema na forma Padrão:
Adicionando uma variável de folga para cada uma das restrições (x3 , x4 e x5):
Max Z  x1  x2
sujeito a
5 x1  2 x2  x3 2
5 2 1 0 0 0 0 2 
2 x1  x2  x4  xa1  0,2  2  1 0  1 0 1 0 0,2
 
3 5 0 0  1 0 1 1,5 
3x1  5 x2  x5  xa 2  1,5
x1 , x2 , x3 , x4 , x5 , x a1, xa 2  0

xa 1  0,2  2 x1  x2  x4
xa 2  1,5  3x1  5 x2  x5
W  1,7  5 x1  4 x2  x4  x5
Min W  5 x1  4 x2  x4  x5  1,7
VB X1 X2 X3 X4 X5 Xa1 Xa2 b Cálculos

X3 5 2 1 0 0 0 0 2

Xa1 2 -1 0 -1 0 1 0 0,2

Xa2 3 5 0 0 -1 0 1 1,5

Max Z -1 -1 0 0 0 0 0 0

Min W 5 4 0 -1 -1 0 0 1,7

VB X1 X2 X3 X4 X5 Xa1 Xa2 b Cálculos


X3 5 2 1 0 0 0 0 2 2/5=0,4
Xa1 2 -1 0 -1 0 1 0 0,2 0,2/2=0 ÷ 2

Xa2 3 5 0 0 -1 0 1 1,5 1,5/3=0,5


Max Z -1 -1 0 0 0 0 0 0 X1 entra na
base e Xa1 sai
Min W 5 4 0 -1 -1 0 0 1,7 da base
Assim,
Para eliminar o elemento a11, vamos fazer L1= L1-5.L2
Para eliminar o elemento a31, vamos fazer L3= L3 - 3.L2
Para eliminar o elemento a41, vamos fazer L 4 = L 4 + L2
Para eliminar o elemento a51, vamos fazer L5= L5 - 5.L2

5 2 1 0 0 0 0  2 0 4,5 1 0 0 0 0  2 
1  0,5 0  0,5 0 0,5 0  0,1  1  0,5 0  0,5 0 0,5 0  0,1 
   
3 5 0 0 1 0 1  1,5 0 6,5 0 1,5  1  1,5 1  1,2
   
 1  1 0 0 0 0 0  0
0  1,5 0  0,5 0 0,5 0  0,1 
5 4 0 1 1 0 0  1,7 0 6,5 0 1,5  1  2,5 0  1,2

VB X1 X2 X3 X4 X5 Xa1 Xa2 b Cálculos


X3 0 4,5 1 2,5 0 -2,5 0 1,5
X1 1 -0,5 0 -0,5 0 0,5 0 0,1

Xa2 0 6,5 0 1,5 -1 -1,5 1 1,2


Max Z 0 -1,5 0 -0,5 0 0,5 0 0,1
Min W 0 6,5 0 1,5 -1 -2,5 0 1,2
VB X1 X2 X3 X4 X5 Xa1 Xa2 b Cálculos
X3 0 4,5 1 2,5 0 -2,5 0 1,5 1,5/4,5=0,333
X1 1 -0,5 0 -0,5 0 0,5 0 0,1

Xa2 0 6,5 0 1,5 -1 -1,5 1 1,2 1,2/6,5=0,185÷ 6,5


Max Z 0 -1,5 0 -0,5 0 0,5 0 0,1 X2 entra na base e
Xa2 sai da base
Min W 0 6,5 0 1,5 -1 -2,5 0 1,2

Assim,
Para eliminar o elemento a12, vamos fazer L1= L1-4,5.L3
Para eliminar o elemento a22, vamos fazer L2= L2 +0,5.L3
Para eliminar o elemento a42, vamos fazer L4= L4 +1,5 L3
Para eliminar o elemento a52, vamos fazer L5= L5 – 6,5.L3
VB X1 X2 X3 X4 X5 Xa1 Xa2 b Cálculos
X3 0 0 1 1,462 0,692 -1,462 -0,692 0,669
X1 1 0 0 -0,385 -0,077 0,385 0,077 0,192

X2 0 1 0 0,231 -0,154 -0,231 0,154 0,185


Max Z 0 0 0 -0,154 -0,231 0,154 0,231 0,377
Min W 0 0 0 0 0 -1 -1 0
Sempre que, durante a primeira fase do método, não encontramos coeficientes
Positivos na linha Min W, mas o valor de W ainda não for zero, estaremos
diante de um PPL sem solução.

VB X1 X2 X3 X4 X5 b Cálculos
X3 0 0 1 1,462 0,692 0,669 0,669/0,692=0,967 ÷ 6,5
X1 1 0 0 -0,385 -0,077 0,192

X2 0 1 0 0,231 -0,154 0,185


Max Z 0 0 0 -0,154 -0,231 0,377 X5 entra na base e X3 sai da
base
Assim,
Para eliminar o elemento a25, vamos fazer L2= L2+0,077.L1
Para eliminar o elemento a35, vamos fazer L3= L3 +0,154.L1
Para eliminar o elemento a45, vamos fazer L4= L4 +0,231. L1

VB X1 X2 X3 X4 X5 b Cálculos
X5 0 0 1,445 2,113 1 0,967 0,669/0,692=0,967 ÷ 6,5
X1 1 0 0,111 -0,222 0 0,266

X2 0 1 0,223 0,556 0 0,334


Max Z 0 0 0,334 0,334 0 0,6 X5 entra na base e X3 sai da
base

E como não há mais coeficientes negativos na linha Max Z, esta é a solução


Ótima do PPL, Assim x1 = 0,266, x2 = 0,334, x5 = 0,967 e Z* = 0,6.
Logo, a solução ótima do PPL, Assim x1 = 0,266 e x2 = 0,334.
Max Z  x1  x2
Max Z  0,266  0,334  0,6
SOLUÇÃO NA FERRAMENTA SOLVER DO EXCEL:
VARIÁVEIS
X1 0,2666667
X2 0,3333333

FUNÇÃO OBJETIVO 0,6

RETRIÇÕES
R1 2<= 2
R2 0,2>= 0,2
R3 2,4666667>= 1,5
NÃO-NEGATIVIDADE
N1 0,2666667>= 0
N2 0,3333333>= 0
UNIVERSIDADE FEDERAL DO SUL E SUDESTE DO PARÁ
CAMPUS UNIVERSITÁRIO DE MARABÁ
FACULDADE DE ENGENHARIA DE MATERIAIS

PROGRAMAÇÃO LINEAR:
TEORIA DA DUALIDADE

MARABÁ – PARÁ
MARÇO / 2015
DUALIDADE
Na teoria da Dualidade, vamos estudar o algoritmo primal-dual e
verificar como podemos usar algumas características especiais
dos modelos de programação Linear para buscar maneiras mais
fáceis de encontrar a solução ótima sob certas condições.

ALGORITMO PRIMAL-DUAL:
Os problemas de PL podem ser escritos em forma de matrizes como:

Max Z  C T . x Assim, c é uma matriz de ordem 1xn, cujo


elementos são os coeficientes da função objetivo, A é
sujeito a matriz mxn, com os coeficientes das restrições, e b é
A. x  b uma matriz mx1, com os coeficientes da mão-
direita das restrições. O que buscamos é uma
x0 matriz x que contenha a solução ótima do PPL. A
esse problema daremos o nome de primal
(primitivo).
Vamos então determinar qual é o problema dual do nosso PPL original:

 Se o primal é um problema de maximização, então, o dual será de


minimização, e vice-versa.
 Os coeficientes da mão-direita do primal(matriz b) são os coeficientes
da função objetivo do dual (bT), e vice-versa.
 A matriz transposta dos coeficientes das restrições do primal será
matriz dos coeficientes das restrições do dual. E as variáveis do
problema dual serão uma reformulação das restrições do problema
primal.

Min Z  bT . y
sujeito a
AT . y  c
y0
Exemplo:
Max Z  3x1  5 x2
Min Z  4 y1  12 y2  18 y3
sujeito a
sujeito a
x1 4
1 y1  3 y3  3
2 x2  12
 2 y 2  2 y3  5
3x1  2 x2  18
y1 , y2 , y3  0
x1 , x2  0
Primal Dual

 x1  4  1 0  4 
     x1   
 2 x2  12   0 2 .    12  Ax  b
   x2   
3x  2 x  18 3 2  18
 1 2   
Exercício:
Modelo Primal Modelo Dual Mo
minC  2x1  4x2  1,5x3  1x4 Max C = 11y1 + 70y2 + 250y3 Ma

Sujeito à Sujeito à Suj

2x1  2x2  10x3  20x4  11 2y1 + 50y2 + 80y3 ≤ 2 2y1


2y1 + 20y2 + 70y3 ≤ 4 2y1
50x1  20x2  10x3  30x4  70
10y1 + 10y2 + 10y3 ≤ 1,5 10y
80x1  70x2  10x3  80x4  250
20y1 + 30y2 + 80y3 ≤ 1 20y
x1,x2 ,x3 ,x4  0 y1,y2,y3 ≥ 0 y1,y
UNIVERSIDADE FEDERAL DO SUL E SUDESTE DO PARÁ
CAMPUS UNIVERSITÁRIO DE MARABÁ
FACULDADE DE ENGENHARIA DE MATERIAIS

MARABÁ – PARÁ
MARÇO / 2015
PROBLEMA DO CAIXEIRO VIAJANTE
Um dos problemas mais famosos da teoria dos grafos é o problema do
caixeiro viajante. Claro que não usamos mais essa nomenclatura, mas o
princípio é o mesmo: um representante comercial precisa visitar seus clientes
em suas cidades, sem visitar duas vezes a mesma cidade e sem deixar de
visitar nenhuma cidade. Deve-se também considerar que esse representante
deve tentar fazer todas as visitas andando o mínimo possível.

B CIDADES

A
A B C

B 36
C 26 30

A D D 22 25 28

 ABCDA = 36+30+28+22=116 km
C  ABDCA = 36+25+28+26=115 km
 ACBDA = 26+30+25+22=103 km
 Permutação
PROBLEMAS DE FLUXO MÁXIMO
Outro tipo de problema comum na análise de redes é o problema de fluxo
máximo, que pode ser, por exemplo, o problema de uma distribuidora de
água tratada que queira determinar qual o maior fluxo de água que pode ser
distribuído por sua rede de tubulação.

B  A função objetivo é maximizar o fluxo que chega


20 25 ao nó D, representado neste problema por x0.
 Para cada nó, o fluxo que chega é igual ao fluxo
A 14 D que sai. Representando com um sinal negativo o
fluxo que chega e positivo o fluxo que sai.

21  x0 :fluxo do nó D ao nó A;
28
C  x1 : fluxo do nó A ao nó B;
 x2 : fluxo do nó A ao nó C;
 x3 :fluxo do nó B ao nó D;
 x4 : fluxo do nó C ao nó B;
 x5 :fluxo do nó C ao nó D;
 Nó D: x0 - x3 - x5 = 0
 Nó A: - x0 + x1 + x2 = 0
 Nó B: - x1 + x3 - x4 = 0
 Nó C: - x2 + x4 + x5 = 0
As restrições de capacidade são x1≤ 20, x2≤ 28, x3≤ 25, x4≤ 14 e x5≤ 21. E assim
temos o problema dado por:
Max F = x0
Sujeito à
x0 – x3 - x 5 = 0
- x0 + x1 + x 2 = 0
- x1 + x3 – x4 = 0
- x2 + x4 + x 5 = 0
x1 ≤ 20
x2 ≤ 28
x3 ≤ 25
x4 ≤ 14
x5 ≤ 21
xi ≥0, i = 0, 1, ...,5
Algoritmo Djikstra
GRAFO
B 8 E
16 4 6 12
A 24 D 12 G
10 8 2 24
C F
4
Algoritmo Djikstra
DISTÂNCIAS MÍNIMAS AUXILIAR
Nó Nó Ant. Distância Nó Nó Ant. Distância
Algoritmo Djikstra
DISTÂNCIAS MÍNIMAS AUXILIAR
Nó Nó Ant. Distância Nó Nó Ant. Distância
A 0 B A 16
C A 10
D A 24

8
B E
16 4 6 12
A 24 D 12 G
10 8 2 24
C F
4
Algoritmo Djikstra
DISTÂNCIAS MÍNIMAS AUXILIAR
Nó Nó Ant. Distância Nó Nó Ant. Distância
A 0 B A 16
C A 10 C A 10(x)
D A 24
D C 18=10+8
F C 14=10+4

B 8 E
16 4 6 12
A 24 D 12 G
10 8 2 24
C F
4
Algoritmo Djikstra
DISTÂNCIAS MÍNIMAS AUXILIAR
Nó Nó Ant. Distância Nó Nó Ant. Distância
A 0 B A 16=16+0
C A 10 C A 10=10+0(x)
F C 14 D A 24=24+0
D C 18=10+8
F C 14=10+4(x)
G F 38=14+24

B 8 E
16 4 6 12
A 24 D 12 G
10 8 2 24
C F
Algoritmo Djikstra
DISTÂNCIAS MÍNIMAS AUXILIAR
Nó Nó Ant. Distância Nó Nó Ant. Distância
A 0 B A 16(x)
C A 10 C A 10(x)
F C 14 D A 24
B A 16 D C 18
F C 14(x)
G F 38
D B 20=16+4
E B 24=16+8
B 8 E
16 4 6 12
A 24 D 12 G
10 8 2 24
C F
4
Algoritmo Djikstra
DISTÂNCIAS MÍNIMAS AUXILIAR
Nó Nó Ant. Distância Nó Nó Ant. Distância
A 0 B A 16(x)
C A 10 C A 10(x)
F C 14 D A 24
B A 16 D C 18(x)
D C 18 F C 14(x)
G F 38
D B 20
E B 24
E D 24=18+6
F D 20=18+2
B 8 E
16 4 6 12
A 24 D 12 G
10 8 2 24
C F
4
Algoritmo Djikstra
DISTÂNCIAS MÍNIMAS AUXILIAR
Nó Nó Ant. Distância Nó Nó Ant. Distância
A 0 B A 16(x)
C A 10 C A 10(x)
F C 14 D A 24(x)
B A 16 D C 18(x)
D C 18 F C 14(x)
E B 24 G F 38
D B 20(x)
E B 24(x)
E D 24(x)
F D 20(x)
G E 36
F E 36
B 8 E
16 4 6 12
A 24 D 12 G
10 8 2 24
C F
4
Algoritmo Djikstra
DISTÂNCIAS MÍNIMAS AUXILIAR
Nó Nó Ant. Distância Nó Nó Ant. Distância
A 0 B A 16(x)
C A 10 C A 10(x)
F C 14 D A 24(x)
B A 16 D C 18(x)
D C 18 F C 14(x)
E B 24 G F 38(x)
G E 36 D B 20(x)
E B 24(x)
E D 24(x)
F D 20(x)
F E 36(x)
G E 36x)
B 8 E
16 4 6 12
A 24 D 12 G
10 8 2 24
C F
4
Referências Bibliográficas
1. ANDRADE, E.; FURST, P.; RODRIGUES, P. Elementos de programação linear. Rio de
Janeiro: Editora Universidade Rural, 1998. 168 p.
2. MOREIRA, D.A, PESQUISA OPERACIONAL – Curso Introdutório, 2ª edição revisada e
atualizada, São Paulo, Editora Cengage, 2010.
3. BAZARAA, M. S., JARVIS, J. J., SHERALI, M. D. Linear programming and network
flows. 2nd ed. New York: Wiley, 1990. 1v.
4. FANG, S.; PUTHENPURA S. Linear optimization and extensions: theory and algorithms.
At & T. New Jersey Prentice Hall, 1993. 1 v.
5. GOLDBARG, M. C. ; LUNA, H. l. Otimização combinatória e programação linear:
modelos e algoritmos.. Rio de Janeiro: Campus, 2000. 1v.
6. HILLIER, F. ; LIEBERMAN ,G. J. Introduction to mathematical programming. 2nd ed.
Singapore, McGraw-Hill, 1995. 1 v.
7. WINSTON, W. L. Operations research: applications and algorithms. 3rd.ed.. Belmont
(USA) Duxbury Press, c1994. 1318 [54] p.
8. ACKOFF, R.L., SASIENI, M.W.: Pesquisa operacional, LTC, Rio de Janeiro, 1975.
9. HILLIER, F.S., LIEBERMAN, G.J.: Introdução à pesquisa operacional, Campus, Rio de
Janeiro, 1988.
10. PIZZOLATO, N. D. ; GANDOLPHO, A.A.. Técnicas de Otimização. 1. ed. Rio de
Janeiro: Livros Técnicos e Científicos LTC, 2009.

Você também pode gostar