1 faculdade de engenharia - campus de guaratinguetá pesquisa operacional livro: introdução à...

126
1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando Marins – [email protected] Departamento de Produção

Upload: internet

Post on 17-Apr-2015

145 views

Category:

Documents


29 download

TRANSCRIPT

Page 1: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

1

Faculdade de Engenharia - Campus de Guaratinguetá

Pesquisa Operacional

Livro: Introdução à Pesquisa Operacional

Capítulo 2 - Programação Linear

Fernando Marins – [email protected]

Departamento de Produção

Page 2: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Sumário

2

• Modelagem e limitações da Programação Linear.

• Resolução Gráfica.

• Forma padrão de um modelo de Programação Linear.

• Definições e Teoremas.

• Forma canônica de um sistema de equações lineares.

• Método Simplex. • Exercícios

Page 3: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

3

Programação Linear: Preocupação em encontrar a melhor solução para problemas

associados com modelos lineares.

Modelo de Programação Linear: Maximização (ou minimização) de uma função objetivo linear com relação as variáveis de decisão do modelo.Respeitando-se as limitações (restrições) do problema expressas por um sistema de equações e inequações associadas com as variáveis de decisão do modelo.

Programação Linear

Page 4: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Modelagem em Programação Linear

4

Razões para o uso da Programação Linear:

1. Grande variedade de situações podem ser aproximadas por modelos lineares.

2. Existência de técnicas (algoritmos) eficientes para a solução de modelos lineares.

3. Possibilidade de realização de análise de sensibilidade nos dados do modelo.

4. Estágio de desenvolvimento da tecnologia computacional.

Page 5: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Modelagem em Programação Linear

5

Passos básicos na obtenção de modelos de PL:

1. Identificar as variáveis de decisão, representá-las em simbologia algébrica.

2. Identificar as restrições do problema, expressá-las como equações ou inequações lineares em termos das variáveis de decisão.

3. Identificar o objetivo de interesse no problema, representá-lo como função linear em termos das variáveis de decisão, que deverá ser maximizada ou minimizada.

Page 6: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Modelagem em Programação Linear

6

Construção de modelos não é uma ciência, mas uma arte, podendo ser melhorada com a prática.

Exemplos a serem trabalhados:

Determinação do mix de produçãoSeleção de mídia para propagandaUm problema de treinamentoUma indústria químicaUma oficina mecânicaDimensionamento de equipes de inspeção

Page 7: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Modelagem em Programação Linear

7

Determinação do mix de produção

Uma companhia deseja programar a produção de um utensílio de cozinha que requer o uso de dois tipos de recursos – mão-de-obra e material. A companhia está considerando a fabricação de três modelos e o seu departamento de engenharia forneceu os dados a seguir:

Modelo

A B C

Mão-de-obra(horas por unidade)

7 3 6

Material(kg por unidade)

4 4 5

Lucro($ por unidade)

4 2 3

O suprimento de material é de 200 kg por dia. A disponibilidade diária de mão-de-obra é 150 horas. Formule um modelo de Programação Linear para determinar a produção diária de cada um dos modelos de modo a maximizar o lucro total da companhia.

Page 8: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Modelagem em Programação Linear

8

Formulação do modelo

1. Identificação das variáveis de decisão:XA – produção diária do modelo AXB – produção diária do modelo BXC – produção diária do modelo C

2. Identificação das restrições:(Limitação de mão-de-obra) 7XA + 3XB + 6XC 150(Limitação de material) 4XA + 4XB +5XC 200(Não-negatividade) XA 0, XB 0, XC 0.

3. Identificação do objetivo: maximização do lucro totalLucro Total = L = 4XA + 2XB +3XC

Max L = 4XA + 2XB +3XC

Page 9: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Modelagem em Programação Linear

9

Modelo

Encontrar números XA, XB, XC tais que:

Max L= 4XA + 2XB +3XC

Sujeito as restrições: 7XA + 3XB +6XC 150

4XA + 4XB +5XC 200XA 0, XB 0, XC 0

Page 10: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Modelagem em Programação Linear

10

Seleção de mídia para propaganda

Uma companhia de propaganda deseja planejar uma campanha em 03 diferentes meios: TV, rádio e revistas. Pretende-se alcançar o maior número de clientes possível. Um estudo de mercado resultou em:

TV horário

TV horário

Rádio Revistas

normal nobre

Custo 40.000 75.000 30.000 15.000

ClientesAtingidos

400.000 900.000 500.000 200.000

MulheresAtingidas

300.000 400.000 200.000 100.000

0bs: valores válidos para cada veiculação da propaganda.

Page 11: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Modelagem em Programação Linear

11

A companhia não quer gastar mais de $ 800.000 e, adicionalmente, deseja:(1) Que no mínimo 2 milhões de mulheres sejam atingidas;(2) Gastar no máximo $ 500.000 com TV;(3) Que no mínimo 03 veiculações ocorram no horário normal TV;(4) Que no mínimo 02 veiculações ocorram no horário nobre TV;(5) Que o nº. de veiculações no rádio e revistas fiquem entre 05 e 10, para cada meio de divulgação.

Formular um modelo de PL que trate este problema, determinando o nº. de veiculações a serem feitas em cada meio de comunicação, de modo a atingir o máximo possível de clientes.

Page 12: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Modelagem em Programação Linear

12

Resolução do exemplo “seleção de mídia para propaganda”

Variáveis de decisão:

X1 = nº. de exposições em horário normal na tv.

X2 = nº. de exposições em horário nobre na tv.

X3 = nº. de exposições feitas utilizando rádio

X4 = nº. de exposições feitas utilizando revistas.

Função-objetivo:

“Maximizar nº. de clientes atingidos”

Max Z = 400.000X1 + 900.000X2 + 500.000X3 + 200.000X4

Page 13: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Modelagem em Programação Linear

13

Restrições:

Orçamento:40.000X1 + 75.000X2 + 30.000X3 + 15.000X4 800.000

Mulheres atingidas:300.000X1 + 400.000X2 + 200.000X3 + 100.000X4 2.000.000

Gasto com TV

40.000X1 + 75.000X2 500.000

Nº. de veiculações em TV, rádio e revistas X1 3, X2 2, 5 X3 10, 5 X4 10

Não-negatividadeX1, X2, X3, X4 0.

Page 14: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Modelagem em Programação Linear

14

Um problema de treinamento

Uma empresa de máquinas ferramentas tem um programa de treinamento para operadores de máquinas. Alguns operadores já treinados podem trabalhar como instrutores neste programa ficando responsáveis por 10 trainees cada. A empresa pretende aproveitar apenas 07 trainees de cada turma de 10.

Estes operadores treinados também são necessários na linha de fabricação, e sabe-se que serão necessários para os próximos meses: 100 operadores em janeiro, 150 em fevereiro, 200 em março, e 250 em abril. Atualmente há 130 operadores treinados disponíveis na empresa.

Page 15: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Modelagem em Programação Linear

15

Encontrar um modelo de PL que forneça um programa de treinamento de custo mínimo e satisfaça os requisitos da empresa em termos de nº. de operadores treinados disponíveis a cada mês.

Observação: acordo firmado com o sindicato proíbe demissões de operadores treinados no período.

Os custos associados a cada situação são:

Trainees ...........................................................................$ 400.Operador treinado trabalhando ........................................$ 700.Operador treinado ocioso..................................................$ 500.

Page 16: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Modelagem em Programação Linear

16

Variáveis de decisão:

X6 = operadores ociosos em marçoX5 = operadores trabalhando como instrutores em marçoX4 = operadores ociosos em fevereiroX3 = operadores trabalhando como instrutores em fevereiroX2 = operadores ociosos em janeiro

Resolução do exemplo: Um problema de treinamento

Observe que a cada mês um operador treinado está: operando máquina, trabalhando como instrutor, ou está ocioso. Além disto, o nº. de operadores treinados trabalhando nas máquinas é fixo e conhecido: 100 em janeiro, 150 em fevereiro, 200 em março e 250 em abril.

X1 = operadores trabalhando como instrutores em janeiro

Page 17: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Modelagem em Programação Linear

17

Função-objetivo:

Min C = 400(10X1 + 10X3 + 10X5) + 700(X1 + X3 + X5) + + 500(X2 + X4 + X6) + 700(100 + 150 + 200)

Min C = 4700X1 +500X2 + 4700X3 +500X4 +4700X5 +500X6 + 315.000

“Custo total = custo trainees + custo instrutores + custo ociosos + custo operadores trabalhando em máquinas”.

Page 18: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Modelagem em Programação Linear

18

Restrições: X1, X2, X3, X4, X5, X6 0 (não-negatividade)

Abril: 250 = 130 + 7X1 + 7X3 + 7X5 7X1 + 7X3 + 7X5 = 120.

operadores treinados no início do mês = operadores nas máquinas + instrutores + operadores ociosos.

Equação de balanço mensal:

Janeiro: 130 = 100 + X1 + X2 X1 + X2 = 30

Fevereiro: 130 + 7X1 = 150 + X3 + X4 7X1 - X3 - X4 = 20

Março: 130 + 7X1 + 7X3 = 200 + X5 + X6 7X1 + 7X3 - X5 - X6 = 70

Page 19: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Modelagem em Programação Linear

19

Uma indústria química

Dois produtos, A e B, são feitos a partir de duas operações químicas. Cada unidade do produto A requer 02 horas da operação 1 e 03 horas da operação 2. Cada unidade do produto B requer 03 horas da operação 1 e 04 horas da operação 2. O tempo total disponível para a realização da operação 1 é de 16 horas, e o tempo total para a operação 2 é de 24 horas.

A produção do produto B resulta, também, num subproduto C sem custos adicionais. Sabe-se que parte do produto C pode ser vendido com lucro, mas o restante deve ser destruído. Previsões mostram que no máximo 05 unidades do produto C serão vendidas, e sabe-se que cada unidade do produto B fabricada gera 02 unidades do produto C.

Page 20: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Modelagem em Programação Linear

20

Sabe-se que:

Produto A gera um lucro de $ 4 por unidade.Produto B gera um lucro de $ 10 por unidade.Produto C gera um lucro de $ 3 por unidade se for vendido.Produto C gera um custo de $ 2 por unidade se for destruído

Determinar um modelo de PL para tratar este problema, e encontrar quanto produzir de cada produto, de modo a maximizar o lucro da indústria química.

Page 21: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Modelagem em Programação Linear

21

Observe que o lucro da venda do produto A é uma função linear, mas com respeito ao produto C isto não ocorre.

Resolução do exemplo: Uma indústria química - produto A

Quantidade

LucroProduto A

4

Produto B

10

Quantidade

Produto C

-2

Lucro

3

5

Page 22: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Modelagem em Programação Linear

22

2 X1 + 3 X2 16 (disponibilidade de tempo para operação 1)3 X1 + 4 X2 24 (disponibilidade de tempo para operação 2)X3 + X4 = 2 X2 (produção do produto C a partir do produto B)X3 5 (previsão de produto C que pode ser vendido)X1, X2, X3, X4 0 (não-negatividade)

Restrições:

Artifício: considerar as variáveis de decisão como sendoX1 = quantidade produto A produzidaX2 = quantidade produto B produzidaX3 = quantidade produto C vendidaX4 = quantidade produto C destruída

Função-objetivo:

Max Z = 4 X1 + 10 X2 + 3 X3 – 2 X4

Page 23: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Modelagem em Programação Linear

23

Oficina mecânica

Uma oficina mecânica tem 01 furadeira vertical e 05 fresas, que são usadas para a produção de conjuntos formados de 2 partes. Sabe-se qual é a produtividade de cada máquina na fabricação destas partes do conjunto:

Furadeira Fresa

Parte 1 03 20

Parte 2 05 15

Obs: tempo para produzir as partes dado em minutos.

Page 24: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Modelagem em Programação Linear

24

O encarregado pela oficina deseja manter uma carga balanceada nas máquinas de modo que nenhuma delas seja usada mais que 30 minutos por dia que qualquer outra, sendo o carregamento de fresamento dividido igualmente entre as 05 fresas.

Achar um modelo de PL para dividir o tempo de trabalho entre as máquinas de modo a obter o máximo de conjuntos completos ao final de um dia, num total de 08 horas de trabalho.

Page 25: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Modelagem em Programação Linear

25

Restrições:3X1 + 5X2 480

(minutos por dia disponíveis para a furadeira)

(20X1 + 15X2)/5 = 4X1 + 3X2 480 (minutos por dia disponíveis para cada fresa)

Resolução do exemplo: Oficina mecânica

Variáveis de decisão:X1 = número de partes 1 produzidas por diaX2 = número de partes 2 produzidas por dia

Page 26: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Modelagem em Programação Linear

26

Observe que esta última restrição não é linear, mas é equivalente a duas equações lineares que podem substituí-la:

X1 - 2X2 30 e -X1 + 2X2 30

X1, X2 0 (não-negatividade).

|(4X1 + 3X2) - (3X1 + 5X2)| = |X1 -2X2| 30 (Balanceamento de carga entre as máquinas)

Page 27: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Modelagem em Programação Linear

27

“maximização do número de conjuntos completos por dia”Max Z = min (X1, X2)

Observe que esta função não é linear, mas pode ser linearizada utilizando-se uma nova variável, da forma:

Seja Y = min (X1, X2), Y 0, naturalmente tem-se duas novas restrições

Dadas por: Y X1 e Y X2.

A função-objetivo linear fica sendo: Max Z = Y

Função-objetivo:

Page 28: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Modelagem em Programação Linear

28

Problema de dimensionamento de equipes de inspeção

Uma companhia deseja determinar quantos inspetores alocar à uma dada tarefa do controle da qualidade. As informações disponíveis são:

Há 08 inspetores do nível 1 que podem checar as peças a uma taxa de 25 peças por hora, com uma acuracidade de 98%, sendo o custo de cada inspetor deste nível $4 por hora;

Há 10 inspetores do nível 2 que podem checar as peças a uma taxa de 15 peças por hora, com uma acuracidade de 95%, sendo o custo de cada inspetor deste nível $3 por hora.

Page 29: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Modelagem em Programação Linear

29

A companhia deseja que no mínimo 1800 peças sejam inspecionadas por dia (= 08 horas).

Sabe-se, ainda, que cada erro cometido por inspetores no controle da qualidade das peças acarreta um prejuízo à companhia de $2 por peça mal inspecionada.

Formular um modelo de PL para possibilitar a designação ótima do nº. de inspetores de cada nível de modo a otimizar o custo da inspeção diária da companhia.

Page 30: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Modelagem em Programação Linear

30

Função objetivo:

Minimizar C = custo total diário de inspeção ($/dia)onde : custo total = custo do salário dos inspetores + custo dos erros

Min C = 8 *[(4X1 + 3X2) + 2 * (25*0,02X1 + 15*0,05X2)] Min C = 40X1 + 36X2

Resolução do exemplo: Dimensionamento de equipes de inspeção

Variáveis de decisão:Xi = nº. de inspetores do nível i (= 1, 2) alocados à inspeção.

Page 31: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Modelagem em Programação Linear

31

1. Quanto ao nº. de inspetores disponíveis:X1 8 (inspetores do nível 1)X2 10 (inspetores do nível 2)

2. Quanto ao nº. de peças inspecionadas por dia:8 * (25X1 + 15X2) 1800 5X1 + 3X2 45

3. Restrições implícitas de não negatividade:X1 0X2 0.

Restrições:

Page 32: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Resolução gráfica de modelos de PL

32

Aplicável para modelos com 02 variáveis de decisão

Útil para a ilustração de alguns conceitos básicos utilizados na resolução de modelos de maior porte.

Etapas a serem seguidas na resolução gráfica

1º Passo: identificar a região viável do modelo, isto é, quais são os pares (X1, X2) que satisfazem a todas as restrições.

2º Passo: achar a melhor solução viável, denominada Solução Ótima e denotada por (X1*, X2*), que leva ao valor ótimo da função-objetivo Z*.

Page 33: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Resolução gráfica de modelos de PL

33

Problema de mix de Produção

Fabricação de dois modelos de brinquedos: B1 e B2.

• Lucros unitários/dúzia: $8 para B1 e $5 para B2

• Recursos disponíveis:1000 kg de plástico especial.40 horas para produção semanal.

• Requisitos do Departamento de Marketing: Produção total não pode exceder 700 dúzias; A quantidade de dúzias de B1 não pode exceder em 350 a quantidade de dúzias de B2.

• Dados técnicos: B1 requer 2 kg de plástico e 3 minutos por dúzia. B2 requer 1 kg de plástico e 4 minutos por dúzia.

Page 34: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Resolução gráfica de modelos de PL

34

A Gerência está procurando um programa de produção que aumente

o lucro da Companhia.

Page 35: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Resolução gráfica de modelos de PL

35

Variáveis de decisão:

X2: produção semanal de B2 (em dúzias).

X1: produção semanal de B1 (em dúzias).

Função Objetivo: Maximizar o Lucro semanal

Page 36: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Resolução gráfica de modelos de PL

36

Max 8X1 + 5X2 (Lucro semanal)

sujeito a:

2X1 + 1X2 ≤ 1000 (Plástico - Kg)

3X1 + 4X2 ≤ 2400 (Tempo de produção - minutos)

X1 + X2 ≤ 700 (Produção total)

X1 - X2 ≤ 350 (mix)

Xj 0, j = 1,2 (Não negatividade)

Page 37: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Resolução gráfica de modelos de PL

37

Conceitos importantes:

Os pontos (X1, X2) que satisfazem todas as restrições do modelo formam a Região Viável.

Esses pontos são chamados de Soluções Viáveis.

Usando a resolução gráfica pode-se representar todos as restrições (semi-planos), a função objetivo (reta) e os três

tipos de pontos viáveis.

Page 38: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Resolução gráfica de modelos de PL

38

1º Passo:

Traçar eixos cartesianos, associando a cada um deles uma variável de decisão.

No exemplo de fabricação de brinquedos: X1 para o eixo das abscissas e X2 para o eixo das ordenadas.

As restrições de não-negatividade, X1 0 e X2 0, implicam que os pares (X1, X2) viáveis estão no 1º quadrante dos eixos considerados.

Page 39: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Resolução gráfica de modelos de PL

39

2º Passo:

Observar que a função-objetivo, ao se fixar um valor para Z, representa uma reta. Alterações neste valor de Z gera uma família de retas paralelas.

No exemplo dos brinquedos: considere a reta obtida fazendo Z= 2000, isto é , a reta dada por 8X1 + 5X2 = 2000. Percebe-se que ao se traçar retas paralelas no sentido de ficar mais afastado da origem (0, 0), o valor de Z aumenta.

De fato pode-se verificar que a reta paralela, que contém algum ponto da região viável, no caso o ponto ótimo X* = (320, 360), e está mais afastada da origem, corresponde a um valor ótimo da função objetivo Z* = 4360.

Page 40: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Resolução gráfica de modelos de PL

40

Representando as condições de não negatividade

X2

X1

Page 41: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Resolução gráfica de modelos de PL

41

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Observar que no exemplo dos brinquedos, as restrições correspondem a semi-planos associados, respectivamente, às retas suportes dadas por:

2X1 + 1X2 = 1000 3X1 + 4X2 = 2400 X1 + X2 = 700 X1 - X2 = 350 Xj 0, j = 1,2

Notar que cada reta suporte define dois semi-planos no espaço (X1, X2).Para identificar qual destes semi-planos é de interesse no caso, ou seja, contém os pontos que satisfazem a desigualdade da restrição, basta testar algum ponto à esquerda ou à direita (acima ou abaixo) da reta suporte da desigualdade. Um ponto que torna isto fácil é a origem (0, 0), mas poderia ser qualquer outro.

Page 42: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Resolução gráfica de modelos de PL

42

1000

500

Viável

X2

Inviável

Tempo de produção3X1+4X2 2400

Restrição da produção total X1+X2 700 (redundante)

500

700

Restrição do plástico2X1+X2 1000

X1

700

Page 43: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Resolução gráfica de modelos de PL

43

1000

Viável

X2

Inviável

Tempo de Produção3X1+4X2 2400

Restrição da produção total: X1+X2 700 (redundante)

500

Restrição do mix da produção:X1-X2 350

Restrição do plástico2X1+X2 1000

X1

700

Page 44: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Resolução gráfica de modelos de PL

44

1000

500

Viável

X2

Inviável500

700X1

700

Há três tipos de pontos viáveis.Pontos interiores. Pontos na fronteira. Pontos extremos.

Page 45: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Resolução gráfica de modelos de PL

45

A busca por uma Solução Ótima:Começar com algum valor de lucro arbitrário, Por exemplo $2000...Depois aumentar o lucro, se possível...

...e continuar até que seja inviável

600

700

1000

500

X2

X1

X* = (320, 360) com Z* = 4.360

Page 46: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

46

Pontos extremos e Soluções Ótimas

Se o problema de Programação Linear tem uma Solução Ótima, um ponto extremo é Solução Ótima.

Resolução gráfica de modelos de PL

Page 47: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Resolução gráfica de modelos de PL

47

Visualização de situações possíveis

X2

Solução única

X1

Z

Z*

Solução ilimitada

Z

X2

X1

Page 48: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Resolução gráfica de modelos de PL

48

Soluções Ótimas MúltiplasQuando a função objetivo é paralela a alguma restrição.

Todos os pontos do segmento de reta serão Soluções Ótimas.

X* = X*1 + (1 - )X*2, com 0 1

X*1

X*2

Page 49: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Resolução gráfica de modelos de PL

49

Múltiplas Soluções Ótimas 1 –

Segmento de Reta Ótimo

X1

X*

Z

Z*

X2

X2

X1

Múltiplas Soluções Ótimas 2 Semi-reta Ótima

Z*

X*

Page 50: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Resolução gráfica de modelos de PL

50

X2

X1

O conjunto viável é vazio. Há restrições incompatíveis.

Problema inviável

Page 51: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Forma padrão de modelo de PL

51

Um modelo de PL com m restrições e n variáveis está na forma padrão se possuir as características abaixo:

1. A função-objetivo é de minimização ou maximização;

2. Todas as restrições estão na forma de igualdade;

3. Todas as variáveis são não-negativas;

4. As constantes de cada restrição são não-negativas.

Page 52: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Forma padrão de modelo de PL

52

Modelo na forma padrão:

Minimizar (ou maximizar) Z = C1 X1 + C2 X2 + ... + Cn Xn

Sujeito a:

0. b ..., 0, b 0, b

0 X ..., 0, X 0, X

b = X A + ... + X A + X A

... ... ... ...

... ... ... ...

b = X A + ... + X A + X A

b = X A + ... + X A + X A

m21

n21

mnmn2m21m1

2n2n222121

1n1n212111

Page 53: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

53

Notação matricial para um modelo na forma padrão:

Minimizar (ou maximizar) Z = C X

Sujeito a:

Onde: A (m x n) matriz de coeficientes tecnológicos

X (n x 1) vetor das variáveis de decisão

b (m x 1) vetor de demandas C (1 x n) vetor de custos (lucros)

0. b

0 X

bAX

Forma padrão de modelo de PL

Page 54: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

54

Redução de um modelo geral para a forma padrão

O Método Simplex exige que o modelo esteja na forma padrão.

Tratando com restrições na forma de inequações:

Estas restrições são transformadas em equações através da introdução de novas variáveis (não-negativas), chamadas de “variáveis de folga”.

Forma padrão de modelo de PL

Page 55: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Forma padrão de modelo de PL

55

Tratando com variáveis não-positivas:

Suponha que num determinado modelo há uma variável X1 0.

Basta substituí-la no modelo por uma nova variável não-negativa X1’ 0, dada por X1’ = – X1.

Page 56: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Forma padrão de modelo de PL

56

Exemplo:

Considere o problema de dimensionamento de equipes de inspeção:   X1 8 X1 + X3 = 8, X3 0 é uma variável de folga. X2 10 X2 + X4 = 10, X4 0 é uma variável de folga. 5 X1 + 3 X2 45 5 X1 + 3 X2 – X5 = 45, X5 0 é uma variável de folga.

Page 57: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Forma padrão de modelo de PL

57

Interpretação das variáveis de folga no exemplo:  

X3 = número de inspetores do nível 1 não utilizados. X4 = número de inspetores do nível 2 não utilizados. X5 = número (extra) de peças inspecionadas por dia, acima da quantidade mínima (1800) especificada pela empresa

 Variáveis de folga fornecem informações úteis sobre o problema.

Page 58: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Forma padrão de modelo de PL

58

Tratando com variáveis livres (irrestritas em sinal):

Em algumas situações exige-se o uso de variáveis que podem assumir tanto valores positivos, nulos, e negativos. Estas variáveis são chamadas de livres (free) ou irrestritas em sinal.

Exemplo: Modelo de Planejamento Macroeconômico

Uma das Variáveis de Decisão é a Taxa de Inflação que pode assumir qualquer valor positivo, nulo ou negativo (neste caso é conhecida como Deflação).

Page 59: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Tratando com variáveis livres (irrestritas em sinal):

59

Estas variáveis devem ser eliminadas do modelo na forma padrão. Há, pelo menos, duas maneiras de se fazer isto:

1. Por substituição – utilizando uma das restrições do modelo, já na forma padrão (igualdade), procura-se expressar a variável livre como função das demais variáveis (não negativas) do modelo. A seguir eliminar a variável livre do modelo substituindo-a pela função escolhida na etapa anterior. A equação utilizada para expressar a variável livre como função das demais variáveis também será eliminada do modelo.

2. Por transformação – Suponha que a variável livre é S. Basta substituir em todas as restrições, e na função objetivo, a variável S por S = S’ – S”, com S’ 0 e S” 0 sendo duas novas variáveis (auxiliares) no modelo.

Page 60: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Forma padrão de modelo de PL

livre X 0, X 0, X

3 5 = 2X X 3X

2 2 X + X X

1 7 X + X + X

321

321

321

3 21

Exemplo Completo

Obtenha a forma padrão do modelo abaixo:

Maximizar Z = X1 – 2X2 + 3X3

Sujeito a:

60

Page 61: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Forma padrão de modelo de PL

61

1. Introduzir variáveis de folga nas restrições (1) e (2):

X1 + X2 + X3 + X4 = 7 (1’) com X4 0.X1 – X2 + X3 – X5 = 2 (2’) com X5 0.

2. Multiplicar a restrição (3) por (– 1) para eliminar b3 = – 5 < 0:–3X1 + X2 + 2X3 = 5 (3’)

3. Substituir X2 0 por X2’ 0 através de X2’ = – X2:Max Z = X1+ 2 X2’ + 3 X3

Sujeito a:

'3' 5 = 2X + 'X 3X

'2' 2 = X X + 'X X

'1' 7 = X + X + 'XX

321

5321

4321

Page 62: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Forma padrão de modelo de PL

62

4. Eliminar X3:

4.1. Substituição ou 4.2. Transformação

Max Z = -2X1 + 5X2’ - 3X4 + 21 ou Max Z = X1 + 2X2’ + 3X3’ - 3X3’

s. a: s. a:

UsandoDe (1’’): X3 = 7 – X1 + X2’ – X4 ou X3 = X3’ – X3’’

0 X ,X ,'X ,X

9= 2X + 'X 5X

5 = X + X '2X

5421

421

542

0X ,X ,''X ,'X ,'X ,X

5= ''2X ''+2XX 3X

2=X ''X 'X '+X+X

7=X ''X 'X '+X X

543321

332 1

53321

4332 1

Page 63: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Definições e Teoremas em PL

63

Ponto central na resolução de modelos de PL é a solução de sistemas de equações lineares.

Apresenta-se a seguir o Método de Eliminação de Gauss Jordan.

Considere o sistema de equações abaixo:

(S1)

(nº variáveis >> nº equações)

2 4 X X3XX X

1 2 X2X4XX2X

54321

54321

Page 64: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Definições e Teoremas em PL

64

• Conjunto solução de (S1) é a coleção de todos os valores de (X1, X2, X3, X4, X5) que satisfazem as equações (1) e (2) conjuntamente.

• Dois sistemas são equivalentes se possuem o mesmo conjunto solução.

• Sistemas equivalentes podem ser obtidos por meio de operações elementares sobre as linhas do sistema:

1. Multiplicar (dividir) qualquer equação por um nº.

2. Adicionar à qualquer equação uma Combinação Linear das demais equações.

Page 65: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Forma Canônica

65

Um sistema (S2) equivalente a (S1) pode ser obtido multiplicando-se a equação (1) por – 1 e adicionando-se o resultado à equação (2):

(S2)

Um sistema (S3) equivalente a (S1) pode ser obtido multiplicando-se equação (4) por 2 e adicionando-se o resultado à equação (3):

(S3)

(S3) é denominado uma forma canônica do sistema original (S1).

(4) 2 3X X + 2X X

(3) 2X2X4XX2X

5432

54321

(6) 2 = 3X X + 2X X

(5) 6 = 4X 2X 3X X

5432

5431

Page 66: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Forma Canônica

66

Considere uma forma canônica de um sistema de equações lineares: (como (S3) anteriormente obtido)

• Uma variável é dita ser variável básica para uma dada equação do sistema se ela possuir coeficiente 1 nesta equação e coeficientes nulos nas demais equações do sistema.

Exemplo: em (S3) X1 e X2 são variáveis básicas

• Variáveis que não satisfazem a condição acima são chamadas de variáveis não-básicas.

Exemplo: em (S3) X3, X4, X5 são variáveis não-básicas.

Page 67: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Solução Básica

67

M

N

2

5

A solução de um sistema na forma canônica, obtida fazendo-se as variáveis não-básicas iguais a zero, é chamada de uma solução básica (SB). Nº máximo de soluções básicas =

Exemplo: Em (S3) fazendo-se X3 = X4 = X5 = 0 X1 = 6 e X2 = 2 formam uma solução básica.

Nº de soluções básicas = = 10

Uma Solução Básica Viável (SBV) de um sistema é uma solução básica onde todas as variáveis assumem valores não-negativos.

Exemplo: a solução básica do exemplo anterior é uma SBV.

Page 68: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Pivoteamento

68

Operações de Pivoteamento são as operações elementares aplicadas à um sistema para transformar uma dada variável em variável básica. São usadas pelo método de eliminação de Gauss Jordan. Deve-se identificar o elemento Pivô – que deve ser transformado em 1 e os demais elementos da sua coluna que devem ser transformados em 0.

Para obter uma forma canônica de um sistema basta aplicar uma sequência de operações de pivoteamento (método de Gauss Jordan) de modo se conseguir uma variável básica associada com cada equação.

Page 69: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Método de Eliminação de Gauss Jordan

69

Artifício para a realização de operações de pivoteamento:

Considere o sistema (S) abaixo:

(S)

Achar (S’) uma forma canônica de (S) de modo que X1 seja a variável básica associada com a equação (1), e X3 seja a variável básica associada com a equação (2).

(2) 2 = X 4X + X

(1) 4= X6+X2X2

321

321

Page 70: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Método de Eliminação de Gauss Jordan

70

VB X1 X2 X3 b Operações Elementares Feitas

X1 2 -2 6 4 (1) - Pivô em azul

X3 -1 4 -1 2 (2)

(S’)

Solução básica (não é viável): X1 = – 4 (Variável básica)X3 = 2 (Variável básica) X2 = 0 (Variável não básica)

2 = X+ X3/2

4 = X2/11X

32

21

X1 1 -11/2 0 -4 (1’’) = (1’) - 3*(2’’)

X3 0 3/2 1 2 (2’’) = (2’)/2 – Equação do Pivô

X1 1 -1 3 2 (1’) = (1)/2 - Equação do Pivô

X3 0 3 2 4 (2’) = (2) + (1’) – Pivô em Azul

Page 71: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Teoremas em PL

71

Teorema 1

Dado um modelo já na forma padrão, as soluções básicas viáveis do sistema de equações, correspondente às restrições do modelo, estão associadas a pontos extremos do conjunto de soluções viáveis do modelo original.

Teorema 2

Se um modelo de Programação Linear possui Solução Ótima então pelo menos um ponto extremo, do conjunto de soluções viáveis do modelo original, corresponde a uma Solução Ótima.

Page 72: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Comentários Gerais

72

Procedimento simplista para resolver um modelo de PL

• Gerar todas as possíveis soluções básicas viáveis.

• Determinar qual das soluções básicas viáveis corresponde ao melhor valor da função-objetivo.

Problemas:1. Nº de soluções básicas viáveis pode ser excessivo.

2. Modelo pode apresentar solução ilimitada ou ainda ser inviável.

Observe que problemas de médio porte, que aparecem na prática, costumam envolver centenas de variáveis (valor de n) e milhares de restrições (valor de m).

Page 73: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Comentários Gerais

73

Linhas de Pesquisa

• Algoritmos de pontos interiores e suas derivações.• Implementações de algoritmos para processamento em paralelo.• Linguagens de modelagem: ajudar no desenvolvimento e aplicação de

modelos de Pesquisa Operacional.

Exemplos:

• AMPL - Modeling Language for Mathematical Programming - R. Fourer, D. M. Gay, and B. W. Kerningham, 1993.

• GAMS - General Algebraic Modeling System - J. Bisschop and A. Meeraus, 1982.

• What’s best - The ABC of Optimization - S. L. Savage, 1992.

Page 74: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Método Simplex

74

Procedimento iterativo que resolve qualquer modelo de PL num número finito de iterações. Indica a ocorrência de múltiplas Soluções Ótimas, solução ilimitada, e problema inviável.

Etapas de aplicação do Método Simplex

Considere um modelo de PL que esteja na forma padrão, e uma Solução Básica Viável inicial.

O Método Simplex consiste basicamente da aplicação sucessiva de duas etapas:

Etapa A: Identificação de uma Solução Ótima.

Etapa B: Melhoria de uma Solução Básica Viável.

Page 75: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Método Simplex

75

Etapa A: Identificação de uma Solução Ótima.

Verificar se a Solução Básica Viável atual satisfaz o critério de otimalidade do algoritmo:

• Se o critério for satisfeito termina a aplicação do método;• Caso contrário deve-se aplicar a etapa B.

Etapa B: Melhoria de uma Solução Básica Viável.

Procurar obter uma Solução Básica Viável melhor que a atual:• Determinação da variável não-básica que deve entrar;• Determinação da variável básica que será substituída;• Obtenção da nova Solução Básica Viável - através de

operações de pivoteamento.

Page 76: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Método Simplex - Minimização

76

Desenvolvimento do Método Simplex

Seja um modelo de PL (minimização) colocado na forma padrão:Min Z = C1 X1 + C2 X2 + ... + Cn Xn

s. a:

0 b , ... 0, b 0, b

0 X , ... 0, X 0, X

b = X A + ... + X A + X A

... ... ... ...

... ... ... ...

b =X A + ... +X A + X A

b = X A + ... + X A + X A

m2 1

n21

mnmn2m21m1

2n 2n 222121

1n1n212111

Page 77: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

77

Considere o sistema (S) abaixo:

s. a:

Obter, aplicando o método de eliminação de Gauss-Jordan, o sistema equivalente (S’) = uma forma canônica de (S) onde:

X1 seja a variável básica referente a equação (1),X2 seja a variável básica referente a equação (2),...Xm seja a variável básica referente a equação (m),–Z seja a variável básica referente a equação (m+1).

1)+(m 0 = X C + ... + X C + X C + Z-

(m) b = X A + ... + X A + X A

... ... ... ... ...

... ... ... ... ...

(2) b = X A + ... + X A + X A

(1) b = X A + ... + X A + X A

nn2211

mnmn2m21m1

2n2n222121

1n1n212111

Método Simplex - Minimização

Page 78: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Método Simplex - Minimização

78

(I) Z = X C + .... + X C + Z

b =X A + ... + X A +X

.......

b = X A + ... + X A + X

b = X A + ... + X A + X

onn1+m1+m

mn nm,1+m1+mm,m

2nn 2,1+m 1+m2,2

1nn1,1+m1+m1,1

O sistema (S’), que é uma forma canônica de (S), foi obtido pelas operações de pivoteamento aplicadas às variáveis X1, X2, ..., Xm, e –Z, é dado por:

Page 79: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Método Simplex - Minimização

79

Em (S’) :

(1) são respectivamente os novos coeficientes das variáveis nas equações de (S’), as novas constantes nestas mesmas equações, e os novos coeficientes das variáveis na função objetivo (expressão (I)), obtidos pelas operações de pivoteamento no sistema (S).

(2) Os coeficientes são denominados coeficientes de custo relativo (ou reduzido) das variáveis não-básicas da solução atual.

(3) Há uma Solução Básica Viável explícita em (S’), onde:

• Variáveis básicas:

• Variáveis não-básicas:

• Valor da função objetivo:

;bX , ... ,b X ,b X m m2 21 1

0 X ... X X n 2m 1m

nn22 1 1o bC...bC bCZ

jj j,i C ,b,A

jC

Page 80: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Método Simplex - Minimização

80

Visualização da etapa A do Método Simplex:

Teste de otimalidade da Solução Básica Viável atual.Min Z = 4X1 + X2 + X3

s. a:

(S):

1,3 i 0,X

3X3X3X

42XX2X

i

321

321

(3) 0 X XX4Z

(2) 3 = X + 3X +3X

(1) 4 = 2X + X + 2X

321

32 1

321

Page 81: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Método Simplex - Minimização

81

(I) 7/2 = X 13/4 Z

1/2 = X 5/4 +X

3/2 = X +X 3/4

2

2 1

3 2

Aplicando o método de eliminação de Gauss Jordan para obter uma forma canônica (S’) associando X3 como variável básica para a equação (1), X1 para a equação (2) e –Z para a equação (3), tem-se:

(S’):

Solução básica viável atual • Variáveis básicas: X1 = 1/2, X3 = 3/2• Variáveis não-básicas: X2 = 0• Função objetivo: Z = Z0 = 7/2

Page 82: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Método Simplex - Minimização

82

De (I): Z = 7/2 – 13/4 X2

Análise de otimalidade da Solução Básica Viável (SBV) atual:

X2 = 0 é variável não básicaSe X2 se tornar VB o valor de X2

Se X2 o valor de Z o que é desejável pois a função objetivo é de minimização

Conclusão: A SBV atual não é ótima e X2 deve se tornar VB numa próxima SBV melhor que a atual.

Assim X2 deve Entrar. Ir a etapa (B).

Page 83: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Método Simplex - Minimização

83

Etapa (A) do Método Simplex

Questão: Como verificar se a Solução Básica Viável explicitada em (S’) é ótima para o modelo em estudo?

Resposta: Considere a expressão (I) em (S’), dada por:

m.m2211o

onn1+m 1m

b C + ... + b C + b C = Z Onde

,Z = X C + .... + X C + Z

Page 84: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Método Simplex - Minimização

84

Analisando (I) há duas possibilidades:

• Se não há então a solução atual é ótima. Não haverá a aplicação da etapa (B). Fim da aplicação do Método Simplex.

• Se há a solução atual não é ótima. Uma variável não-básica XS, associada com um coeficiente de custo relativo negativo, deve ser transformada em variável básica numa próxima solução básica viável . Esta nova Solução Básica Viável terá um valor para a função objetivo melhor (no caso do modelo de minimização, menor) que o valor da função objetivo atual Z0. Aplicar a etapa (B).

C 0 j

C 0 j

Page 85: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Método Simplex - Minimização

85

Visualização da etapa B do Método Simplex (PL de Minimização):

Seja uma Solução Básica Viável disponível dada por,X1 = 5, X2 = 6, X3 = X4 = 0, Z = 4,

Associada ao sistema (S) abaixo:

(S):

(3) 4 = 5X + 4X Z

(2) 6 = 2X 2X+ X

(1) 5 = 3X + 2X+ X

43

432

431

Aplicando a etapa (A) tem-se:

Como

Desta maneira X3 deve Entrar e seu valor deverá aumentar. Observe-se que X4 não deve Entrar pois piorará o valor da F. O.

. de valor X de valor o se 0 < 4- = 33 ZoC

Page 86: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Método Simplex (minimização)

86

Problema: Até quanto aumentar o valor de X3?

Análise: como X4= 0 (permanece variável não-básica), tem-se:

De (1): X1 = 5 – 2X3 ou seja se De (2): X2 = 6 – 2X3 ou seja se

Sabe-se que X1 0 X3 5/2

Sabe-se que X2 0 X3 6/2

Portanto X3 substituirá X1 no conjunto das variáveis básicas da nova Solução Básica Viável dada por:

X3 = 5/2, X2 = 1, X1 = X4 = 0, Z = 4 - 4X3 = -6

5/2 = 6/2 5/2,Min = X 3

X X 13

X X 23

Page 87: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Método Simplex - Minimização

87

Etapa (B) do Método Simplex

Hipótese:

Há um coeficiente de custo relativo deve-se achar uma nova Solução Básica Viável onde XS seja variável básica.

Problema: Qual das atuais variáveis básicas será substituída por XS na próxima Solução Básica Viável?

C < 0 S

Page 88: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Método Simplex - Minimização

88

Solução:

• Sejam i,s os coeficientes de XS nas equações do sistema de restrições, onde i = 1, ..., m.

• Procurar a equação r do sistema de restrições onde ocorra:

• A variável básica da Solução Básica Viável atual associada com a equação r acima será substituída por XS.

A

si,

i

si,, A

b

0 > A

Min =

sr

r

A

b

Page 89: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Método Simplex - Minimização

89

Artifício para aplicar as etapas (A) e (B) do Método Simplex.

Considere o exemplo de minimização usado na visualização da etapa (B), já colocado numa forma canônica:

(3) 4 = 5X + 4X Z

(2) 6 = 2X 2X+ X

(1) 5 = 3X + 2X+ X

43

432

43 1

Page 90: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Método Simplex - Minimização

90

VB X1 X2 X3 X4 b

X1 1 0 2 3 5 X2 0 1 2 -2 6

Não há , assim a solução atual é ótima.

0

5/2

1

0

=

*

*

*

*

*

4

3

2

1

X

X

X

X

X

Z* = - 6

-Z 0 0 -4 5 -4

X3 1/2 0 1 3/2 5/2 X2 -1 1 0 -5 1

-Z 2 0 0 11 6

0 < C j

Operacionalização da aplicação das etapas (A) e (B):

(5/2) menor quociente X1 sai(6/2)

X3 entra

Page 91: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Método Simplex - Maximização

91

Modelo de Programação Linear com função objetivo de maximização.

Etapa (A):Solução básica viável atual será ótima

Etapa (B):

A variável XS que entra terá > 0, para possibilitar uma melhoria (aumento) no valor da função objetivo associado com a Solução Básica Viável atual.

Importante: as operações de pivoteamento não se alteram.

C > 0.j

CS

Page 92: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Método Simplex (maximização)

92

Exemplo de modelo de maximização resolvido pelo Método Simplex. Modelo original Modelo na forma padrão Max Z = 3X1 + 5X2 Max Z = 3X1 + 5X2

s. a: s. a:

0 X 0, X

18 2X + 3X

6 X

4 X

21

21

2

1

1,5 = i 0, X

18 = X + 2X+ X3

6 = X + X

4 = X + X

i

521

42

3 1

Page 93: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Método Simplex

93

VB X1 X2 X3 X4 X5 b

X3 1 0 1 0 0 4X4 0 1 0 1 0 6X5 3 2 0 0 1 18

-Z 3 5 0 0 0 0

X3 1 0 1 0 0 4X2 0 1 0 1 0 6X5 3 0 0 -2 1 6

-Z 3 0 0 -5 0 -30

X3* 0 0 1 2/3 -1/3 2X2* 0 1 0 1 0 6X1* 1 0 0 -2/3 1/3 2

-Z* 0 0 0 -3 -1 -36

Solução ÓtimaX*1 = 2, X*2 = 6,

X*3 = 2, X*4 = X*5 = 0, Z* = 36

Entra X2, Sai X4

Entra X1, Sai X5

Page 94: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Método Simplex

94

Comentários Gerais

 Considere um modelo de Programação Linear na forma padrão que seja de minimização. 

(1) Ocorrência de “Empate na Entrada”:

Escolher para entrar a variável não-básica Xs associada ao menor valor de coeficiente de custo relativo < 0. (Regra de entrada de Dantzig)

CS

Page 95: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Método Simplex

95

(2) Identificação de Solução Ilimitada:

Pode ser feita a identificação de solução ilimitada durante a aplicação da etapa (B).

Se houver alguma variável não-básica Xs para entrar que tenha coeficientes 0, em todas as equações i (= 1,..., m) do sistema de restrições.

siA ,

Page 96: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Método Simplex

96

Exemplo de Modelo com Solução Ilimitada:

 Seja a Solução Básica Viável abaixo, associada a forma canônica (S):

 X1 = 5, X2 = 6, X3 = X4 = 0, Z = – 4

(S):

(3) 4 = 5X + 4X Z

(2) 6 = 2X 2X X

(1) 5 =3X + 2X X

43

432

431

Observar que = – 4 < 0 X3 deve entrar. Quem vai sair?

 De (1): X1 = 5 + 2X3

quando X3 X1 , X2 e Z

De (2): X2 = 6 + 2X3

Assim o modelo apresenta solução ilimitada com Z – .

C3

Page 97: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Método Simplex

97

(3) Interpretação geométrica do Método Simplex:

  Em cada iteração do Método Simplex (Etapa (A) + Etapa (B)) há um deslocamento de uma Solução Básica Viável para outra que apresenta um valor para a função objetivo melhor.

  Em termos da resolução gráfica: numa iteração há a locomoção de um ponto extremo para outro ponto extremo adjacente na região viável do modelo em questão.

Page 98: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Método Simplex

98

 Exemplo:

 Modelo original

 Min Z = –3X1 – 5X2

s. a:

2 1, = i 0, X

18 2X + 3X

6 X

4 X

i

21

2

1

X2

Região viável

X1

Page 99: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Método Simplex

99

2 1, = i 0, X

18 2X + 3X

6 X

4 X

i

21

2

1

5 1, = i 0, X

18 = X + 2X + 3X

6 = X+ X

4 = X + X

i

521

42

31

s. a: s. a:

 Exemplo:

 Modelo original Modelo na forma padrão

 Min Z = –3X1 – 5X2 Min Z = –3X1 – 5X2

X2

Região viável

X1

Page 100: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Método Simplex

100

 VB X1 X2 X3 X4 X5 b

 X3 1 0 1 0 0 4

 X4 0 1 0 1 0 6

 X5 3 2 0 0 1 18

 -Z -3 -5 0 0 0 0 X3 1 0 1 0 0 4

 X2 0 1 0 1 0 6

 X5 3 0 0 -2 1 6

 -Z -3 0 0 5 0 30

 X3* 0 0 1 2/3 -1/3 2

 X2* 0 1 0 1 0 6

 X1* 1 0 0 -2/3 1/3 2

 -Z* 0 0 0 3 1 36Solução básica viável ótima: X1* = 2, X2* = 6, X3* = 2, X4* = X5* = 0, Z* = –36

Resolução do exemplo para interpretação geométrica do Método Simplex:

Quadro 1: Entra X2 Sai X4

Quadro 2: Entra X1 Sai X5

Quadro 3 (ótimo)

Page 101: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Método Simplex

101

Quadro 2:X1 = X4 = 0, Z = -30, X2 = 6, X3 = 4, X5 = 6.

Quadro 3:X4 *= X5* = 0, Z* = -36, X1* = 2, X2* = 6, X3* = 2.

Quadro 1:X1 = X2 = 0,Z = 0, X3 = 4, X4 = 6, X5 = 18.

X2

Região viável

X1

Visualização das iterações

Page 102: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Método Simplex

102

(4) Identificação de Soluções Ótimas Múltiplas:

Considere que há uma Solução Básica Viável ótima para um modelo de minimização, ou seja, tem-se Z* = Z* e todos 0 para toda variável não-básica X s .

A identificação da ocorrência de Soluções Ótimas múltiplas é feita, no Quadro Ótimo, quando há alguma variável não-básica Xj com = 0.

Assim ao se escolher Xj para entrar no conjunto das variáveis

básicas, não se alterará o valor ótimo Z* da função objetivo.

Desta maneira, pode-se obter uma nova Solução Básica Viável ótima na qual Xj será uma variável básica.

Fica caracterizada assim a existência de múltiplas Soluções Ótimas.

jC

SC

Page 103: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Método Simplex

103

Exemplo:

 Modelo original Modelo na forma padrão

Min Z = – X1 – 2X2 Min Z = – X1 – 2X2

S. a: S. a:

2 1, = i 0, X

9 2X +X

4 X

3 X

i

2 1

2

1

5 1, = i 0, X

9 = X + 2X + X

4 = X + X

3 = X + X

i

521

42

31

A seguir apresenta-se:A resolução gráfica do modelo original.

  A resolução do modelo na forma padrão pelo Método Simplex.  Uma visualização das iterações desenvolvidas pelo Método Simplex sobre a região viável do modelo original.

Page 104: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Método Simplex

104

Resolução gráfica do exemplo com múltiplas Soluções Ótimas

Observação: XA* , XB* são soluções básicas viáveis ótimas, Z* = – 9 é o

valor ótimo da função objetivo, a expressão geral da Solução Ótima é: X* = XA* + (1 – ) XB* com 0 1.

(3,0) X1

14

Z = - 6

Z* = - 9

33

X*

(0,4)

X2

= XA*

= XB*

Page 105: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Método Simplex

105

VB X1 X2 X3 X4 X5 b

X3 1 0 1 0 0 3

X4 0 1 0 1 0 4

X5 1 2 0 0 1 9

-Z -1 -2 0 0 0 0

Solução ótima geral:

X* = XA* + (1 - ) XB*,

com 0 1, e Z* = -

9

X3 1 0 1 0 0 3

X2 0 1 0 1 0 4

X5 1 0 0 -2 1 1

-Z -1 0 0 2 0 8X3* 0 0 1 2 -1 2

X2* 0 1 0 1 0 4

X1* 1 2 0 -2 1 1

-Z* 0 0 0 0 1 9

X4* 0 0 1/2 1 -1/2 1

X2* 0 1 -1/2 0 1/2 3

X1* 1 0 1 0 0 3

 -Z* 0 0 0 0 1 9

Resolução do modelo na forma padrão

Quadro 1: Entra X2 e Sai X4

Quadro 2: Entra X1 e Sai X5

Quadro 3: Ótimo (XA*)

Quadro 4Ótimo (XB*)

Page 106: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Método Simplex

106

Visualização das iterações do Método Simplex

Quadro 2:

X1 = X4 = 0,

X2 = 4, X3 = 3,

X5 = 1, Z = -8

Quadro 3:

X4* = X5* = 0,

X1* = 1, X2* = 4,

X3* = 2, Z* = -9

Quadro 4:

X3* = X5* = 0,

X1* = 3, X2* = 3,

X4* = 1, Z* = -9

Quadro 1:

X1 = X2= 0, X3 = 3, X4 = 4, X5 = 9, Z = 0

XA

XB

X*

X1

X2

(0,0)

X* = XA* + (1 -) XB*,

onde 0 1

É o caso, em termos de resolução gráfica, de um segmento de reta ótimo.

Page 107: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Método Simplex

107

 

Observação importante:

Se no Quadro 3, na coluna da variável X4 não houvesse algum coeficiente , não se poderia efetuar o pivoteamento;

Então este é o caso, em termos da resolução gráfica, que a Solução Ótima é uma semi-reta, da forma X* = XA* com 1 .

0 >A 4,i

Page 108: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Page 109: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

109

Considere um modelo de Programação Linear que esteja na forma padrão

Se todas as restrições do modelo original (ainda não colocado na forma padrão) forem desigualdades do tipo “ “, tem-se uma forma canônica inicial (ou seja, uma Solução Básica Viável inicial) evidente, onde as variáveis básicas serão as variáveis de folga introduzidas para a redução das desigualdades para equações equivalentes.

Se alguma restrição do modelo original for uma igualdade “=“, ou ainda desigualdade do tipo “ “, a condição acima não ocorrerá e não haverá uma Solução Básica Viável inicial explícita.

Quando não há uma Solução Básica Viável inicial deve-se utilizar algum procedimento de inicialização para o Método Simplex.

Procedimentos de inicialização para o Método Simplex

Page 110: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Procedimentos de inicialização para o Método Simplex

110

 (1) Método das Duas Fases.

 Fase 1:   (a) Construção e resolução de um modelo artificial (b) Análise da Solução Ótima do modelo artificial

 Fase 2: Resolução do modelo original utilizando como solução inicial a Solução Ótima do modelo artificial. (2) Método do Big M .  Introduz variáveis artificiais, nas equações do sistema de restrições (exatamente como o método das duas fases), e na função objetivo original com coeficientes penalizantes adequados, isto é, M >>0 para minimização e –M <<0 para maximização. A seguir apresenta-se as bases do Método das Duas Fases para inicialização do Método Simplex.

Page 111: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Procedimentos de inicialização para o Método Simplex

111

Desenvolvimento do Método das Duas Fases

 Considere que o modelo de Programação Linear na forma padrão abaixo não apresenta uma Solução Básica Viável inicial, isto é, não há uma forma canônica evidente.

 Modelo original (na forma padrão)

 Min Z = C1 X1 + C2 X2 + ... + Cn Xn

s.a:

n 1, = i 0, X

bXA + ... + XA

........................................

........................................

b = XA + .... + XA

i

m=n mn1m1

1n1n111

Page 112: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Procedimentos de inicialização para o Método Simplex

112

Fase 1: Construção e resolução de um modelo artificial

O modelo artificial, a partir das equações do sistema de restrições do modelo original será:

  com Y1, Y2, ..., Ym sendo as variáveis artificiais não negativas.

 Min W = Y1 + Y2 + .... + Ym

s. a:

m 1, = j , ;n 1, = i 0,

b = + XA + ... + XA

........................................................................

b = + XA + ... + XA

b = + XA + ... + XA

mnmn1m1

2n2n121

1n1n111

0 YjiX

m

2

1

Y

Y

Y

A F. O. artificial sempre será de Minimização, qualquer que seja o Modelo Original.

Page 113: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Procedimentos de inicialização para o Método Simplex

113

Observe que o modelo artificial está na forma padrão com Solução Básica Viável inicial:

X1 = X2 = ... = Xn = 0 (variáveis não-básicas)Y1 = b1, Y2 = b2, ..., Ym = bm (variáveis básicas)W = b1 + b2 + ... + bm.

Analisando o valor ótimo da função objetivo W* do modelo artificial pode-se concluir:

Caso 1: Se W* 0 há pelo menos uma variável básica artificial Yj com valor 0.

Nesta situação conclui-se que o sistema de restrições do modelo original depende destas variáveis artificiais não nulas para ser satisfeito. Assim o Modelo Original é inviável. Não há a fase 2.

Page 114: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Procedimentos de inicialização para o Método Simplex

114

Caso 2: se W* = 0 Y1* = Y2* = ... = Ym* = 0.

Conclui-se que o sistema de restrições do Modelo Original pode ser satisfeito apenas com as variáveis Xi.

  Desta forma o Modelo Original é viável.

Subcaso 2.1: se todas as variáveis artificiais são não-básicas na Solução Ótima do modelo artificial.

  Basta eliminar todas as variáveis artificiais, substituir a função objetivo artificial pela original, e iniciar a fase 2.

Page 115: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Procedimentos de inicialização para o Método Simplex

115

Subcaso 2.2: se alguma variável artificial permanece como variável básica na Solução Ótima do modelo artificial. Observe que estas variáveis devem ser nulas, pois W* = 0. Deve-se, através de operações de pivoteamento, substituir estas variáveis artificiais básicas por variáveis originais, eliminar todas as variáveis artificiais não básicas, substituir a função objetivo artificial pela original, e iniciar a fase 2.

Se não é possível substituir alguma variável artificial básica por uma variável original (pela inexistência de elemento pivot), basta eliminar a equação associada com a variável artificial em questão (a equação é uma combinação linear das demais equações do modelo original).

Page 116: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

116

Visualização das iterações

Modelo

Min Z = -3X1 - 5X2

s. a:

Exemplo de aplicação do Método das Duas Fases

(4) 1,2 = i 0, X

(3) 18 2X + 3X

(2) 6 X

(1) 4 X

i

21

2

1

Page 117: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Procedimentos de inicialização para o Método Simplex

117

Exemplo de aplicação do Método das Duas Fases

 Modelo Modelo na forma padrão

  Min Z = -3X1 - 5X2 Min Z = -3X1 - 5X2

s. a: s. a:

1,2 = i 0, X

18 2X + 3X

6 X

4 X

i

21

2

1

5 1, = i 0, X

18 = X- 2X + 3X

6 = X + X

4 = X + X

i

521

42

31

Page 118: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Procedimentos de inicialização para o Método Simplex

118

Fase 1: construção do Modelo Artificial

 Min W = Y1

 s. a: X1 + X3 = 4

X2 +X4 = 63X1 + 2X2 – X5 + Y1 = 18Xi ≥ 0, i = 1,5; Yi ≥ 0

Solução básica viável inicial para o Modelo Artificial:

 X1 = X2 = X5 = 0 (variáveis não-básicas) X3 = 4, X4 = 6, Y1 = 18 (variáveis básicas) W = 18

Page 119: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

119

Exemplo de aplicação do Método das Duas Fases

VB X1 X2 X3 X4 X5 Y1 b

X3 1 0 1 0 0 0 4 Adequar a

X4 0 1 0 1 0 0 6 função

Y1 3 2 0 0 -1 1 18 objetivo

-W 0 0 0 0 0 1 0

Fase 1: Análise da Solução Ótima do Modelo Artificial

W* = 0Caso 2.1: Modelo Original

viável. Não há variáveis básicas artificiais. Eliminar

variáveis artificiais, substituir função objetivo

artificial pela original. Iniciar fase 2.

X3 1 0 1 0 0 0 4

X4 0 1 0 1 0 0 6 Quadro 1

Y1 3 2 0 0 -1 1 18

-W -3 -2 0 0 1 0 -18

Fase 1: Resolução do Modelo Artificial

X1 1 0 1 0 0 0 4

  X4 0 1 0 1 0 0 6 Quadro 2

Y1 0 2 -3 0 -1 1 6

-W 0 -2 3 0 0 1 -6 X1 1 0 1 0 0 0 4

X4 0 0 3/2 1 1/2 -1/2 3 Quadro 3

  X2 0 1 -3/2 0 -1/2 1/2 3

-W* 0 0 0 0 0 1 0

Transformar em Zeros os coeficientes

das variáveis artificiais na F. O.

Page 120: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

120

 VB X1 X2 X3 X4 X5 b

X1 1 0 1 0 0 4 Adequar a

X4 0 0 3/2 1 1/2 3 função

X2 0 1 -3/2 0 -1/2 3 objetivo

-Z -3 -5 0 0 0 0

Exemplo de aplicação do Método das Duas Fases

Solução ótima (única) do Modelo

Original:X1* = 4, X2* = 6,

X5* = 6, X3* = X4* = 0,

Z* = -42

Fase 2: Resolução do Modelo Original

X1 1 0 1 0 0 4

X4 0 0 3/2 1 1/2 3 Quadro 3’

X2 0 1 -3/2 0 -1/2 3

-Z 0 0 -9/2 0 -5/2 27X1* 1 0 0 0 0 4

X5* 0 0 3 2 1 6 Quadro 4

X2* 0 1 0 1 0 6 (Ótimo)

-Z* 0 0 3 5 0 42

Coeficientes de variáveis

básicas na F. O. devem ser Zero

Page 121: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Visualização da Iterações do Método das Duas Fases

121

Quadro 1:W = 18, Z = 0

(4, 0)Quadro 2:

W = 6, Z = -12

X1

(4, 3)

Quadro 4: Ótimo, Z* = -42

RegiãoViável

X2

(2, 6) (4, 6)

Quadro 3= Quadro 3’:

W = 0, Z = -27

Page 122: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

SIM

Page 123: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Exercícios: Resolver graficamente e pelo Simplex

123

1. Min Z = X1 + 2 X2

X1 + X2 ≥ 3s. a: 2X1 + X2 ≤ 2

X1, X2 ≥ 0 (R: Inviável)

2. Max Z = 6X1 + 10 X2

3X1 + 5X2 ≤ 15s. a: 5X1 + 2X2 ≤ 10

X1, X2 ≥ 0 R: há mais de uma

solução ótima (Segmento de reta ótimo)

Page 124: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Exercícios

124

3. Max Z = 2X1 + 2X2

X1 - X2 ≥ -1s. a: - ½ X1 + X2 ≤ 2

X1, X2 ≥ 0 (R: Solução ilimitada)

4. Max Z = X1 + X2

X1 + 4X2 ≥ 4s. a: 3X1 + X2 = 1

X1, X2 ≥ 0 Comentário: Fica a Variável Artificial na solução

ótima do Problema Artificial como Variável Básica, ela sai por pivoteamento.

Page 125: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Exercícios

125

5. Max Z = X1 + X2

2X1 + 3X2 = 5s. a: - 6X1 - 9X2 = - 15

X1 – X2 ≥ 0 Comentário: 1a.

equação é

X1, X2 ≥ 0 combinação linear das

demais.

6. Max Z = - 4X1 + X2

3X1 + X2 ≥ 3s. a: X1 - X2 ≤ - 1

4X1 – X2 ≥ - 4 X1, X2 ≥ 0 R: Há mais de uma

solução ótima (Semi-reta ótima)

Page 126: 1 Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 2 - Programação Linear Fernando

Pesquisa Operacional - UNESP / Campus de Guaratinguetá

Exercícios

7. Max Z = 3X1 – 5X2

s.a: -3X1 + 5X2 0

X1 – 2X2 -2

Xi 0, i = 1,2

R: Há mais de uma solução ótima (Semi-reta ótima)