• Nenhum resultado encontrado

Denições Preliminares

N/A
N/A
Protected

Academic year: 2021

Share "Denições Preliminares"

Copied!
11
0
0

Texto

(1)

Programação Linear Inteira

O Algoritmo Simplex Haroldo Gambini Santos

Universidade Federal de Ouro Preto - UFOP

30 de agosto de 2011

1 / 32

Programação Linear Inteira,O Algoritmo Simplex

Denições Forma Padrão Soluções Básicas Simplex

Denições Preliminares

Conjunto Convexo

Um conjunto de pontos S é um Conjunto Convexo se o segmento de linha juntando qualquer par de pontos em S é completamente contido em S. Convexo ou Não ? a b c d A A A B B E B C D 2 / 32

Programação Linear Inteira,O Algoritmo Simplex

Denições Forma Padrão Soluções Básicas Simplex

Denições Preliminares

Ponto Extremo

Em um conjunto convexo S um ponto P é um Ponto Extremo se cada segmento de linha que ca completamente em S e contém P tem Pcomo nal da linha.

Um Poliedro - Quais são PEs ?

E F D B C A x 1 60 50 10 20 30 40 50 60 40 30 20 10

S

H

Programação Linear Inteira,O Algoritmo Simplex

Notas

Notas

(2)

Forma Padrão

Dizemos que um PL (Programa Linear) está na forma padrão se:

todas as restrições são de igualdade todas as variáveis são não negativas (≥ 0)

A conversão de um PL qualquer para a forma padrão é feita com os seguintes passos:

para restrições de ≤ e ≥ transformamos em igualdade através da introdução de variáveis de folga

signicado: falta ou excesso na igualdade

variáveis que podem ser negativas são substituídas por duas variáveis, representando a parte positiva e negativa da mesma

4 / 32

Programação Linear Inteira,O Algoritmo Simplex

Denições Forma Padrão Soluções Básicas Simplex

Exemplo

3x1+ 2x2≥ 6 ⇓ 3x1+ 2x2− s1= 6 ... 50x1+ 35x3≤ 80 ⇓ 50x1+ 35x3+ s3= 80 5 / 32

Programação Linear Inteira,O Algoritmo Simplex

Denições Forma Padrão Soluções Básicas Simplex

Forma Padrão

Exercício

Coloque na forma padrão: min : 3x1+ x2 s.a. : x1 ≥ 3 x1 + x2 ≤ 4 2x1 − x2 = 3 x1, x2≥ 0

Programação Linear Inteira,O Algoritmo Simplex

Notas

Notas

(3)

Forma Padrão

max(ou min) :

z = c1x1+ c2x2+ . . . + cnxn s.a. a11x11 a12x12 . . . a1nx1n = b1 a21x21 a22x22 . . . a2nx2n = b2 ... ... ... ... ... am1xm1 am2xm2 . . . amnxmn = bm xi≥ 0 ∀i ∈ 1, . . . , n 7 / 32

Programação Linear Inteira,O Algoritmo Simplex

Denições Forma Padrão Soluções Básicas Simplex

Forma Padrão

Considere: A =      a11 a12 . . . a1n a21 a22 . . . a2n ... ... ... am1 am2 . . . amn      x =      x1 x2 ... xn      , b =      b1 b2 ... bm     

Então o sistema de equações de qualquer PL pode ser escrito como:

Ax = b

8 / 32

Programação Linear Inteira,O Algoritmo Simplex

Denições Forma Padrão Soluções Básicas Simplex

Variáveis Básicas

Denição

Em um sistema de equações com n variáveis e m restrições denimos como solução básica uma solução onde temos:

m variáveis para as quais o sistema é resolvido, essas são chamadas Variáveis Básicas, as quais denotaremos por V B

m − n o restante das variáveis permanece xada em zero - as Variáveis Não-Básicas - V NB Exemplo x1 + x2 − x2 = 3 + x3 = −1

Verique as soluções paraV B = {x1, x2}eV B = {x2, x3}

Programação Linear Inteira,O Algoritmo Simplex

Notas

Notas

(4)

Variáveis Básicas

Todo conjunto de V B permite a obtenção de uma solução básica ?

x1 +2x2 +x3 = 1

2x1 +4x2 +x3 = 3

Tente BV = {x1, x2}

10 / 32

Programação Linear Inteira,O Algoritmo Simplex

Denições Forma Padrão Soluções Básicas Simplex

Pontos Extremos e Soluções Básicas

Factíveis

Denição

Qualquer solução básica onde todas as variáveis são não negativas é uma Solução Básica Factível - SBF. Teorema

Um ponto na região factível de um PL é um Ponto Extremo se e somente se é uma Solução Básica Factível para o PL.

11 / 32

Programação Linear Inteira,O Algoritmo Simplex

Denições Forma Padrão Soluções Básicas Simplex

Pontos Extremos

max : 4x1 +3x2 s.a. : x1 +x2 ≤ 40 2x1 +x2 ≤ 60 x1, x2 ≥ 0 ⇓ max : 4x1 +3x2 s.a. : x1 +x2 +x3 = 40 2x1 +x2 +x4 = 60 x1, x2, x3, x4 ≥ 0 E F D B C A x2 x1 60 50 10 20 30 40 50 60 40 30 20 10

Ex.: V B = {x1, x3}corresponde a qual ponto ? Qual o valor de x3, x2 e x4na SBF desse ponto ?

Programação Linear Inteira,O Algoritmo Simplex

Notas

Notas

(5)

Pontos Extremos

E F D B C A x2 x1 60 50 10 20 30 40 50 60 40 30 20 10 x1 +x2 +x3 = 40 2x1 +x2 +x4 = 60 x1, x2, x3, x4 ≥ 0 BV SBF Ponto Extremo x1, x2 x3= x4= 0, x1= x2= 20 E x1, x3 x2= x4= 0, x1= 30, x3= 10 C x1, x4 x2= x3= 0, x1= 40, x3= −20 − x2, x3 x1= x4= 0, x3= −20, x2= 60 − x2, x4 x1= x3= 0, x2= 40, x4= 20 B x3, x4 x1= x2= 0, x3= 40, x4= 60 F 13 / 32

Programação Linear Inteira,O Algoritmo Simplex

Denições Forma Padrão Soluções Básicas Simplex

PLs Degenerados

Degeneração

Eventualmente, mais de um Conjunto de Variáveis Básicas pode corresponder a um mesmo Ponto Extremo. Nesse caso dizemos que o Programa Linear é Degenerado.

O impacto de soluções degeneradas na resolução dos PLs será discutido posteriormente.

14 / 32

Programação Linear Inteira,O Algoritmo Simplex

Denições Forma Padrão Soluções Básicas Simplex

Direção Ilimitada

Denição

Em um PL com região factível S e restrições Ax = b, x ≥ 0 dizemos que d é uma Direção Ilimitada se para qualquer solução x ∈ Se qualquer c ≥ 0:

x + cd ∈ S

Programação Linear Inteira,O Algoritmo Simplex

Notas

Notas

(6)

Direção Ilimitada

min : 50x1 +100x2 s.a. : 7x1 +2x2 −x3 = 28 2x1 +12x2 −x4 = 24 d =     1 1 9 14     z= 600 z= 320 (10) (4, 4) B E C x2 x1 4 2 (11) 6 8 10 12 14 2 4 6 8 10 12 14 d A 16 / 32

Programação Linear Inteira,O Algoritmo Simplex

Denições Forma Padrão Soluções Básicas Simplex

Pontos Extremos e Soluções Factíveis

Teorema

Considere um PL na forma padrão com Soluções Básicas Factíveis

b1, b2, . . . , bk

Qualquer ponto x na região factível do PL pode ser escrito no formato: x = d + k X i=1 σibi

sendo que d = 0 ou é a direção ilimitada e Pk i=1σi= 1.

17 / 32

Programação Linear Inteira,O Algoritmo Simplex

Denições Forma Padrão Soluções Básicas Simplex

Combinações Convexas de SBFs

Exemplo PL Limitado

max : 4x1 +3x2 s.a. : x1 +x2 ≤ 40 2x1 +x2 ≤ 60 x1, x2 ≥ 0 Ponto H (24,12) não é SBF. Pode ser escrito como a combinação convexa de E e C:

H= 0,6 E + 0,4 C Ponto G também não é BFS. Pode ser escrito como :

G=1 6F+ 5 6H ⇓ G=1 6F+ 5 6(0, 6E + 0, 4C) E F D B C A x 1 60 50 10 20 30 40 50 60 40 30 20 10 H G

Programação Linear Inteira,O Algoritmo Simplex

Notas

Notas

(7)

Combinações Convexas de SBFs

Exemplo PL Ilimitado

7x1 +2x2 −x3 = 28 2x1 +12x2 −x4 = 24 Descrevendo F em termos de SBFs. Direção Ilimitada: Inclinação para ir de C a F : 4−0 14−12 d =     2 4 22 52     b1=     12 0 56 0     x =     14 4 78 52    

Desse modo obtemos: x = d + b1 z= 600 z= 320 (10) (4, 4) B E C F A D x2 x1 4 2 (11) 6 8 10 12 14 2 4 6 8 10 12 14 19 / 32

Programação Linear Inteira,O Algoritmo Simplex

Denições Forma Padrão Soluções Básicas Simplex

O Algoritmo Simplex

Passo 1 Converta o PL para a Forma Padrão. Passo 2 Obtenha uma Solução Básica Factível (se

possível) da Forma Padrão.

Passo 3 Teste de Otimalidade: Determine se a Solução Básica é Ótima. Se Ótima Pare.

Passo 4 Caso não seja ótima - Mudança de Base: determine:

qual variável não básica irá entrar na base, com o intuito de melhorar a função objetivo;

qual variável básica irá sair da base.

Passo 5 Utilize as operações elementares para computar a Nova Solução Básica e volte para o Passo 3.

20 / 32

Programação Linear Inteira,O Algoritmo Simplex

Denições Forma Padrão Soluções Básicas Simplex

Exemplo - Móveis Dakota

A empresa Dakota fabrica Mesas, Armários e Cadeiras. A manufatura de cada um desses móveis utiliza madeira e dois tipos de trabalho: acabamento e carpintaria. A necessidade de cada recurso é dada abaixo:

Recurso Mesa Armário Cadeira

Madeira (m2) 8 6 1

Acabamento (horas) 4 2 1,5

Carpintaria (horas) 2 1,5 0,5

Tem-se disponível 48 m2de madeira, 20 horas de acabamento e

8 horas de carpintaria. As mesas são vendidas por $ 60, armários por $ 30 e cadeira por $ 20. A empresa acredita que a demanda por mesas e cadeiras é ilimitada, enquanto que no máximo 5 armários serão vendidos.

Programação Linear Inteira,O Algoritmo Simplex

Notas

Notas

(8)

Móveis Dakota

max z = 60x1 + 30x2 + 20x3 s.t. : 8x1 + 6x2 + x3 ≤ 48 4x + 2x2 + 1, 5x3 ≤ 20 2x1 + 1, 5x2 + 0, 5x3 ≤ 8 x2 ≤ 5 x1, x2, x3≥ 0 22 / 32

Programação Linear Inteira,O Algoritmo Simplex

Denições Forma Padrão Soluções Básicas Simplex

Forma Padrão

Linha 0 z ­60x1 ­30x2 ­20x3 = 0 1 8x1 +6x2 +1x3 +x4 = 48 2 4x1 +2x2 +1,5x3 +x5 = 20 3 2x1 +1,5x2 +0,5x3 +x6 = 8 4 x2 +x7 = 5 23 / 32

Programação Linear Inteira,O Algoritmo Simplex

Denições Forma Padrão Soluções Básicas Simplex

Primeira Solução Básica Factível

Linha VariáveisBásicas

0 z ­60x1 ­30x2 ­20x3 = 0 z=0 1 8x1 +6x2 +1x3 +x4 = 48 x4=48 2 4x1 +2x2 +1,5x3 +x5 = 20 x5=20 3 2x1 +1,5x2 +0,5x3 +x6 = 8 x6=8 4 x2 +x7 = 5 x7=5 VNB = x1, x2, x3 z = 60x1+ 30x2+ 20x3 Quem entra ?

x1possibilita maior ganho por unidade e será aumentado. Até qual limite ?

Programação Linear Inteira,O Algoritmo Simplex

Notas

Notas

(9)

Limite para Aumento de x1

Linha Variáveis Básicas 0 z ­60x1 ­30x2 ­20x3 = 0 z=0 1 8x1 +6x2 +1x3 +x4 = 48 x4=48 2 4x1 +2x2 +1,5x3 +x5 = 20 x5=20 3 2x1 +1,5x2 +0,5x3 +x6 = 8 x6=8 4 x2 +x7 = 5 x7=5 Limites Linha Restrição Máx x1 1 x4= 48 − 8x1 x4≥ 0 48/8 2 x5= 20 − 4x1 x5≥ 0 20/4 ∗3 x6= 8 − 2x1 x6≥ 0 8/2 4 x1não aparece x7≥ 0 ∞

limite mais apertado

25 / 32

Programação Linear Inteira,O Algoritmo Simplex

Denições Forma Padrão Soluções Básicas Simplex

Calculando a Nova Base

Linha VariáveisBásicas

0 z ­60x1 ­30x2 ­20x3 = 0 z=0

1 8x1 +6x2 +1x3 +x4 = 48 x4=48

2 4x1 +2x2 +1,5x3 +x5 = 20 x5=20

3 2x1 +1,5x2 +0,5x3 +x6 = 8 x6   ↑ x1

4 x2 +x7 = 5 x7=5

Na linha 3 a variável x6sairá da base e entrará a variável x1. Pivoteamento:

Executam-se as operações elementares para que x1apareça com

coeciente 1 nessa linha e com coeciente 0 em todas as outras. A linha 3 é dita linha pivô.

26 / 32

Programação Linear Inteira,O Algoritmo Simplex

Denições Forma Padrão Soluções Básicas Simplex

Nova SBF

Linha VariáveisBásicas

0 z +15x2 ­5x3 +30x6 = 240 z=240 1 ­x3 +x4 ­4x6 = 16 x4=16 2 ­x2 +0,5x3 +x5 ­2x6 = 4 x5=4 3 x1 +0,75x2+0,25x3 +0,5x6 = 4 x1=4 4 x2 +x7 = 5 x7=5 É ótima ?

Se não, quem entra e quem sai da base ?

Programação Linear Inteira,O Algoritmo Simplex

Notas

Notas

(10)

Pivoteamento

Linha VariáveisBásicas

0 z +15x2 ­5x3 +30x6 = 240 z=240 1 ­x3 +x4 ­4x6 = 16 x4=16 2 ­x2 +0,5x3 +x5 ­2x6 = 4 x5   ↑ x3 3 x1 +0,75x2 +0,25x3 +0,5x6 = 4 x1=4 4 x2 +x7 = 5 x7=5 28 / 32

Programação Linear Inteira,O Algoritmo Simplex

Denições Forma Padrão Soluções Básicas Simplex

Nova SBF

Linha Variáveis Básicas 0 z +5x2 +10x5 +10x6 = 280 z=280 1 ­2x2 +x4 +2x5 ­8x6 = 24 x4=24 2 ­2x2 +x3 +2x5 ­4x6 = 8 x3=8 3 x1 +1,25x2 ­0,5x5 +1,5x6 = 2 x1=2 4 x2 +x7 = 5 x7=5

função objetivo:max z = −5x2− 10x5− 10x6 sem variáveis atrativas

Solução Ótima (x1, . . . , x3): (2 , 0 , 8) Base Ótima (x1, . . . , x7): (2 , 0 , 8 , 24 , 0 , 0 , 5)

29 / 32

Programação Linear Inteira,O Algoritmo Simplex

Denições Forma Padrão Soluções Básicas Simplex

Base Ótima - Informações

Linha VariáveisBásicas

0 z +5x2 +10x5 +10x6 = 280 z=280 1 ­2x2 +x4 +2x5 ­8x6 = 24 x4=24 2 ­2x2 +x3 +2x5 ­4x6 = 8 x3=8 3 x1 +1,25x2 ­0,5x5 +1,5x6 = 2 x1=2 4 x2 +x7= 5 x7=5 Custo Reduzido (CR)

Indicado na linha 0 signica: quanto o aumento de uma unidade em cada variável pode reduzir a f.o. z

VB tem CR 0 na base ótima

VNB (ex. x2) na base ótima com 5 indica que aumentar x2em 1 pode

diminuir em 5 unidades a f.o.

Programação Linear Inteira,O Algoritmo Simplex

Notas

Notas

(11)

Base Ótima - Informações

Restrições Ativas - Binding Constraints

Restrições com variável de folga igual a zero.

Linha

Variáveis

Básicas FolgaVar.  Restrição Original 1 ­2x2 +x4 +2x5 ­8x6 = 24 x4=24 x4=24 +8x1+6x2+x3≤48

2 ­2x2+x3 +2x5 ­4x6 = 8 x3=8  x5=0  +4x1+2x2+1,5x3≤20

3 x1 +1,25x2 ­0,5x5 +1,5x6 = 2 x1=2  x6=0  +2x1+1,5x2+0,5x3≤8

4 x2 +x7= 5 x7=5 x7=5 x2≤5

As restrições 2 e 3, (horas de acabamento e carpintaria) são as únicas que estão limitando o aumento do lucro.

31 / 32

Programação Linear Inteira,O Algoritmo Simplex

Denições Forma Padrão Soluções Básicas Simplex

Base Ótima - Informações

Restrições Inativas - Non-binding Constraints

Restrições com variável de folga > 0.

Linha

Variáveis

Básicas FolgaVar.  Restrição Original 1 ­2x2 +x4 +2x5 ­8x6 = 24 x4=24  x4=24  +8x1+6x2+x3≤48

        

2 ­2x2 +x3 +2x5 ­4x6 = 8 x3=8  x5=0  +4x1+2x2+1,5x3≤20

3 x1 +1,25x2 ­0,5x5+1,5x6 = 2 x1=2  x6=0  +2x1+1,5x2+0,5x3≤8

4 x2 +x7 = 5 x7=5  x7=5  x2≤

As restrições 1 e 4, (qtd. de madeira e demanda de armários) são restrições com folga. Ter mais madeira, por exemplo, não vai permitir uma produção maior.

32 / 32

Programação Linear Inteira,O Algoritmo Simplex

Notas

Notas

Referências

Documentos relacionados

Não obstante, é indispensável ter em conta que a maioria dos estudos existentes são de carácter retrospetivo e estudos de modelo prospetivo, com critérios de seleção de

§ 1º As reuniões ordinárias do Conselho Técnico da DRI, previstas no calendário, deverão ser convocadas por seu Presidente, mediante comunicação escrita aos demais membros e

O ciclo PA: Planejamento e pacto Acompanhamento Avaliação Julgamento Digno de confiança, o liderado recebe de seu líder a delegação para fazer acontecer, traduzindo seu

(eventualmente identificado por ponteiro) em tempo de execução. Um processo para girar uma figura, por exemplo, vai chamar o código correto para girar um triângulo, um retângulo,

Remoto – Quando este LED estiver aceso, indica que o painel MBDCI-Local esta em modo REMOTO, ou seja, os comandos de partida e/ou parada do motor diesel serão executados pelo

Neste mês de Março, sábado dia (05) cinco, realizamos um culto especial na aldeia Boca da Mata juntamente com os alunos do curso médio e básico de Teologia, também o nosso conjunto

Os relatos dos professores que participaram da pesquisa confirmaram o pouco cuidado dado aos jovens professores, o que segundo Nóvoa (2006) evidencia o fraco

• VERSÃO DO SEB (SAFE EXAM BROWSER) HOMOLOGADA 2.4 – Segue link para instalar a.. ferramenta, não deixe para baixar de última hora: