2- NOÇÕES DE CONVEXIDADE E FORMULAÇÃO MATEMÁTICA DE PROBLEMAS DE PROGRAMAÇÃO LINEAR 21 Noções de Convexidade 211 - Combinação Convexa de pontos ponto b = αx 1 Considere C um conjunto contendo os pontos x 1 e x 2 e α [0,1] Diz-se que o + (1 -α)x 2 é o resultado de uma combinação convexa de x 1 e x 2 Além disso, se fizer-se α + (1- α) terá como resultado o número 1 Pode-se estender esta definição para um conjunto de pontos:, Diz que o ponto x 1, x 2,,x n Então, α 1 + α 2 + + α n = Teorema 211: b = α1x 1 + α2x 2 + + αnx n é uma combinação convexa dos pontos αi 0 ( i = 1, 2,, n) n α i = i= 1 1 Sejam os pontos u 1 e u 2, pertencentes ao R n, e u 3 um ponto qualquer entre u 1 e u 2 Para algum 0 α 1 tem-se: α ( u 1 - u 2 ) = u 3 - u 2 u 3 =α u 1 + (1-α ) u 2 (1) Como cada coeficiente de (1) é maior ou igual a 0, e a soma deles é igual a 1, então u 3 é uma combinação convexa de u 1 e u 2 212- Conjuntos Convexos Um subconjunto C R n é chamado convexo, se e somente se, para quaisquer pontos u 1 e u 2 pertencentes a C qualquer combinação convexa b = α 1 u 1 +α 2 u 2 também pertencer a C Em outras palavras, se C é convexo, então 1 u C 2 u C 1 2 αu + ( 1 α) u C (0 α 1) Portanto, um conjunto C é considerado convexo se todos os pontos do segmento de uma reta que une dois pontos de C também pertencem a C 18
213- Ponto Extremo (ou Vértice) Seja C um conjunto convexo Diz-se que u C é um ponto extremo de C se não for possível expressá-lo como uma combinação convexa de quaisquer outros dois pontos distintos pertencentes ao conjunto C 214- Intersecção de Conjuntos Convexos Sejam A e B dois conjuntos convexos Seja S o conjunto intersecção, ou seja, S = A B Se dois pontos p e q pertencem a S, então o segmento pq pertence a S Portanto, todos os pontos pertencentes a S satisfazem a condição de convexidade É imediato concluir que a intersecção de um número finito de conjuntos convexos é um conjunto convexo 22 Formulação Matemática de PPL S em R 2 A formulação matemática para os Problemas de Programação Linear é uma idealização da realidade, pois emprega símbolos matemáticos para representar as variáveis do sistema real Essas variáveis são relacionadas por equações lineares que expressam as restrições do problema através de sistemas lineares e da função matemática a ser otimizada, que também é linear A solução consiste em encontrar valores adequados das variáveis de decisão que otimizem o desenvolvimento do sistema, segundo o critério desejado (maximizar ou minimizar) A formulação matemática consiste em: i) Identificar as variáveis de decisão e determinar a grandeza a ser otimizada, expressando-a como uma função matemática (função objetivo) ii) Identificar todas as exigências, restrições e limitações estipuladas, expressando-as matematicamente (restrições) iii) Expressar todas as condições implícitas Tais condições não são estipuladas explicitamente no problema relativo à situação física sendo assim, modeladas Exemplo 21: Uma pessoa em dieta necessita ingerir pelo menos: - 20 unidades de vitamina A; ( Vitamina A 20) 19
- 10 unidades de vitamina B; ( Vitamina B 10) - 2 unidades de vitamina C ( Vitamina C 2) Ela deve conseguir estas vitaminas a partir de dois tipos diferentes de alimentos A 1 e A 2 A quantidade de vitaminas que esses produtos contém por unidade e o preço de cada um estão na tabela: Vitamina A Vitamina B Vitamina C Preço Unitário Alimento A 1 4 1 1 30 um Alimento A 2 1 2 0 20 um Qual a programação de compras dos alimentos A 1 e A 2 que essa pessoa deve fazer para cumprir sua dieta a menor custo possível? Resolução: Variáveis de decisão: x 1 : quantidade de alimento A 1 a ser comprado x 2 : quantidade de alimento A 2 a ser comprado Função objetivo: z = 30x 1 + 20x 2 Conjunto de restrições: 4x 1 + x 2 20 x 1 + 2x 2 10 x 1 2 x 2 0 Problema: min z = 30x 1 + 20x 2 sa 4x 1 + x 2 20 x 1 + 2x 2 10 x 1 2 x 2 0 Exemplo 22: Um fabricante de artigos de plásticos possui um estoque de 1200 caixas de envôlucos transparentes em uma de suas fábricas e outras 1000 caixas em uma segunda 20
fábrica O fabricante recebeu pedidos deste produto provenientes de três diferentes varejistas nas quantidades de 1000, 700 e 500 caixas respectivamente Os custos unitários de expedição desde as fábricas até os varejistas são os seguintes: Varejista 1 Varejista 2 Varejista 3 Fábrica 1 14 13 11 Fábrica 2 13 13 12 Determine o programa de expedição que atenda todas as demandas a partir do estoque disponível a um custo mínimo Resolução: Variáveis de decisão: x ij : número de caixas a serem expedidas da fábrica i para o varejista j i = 1, 2, j = 1, 2, 3 Função objetivo: z = 14 x 11 + 13 x 12 + 11 x 13 + 13 x 21 + 13 x 22 + 12 x 23 Conjunto de restrições: x 11 + x 12 + x 13 = 1200 x 21 + x 22 + x 23 = 1000 x 11 + x 21 = 1000 x 12 + x 22 = 700 x 13 + x 23 = 500 x ij 0, i = 1, 2 ; j = 1,2,3 Problema: min z = 14 x 11 + 13 x 12 + 11 x 13 + 13 x 21 + 13 x 22 + 12 x 23 sa x 11 + x 12 + x 13 = 1200 x 21 + x 22 + x 23 = 1000 x 11 + x 21 = 1000 x 12 + x 22 = 700 x 13 + x 23 = 500 x ij 0, i = 1, 2 ; j = 1,2,3 21
Exemplo 23: Uma pequena indústria produz artigos A 1 e A 2 que são vendidos a 200 um e 300 um, respectivamente Na sua produção são utilizados três tipos de matériasprimas, P 1, P 2 e P 3, que são gastas da seguinte forma: - 2 unidades de P 1 para fabricar 1 unidade de A 1 ; - 4 unidades de P 2 para fabricar 1 unidade de A 1 ; - 1 unidade de P 1 para fabricar 1 unidade de A 2 ; - 1 unidade de P 3 para fabricar 1 unidade de A 2 Por razões econômicas, as matérias-primas P 1, P 2 e P 3, estão disponíveis no máximo em 20, 32 e 10 unidades, respectivamente O dono da empresa deseja saber as quantidades dos produtos A 1 e A 2 que devem ser produzidos para que a receita bruta seja a menor possível Resolução: Variáveis de decisão: x 1 : quantidade do produto A 1 a ser produzida; x 2 : quantidade do produto A 2 a ser produzida Função objetivo: z = 200 x 1 + 300 x 2 Conjunto de restrições: 2 x 1 + x 2 20 4 x 1 32 x 2 10 x 1, x 2 0 Problema: min z = 200 x 1 + 300 x 2 2 x 1 + x 2 20 4 x 1 32 x 2 10 x 1, x 2 0 22
23- Resolução Gráfica dos Problemas de Programação Linear no R 2 A resolução de Problemas de Programação Linear no R 2, pode ser determinada graficamente se o problema tem: - Solução única; - Múltiplas soluções; - Solução ilimitada; - Infactível (não tem solução) Para isso determina-se inicialmente a região de factiblidade do problema, ou seja, a região determinada pelas restrições A seguir, utiliza-se as curvas de nível e o vetor gradiente da função objetivo para determinar o sentido em que a função cresçe ou diminui mais rapidamente Veja alguns exemplos: Exemplo 231 (Solução única): x 2 -x 1 +x 2 1 Curva de Nível max z = 2 x 1 + x 2 Solução ótima sa -x 1 + x 2 1 x 2 2 x 1 3 x 2 2 x 1 e x 2 0 x 1 3 x 1 vetor gradiente Exemplo 232 (Múltiplas soluções): max z = x 1 + x 2 sa x 1 3 x 2 4 x2 4 2x 1 + 2x 2 9 2x 1 + 2x 2 9 x 1 e x 2 0 x* = α x 1 + (1 - α) x 2 (0 α 1) x 1 3 x 2 Infinitas Soluções x 1 23
Exemplo 233 (Solução Ilimitada): x 2 max z = x 1 + 2 x 2 x 1 +2x 2 10 x 1 2 4 x 1 + x 2 20 x 1 + 2 x 2 10 x 1 2 x 1 e x 2 0 soluções ilimitadas 4x 1 +x 2 20 x 1 Este problema não possui solução ótima finita, pois o valor da função pode crescer indefinidamente dentro da região de factibilidade Dizemos que este é um problema ilimitado Exemplo 234 (Infactível): min z = x 1 + x 2-2x 1 +x 2 20 sa -2 x 1 + x 2 20 x 1 - x 2 2 x 1 -x 2 2 x 1, x 2 0 x 2 x 1 Neste problema, o conjunto de pontos viáveis é um conjunto vazio, pois não há região no plano que satisfaça as quatro restrições Diz-se que este é um problema inviável ou infactível 24 Formulação Geral de um Problema de Programação Linear Nessa seção, será definida um Problema de Programação Linear (PPL) em sua forma geral, padrão e canônica, necessárias para a definição de um método para resolução desses problemas a ser visto no capítulo 3 24
241- Diferentes formas de um Problema de Programação Linear 2411 Forma Geral Diz-se que um Problema de Programação Linear está na forma geral se este se encontrar na seguinte forma: Max (ou Min) z = c 1 x 1 + c 2 x 2 + + c n x n ; sa a 11 x 1 + a 12 x 2 + + a 1n x n b 1 a p1 x 1 + a p2 x 2 + + a pn x n b p a (p+1)1 x 1 + a (p+1)2 x 2 + + a (p+1)n x n b (p+1) a q1 x 1 + a q2 x 2 + + a qn x n b q a (q+1)1 x 1 + a (q+1)2 x 2 + + a (q+1)n x n = b (q+1) a m1 x 1 + a m2 x 2 + + a mn x n = b m x 1,, x p 0 x (p +1),, x q 0 x q,, x n : irrestrita, onde 1 p m, 1 p q n, 1 q m Exemplo 241: max z = 5x 1 +3x 2 +x 3 +2x 4-4x 5 sa: x 1 +5x 2-3x 3 - x 4 +7x 5 10 3x 1-2x 2 +5x 3 + x 4 +4x 5 15 x 1 +7x 2 - x 3 +2x 4 +3x 5 20 5x 1 +2x 2 +2x 3 +3x 4 - x 5 = 8 x 1 0, x 2 0, x 3 0, x 4 : irrestrita, x 5 : irrestrita 2412- Forma Canônica Dizemos que um Problema de Programação Linear está na forma Canônica ou na forma de Desigualdade do tipo se este se encontrar na seguinte forma: Max (ou Min) z = c 1 x 1 + c 2 x 2 + + c n x n ; sa: a 11 x 1 + a 12 x 2 + + a 1n x n b 1 a m1 x 1 + a m2 x 2 + + a mn x n b m 25
Na forma matricial: max (ou min) z = c T x sa Ax b x 0 onde x,c R n, b R m, A R mxn Exemplo 242: Max z 2x 1 + 3x 2 sa 5x 1 + x 2 0 3x 1 + 2x 2 0 x 1 + 4x 2 0 x 1, x 2 0 2413- Forma Padrão Dizemos que um Problema de Programação Linear está na forma Padrão ou na forma standard se este se encontrar na seguinte forma matricial: max (ou min) z = c T x sa Ax = b x 0 onde x,c R n, b R m, A R mxn 245- Transformação de PPL s gerais na forma padrão Para transformar um Problema de Programação Linear (que se apresenta em forma de um sistema de inequações e equações lineares) em um sistema de somente equações lineares, deve-se fazer: 2451) Se b i < 0: Deve-se multiplicar a linha i do sistema por (-1) Exemplo 243: Max 5x 1 + 3x 2 Max 5x 1 + 3x 2 sa 2x 1 + x 2 8 sa 2x 1 + x 2 8 -x 1 + 2x 2-3 (b i < 0) x 1-2x 2 3 x 1, x 2 0 x 1, x 2 0 2452) Se x i no modelo for livre de sinal ou irrestrito: x i é qualquer ou livre de sinal x i 0 ou x i 0 26
Escreve-se x i em função de x i e x i, ou seja: x i = x i - x i com x i 0 e x i 0 Exemplo 244: Max 5x 1 + 3x 2 Max 5x 1 + 3(x 2 x 2 ) sa 2x 1 + x 2 8 sa 2x 1 + (x 2 x 2 ) 8 x 1 + 2x 2 3 x 1-2(x 2 x 2 ) 3 x 1 0, x 2 livre x 1, x 2, x 2 0 x 2 = x 2 x 2 Observação: Se x i = x i x i =0 Se x i > x i x i > 0 Se x i < x i x i < 0 2453) Ocorrência de x i 0: Troca-se x i por - x i, onde x i 0 Exemplo 245: Max 5x 1 + 3x 2 Max 5x 1 3x 2 sa 2x 1 + x 2 8 sa 2x 1 x 2 8 x 1 + 2x 2 3 x 1 2x 2 3 x 1 0, x 2 0 x 1, x 2, x 2 0 x 2 = x 2 n 2454) Se: a x b :: j= 1 ij j i Soma-se x n+i no membro da esquerda da linha i do sistema e considera-se o novo n = n + i (variável de folga), com x n+i 0 27
Exemplo 245: Max 5x 1 + 3x 2 Max 5x 1 + 3x 2 sa 2x 1 + x 2 8 sa 2x 1 + x 2 + x 3 = 8 -x 1 + 2x 2-3 x 1-2x 2 + 0x 3 + x 4 = 3 x 1, x 2 0 x 1, x 2,x 3, x 4 0 2455) Se aijx j bi n j = 1 Subtrair-se x n+i = n + j (variável de excesso), com x n+i 0 no membro da esquerda da linha i e considerar-se o novo n Exemplo 246: Max 5x 1 + 3x 2 Max 5x 1 + 3x 2 sa 2x 1 + x 2 8 sa 2x 1 + x 2 - x 3 = 8 x 1 + 2x 2 3 x 1-2x 2-0x 3 - x 4 = 3 x 1, x 2 0 x 1, x 2,x 3, x 4 0 2456) Maximizar uma função objetivo é equivalente a minimizar o seu simétrico, ou seja: Máx z = c T x Min -z = -c T x 28