A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

FEAMIG – Faculdade de Engenharia de Minas Gerais

Apresentações semelhantes


Apresentação em tema: "FEAMIG – Faculdade de Engenharia de Minas Gerais"— Transcrição da apresentação:

1 FEAMIG – Faculdade de Engenharia de Minas Gerais
Pesquisa Operacional Método Simplex Prof.: Dr. Eduardo Henrique Gonçalves

2 O Método Simplex Objetivo:
Este é o procedimento geral para resolver problemas de programação linear. É sempre usado um computador, e os programas estão amplamente disponíveis. Utilizaremos em nosso curso o aplicativo Solver disponível nas ferramentas do Excel. Serão apresentados os principais aspectos do método simplex para resolver qualquer problema de programação linear tal que bi > 0 para todo i = 1, 2, ...,m.

3 O Método Simplex O método simplex é um algoritmo.
Um algoritmo é um processo onde um procedimento sistemático é repetido (iterado) seguidamente até que o resultado desejado seja obtido. Cada percurso do procedimento sistemático é chamado de iteração. Conseqüentemente, um algoritmo substitui um problema difícil por uma série de outros fáceis. Além das iterações, os algoritmos também incluem um procedimento de dar início e um critério para determinar quando parar.

4 O Método Simplex Em resumo: Estrutura dos Algoritmos:
Passo de inicialização Preparar para iniciar iterações Passo iterativo Repetir quantas vezes necessário Regra de parada Foi obtido o resultado desejado? Se sim Se não Pare

5 O Método Simplex Formulação do Problema
Estabelecimento do Método Simplex É muito mais conveniente lidar com equações do que com relações de desigualdade. Por isso, o primeiro passo para se estabelecer o método simplex é converter as restrições funcionais de desigualdade em restrições equivalentes de igualdade. Isto é feito introduzindo variáveis de folga.

6 O Método Simplex - Exemplo
Uma marcenaria deseja estabelecer uma programação diária de produção. Atualmente, a oficina fabrica apenas dois produtos: mesa e armário, ambos de um só modelo. Para efeito de simplificação, vamos considerar que a marcenaria tem limitações em somente dois recursos: madeira e mão de obra, cujas disponibilidades diárias são mostradas na tabela a seguir:

7 O Método Simplex Recurso Disponibilidade Madeira 12 m2 Mão de Obra 8 H.h O processo de produção é tal que, para fazer uma mesa, a fábrica gasta 2 m2 de madeira e 2 H.h de mão de obra. Para fazer um armário, a fábrica gasta 3 m2 de madeira e 1 H.h de mão de obra.

8 O Método Simplex Além disso, o fabricante sabe que cada mesa dá uma margem de contribuição para o lucro de $4 e cada armário dá uma margem de 1$. O problema do fabricante é encontrar o programa de produção que maximiza a margem de contribuição total para o lucro. Para resolver este problema utilizando o Método Simplex, vamos criar o modelo de programação linear para o problema proposto.

9 O Método Simplex Montagem do Modelo
Como Variáveis de Decisão, vamos considerar os seguintes dados: Quantidade a produzir de mesa: X1 Quantidade a produzir de armário: X2 Com essa definição de variáveis podemos escrever as relações matemáticas que formam o modelo. Assim, para a função objetivo, temos: Margem de Contribuição Total: L = 4X1 + 1X2

10 O Método Simplex Para as restrições, a relação lógica existente é:
Utilização de Recurso ≤ Disponibilidade do Recurso Assim, temos: Para Madeira  X1 + 3X2 ≤ 12 Para Mão de Obra  2X1 + 1X2 ≤ 8 Logo, o modelo completo do sistema é:

11 O Método Simplex Achar X1 e X2 de modo a: MAXIMIZAR L = 4X1 + 1X2
Respeitando as restrições: 2X1 + 3X2 ≤ 12 2X1 + 1 X2 ≤ 8 X ≥ 0 X2 ≥ 0

12 O Método Simplex Solução do Modelo
De início, vamos observar que o conjunto das restrições forma um sistema de desigualdades lineares e, dessa maneira, existem infinitas combinações de valores de X1 e X2, que satisfazem às restrições. Para descobrir aquela que produz o maior valor para o objetivo, vamos partir de um par de valores para X1 e X2 e tentar, por meio de um raciocínio lógico, encontrar um par de valores que fornece um lucro maior. Como ponto de partida, tomemos a seguinte combinação:

13 O Método Simplex X1 = 0, X2 = 0 e L = 0.
É fácil verificar que se trata de uma solução possível para o problema. Obviamente, não é a melhor solução, já que o fabricante nada produz. Observemos, porém, o seguinte: Cada mesa que produzimos aumenta o lucro em $4; Cada armário que produzimos aumenta o lucro em $1.

14 O Método Simplex Como o objetivo é maximizar o lucro, vamos começar a nossa análise pela produção de mesa, mantendo a produção de armários em nível zero. Em termos matemáticos, isso significa que X1 deve ser positiva; X2 continua igual a zero. Com essa conclusão, precisamos saber agora qual valor X1 deve tomar.

15 O Método Simplex Novamente, é importante lembrar que nosso objetivo é maximizar o lucro e, já que cada mesa produzida aumenta o lucro em $4, é razoável procurar dar a X1 o maior valor possível. Para descobrirmos esse valor, voltemos às restrições: 2X1 + 3X2 ≤ 12 2X1 + 1X2 ≤ 8 Como X2 = 0 e uma vez que queremos o maior valor possível para X1, vamos reescrever as restrições somente em termos de X1: 2X1 = 12 2X1 = 8

16 O Método Simplex Assim, se considerarmos apenas o recurso madeira, poderemos fazer 6 mesas, ou X1 = 12/2 = 6. Por outro lado, se considerarmos apenas o recurso mão-de-obra, poderemos fazer 4 mesas, ou seja: X1 = 8/2 = 4. Como para fazer uma mesa gastam-se simultaneamente os dois recursos, é evidente que o maior valor possível para x1 é 4, já que não teríamos mão-de-obra suficiente para fazermos 6 mesas.

17 O Método Simplex Concluindo, já temos uma segunda programação da produção que dá um lucro maior que a primeira: X1 = 4 mesas; X2 = 0 armários. O lucro que se obtém com essa produção é: L = 4 x x 0 = 16. A solução é viável, já que as restrições foram respeitadas: 2 x x 0 = 8 2 x x 0 = 8.

18 O Método Simplex Recapitulando: partimos de uma solução viável (X1 = 0 e X2 = 0) para outra solução viável (X1 = 4 e X2 = o), que dá um lucro maior, adotando os seguintes critérios: Começamos a produção pelo produto que mais contribui para o lucro – nesse caso, a variável que se torna positiva é a que tem o maior coeficiente em L. Escolhido o produto, sua produção foi estabelecida no maior valor possível, ou seja, deu-se à variável o maior valor positivo possível.

19 O Método Simplex A pergunta que se faz necessária agora é a seguinte: essa solução encontrada é a melhor de todas, ou teremos que encontrar outra? Para responder a essa pergunta, podemos adotar os mesmos critérios anteriores, mas com uma pequena alteração. Neste exemplo, seria natural que procurássemos produzir armários, já que seu nível de produção é zero e temos ainda madeira sobrando. No entanto, é importante lembrar que toda a mão-de-obra disponível foi alocada para a produção de mesas.

20 O Método Simplex Como necessitamos de mão-de-obra para produzir armários, a única maneira de conseguirmos isso é por meio da redução do número de mesas a produzir, de maneira a liberarmos recursos. Conseqüentemente, para podemos produzir armários, duas alterações deverão ser feitas no programa de produção: O número inicialmente encontrado para a produção de mesas deve diminuir. Isso provoca diminuição do lucro total. A produção de armários, de início nula, poderá então tornar-se positiva. Isso provoca aumento no lucro total.

21 O Método Simplex Ora, já que temos simultaneamente duas alterações no lucro total, uma redução e um aumento, o nosso primeiro critério pode ser adaptado. Nesse caso, a variável X2 (produção de armários) deverá se tornar positiva se o resultado das modificações no lucro total for positivo. Ou seja, se Aumento em L Provocado pelo Aumento de X2 - Redução em L Provocada pela Diminuição de X1 Contribuição Líquida para o Lucro Dada por X2

22 O Método Simplex A modificação no critério é esta: não se faz positiva a variável apenas porque tem um coeficiente positivo na função objetivo, mas se a sua contribuição líquida, calculada pela expressão anterior, for positiva. Vamos calcular isso. Visto que o recurso totalmente alocado é a mão-de-obra, consideremos de novo a segunda equação: 2 X1 + 1 X2 = 8.

23 O Método Simplex Como o primeiro recurso tem folga, não precisamos nos preocupar com a primeira equação. Para calcularmos a redução que ocorre em X1 para liberar recursos visando a aumentar a produção de X2, vamos dar a seguinte variação no valor da variável X2: X2 = 0 passa para X2 = 1 Levando à equação anterior: 2 X1 + 1 x 1 = 8. Donde, X1 (novo) = 3,5

24 O Método Simplex Logo, um aumento de 1 na variável X2 exige uma redução de 0,5 no valor da variável X1 (4-3,5 = 0,5). A variação do lucro L pode ser calculada da seguinte maneira: Variação em L = 4 x (Variação em X1) + 1 x (Variação em X2) Logo Variação em L = 4 x (-0,5) + 1 x 1 = -1 Ou seja, a contribuição líquida para o lucro, por unidade produzida de armário, é -1. Conseqüentemente, nesse problema não é vantajoso produzir armários e, assim sendo, a solução ótima encontrada é X1 = 4; X2 = 0; L = 16.

25 Solução Gráfica de Modelos Simples
Como o problema é representado por um modelo simples de apenas duas variáveis, é possível representá-lo graficamente. Isso traz a vantagem de facilitar a visualização das principais características do processo de decisão. O modelo completo do problema é: Maximizar L = 4 X1 + 1 X2 Sujeito a 2X1 + 3X2 ≤ 12 2X X2 ≤ 8 X1 e X2 ≥ 0 A representação gráfica das restrições pode ser vista a seguir:

26 Solução Gráfica de Modelos Simples
Já conhecemos o método de solução gráfica para problemas de programação linear de duas variáveis. Será agora apresentada a solução por sistemas de equações lineares. De forma a transformar as restrições do problema de programação linear de inequações em equações, são introduzidas as variáveis de folga. Neste problema, as restrições têm a seguinte estrutura lógica: Utilização de recurso ≤ Disponibilidade. Ao se introduzir o conceito de folga de recurso, a inequação pode ser escrita como Utilização de recurso + Folga = Disponibilidade.

27 Solução Gráfica de Modelos Simples
Isso significa que Utilização de recurso < Disponibilidade implica Folga > 0; Utilização de recurso = Disponibilidade implica Folga = 0. Deste modo, a folga de cada recurso pode ser representada por uma variável de forma exatamente igual à produção de cada produto. Desse modo, vamos chamar: x3: folga de madeira; x4: folga de mão-de-obra. Introduzindo as variáveis de folga, o problema a ser resolvido passa a ser:

28 Solução Gráfica de Modelos Simples
Maximizar: z = 4 x1 + 1x2 + 0 x3 + 0 x4 Sujeito a x1 + 3 x2 + 1x = 12 2 x1 + x x4 = 8 x1, x2, x3, x ≥ 0 O problema se transformou em encontrar a solução do sistema de equações lineares que maximiza o lucro. Como, neste caso, o número de variáveis (m = 4) é superior ao número de equações (n = 2), o sistema é indeterminado, apresentando infinitas soluções. No entanto, todas as variáveis devem ser maiores ou iguais a zero. Atribuir zero a uma variável significa não produzir um dos produtos (se a variável for x1 ou x2) ou utilizar toda a disponibilidade de recursos (se a variável for x3 ou x4), podemos encontrar soluções para o sistema de equações atribuindo arbitrariamente valor zero a duas variáveis (m - n = = 2) e calculando o valor das outras duas pelo sistema restante.

29 Solução Gráfica de Modelos Simples
Teremos que resolver então C= 4! / (2! 2!) = 6 sistemas de equações lineares. Resolvido um sistema, utilizamos os valores encontrados para as variáveis na função objetivo, achando assim o lucro L. Uma vez resolvido um sistema, serão aplicados na função objetivo os valores encontrados. As variáveis zeradas são chamadas variáveis não-básicas. As variáveis cujos valores são calculados pelo sistema de equações são chamadas variáveis básicas.

30 Solução Gráfica de Modelos Simples
c.1) Variáveis não-básicas: x1 = 0 x2 = 0 temos as variáveis básicas x3 = 12 x4 = 8 dando o lucro L = 0 c.2) Variáveis não-básicas: x1 = 0 x3 = 0 temos as variáveis básicas x2 = 4 x4 = 4 dando o lucro L = 4

31 Solução Gráfica de Modelos Simples
c.3) Variáveis não-básicas: x1 = 0 x4 = 0 temos as variáveis básicas x2 = 8 x3 = -12 como x3 < 0, a solução obtida é INVIÁVEL. c.4) Variáveis não-básicas: x2 = 0 x3 = 0 temos as variáveis básicas x1 = 6 x4 = -4 como x4 < 0, a solução obtida é INVIÁVEL.

32 Solução Gráfica de Modelos Simples
c.5) Variáveis não-básicas: x2 = 0 x4 = 0 temos as variáveis básicas x1 = 4 x3 = 4 dando o lucro L = 16 c.6) Variáveis não-básicas: x3= 0 temos as variáveis básicas x1 = 3 x2 = 2 dando o lucro L = 14

33 Solução Gráfica de Modelos Simples
Comparando todas as soluções encontradas por esse processo, achamos a mesma solução ótima obtida anteriormente, ou seja: x1 = 4 x2 = 0 x3 = 4 x4 = 0 dando o lucro L = 16

34 Desenvolvimento do Método Simplex
Da forma como foi resolvido o problema anteriormente, é necessário que muitos sistemas de equações sejam resolvidos e suas soluções comparadas. Para problemas reais de programação linear, esta solução se torna inviável. Desta forma, para termos condições de resolver um problema de programação linear, precisamos de uma sistemática que nos diga: qual o sistema de equações que deve ser resolvido; que o próximo sistema a ser resolvido fornecerá uma solução melhor que os anteriores; como identificar um solução ótima, uma vez que a tenhamos encontrado. Essa sistemática é o Método Simplex, e as regras que o método utiliza para atender às três questões acima são, basicamente, os critérios que desenvolvemos nos itens anteriores. Vamos voltar ao nosso pequeno problema, já com as variáveis de folga: maximizar L = 4 x1 + x2 + 0x3 + 0x4 sujeito a x1 + 3 x2 + x = 12 2x x x4 = 8 x1, x2, x3, x ≥ 0

35 Desenvolvimento do Método Simplex
Vamos montar um quadro para ordenarmos as operações, colocando nele apenas os coeficientes das variáveis. No caso da função objetivo, vamos realizar a seguinte transformação: de: L = 4 x1 + x2 para: L - 4 x1 - x2 = 0 Quadro 1 Base X1 X2 x3 x4 b X3 2 3 1 12 X4 8 L -4 -1

36 Desenvolvimento do Método Simplex
A última coluna corresponde aos termos independentes das equações, e a última linha contém os coeficientes das variáveis na função objetivo. Nessa última linha teremos sempre a contribuição que cada variável dá para o lucro total z, por unidade, em cada iteração do processo de solução. Essa última linha será chamada de função objetivo transformada ou função z-transformada. a) Solução inicial A solução inicial para o problema será sempre obtida fazendo as variáveis originais do modelo (no caso x1 e x2) iguais a zero e achando o valor das demais. x3 = 12 x4 = 8 variáveis básicas L = 0 As variáveis básicas estão indicadas no Quadro 1, para facilitar o acompanhamento das operações.

37 Desenvolvimento do Método Simplex
b) Segunda solução Como a primeira solução claramente não é a melhor, vamos procurar outra que dê um valor maior para L. O problema é descobrir: Das duas variáveis não básicas (nulas) na primeira solução, qual deve se tornar positiva? Das duas variáveis básicas (positivas) na primeira solução, qual deverá ser anulada? Qual variável deverá se tornar positiva? Vamos observar que na última linha do Quadro 1 temos os coeficientes da função objetivo que mostram a contribuição para o lucro z de cada unidade produzida de mesa (x1) e de armário (x2).

38 O Método Simplex Assim, aplicando o critério de que devemos produzir primeiro o produto que mais contribui para o lucro, vamos começar a produção pela variável x1, já que sua contribuição unitária para o lucro (4) é maior que a contribuição de x2, igual a 1. Logo, a variável que deverá se tornar positiva é x1. Qual variável deverá ser anulada? A resposta a essa pergunta será obtida pela aplicação do segundo critério discutido anteriormente, segundo o qual procuramos descobrir qual é o maior valor que podemos atribuir a x1. A partir do quadro, vamos examinar as duas equações, da mesma maneira que fizemos anteriormente, incluindo, porém, as variáveis de folga.

39 O Método Simplex 1ª. Equação: 2 x1 + 1 x3 = 12
O maior valor possível para x1 será 6, quando x3 for igual a zero. Observe que um valor maior que esse faria x3 se tornar negativo, o que não é permitido. 2ª equação: 2 x1 + 1 x4 = 8 O maior valor possível para x1, com base somente nessa equação, será 4, quando x4 for igual a 0. Analisando simultaneamente as duas equações, você perceberá que o maior valor possível para x1 é 4 e, assim, descobrimos que a variável que se anulará é x4.

40 O Método Simplex Observe que esta análise pode ser feita diretamente do Quadro 1, através da divisão dos elementos da coluna b pelos correspondentes elementos da coluna x1. O menor quociente indica, pela linha em que ocorreu, qual a variável básica que deve ser anulada. Assim, como o menor quociente é dado pela divisão 8 / 2 = 4, a variável básica a ser anulada é x4, que é a variável positiva na atual solução, cujo valor foi encontrado na segunda linha. Assim temos: X2 =o X4 = 0

41 O Método Simplex e o sistema restante deve ser resolvido para acharmos o valor de x1 e x3. A solução desse sistema será feita usando o Quadro 1 com as equações completas e usando as operações válidas com as linhas da matriz. 1ª operação: Dividir a segunda linha por 2 (L2  L2 / 2) Quadro 1A Base x1 x2 x3 x4 b 2 3 1 12 1/2 4 L -4 -1

42 O Método Simplex 2ª operação: Multiplicar a segunda linha do Quadro 1A por (-2) e somar com a primeira linha do mesmo quadro, colocando o resultado na primeira linha (L1  L1 - 2 L2) Quadro 1B Base x1 x2 x3 x4 b 2 1 -1 4 L -4

43 O Método Simplex 3ª operação: seguir o mesmo procedimento com a terceira linha, de modo a atualizar as contribuições que cada variável não-básica daria para o lucro, caso viesse a se tornar básica. Para isso, vamos multiplicar a segunda linha do quadro 1B por 4 e somar com a terceira linha, substituindo essa pelo resultado obtido: 2ª linha x (4): 4 x x ½ x x ½ x 4 3ª linha: Soma: ( x ½) (0 + 4 x ½) 16

44 O Método Simplex Observe que a operação entre parênteses é a mesma que fizemos no processo intuitivo para calcular a variação em L quando, tendo a solução x1 = 4 e x2 = 0, tentamos tornar x2 = 1 ( ou seja, tentamos montar o lucro L por meio da produção de 1 armário) Com essas transformações, o quadro final do problema é: Quadro 2 Base x1 x2 x3 x4 b 2 1 -1 4 L 16

45 O Método Simplex Como a última linha (função L transformada) mostra as contribuições líquidas para o lucro L, em caso de as variáveis x2 e x4 virem a ter seus valores aumentados de 0 para 1 e como essas contribuições tem seus valores com sinais trocados com relação ao quadro original, concluímos que a solução encontrada, x1=4, x2 =0, x3 = 4, x4 = 0 e L = 16 é a solução ótima.

46 Procedimento do Método Simplex (Problemas de Maximização)
Passo 1: Introduzir as variáveis de folga; uma para cada desigualdade. Passo 2: Montar um quadro para os cálculos, colocando os coeficientes de todas as variáveis com os respectivos sinais e, na última linha, incluir os coeficientes da função objetivo transformada. Passo 3: Estabelecer uma solução básica inicial, usualmente atribuindo valor zero às variáveis originais e achando valores positivos para as variáveis de folga.

47 Procedimento do Método Simplex (Problemas de Maximização)
Passo 4: Como próxima variável a entrar na base, escolher a variável não básica que oferece, na última linha, a maior contribuição para o aumento da função objetivo (ou seja, tem o maior valor negativo). Se todas as variáveis que estão fora da base tiverem coeficientes nulos ou positivos nesta linha, a solução atual é ótima. Se alguma dessas variáveis tiver coeficiente nulo, isto significa que ela pode ser introduzida na base sem aumentar o valor da função objetivo. Isso quer dizer que temos uma solução ótima, com o mesmo valor da função objetivo. Passo 5: Para escolher a variável que deve deixar a base, deve-se realizar o seguinte procedimento: a) Dividir os elementos da última coluna pelos correspondentes elementos positivos da coluna da variável que vai entrar na base. caso não haja elemento algum positivo nesta coluna, o processo deve parar, já que a solução seria ilimitada.

48 Procedimento do Método Simplex (Problemas de Maximização)
b) O menor quociente indica a equação cuja respectiva variável básica deverá ser anulada, tornando-se variável não básica. Passo 6: Usando operações válidas com as linhas da matriz, transformar o quadro de cálculos de forma a encontrar a nova solução básica. A coluna da nova variável básica deverá se tornar um vetor identidade, onde o elemento 1 aparece na linha correspondente à variável que está sendo anulada. Passo 7: Retornar ao passo 4 para iniciar outra iteração.

49 Exercício – Método Simplex – Para Entrega
Resolva os seguintes exemplos utilizando o método simplex: a) Maximizar Z = 11 x x2 sujeito a: x1 + 4 x2 ≤ 10000 5 x1 + 2 x2 ≤ 30000 x1, x2 ≥ 0 b) Maximizar Z = 13 x1 + 7 x2 sujeito a: x1 + 5x2 ≤ 250 3x1 + 4x2 ≤ 1400 c) Maximizar X = 16 x x2 Sujeito a: 2x1 ≤ 8 2x1 + 3x2 ≤ 12 2x1 + x2 ≤ 8


Carregar ppt "FEAMIG – Faculdade de Engenharia de Minas Gerais"

Apresentações semelhantes


Anúncios Google