Transcript
Capítulo 4
Programação Linear
1
CAPÍTULO 4 Programação Linear
4.1
Introdução Este capítulo visa estudar alguns problemas de otimização que envolve maximizar ou
minimizar uma função restrita a certas condições. Estamos sempre interessados em minimizar custos, maximizar lucros, rendimentos etc. A programação linear é uma técnica que permite a resolução destes problemas no caso específico em que as funções a serem analisadas são lineares.
4.2
Conjuntos Convexos
Definição 1 – Um subconjunto S de n é chamado convexo se para quaisquer dois pontos A e B de S o segmento AB está inteiramente contido em S. Vale lembrar que sendo A e B dois pontos do R n . O segmento de extremos A e B é o conjunto AB de pontos, dado por: AB = {(1 − t ) A + tB; 0 ≤ t ≤ 1}
Exemplo 1. Observe as seguintes regiões de 2 .
Pesquisa Operacional
Jhoab Negreiros
Capítulo 4
4.3
Programação Linear
2
Região Poliedral Convexa Fechada
Definição 2 – Um conjunto que divide um espaço vetorial em dois semi-espaços é chamado de hiperplano.
Exemplo 2. Considere os seguintes espaços vetoriais: No espaço tridimensional o hiperplano é um plano; No espaço bidimensional o hiperplano é uma reta; No espaço unidimensional o hiperplano é um ponto. Observe que o hiperplano divide o espaço vetorial em 2 semi-espaços.
Para hiperplanos definidos por uma equação de mais do que três variáveis não teremos uma visão geométrica dos semi-espaços vetoriais como nos exemplos anteriores, mas estes conceitos são abordados da mesma maneira: Hiperplano H = ( x1 , x2 ,… , xn ) ∈ n ; a1 x1 + a2 x2 + … + an xn = b
que divide o R n em dois semi-espaços fechados:
H + = ( x1 ,… , xn ) ∈ n ; a1 x1 + a2 x2 + … + an xn ≥ b e H − = ( x1 ,… , xn ) ∈ n ; a1 x1 + a2 x2 + … + an xn ≤ b
Definição 3 – Uma região poliedral convexa fechada em n é uma interseção de uma quantidade finita de semi-espaços fechados do n .
4.4
Desigualdades Lineares
Pesquisa Operacional
Jhoab Negreiros
Capítulo 4
Programação Linear
3
Como visto acima os semi-espaços são dados por desigualdades lineares, uma desigualdade linear é simplesmente uma equação linear, onde o sinal de igual é substituído por <, ≤ , > ou ≥ .
Exemplo 3. Seja a desigualdade linear 2 x + y ≤ 8 . Solução: Primeiramente substituímos o sinal ≤ por =, assim tornamos a desigualdade uma equação linear, representamos essa equação no plano e em seguida, observamos qual semi-plano satisfaz a desigualdade (pela simplicidade dos cálculos, geralmente utilizamos a origem do plano para verificar a região satisfeita pela desigualdade).
4.5
Programação Linear (PL) A programação linear trata do problema específico de: maximizar ou minimizar uma função
do tipo:
f ( x1 ,… , xn ) = a1 x1 ,… , an xn + b, restrita a um subconjunto A poliedral convexo de R n . Na linguagem de programação linear (PL), f é chamada função objetivo (f.o.) e A é denominada região factível.
Definição 4 – Dada uma região poliedral convexa fechada do n , os vértices dessa região são os pontos da região que satisfazem um dos possíveis sistemas de n equações lineares independentes, obtidas substituindo-se as desigualdades por igualdades.
Pesquisa Operacional
Jhoab Negreiros
Capítulo 4
Programação Linear
4
Exemplo 4. Observe a situação a seguir, onde há uma empresa que pretende otimizar a produção mensal de dois produtos A e B:
Nesta situação é necessária entender que: O objetivo é maximizar o lucro total da venda da produção; A produção está superiormente limitada pelos 300 metros de madeira e 110 horas de trabalho disponíveis; São possíveis vários níveis de produção; Dos possíveis níveis de produção é necessário conhecer qual ou quais podem classificar-se de ótimos.
Como programar matematicamente esta situação (modelo matemático linear) para obter informações para a tomada de decisão?
Primeira pergunta: Quantas unidades de A e B podemos produzir? Definir as duas variáveis de decisão: x1 como o número de unidades do produto A; x2 como o número de unidades do produto B.
Segunda pergunta: Que valores podemos admitir para as variáveis de decisão? Em x1 unidades de A consomem-se 30x1 metros de madeira; Em x2 unidades de B consomem-se 20x2 metros de madeira. Pesquisa Operacional
Jhoab Negreiros
Capítulo 4
Programação Linear
5
Não podemos ultrapassar os 300 metros de madeira disponíveis então 30 x1 + 20 x2 ≤ 300 . Em x1 unidades de A consomem-se 5x1 horas de trabalho; Em x2 unidades de B consomem-se 10x2 horas de trabalho. Não podemos ultrapassar as 110 horas de trabalho disponíveis então 5 x1 + 10 x2 ≤ 110 . E a restrição de não negatividade do problema x1 ≥ 0 e x2 ≥ 0 .
Terceira pergunta: Qual o objetivo a ser alcançado com a produção de A e B? O lucro da venda de 1 unidade de A é de $ 6; O lucro da venda de 1 unidade de B é de $ 8. O lucro total da venda de x1 unidades de A e de x2 unidades de B é de 6 x1 + 8 x2 . O objetivo é conhecer o maior valor que é possível ao atingir o lucro total 6 x1 + 8 x2 , ou seja, é necessário calcular o máximo da função linear f ( x1 , x2 ) = 6 x1 + 8 x2 , condicionado às restrições.
Resumindo: Maximizar o lucro total das vendas f ( x1 , x2 ) = 6 x1 + 8 x2 (função objetivo); Restrições
do
problema
Madeira : 30 x1 + 20 x2 ≤ 300
e
Horas de trabalho :
5 x1 + 10 x2 ≤ 110 ; Restrições de não negatividades x1 , x2 ≥ 0 .
Geometria do modelo de Programação Linear
Considere um sistema de eixos cartesianos com o eixo das abscissas associado a x1 (produção de A) e o eixo das ordenadas associado a x2 (produção de B). Relaxando a condição de desigualdade das restrições técnicas, estas passam a ser equações que definem retas. Cada uma destas retas divide o espaço 2 em dois semi-espaços.
A figura a seguir apresenta o sistema de eixos e as duas retas:
Pesquisa Operacional
Jhoab Negreiros
Capítulo 4
Programação Linear
6
Pela condição de não negatividade temos que, somente os pontos do 1° quadrante são soluções admissíveis. Pela outras restrições técnicas dos problemas obtemos a região das possíveis soluções do problema. Pelas interseções de todos os semi-espaços definidos pelas desigualdades temos a região poliedral convexa fechada (região factível). A figura a seguir apresenta o espaço de soluções possíveis (região factível)
Pesquisa Operacional
Jhoab Negreiros
Capítulo 4
Programação Linear
7
Qualquer ponto da região factível é uma possível solução, então agora resta saber qual deste ponto torna o valor máximo para a função objetivo.
Considere: A função tem valor 0, a equação desta curva de nível é 6 x1 + 8 x2 = 0 ; A função tem valor 24, a equação desta curva de nível é 6 x1 + 8 x2 = 24 ; A função tem valor 48, a equação desta curva de nível é 6 x1 + 8 x2 = 48 .
Da análise da figura acima, verificamos que o valor da função aumenta à medida que nos afastamos da origem, então a última curva de nível que podemos traçar contendo um ponto da região factível é a correspondente ao máximo da função objetivo.
Obs: Se a última curva de nível pertencer a mais do que um ponto da região factível, haverá várias soluções ótimas alternativas, dizemos que a solução ótima é indeterminada ou múltipla.
Pesquisa Operacional
Jhoab Negreiros
Capítulo 4
Programação Linear
A figura a seguir mostra que o ponto de interseção das retas
8
30 x1 + 20 x2 = 300 e
5 x1 + 10 x2 = 110 é o ponto ótimo com coordenada (4, 9) sendo o máximo da função objetivo: f (4,9) = 6 × 4 + 8 × 9 = 24 + 72 = 96
A produção ótima é, portanto de 4 unidades de A e 9 unidades de B a que está associada o lucro máximo de 96 dólares.
Vetor gradiente: O gradiente da função é perpendicular às curvas de nível da função e indica a direção e o sentido em que a função aumenta mais rapidamente, portanto podemos utilizá-lo para identificar o ponto ótimo na região factível. O vetor gradiente é o conjunto das derivadas parciais de uma função e representaremos por: df df ∇f ( x, y ) := , dx dx
Retornando ao exemplo, calculemos o gradiente da função objetivo. df df ∇f ( x, y ) := = 6, = 8 dx dx Pesquisa Operacional
Jhoab Negreiros
Capítulo 4
Programação Linear
9
A última reta que se pode traçar indica o ponto ou pontos em que a função atinge o seu máximo. Na figura a seguir podemos ver o espaço das soluções admissíveis, o gradiente da função e as curvas de nível na origem dos eixos (função com valor nulo) e no ponto ótimo (função com valor 96).
Obs: Se o objetivo for minimizar a função objetivo, o sentido em que a função decresce é o oposto ao indicado pelo vetor gradiente. Exemplo 5. Considere que um agricultor queira adubar a sua plantação e disponha de dois tipos de adubo. O primeiro contém 3 g de fósforo, 1 g de nitrogênio e 8 g de potássio, e custa $ 10 por quilograma. O segundo tipo contém 2 g de fósforo, 3 g de nitrogênio e 2 g de potássio, e custa $ 8 por quilograma. Sabemos que um quilograma de adubo dá para 10 m² de terra, e que o solo em que estão suas plantações necessita de pelo menos 3 g de fósforo, 1,5 g de nitrogênio e 4 g de potássio a cada 10m². Quanto o agricultor deve comprar de cada adubo, para cada 10² de terra, de modo a conseguir ter o mínimo custo? Solução:
Pesquisa Operacional
Jhoab Negreiros
Capítulo 4
Programação Linear
x primeiro adubo
y segundo adubo
Necessidades mínimas de adubo
Fósforo
3
2
3
Nitrogênio
1
3
1,5
Potássio
8
2
4
Custo $ 10
Custo $ 8
10
Chamemos de x a quantidade em kg do primeiro tipo de adubo e y a do segundo tipo; Primeira restrição x ≥ 0 e y ≥ 0 ; Segunda restrição 3 x + 2 y ≥ 3 ; Terceira restrição x + 3 y ≥ 1,5 ; Quarta restrição 8 x + 2 y ≥ 4 . Colocando num gráfico as quantidades x (como abscissa) e y (como ordenada) temos:
Observe que para os valores x e y satisfazerem simultaneamente todas as desigualdades, o ponto (x, y) deve pertencer à região hachurada A (região factível). Note que esta região A é dada por uma interseção de semi-espaços fechados do 2 . Além disso, queremos que o custo dado pela função f ( x, y ) = 10 x + 8 y (função objetivo) seja mínimo, isto é, estamos procurando na região hachurada, qual é o ponto (x, y) no qual f ( x, y ) tem o menor valor.
Pesquisa Operacional
Jhoab Negreiros
Capítulo 4
Programação Linear
11
Note que da maneira como foi definida uma região poliedral convexa fechada é sempre obtida por um sistema de desigualdades lineares, nesta região procuramos pontos especiais (os vértices). 1 6 6 3 3 P1 ( 0, 2 ) , P2 , , P3 , e P4 , 5 5 7 14 2
0
Observe que estes pontos são dados por interseção de duas retas que definem os semiespaços. 3x + 2 y = 3 P2 é dado pela solução do sistema 8 x + 2 y = 0
3x + 2 y = 3 Note que o ponto (0, 3 / 2) é solução do sistema , mas não pertence à região A. =0 x
Obs: Depois de resolver um sistema, a fim de verificar se o ponto está na região, testamos para ver se ele satisfaz todas as desigualdades. Vamos resolver este problema pelo método geométrico. df df Calculemos o vetor gradiente da função objetivo ∇f ( x, y ) := , (lembremos que o dx dx
vetor gradiente aponta para a direção e sentido em que a direção e o sentido da função é maior); ∇f ( x, y ) = (10,8)
Observe que f é constante nas retas perpendiculares ao vetor gradiente (10, 8) ; Note que partindo da origem na direção do vetor gradiente (10, 8) , o valor da função f torna-se cada vez maior; Evidentemente quanto menor o deslocamento na direção do vetor gradiente (10, 8) , a função f assume valores cada vez menores;
Pesquisa Operacional
Jhoab Negreiros
Capítulo 4
Programação Linear
12
Logo, a função objetivo assume seu mínimo no vértice da região factível que estiver na reta perpendicular à direção do vetor gradiente (10, 8) , mais próximo da origem. Neste caso, o ponto P3 .
6 3 72 6 3 Finalmente! A solução f , ≅ 10,3 = 10 × + 8 × = 7 14 7 7 14
4.6
Atividades
Exercício 1. Faça o gráfico dos seguintes sistemas de desigualdades simultâneas:
2 x − y ≤ 4 (a) x + y ≥ −1 y ≤ 4 x ≥ 0 y ≥ 0 (b) x + y ≤ 2 2 x + y ≤ 3 x ≥ 0 (c) y ≥ 0 3x + y ≥ 2
Pesquisa Operacional
Jhoab Negreiros
Capítulo 4
Programação Linear
13
4 x + 3 y ≤ 12 (d) x − 2 y ≤ 2 y − 3x ≤ 3
Exercício 2. Determine o valor máximo e o valor mínimo da função lucro L = 15 x + 25 y , sujeita às seguintes condições:
x ≥ 0 (a) y ≥ 0 3x + 4 y ≤ 15 x ≥ 0 y ≥ 0 (b) x ≤ 5 y ≤ 3 x ≥ 0 y ≥ 0 (c) x + y ≤ 25 2 x + 2 y ≥ 10
Exercício 3. Determine o máximo da função expressa por 2 x + y, sujeita às restrições x ≥ 0 , y ≥ 0 , x + y ≤ 3 e 4x + y ≤ 0 :
Exercício 4. (Problema de economia) Um comerciante vende dois tipos de artigos, A e B. Na venda do artigo A tem um lucro de 20 por unidade e na venda do artigo B, um lucro de 30. Em seu depósito só cabem 100 artigos e sabe-se que por compromissos já assumidos, ele venderá pelo menos 15 artigos do tipo A e 25 do tipo B. O distribuidor pode entregar ao comerciante, no máximo, 60 artigos A e 50 artigos B. Quantos artigos de cada tipo deverão o comerciante encomendar ao distribuidor para que, supondo que os venda todos, obtenha o lucro máximo? Exercício 5. (Problema de transporte) Uma firma comercial tem 40 unidades de mercadoria no depósito D1 e 50 unidades no depósito D2. Deve enviar 30 unidades ao cliente A e 40 ao cliente B. Os gastos de transporte por unidade de mercadoria estão indicados no esquema abaixo. De que maneira deve enviar essas mercadorias para que o gasto com transporte seja mínimo?
Pesquisa Operacional
Jhoab Negreiros
Capítulo 4
Programação Linear
14
Exercício 6. (Problema de dieta) Dois produtos P e Q contêm as vitaminas A, B e C nas quantidades indicadas na tabela a seguir. A última coluna indica a quantidade mínima necessária de cada vitamina para uma alimentação sadia, e a última linha indica o preço de cada produto por unidade. Que quantidade de cada produto uma dieta deve conter para que proporcione uma alimentação sadia com o mínimo custo? P
Q
A
3
1
12
B
3
4
30
C
2
7
28
3
2
Exercício 7. Uma empresa fabrica dois produtos, A e B. O volume de vendas de A é de no mínimo 80% do total de vendas de ambos. Contudo, a empresa não pode vender mais do que 100 unidades de A por dia. Ambos os produtos usam uma matéria-prima cuja disponibilidade máxima diária é 240 lb. As taxas de utilização da matéria-prima são 2 lb por unidade de A e 4 lb por unidade de B. Os lucros unitários para A e B são $ 20 e $ 50, respectivamente. Determine a quantidade de cada produto para que o lucro seja máximo. Exercício 8. Uma empresa fabrica chapas e barras de alumínio. A capacidade máxima de produção estimada são 800 chapas ou 600 barras por dia. A demanda máxima diária são 550 chapas e 580 barras. O lucro por tonelada é $ 40 por chapa e $ 35 por barra. Determine a quantidade ótima de produção diária. Exercício 9. Um indivíduo quer investir $ 5.000 no próximo ano em dois tipos de investimento: o investimento A rende 5% e o investimento B rende 8%. Pesquisas de mercado recomendam uma Pesquisa Operacional
Jhoab Negreiros
Capítulo 4
Programação Linear
15
alocação de no mínimo 25% em A e no máximo 50% em B. Além do mais, o investimento em A deve ser no mínimo metade do investimento em B. Como o fundo deveria ser alocado aos dois investimentos?
Exercício 10.
Uma máquina produz dois tipos A e B de frascos de vidro, mas não
simultaneamente. Ao produzir um frasco do tipo A, ela gasta 0,2 horas, e ao produzir um tipo B, gasta 0,4 horas. Sabendo que a máquina pode trabalhar no máximo 16 horas por dia e que o fabricante tem um lucro de $ 2 com um frasco tipo A e $ 3 com um frasco tipo B, quantos frascos de cada tipo devem ser produzidos para que o lucro seja máximo? Exercício 11. Uma companhia de transporte dispõe de 4 caminhões com capacidade para transportar 5.000 kg, 4 caminhões de 10.000 kg de capacidade e 2 caminhões de 20.000 kg de capacidade. O custo por hora dos caminhões do primeiro tipo é $ 200, do segundo $ 300 e do terceiro $ 400. Como devem ser usados os caminhões para transportar uma carga de 80.000 kg, para que o custo seja mínimo? Exercício 12. Uma indústria produz porcas, parafusos e pregos, podendo usar dois métodos distintos (mas não simultaneamente) para produzi-los. O primeiro método produz 3.000 porcas, 2.000 parafusos e 2.500 pregos por hora, enquanto o segundo produz 4.000 parafusos e 4.000 pregos por hora, mas nenhuma porca. A indústria trabalha 18 horas por dia e tem uma encomenda de 5.000 porcas, 5.000 parafusos e 5.000 pregos. Durante quantas horas ela deve empregar cada método para fazer a entrega o mais rapidamente possível? Exercício 13. Numa indústria química há uma caldeira cuja margem de segurança é tal que a pressão P medida em atmosferas, e a temperatura T, medida em graus Celsius, devem ser reguladas de maneira que 10 P + T ≤ 400 . Quer-se usar a caldeira para que seja processada uma determinada reação. Para que isto ocorra da forma desejada, a temperatura deve estar entre 80°C e 300°C, e a pressão entre 1 e 20 atmosferas. A que temperatura e pressão deve trabalhar a caldeira para que a reação se processe no menor tempo possível, se sabemos que a velocidade da reação é dada por v = 2T + 30 P + 20 ?
Pesquisa Operacional
Jhoab Negreiros