Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Resolução de Problemas de Programação Linear com Método Simplex, Esquemas de Direito Civil

Uma abordagem detalhada sobre a resolução de problemas de programação linear utilizando o método simplex. Ele começa explicando a criação de variáveis de folga ou excesso para transformar o modelo em um sistema linear de equações a ser resolvido. Em seguida, é apresentado um exemplo passo a passo de como aplicar o método simplex, incluindo a determinação da solução básica viável inicial, a entrada e saída de variáveis da base e a redefinição das linhas da tabela simplex. O documento também aborda situações mais complexas, como problemas de minimização e problemas com restrições do tipo maior-ou-igual ou igualdade, discutindo soluções alternativas como o método do m-grande e a abordagem em duas fases. Ao final, são apresentados exercícios adicionais para consolidação do conteúdo. Uma referência abrangente e detalhada sobre a aplicação do método simplex na resolução de problemas de programação linear.

Tipologia: Esquemas

2022

Compartilhado em 14/02/2023

leonardo-soglia-9
leonardo-soglia-9 🇧🇷

3 documentos

1 / 34

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Universidade Federal de Uberlândia
Faculdade de Computação
Método simplex
Prof. Renato Pimentel
2020/2
GSI027 Otimização 2020/2 1 / 68
Sumário
1O método simplex
GSI027 Otimização 2020/2 2 / 68
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22

Pré-visualização parcial do texto

Baixe Resolução de Problemas de Programação Linear com Método Simplex e outras Esquemas em PDF para Direito Civil, somente na Docsity!

Universidade Federal de Uberlândia Faculdade de Computação

Método simplex

Prof. Renato Pimentel

GSI027 Otimização 2020/2 1 / 68

Sumário

(^1) O método simplex

O método simplex

O método simplex visa a resolução algébrica de um problema de PL.

Problemas agora não se limitam mais a 2 variáveis de decisão (como na solução gráfica)

1 º passo : Criação de Variáveis de folga ou excesso : transformam o modelo num sistema linear de equações a ser resolvido.

GSI027 Otimização 2020/2 3 / 68

Eliminação das desigualdades

Inicialmente, é preciso eliminar as desigualdades presentes nas restrições do modelo. I (^) Criam-se assim novas equações lineares no problema, a partir das inequações anteriores.

Exemplo: 2 x 1 + x 2 ≤ 5

Como o lado esquerdo é menor ou igual a 5 (a diferença é desconhecida), a adição de uma variável não-negativa , chamada, por exemplo, x 3 , que represente tal diferença, permite que a inequação seja escrita como uma equação:

2 x 1 + x 2 + x 3 = 5

x 3 ≥ 0 é denominada variável de folga.

Forma padrão

Um problema de PL está na forma padrão quando:

(^1) É um problema de maximização ; (^2) As restrições são do tipo ≤; (^3) O lado direito das restrições (termo independente) é sempre não-negativo; (^4) As variáveis de decisão são não-negativas.

Observação

Alguns autores – ex.: Marins (2011) – trabalham com definições alternativas para a forma padrão. A adotada no curso foi considerada por questões didáticas.

GSI027 Otimização 2020/2 7 / 68

Exemplo

max Z ( x 1 , x 2 ) = 5 x 1 + 2 x 2

sujeito a

x 1 ≤ 3 x 2 ≤ 4 x 1 + 2 x 2 ≤ 9 x 1 ≥ 0 , x 2 ≥ 0

max Z ( x 1 , x 2 , x 3 , x 4 , x 5 ) − 5 x 1 − 2 x 2 = 0

sujeito a

x 1 + x 3 = 3 x 2 + x 4 = 4 x 1 + 2 x 2 + x 5 = 9 x 1 ≥ 0 , x 2 ≥ 0 , x 3 ≥ 0 , x 4 ≥ 0 , x 5 ≥ 0

Como a função objetivo é dada como uma equação, não é necessária a introdução de variáveis de folga na mesma. Note que a função objetivo foi reescrita, de modo a deixar o lado direito nulo.

GSI027 Otimização 2020/2 9 / 68

Quadro inicial

A tabela ou quadro abaixo auxilia na resolução: x 1 x 2 x 3 x 4 x 5 b L ( 00 ) Z − 5 − 2 0 0 0 0 L ( 10 ) x 3 1 0 1 0 0 3 L ( 20 ) x 4 0 1 0 1 0 4 L ( 30 ) x 5 1 2 0 0 1 9 Na linha L 0 encontram-se os coeficientes da função objetivo. Nas linhas Li , i = 1 ,... , 3, encontram-se os coeficientes das restrições. O super-índice entre parênteses ( k ) das linhas indica que as mesmas são as linhas obtidas após a k -ésima iteração do simplex. I (^) ( 0 ) indica que estas são as linhas do quadro inicial. O vetor b contém as constantes (termos independentes) das restrições, bem como da função objetivo reescrita.

Algoritmo II

(^2) As variáveis de folga formam uma base do R m^ ( m é o número de

restrições), pois a matriz m × m formada pelas linhas Li , i = 1 ,... , m e respectivas colunas de tais variáveis é uma matriz identidade , portanto com determinante diferente de 0. I (^) No quadro inicial, portanto, as variáveis de folga são chamadas de básicas (representadas na coluna à esquerda no mesmo), e as variáveis de decisão originais do problema, não básicas. I (^) Esta etapa do algoritmo consiste em colocar na base uma variável de decisão, retirando da mesma uma das variáveis básicas (deve ser repetida até que a condição da etapa 1 seja satisfeita)

GSI027 Otimização 2020/2 13 / 68

Etapas do passo 2 I

(^1) Identificar quem entrará na base ( condição de otimalidade ):

Regra de Dantzig : Procura-se, na linha L 0 , qual o coeficiente negativo de maior valor absoluto (i.é., de menor valor). A variável associada a ele é a que entrará na base. I (^) No exemplo, entrará na base x 1 , pois | − 5 | > | − 2 |. A coluna em destaque é a coluna pivô da iteração. ↓ x 1 x 2 x 3 x 4 x 5 b L ( 00 ) Z − 5 − 2 0 0 0 0 L ( 10 ) x 3 1 0 1 0 0 3 L ( 20 ) x 4 0 1 0 1 0 4 L ( 30 ) x 5 1 2 0 0 1 9

Etapas do passo 2 II

(^2) A variável básica que sairá da base é aquela cuja divisão da

constante bi , i = 1 ,... , m (a linha L 0 da função objetivo nunca é considerada) pelo coeficiente correspondente cij da coluna pivô seja o menor de todos – apenas divisões não-negativas e finitas são consideradas. Esta é a Condição de viabilidade. I (^) No caso, temos m = 3, j = 1 (selecionou-se x 1 para deixar a base) e as divisões

b 1 c 11 = 3 1 = 3 b 2 c 21 = 4 0 = ∞ (ignora-se) b 3 c 31 = 9 1 = 9

I (^) Portanto, x 3 (associada a linha L 1 ) deixará a base e a linha L 1 passa a ser a linha pivô desta iteração – razão mínima não-negativa nesta linha.

GSI027 Otimização 2020/2 15 / 68

Etapas do passo 2 III

x 1 x 2 x 3 x 4 x 5 b L ( 00 ) Z − 5 − 2 0 0 0 0 L ( 10 ) ← x 3 1 0 1 0 0 3 L ( 20 ) x 4 0 1 0 1 0 4 L ( 30 ) x 5 1 2 0 0 1 9 I (^) O elemento c 11 = 1, dado pelo cruzamento das linhas e colunas pivô, é o número pivô da iteração.

Etapas do passo 2 VI

I (^) Linha 0 (função objetivo): L ( 01 )= L ( 00 )− (− 5 ) L ( 11 )

x 1 x 2 x 3 x 4 x 5 b L ( 01 ) Z 0 − 2 5 0 0 15 L ( 11 ) x 1 1 0 1 0 0 3 L ( 20 ) x 4 0 1 0 1 0 4 L ( 30 ) x 5 1 2 0 0 1 9 I (^) Detalhamento:

1 0 1 0 0 3 L ( 11 ) ×5: 5 0 5 0 0 15 − 5 − 2 0 0 0 0 L ( 00 ) 0 − 2 5 0 0 15 L ( 01 )

GSI027 Otimização 2020/2 19 / 68

Etapas do passo 2 VII

I (^) Linha 2: L ( 21 )= L ( 20 )− 0 L ( 11 )= L ( 20 ) (inalterada)

x 1 x 2 x 3 x 4 x 5 b L ( 01 ) Z 0 − 2 5 0 0 15 L ( 11 ) x 1 1 0 1 0 0 3 L ( 21 ) x 4 0 1 0 1 0 4 L ( 30 ) x 5 1 2 0 0 1 9

Etapas do passo 2 VIII

I (^) Linha 3: L ( 31 )= L ( 30 )− 1 L ( 11 ) x 1 x 2 x 3 x 4 x 5 b L ( 01 ) Z 0 − 2 5 0 0 15 L ( 11 ) x 1 1 0 1 0 0 3 L ( 21 ) x 4 0 1 0 1 0 4 L ( 31 ) x 5 0 2 − 1 0 1 6 I (^) Detalhamento: 1 0 1 0 0 3 L ( 11 ) ×(− 1 ): − 1 0 − 1 0 0 − 3 1 2 0 0 1 9 L ( 30 ) 0 2 − 1 0 1 6 L ( 01 )

GSI027 Otimização 2020/2 21 / 68

Etapas do passo 2 IX

I (^) A primeira iteração está concluída.

Solução básica viável após iteração 1

x 1 = 3 x 2 = 0 x 4 = 4 x 3 = 0 x 5 = 6 Z = 15

Situações especiais

1. Empate na entrada da base

Na condição de otimalidade, quando se busca a variável que entrará na base; se houver empate escolhe-se arbitrariamente qual deverá de fato entrar. Única implicação : pode-se escolher um caminho mais longo ou mais curto – dependendo da escolha – para se chegar à solução ótima

Exemplo: problema envolvendo maximização da função objetivo

Z = 4 x 1 + 4 x 2 + 3 x 3

Note que o maior coeficiente é 4, e está associado a duas variáveis ( x 1 e x 2 ). Na 1a. iteração, deve-se escolher qual das duas entrará (aparecerão como −4 no quadro inicial).

GSI027 Otimização 2020/2 25 / 68

2. Empate na saída da base

Na condição de viabilidade, quando se busca a variável que sairá na base, se houver empate em geral também se escolhe arbitrariamente qual deverá de fato sair.

Exemplo: max Z = 5 x 1 + 2 x 2 , sujeito a

x 1 ≤ 3 x 2 ≤ 4 4 x 1 + 3 x 2 ≤ 12 x 1 ≥ 0 , x 2 ≥ 0

x 1 x 2 x 3 x 4 x 5 b L ( 00 ) Z − 5 − 2 0 0 0 0 L ( 10 ) x 3 1 0 1 0 0 3 L ( 20 ) x 4 0 1 0 1 0 4 L ( 30 ) x 5 4 3 0 0 1 12

x 1 entrará na base. As candidatas a sair da base (menor razão não-negativa):

x 3 :

b 1 c 11

= 3 x 5 :

b 3 c 31

Escolhe-se, por exemplo, x 3 para deixar a base:

GSI027 Otimização 2020/2 27 / 68

x 1 ↓ x 2 x 3 x 4 x 5 b L ( 01 ) Z 0 − 2 5 0 0 15 L ( 11 ) x 1 1 0 1 0 0 3 L ( 21 ) x 4 0 1 0 1 0 4 L ( 31 ) ← x 5 0 3 − 4 0 1 0

Note que x 5 é nula, mesmo sendo variável básica. Isto ocorre devido à condição de empate e a solução viável encontrada é dita degenerada.

O sistema encontra-se na forma padrão.

Na forma de equações:

max Z ( x 1 , x 2 , x 3 , x 4 , x 5 , x 6 , x 7 ) −

x 1 + 20 x 2 −

x 3 + 6 x 4 = 0

sujeito a

1 4

x 1 − 8 x 2 − x 3 + 9 x 4 + x 5 = 0 1 2

x 1 − 12 x 2 −

x 3 + 3 x 4 + x 6 = 0

x 3 + x 7 = 1 x 1 ≥ 0 , x 2 ≥ 0 , x 3 ≥ 0 , x 4 ≥ 0 , x 5 ≥ 0 , x 6 ≥ 0 , x 7 ≥ 0

GSI027 Otimização 2020/2 31 / 68

x 1 x 2 x 3 x 4 x 5 x 6 x 7 b L ( 00 ) Z − 3 / 4 20 − 1 / 2 6 0 0 0 0 L ( 10 ) ← x 5 1/4 − 8 − 1 9 1 0 0 0 L ( 20 ) x 6 1/2 − 12 − 1 / 2 3 0 1 0 0 L ( 30 ) x 7 0 0 1 0 0 0 1 1

x 1 ↓ x 2 x 3 x 4 x 5 x 6 x 7 b L ( 01 ) Z 0 − 4 − 7 / 2 33 3 0 0 0 L ( 11 ) x 1 1 − 32 − 4 36 4 0 0 0 L ( 21 ) ← x 6 0 4 3 / 2 − 15 − 2 1 0 0 L ( 31 ) x 7 0 0 1 0 0 0 1 1

x 1 x 2 ↓ x 3 x 4 x 5 x 6 x 7 b

  • L ( 02 ) Z 0 0 −
  • L ( 12 ) ← x 1 1 0 8 − 84 −
  • L ( 22 ) x 2 0 1 3 / 8 − 15 / 4 − 1 / 2 1 /
  • L ( 32 ) x
  • L ( 03 ) Z 1 / 4 0 0 − 3 − x 1 x 2 x 3 ↓ x 4 x 5 x 6 x 7 b
  • L ( 13 ) x 3 1/8 0 1 − 21 / 2 − 3 /
  • L ( 23 ) ← x 2 − 3 / 64 1 0 3 / 16 1 / 16 − 1 /
  • L ( 33 ) x 7 − 1 / 8 0 0 21/2 3/2 − - GSI027 Otimização 2020/2 33 /
    • L ( 04 ) Z − 1 / 2 16 0 0 − x 1 x 2 x 3 x 4 ↓ x 5 x 6 x 7 b
    • L ( 14 ) ← x 3 − 5 / 2 56 1 0 2 −
    • L ( 24 ) x 4 − 1 / 4 16 / 3 0 1 1 / 3 − 2 /
    • L ( 34 ) x 7 5 / 2 − 56 0 0 −
      • L ( 05 ) Z − 7 / 4 44 1 / 2 0 0 − x 1 x 2 x 3 x 4 x 5 ↓ x 6 x 7 b
      • L ( 15 ) x 5 − 5 / 4 28 1 / 2 0 1 −
      • L ( 25 ) ← x 4 1 / 6 − 4 − 1 / 6 1 0 1 /
      • L ( 35 ) x

x 1 ↓ x 2 x 3 x 4 b L ( 00 ) Z − 2 − 4 0 0 0 L ( 10 ) ← x 3 1 2 1 0 5 L ( 20 ) x 4 1 1 0 1 4

x 1 x 2 x 3 x 4 b L ( 01 ) Z 0 0 2 0 10 L ( 11 ) x 2 1 / 2 1 1 / 2 0 5 / 2 L ( 21 ) ← x 4 1 / 2 0 − 1 / 2 1 3 / 2

A solução é ótima, e tem-se x 1 = 0 , x 2 = 5 / 2 e Z = 10. O coeficiente de x 1 (não-básica) em L 0 é zero, indicando que a mesma pode entrar na base, de modo que o valor da função objetivo fique inalterado – apenas os valores das variáveis se alteram.

GSI027 Otimização 2020/2 37 / 68

x 1 x 2 x 3 x 4 b L ( 02 ) Z 0 0 2 0 10 L ( 12 ) x 2 0 1 1 − 1 1 L ( 22 ) x 1 1 0 − 1 2 3

Forçando-se a saída de x 4 da base, inserindo-se x 1 em seu lugar, tem-se nova solução em x 1 = 3 , x 2 = 1 e Z = 10. Qualquer combinação convexa desta solução e da anterior também será uma solução ótima. Graficamente: segmento de reta entre os pontos ( 0 , 5 / 2 ) e ( 3 , 1 )

4. Função objetivo ilimitada

Outro resultado possível é aquele no qual nenhuma variável se qualifica para ser a variável básica a deixar a base. Este resultado ocorre quando a variável que entra na base pode ser aumentada indefinidamente sem dar valores negativos a qualquer das variáveis básicas atuais. Na forma tabular, isso significa que todos os coeficientes da coluna pivô (excluindo-se a linha L 0 ) são negativos ou zero. Neste caso, as restrições não impedem que o valor da função objetivo cresça indefinidamente. Isto ocorre, provavelmente, porque o modelo foi mal formulado, seja por omitir restrições relevantes, seja por declará-las de modo incorreto.

GSI027 Otimização 2020/2 39 / 68

Exemplo: max Z = 2 x 1 + x 2 sujeito a

x 1 − x 2 ≤ 10 2 x 1 ≤ 40 x 1 ≥ 0 , x 2 ≥ 0

x 1 x 2 x 3 x 4 b L ( 00 ) Z − 2 − 1 0 0 0 L ( 10 ) ← x 3 1 − 1 1 0 10 L ( 20 ) x 4 2 0 0 1 40

Todos os coeficientes das restrições sob x 2 são todos negativos ou zero. Note que x 2 pode ser aumentada indefinidamente sem desobedecer nenhuma das restrições. Embora x 1 entre na base pelo critério de otimalidade, note que caso x 2 entrasse na base, nem x 3 nem x 4 poderia sair da mesma pelo critério de viabilidade.