24
1 2 Modelos de Programação Linear Conteúdos do Capítulo w Problemas de Programação Linear n Resolução pelo método gráfico n O Problema do Pintor n Minimização n Restrições Redundantes n Solução Múltipla, Ilimitada e Inviável w Casos w Caso Alumilâminas S.A. w Caso Esportes Radicais S.A w Problema da Fazenda w Problema da Mistura w Problema da Dieta w Problema do Estoqu w Análise de sensibilidade

2 Modelos de Programação Linear - DEINF/UFMAacmo/grad/PO_c02_v2005.pdf · 2 Programação Matemática w Um problema de programação matemática é um problema de otimização no

  • Upload
    lamphuc

  • View
    228

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 2 Modelos de Programação Linear - DEINF/UFMAacmo/grad/PO_c02_v2005.pdf · 2 Programação Matemática w Um problema de programação matemática é um problema de otimização no

1

2 Modelos de Programação Linear

Conteúdos do Capítulo w Problemas de Programação Linear

n Resolução pelo método gráfico n O Problema do Pintor n Minimização n Restrições Redundantes n Solução Múltipla, Ilimitada e Inviável

w Casos w Caso Alumilâminas S.A. w Caso Esportes Radicais S.A w Problema da Fazenda w Problema da Mistura w Problema da Dieta w Problema do Estoqu w Análise de sensibilidade

Page 2: 2 Modelos de Programação Linear - DEINF/UFMAacmo/grad/PO_c02_v2005.pdf · 2 Programação Matemática w Um problema de programação matemática é um problema de otimização no

2

Programação Matemática w Um problema de programação matemática é um

problema de otimização no qual o objetivo e as restrições são expressos como funções matemáticas e relações funcionais.

Variáveis de Decisão w x1 , x2,...,xn , são as chamadas Variáveis de Decisão. w As variáveis de decisão são aqueles valores que

representam o cerne do problema, e que podemos escolher (decidir) livremente. w As variáveis de decisão representam as opções que um

administrador têm para atingir um objetivo. ¦ Quanto produzir para maximizar o lucro? ¦ Quanto comprar de uma ação para minimizar o risco

da carteira?

≥=≤

=

nnn

n

n

n

b

bb

xxxg

xxxgxxxg

xxxfz

:),...,,(

:),...,,(),...,,(

:a Sujeito

),...,,( :Otimizar

2

1

21

212

211

21

Page 3: 2 Modelos de Programação Linear - DEINF/UFMAacmo/grad/PO_c02_v2005.pdf · 2 Programação Matemática w Um problema de programação matemática é um problema de otimização no

3

Programação Linear w Um problema de programação matemática é linear se a

função objetivo e cada uma das funções que representam as restrições forem lineares, isto é, na forma abaixo:

Quebrando a Linearidade w A presença de qualquer das expressões abaixo tornam o

problema não linear. n Exemplos:

Exemplos

nnn xcxcxcxxxf +++= ...),...,,( 221121

g x x x a x a x a xi n i i in n( , , . . . , ) . . .1 2 1 1 2 2= + + +

nnn xcxcxcxxxf +++= ...),...,,( 221121

g x x x a x a x a xi n i i in n( , , . . . , ) . . .1 2 1 1 2 2= + + +

( ) 1 para 1 ≠nx n

( ) a basequalquer para log 1xa

aa x devalor qualquer para 1

( ) 1 para 1 ≠nx n

( ) a basequalquer para log 1xa

aa x devalor qualquer para 1

0,60020180

2042s.r.max

21

21

21

21

≥≤+

≤+

+

xxxx

xx

xx

0,

600201802032

s.r.2min

21

21

21

21

=+≥+

+

xx

xxxx

xx

0,60020180

2042s.r.max

21

21

21

21

≥≤+

≤+

+

xxxx

xx

xx

0,

600201802032

s.r.2min

21

21

21

21

=+≥+

+

xx

xxxx

xx

Page 4: 2 Modelos de Programação Linear - DEINF/UFMAacmo/grad/PO_c02_v2005.pdf · 2 Programação Matemática w Um problema de programação matemática é um problema de otimização no

4

Programação Linear Áreas de Aplicação

w Administração da Produção w Análise de Investimentos w Alocação de Recursos Limitados w Planejamento Regional w Logística

n Custo de transporte n Localização de rede de distribuição

w Alocação de Recursos em Marketing entre diversos meios de comunicação.

Problema na Forma Padrão

w Existem 4 características para um problema na forma padrão: n A função objetivo é de Maximizar; n As restrições têm sinal de menor ou igual; n As constantes de todas as restrições são não negativas; n As variáveis podem assumir valores não negativos.

0,...,,

...

......

:a Sujeito

... Maximizar

321

2211

22222121

11212111

2211

≥≤+++

≤+++≤+++

+++=

n

mnmnmm

nn

nn

nn

xxxx

bxaxaxa

bxaxaxabxaxaxa

xcxcxcZ

Não negativos

0,...,,

...

......

:a Sujeito

... Maximizar

321

2211

22222121

11212111

2211

≥≤+++

≤+++≤+++

+++=

n

mnmnmm

nn

nn

nn

xxxx

bxaxaxa

bxaxaxabxaxaxa

xcxcxcZ

Não negativos

Page 5: 2 Modelos de Programação Linear - DEINF/UFMAacmo/grad/PO_c02_v2005.pdf · 2 Programação Matemática w Um problema de programação matemática é um problema de otimização no

5

Propriedades

Hipótese de Aditividade

Considera as atividades (variáveis de decisão) do modelo como entidades totalmente independentes, não permitindo que haja interdependência entre as mesmas, isto é, não permitindo a existência de termos cruzados, tanto na função-objetivo como nas restrições. Esta é a própria hipótese de linearidade do PPL

Hipótese de Proporcionalidade

O valor da função-objetivo é proporcional ao nível de atividade de cada variável de decisão, isto é, o valor da função objetivo se altera de um valor constante dada uma variação constante da variável de decisão;

Hipótese de Divisibilidade

Assume que todas as unidades de atividade possam ser divididas em qualquer nível fracional, isto é, qualquer variável de decisão pode assumir qualquer valor positivo fracionário. Esta hipótese pode ser quebrada, dando origem a um problema especial de programação linear, chamado de problema combinatório.

Hipótese de Certeza

Assume que todos os parâmetros do modelo são constantes conhecidas. Em problemas reais, isto é quase nunca satisfeito, em geral, constantes são estimadas. Requer uma análise de sensibilidade, sobre o que falaremos posteriormente.

Page 6: 2 Modelos de Programação Linear - DEINF/UFMAacmo/grad/PO_c02_v2005.pdf · 2 Programação Matemática w Um problema de programação matemática é um problema de otimização no

6

Terminologia

Solução: No campo de Programação Linear é qualquer especificação de valores para as variáveis de decisão, não importando se esta especificação se trata de uma escolha desejável ou permissível.

w Solução Viável: É uma solução em que todas as restrições são satisfeitas; w Solução Inviável: É uma solução em que alguma das

restrições ou as condições de não-negatividade não são atendidas;

Exemplos de Solução Viável e Inviável

x1 = 3 ; x2 = 2 S = (3, 2) solução viável: todas as restrições não são violadas x1 = 3 ; x2 = 4 S = (3, 4) solução inviável: as restrições são violadas

0,

8001001802042

s.r.

max

21

21

21

21

≤+≤+

+=

xx

xxxx

xxz

x1 = 3 ; x2 = 2 )2,3(=S

x1 = 3 ; x2 = 4 )4,3(=S0,

8001001802042

s.r.

max

21

21

21

21

≤+≤+

+=

xx

xxxx

xxz

x1 = 3 ; x2 = 2 )2,3(=S

x1 = 3 ; x2 = 4 )4,3(=S

Page 7: 2 Modelos de Programação Linear - DEINF/UFMAacmo/grad/PO_c02_v2005.pdf · 2 Programação Matemática w Um problema de programação matemática é um problema de otimização no

7

wValor de Função-Objetivo: o conjunto de possíveis soluções viáveis corresponde a um conjunto de valores de função-objetivo.

Solução ótima é aquela, dentre todas as soluções viáveis, que produz o melhor (menor ou maior) valor da função objetivo. w Algoritmos (ou métodos algorítmicos) que buscam,

dentre todas as soluções viáveis, por uma solução em especial podem ser chamados de algoritmos de busca. w Observação (1): Em Inteligência artificial, costuma-

se estudar algoritmos de busca em espaço de estados. Existem algoritmos de busca em largura, em profundidade e heurísticos.

w Muitas vezes uma solução aproximada (segundo critérios subjetivos de qualidade) satisfaz requisitos operacionais e pode ser obtida com esforço computacional menor. Neste caso, algoritmos heurísticos, também conhecidos como algoritmos aproximativos, são uma opção bastante interessante. w O conjunto de soluções viáveis forma o que é chamado

de espaço de busca de um determinado problema. w O espaço de busca pode ser entendido como uma

discretização do espaço real de soluções do problema. A maioria dos métodos de otimização trabalham sobre o espaço de busca e não sobre o espaço real.

0,800100180

2042

s.r. max

21

21

21

21

≥≤+

≤+

+=

xxxx

xx

xxz)1,1(=S 2=Z

)1,2(=S 3=Z

)2,3(=S 5=Z0,

800100180

2042

s.r. max

21

21

21

21

≥≤+

≤+

+=

xxxx

xx

xxz)1,1(=S 2=Z

)1,2(=S 3=Z

)2,3(=S 5=Z

Page 8: 2 Modelos de Programação Linear - DEINF/UFMAacmo/grad/PO_c02_v2005.pdf · 2 Programação Matemática w Um problema de programação matemática é um problema de otimização no

8

Solução gráfica

w Quando o problema envolve apenas duas variáveis de decisão, a solução ótima de um problema de programação linear pode ser encontrada graficamente. w Com poucas variáveis, métodos exatos ou enumerativos

produzem soluções ótimas em tempo computacional razoável w Com muitas variáveis, métodos aproximativos são

indicados.

Exemplo(1)

Max Z x x= +5 21 2

1x (b)≤ 42

x x (c)+ ≤2 91 2

s r x (a)≤ 3. .

x x (d)≥ ≥0 01 2,

Max Z x x= +5 21 2

1x (b)≤ 42x (b)≤ 42

x x (c)+ ≤2 91 2x x (c)+ ≤2 91 2

s r x (a)≤ 3. .s r x (a)≤ 3. .

x x (d)≥ ≥0 01 2,x x (d)≥ ≥0 01 2, 21 4

12

x13

x2

x ≤4234

x ≤31

x ≥01

x ≥0221 4

12

x13

x2

x ≤42x ≤42x ≤4234

x ≤31x ≤31x ≤31

x ≥01x ≥01x ≥01

x ≥02x ≥02x ≥02

x ≤ 4292 12 xx −=

121

29

2 xx −=

x ≤ 31

x1

92 21 xx ≤+

x ≥ 01

x ≥ 02

x2

(3,0)(0,0)

(0,4)(3,4)

LimiteReta92 21 xx =+

121

29

2 xx −≤Região Limitada

(1,4)

(3,3)x ≤ 42x ≤ 42

92 12 xx −=

121

29

2 xx −=92 12 xx −=92 12 xx −=

121

29

2 xx −=

x ≤ 31

x ≤ 31

x1

92 21 xx ≤+

x ≥ 01

x ≥ 02

x2

(3,0)(0,0)

(0,4)

x1

92 21 xx ≤+

x ≥ 01

x ≥ 02

x2

(3,0)(0,0)

(0,4)

92 21 xx ≤+ 92 21 xx ≤+ 92 21 xx ≤+

x ≥ 01x ≥ 01x ≥ 01

x ≥ 02x ≥ 02x ≥ 02

x2

(3,0)(0,0)

(0,4)(3,4)

LimiteReta92 21 xx =+ LimiteReta92 21 xx =+ LimiteReta92 21 xx =+

121

29

2 xx −≤Região Limitada

(1,4)

(3,3)

121

29

2 xx −≤Região Limitada

121

29

2 xx −≤Região Limitada

(1,4)

(3,3)

(1,4)

(3,3)

x2

x1

(0,4)(1,4)

(0,0) (3,0)

SoluçãoViável

(3,3)

21 2510 xxZ +==

= SoluçãoÓtima

21 2521 xxZ +==

(3,3)21 250 xxZ +==

(0,0)

x2

x1

(0,4)(1,4)

(0,0) (3,0)

SoluçãoViável

(3,3)

21 2510 xxZ +== 21 2510 xxZ +==

= SoluçãoÓtima

21 2521 xxZ +==

(3,3)= SoluçãoÓtima

21 2521 xxZ +==

(3,3)21 250 xxZ +==

(0,0)

21 250 xxZ +==

(0,0)(0,0)

Page 9: 2 Modelos de Programação Linear - DEINF/UFMAacmo/grad/PO_c02_v2005.pdf · 2 Programação Matemática w Um problema de programação matemática é um problema de otimização no

9

Exemplo(2)

0, 2446

1242 ..33

21

21

21

21

≥≤+≤+

+

xxxxxxtsxxMax

Exemplo(3)

Max 4x1 + 3x2 s.t. x1 + 3x2 ≤ 7 2x1 + 2x2 ≤ 8 x1 + x2 ≤ 3 x2 ≤ 2 x1, x2≥ 0

Solução ÓtimaSolução Ótima

(0,0)

1

2

0 1 2 3 4 5 6

3

X2

02 ≥x

01 ≥x X1

(0,3)

(6,0)

1242 21 ≤+ xx

(4,0)

(0,6) 2446 21 ≤+ xx5

4

6

7

1

2

0 1 2 3 4 5 6

3

X2

X1

5

4

6

7

21 330 xxZ +==

21 336 xxZ +==

21 335,13 xxZ +==

Page 10: 2 Modelos de Programação Linear - DEINF/UFMAacmo/grad/PO_c02_v2005.pdf · 2 Programação Matemática w Um problema de programação matemática é um problema de otimização no

10

Exemplo(4)

Maximizar 4x1 + 8x2 st 3x1 + 2x2 ≤ 18 x1 + x2 ≤ 5 x1 ≤ 4 x1, x2 ≥ 0

Exemplo (5)

Solução

Page 11: 2 Modelos de Programação Linear - DEINF/UFMAacmo/grad/PO_c02_v2005.pdf · 2 Programação Matemática w Um problema de programação matemática é um problema de otimização no

11

O Problema do Pintor w Um Pintor faz quadros artesanais para vender numa feira que

acontece todo dia à noite. Ele faz quadros grandes e desenhos pequenos, e os vende por R$5,00 e R$3,00, respectivamente. Ele só consegue vender 3 quadros grandes e 4 quadros pequenos por noite. O quadro grande é feito em uma hora (grosseiro) e o pequeno é feito em 1 hora e 48 minutos (detalhado). O desenhista desenha 8 horas por dia antes de ir para a feira. Quantos quadros de cada tipo ele deve pintar para maximizar a sua receita?

A Decisão do Pintor

w O que o desenhista precisa decidir? w O que ele pode fazer para

aumentar ou diminuir a sua receita? w A decisão dele é como

usar as 8 horas diárias: quantos desenhos pequenos e grandes ele deve fazer?

w Função Objetivo: maximizar a receita

Page 12: 2 Modelos de Programação Linear - DEINF/UFMAacmo/grad/PO_c02_v2005.pdf · 2 Programação Matemática w Um problema de programação matemática é um problema de otimização no

12

w Exemplo (7):

Page 13: 2 Modelos de Programação Linear - DEINF/UFMAacmo/grad/PO_c02_v2005.pdf · 2 Programação Matemática w Um problema de programação matemática é um problema de otimização no

13

w Restrições redundantes w Uma restrição é dita redundante quando a sua

exclusão do conjunto de restrições de um problema não altera o conjunto de soluções viáveis deste. w É uma restrição que não participa da

determinação do conjunto de soluções viáveis. w Existe um outro problema sem essa restrição

com a mesma solução ótima. Exemplo (8): Restrições redundantes

Exemplo (9): Soluções múltiplas

X1 10 8 6

51 ≤x

4 2

62 ≤x

221 ≤+− xx10

14

12 X2

8

6 4

-2

2

-2

1553 21 ≥+ xx

2045 21 ≥+ xx

02 ≥x

01 ≥x

12 21 ≥+ xx

Restrição Redundante

X

10

8 6

51 ≤x

4 2

62 ≤x

221 ≤+− xx

10

14

12 X

8

6 4

-2

2

-2

1553 21 ≥+ xx

02 ≥x

02 ≥x

01 ≥x

Soluções Múltipla

Page 14: 2 Modelos de Programação Linear - DEINF/UFMAacmo/grad/PO_c02_v2005.pdf · 2 Programação Matemática w Um problema de programação matemática é um problema de otimização no

14

Exemplo (10): Solução ilimitada

w Solução Inviável w Um problema de programação linear é dito inviável

quando o conjunto de soluções viáveis é vazio. w Exemplo (11):

X1 10 8 6 4 2

62 ≤x

221 ≤+− xx

10

14

12 X2

8

6 4

-2

2

-2

1553 21 ≥+ xx

2045 21 ≥+ xx

01 ≥x

01 ≥x

Cresce indefinidamente

12 21 ≤+ xx

-2 -2

2

4

6

8

10

12

14

2 4 6 8 10

12 21 ≤+ xx

X2

X1

Conjunto de Soluções Viáveis é vazio

Page 15: 2 Modelos de Programação Linear - DEINF/UFMAacmo/grad/PO_c02_v2005.pdf · 2 Programação Matemática w Um problema de programação matemática é um problema de otimização no

15

Caso Alumilâminas S.A. w A indústria Alumilâminas S/A iniciou suas operações em

janeiro de 2001 e já vem conquistando espaço no mercado de laminados brasileiro, tendo contratos fechados de fornecimento para todos os 3 tipos diferentes de lâminas de alumínio que fabrica: espessura fina, média ou grossa. Toda a produção da companhia é realizada em duas fábricas, uma localizada em São Paulo e a outra no Rio de Janeiro. Segundo os contratos fechados, a empresa precisa entregar 16 toneladas de lâminas finas, 6 toneladas de lâminas médias e 28 toneladas de lâminas grossas. Devido à qualidade dos produtos da Alumilâminas S/A, há uma demanda extra para cada tipo de lâmina. A fábrica de São Paulo tem um custo de produção de R$ 100.000,00 para uma capacidade produtiva de 8 toneladas de lâminas finas, 1 tonelada de lâminas médias e 2 toneladas de lâminas grossas por dia. O custo de produção diário da fábrica do Rio de Janeiro é de R$ 200.000,00 para uma produção de 2 toneladas de lâminas finas, 1 tonelada de lâminas médias e 7 toneladas de lâminas grossas. Quantos dias cada uma das fábricas deverá operar para atender os pedidos ao menor custo possível? (resolva pela análise gráfica – deslocamento da função objetivo).

wVariáveis de Decisão wX1 – Quantos dias de funcionamento da Fábrica de São Paulo wX2 – Quantos dias de funcionamento da Fábrica do Rio de Janeiro

Page 16: 2 Modelos de Programação Linear - DEINF/UFMAacmo/grad/PO_c02_v2005.pdf · 2 Programação Matemática w Um problema de programação matemática é um problema de otimização no

16

wFunção-Objetivo wMinimizar Custo de Produção (mil R$) = 100 x1 + 200 x2

w Restrições de Demanda n Placas Finas

n Placas Médias

n Placas Grossas

w Restrições de Não Negatividade

Page 17: 2 Modelos de Programação Linear - DEINF/UFMAacmo/grad/PO_c02_v2005.pdf · 2 Programação Matemática w Um problema de programação matemática é um problema de otimização no

17

Caso Esportes Radicais S.A. w A Esportes Radicais S/A produz pára-quedas e asa-deltas em

duas linhas de montagem. A primeira linha de montagem tem 100 horas semanais disponíveis para a fabricação dos produtos, e a segunda linha tem um limite de 42 horas semanais. Cada um dos produtos requer 10 horas de processamento na linha 1, enquanto que na linha 2 o pára-quedas requer 3 horas e a asa-delta requer 7 horas. Sabendo que o mercado está disposto a comprar toda a produção da empresa, bem como que o lucro pela venda de cada pára-quedas é de R$ 60,00 e o lucro para cada asa-delta vendida é R$ 40,00, encontre a programação de produção que maximize o lucro da Esportes Radicais S/A. (resolva pela análise gráfica – deslocamento da função objetivo).

w Variáveis de Decisão n X1 – Quantidade de Pára-

Quedas a serem produzidos

n X2 – Quantidade de Asa Deltas a serem produzidos

w Função-objetivo n Max 60x1 + 40x2

Page 18: 2 Modelos de Programação Linear - DEINF/UFMAacmo/grad/PO_c02_v2005.pdf · 2 Programação Matemática w Um problema de programação matemática é um problema de otimização no

18

Solução Analítica

w Problemas de Programação Linear

Page 19: 2 Modelos de Programação Linear - DEINF/UFMAacmo/grad/PO_c02_v2005.pdf · 2 Programação Matemática w Um problema de programação matemática é um problema de otimização no

19

Solução Analítica w Solução viável inicial

w Decisão de otimalidade

A solução não é ótima, já que o incremento de uma das variáveis não básicas fará com que o valor da função-objetiva seja aumentado. w Enquanto dentre essas variáveis existir alguma que

tiver coeficiente positivo, isso significa dizer que a solução atual pode ser melhorada.

Page 20: 2 Modelos de Programação Linear - DEINF/UFMAacmo/grad/PO_c02_v2005.pdf · 2 Programação Matemática w Um problema de programação matemática é um problema de otimização no

20

Solução Analítica w Obtenha uma solução viável melhor baseado em algum

critério a) Enumerativo: inspecionar todas as soluções viáveis; b) Heurístico: verificar uma que tenha grande chance de

ser melhor baseando-se em algum conhecimento acerca do problema. Caso simplex:

i. Determinação da variável que entra na base ii. Determinação da variável que sai da base

w Entra na base (passa a fazer parte da solução):

a) Variável com maior coeficiente na função objetivo b) ?

w Sai da base (deixa de fazer parte da solução): c) Variável que impõe maior restrição ao crescimento

da variável escolhida para entrar na base

Page 21: 2 Modelos de Programação Linear - DEINF/UFMAacmo/grad/PO_c02_v2005.pdf · 2 Programação Matemática w Um problema de programação matemática é um problema de otimização no

21

Solução Analítica

É desejável que a variável que entre na base cresça o máximo possível. Para tanto, a variável que sai terá que decrescer o máximo possível, isto é, se tornar zero.

Page 22: 2 Modelos de Programação Linear - DEINF/UFMAacmo/grad/PO_c02_v2005.pdf · 2 Programação Matemática w Um problema de programação matemática é um problema de otimização no

22

w Exemplo

Page 23: 2 Modelos de Programação Linear - DEINF/UFMAacmo/grad/PO_c02_v2005.pdf · 2 Programação Matemática w Um problema de programação matemática é um problema de otimização no

23

Page 24: 2 Modelos de Programação Linear - DEINF/UFMAacmo/grad/PO_c02_v2005.pdf · 2 Programação Matemática w Um problema de programação matemática é um problema de otimização no

24

Problemas de Forma Não-Padrão

w Problemas de programação linear podem apresentar outras formas, tais como, igualdades e formas maior ou igual e/ou constantes não positivas nas restrições, ou ainda problemas de minimização. w Estas formas de modelo apresentam problemas de se

encontrar a solução básica inicial. n Por não existir esta solução básica inicial n Por não ser óbvia a solução inicial

Problemas de Inicialização

w Minimização pode ser transformada em uma maximização: min Z = max - Z w No caso de alguma restrição, ser representada por uma

igualdade, ou por uma inequação do tipo maior ou igual, ao invés de uma restrição de menor ou igual, quatro soluções possíveis podem ocorrer:

1. Substituição da restrição de igualdade por duas desigualdades.

2. Processo do “M Grande” 3. Método da Função Objetivo Artificial 4. Método das Duas Fases