680 likes | 910 Views
Programação Linear. Problema. 1º Define o problema. 2º Formula o objectivo. 3º Avalia as várias alternativas. Escolhe a melhor via. Problemas simples. Recurso à intuição e à experiência. Problemas complexos. Métodos científicos. Programação Linear.
E N D
Problema 1º Define o problema 2º Formula o objectivo 3º Avalia as várias alternativas Escolhe a melhor via
Problemas simples Recurso à intuição e à experiência Problemas complexos Métodos científicos Programação Linear
Afinal o que é a Programação Linear? A Programação Linear consiste em optimizar (maximizar ou minimizar) uma dada função linear, que se chama função objectivo, definida num dado conjunto convexo, tendo em conta que as variáveis estão sujeitas a restrições.
Nota Histórica Século III a.C – Euclides Livro III – ( Procurava encontrar a maior e a menor distância de um ponto a uma circunferência) Livro IV – ( Descreveu uma forma de obter um Paralelogramo de área máxima e com um dado perímetro)
1759 – Quesnay (publica o Tableau Economique que pode ser considerado a primeira grande tentativa de modelizar a economia) 1838 - Cournot (incluiu no seu estudo a determinação do ponto de equilíbrio que origina o lucro máximo) 1874 – Walras (publica o Sistema de Equilíbrio Geral onde procura a melhor forma de interpretar a economia como um todo)
1937 – Von Neumann (publica A Model of General Economic Equilibrium onde é formulado o modelo de Programação Linear dinâmica, em que admite métodos alternativos de produção simples ou conjunta.) 1939 – Kantorovich (formulou rigorosamente um problema de Programação Linear no trabalho Métodos Matemáticos de Organização e Planeamento da Produção, mas não apresentou um algoritmo de resolução) Von Neumann O grande salto da Programação Linear é dado através das aplicações em problemas de transportes na década de 40 (em particular, pelas Forças Armadas durante a Segunda Guerra Mundial).
1947 – Dantzig (trabalhou no Pentágono como conselheiro matemático, onde era frequentemente chamado para resolver problemas de planeamento. Como a maioria destes diziam respeito à economia aconselhou-se junto ao economista Koopmans) No entanto, contrariamente ao que Dantzig pensou, os economistas ainda não tinham métodos de resolução de tais problemas. Foi então que Dantzig propôs o Método Simplex que tornou possível a solução de problemas de optimização de vários tipos.
Koopmans e Dantzig encontraram-se. Porque não reduzir o nome de Programação de Estruturas Lineares para Programação Linear? É isso! A partir de agora é esse o seu nome. Nasceu assim a designação de Programação Linear. Desde então, as aplicações da Programação Linear não cessaram.
Onde se aplica? • Os domínios de aplicação da Programação Linear são vastíssimos. • Por exemplo: • Gestão de empresas; • Problemas de transportes; • Estrutura financeira dos bancos; • Obtenção de misturas óptimas; • Planeamento agrícola; • Estratégias militares, …
ADirecção de Marketing do IKEAsugere o lançamentode um novo modelo de secretária e de estante em substituição dos modelos actuais.
Aquela Direcção não vê dificuldade de colocação no mercado para as estantes enquanto que aconselha que a produção mensal de secretárias não ultrapasse as 160 unidades. Após estudos levados a cabo pela Direcção de Produção, conclui-se que: A disponibilidade mensal do Departamento de Estampagem é de 720 horas-máquina; A disponibilidade mensal do Departamento de Montagem e Acabamento é de 880 horas-homem; Cada secretária necessita de 2 horas-máquina de Estampagem e 4 horas-homem de Montagem e Acabamento; Cada estante necessita de 4 horas-máquina de Estampagem e 4 horas-homem de Montagem e Acabamento.
As margens brutas unitárias estimadas são de 60 euros para as secretárias e 30 euros para as estantes. A empresa pretende determinar o plano de produção mensal para estes novos modelos que maximiza a margem bruta.
Formalização Sejam: x, o número de secretárias; y, o número de estantes; z, a margem bruta total. Variáveis de decisão
OBJECTIVO: determinar valores para estas variáveis que maximizem z = 6x + 3y (em 10 euros) Restrições impostas pelas limitações da capacidade produtiva e do mercado.
condições de não negatividade As , indicam-nos que os pares ordenados (x, y) se encontram no primeiro quadrante. As variáveis que entram na formulação do problema não podem assumir valores negativos. Por isso, em geral, a não negatividade das variáveis é considerada uma restrição natural, que acontece pelo facto de muitas das actividades só poderem ser executadas a níveis não negativos.
Em síntese O problema consiste em escolher x e y por forma a maximizar z = 6x + 3y sujeito a 2x + 4y ≤ 720 4x + 4y ≤ 880 x ≤ 160 x, y ≥ 0.
Conjunto das soluções admissíveis ou região de validez É toda a solução que satisfaz as restrições do problema e as restrições da não negatividade. Note-se que uma solução possível não precisa optimizar a função objectivo, e frequentemente há infinitas soluções possíveis.
Procure(m)-se o(s) ponto(s) situado(s) nesta região que maximiza(m) o valor de z = 6x + 3y. Vai proceder-se por tentativas. O processo baseia-se na representação gráfica da recta 6x + 3y = k (com k constante). k = 300 k = 600
Trace-se uma qualquer recta de nível e desloque-se paralelamente a si própria, no sentido do crescimento de z até ao(s) último(s) ponto(s) de contacto com a região admissível.
Conclusão De acordo com esta regra, a solução óptima é x* = 160 e y* = 60, valores que dão, respectivamente, o número de secretárias e estantes a produzir por mês pelo IKEA. Deste programa de produção resulta para a empresa uma margem bruta mensal de 11400 euros.
Uma das tarefas propostas para a“Quinta das Celebridades”consiste em determinar as quantidades de cada tipo de ração que devem ser dadas diariamente a cada animal de forma a conseguir uma certa qualidade nutritiva a um custo mínimo.
Os dados relativos ao custo de cada tipo de ração, às quantidades mínimas diárias de ingredientes nutritivos básicos a fornecer a cada animal, bem como às quantidades destes existentes em cada tipo de ração (g/kg) constam no quadro seguinte:
Formalização Mas o que é isto???!!! Vamos ajudar José Castelo Branco a formalizar o problema…
x , a quantidade em quilogramas de granulado a fornecer diariamente a cada animal; y, a quantidade em quilogramas de farinha a fornecer diariamente a cada animal; O custo total (em cêntimos) a suportar diariamente com a alimentação de cada animal é z = 10x+5y Objectivo dos concorrentes: minimizar o custo total.
As possibilidades de escolha estão limitadas pelas seguintes restrições relativas ao regime alimentar de cada animal: 20x + 50y ≥ 200 O primeiro membro desta desigualdade exprime a quantidade (g) de hidratos de carbono a fornecer diariamente. O segundo membro exprime, por sua vez, a quantidade quotidiana mínima necessária destes nutrientes. Analogamente para as vitaminas: 50x + 10y ≥ 150 E para as proteínas: 30x + 30y ≥ 210
Sabendo que a quantidade de cada ração a fornecer diariamente é não negativa, isto é, x ≥ 0 e y ≥ 0, tem-se, finalmente, o modelo de programação linear que permite estabelecer a “dieta” dos animais: Minimizar z = 10x + 5y Sujeito a 20x + 50y ≥ 200 50x + 10y ≥ 150 30x + 30y ≥ 210 x ≥ 0, y ≥ 0
É fácil concluir que a solução pretendida é x* = 2 e y*= 5, valores que dão, respectivamente, as quantidades (em quilogramas) de granulado e farinha a fornecer diariamente a cada animal. Desta “dieta” resulta para a quinta um custo de alimentação diário com cada animal de 45 cêntimos.
Casos particulares Considere-se o seguinte problema: maximizar z = 2x + y sujeito a 3x + 4y ≤ 12 4x + 2y ≤ 10 x, y ≥ 0. Conclui-se que z = 5 é o valor máximo da Função Objectivo. É uma função linear, que vamos pretender optimizar, isto é, maximizar ou minimizar;
Igualmente se conclui que quer o ponto extremo A quer o ponto extremo B são soluções óptimas do problema; por outras palavras, neste caso, dois pontos extremos conduzem ao mesmo valor (máximo) para a Função Objectivo. Mais, qualquer ponto da aresta AB é também solução óptima, dado que a recta de nível z = 5 assenta sobre aquela aresta; existe pois uma infinidade de soluções óptimas. Havendo um domínio de soluções possíveis e não havendo solução ilimitada, solução óptima é a solução possível que optimiza a função objectivo. Nesse caso, poderá haver uma, várias ou infinitas soluções óptimas.
Em qualquer dos problemas anteriores pode afirmar-se que se está perante problemas de Programação Linear “bem comportados”. Existe contudo a possibilidade de situações “anómalas”. Considere-se então o seguinte problema: maximizar z = 2x + 3y sujeito a 2x + 2y ≥ 6 -x + y ≤ 1 y ≤ 3 x, y ≥ 0.
Nesta situação conclui-se que a Função Objectivo pode assumir valores arbitrariamente grandes e, consequentemente, não existe um valor máximo finito para z. Sempre que se verifica esta situação, diz-se que se está em presença de solução não limitada. Deve contudo salientar-se que o facto do conjunto das soluções admissíveis ser não limitado não implica necessariamente que a solução seja não limitada.
Está nesta situação o exemplo 2 e o seguinte problema: maximizar z = -x + 3y sujeito a 2x + 2y ≥ 6 -x + y ≤ 1 y ≤ 3 x, y ≥ 0.
Pode ainda acontecer que o conjunto das soluções seja não limitado e o valor óptimo de z seja finito com variáveis a poderem assumir valores arbitrariamente grandes na solução óptima. Neste caso, existem soluções óptimas alternativas, como se ilustra através do seguinte problema: maximizar z = -2x + 4y sujeito a -x + y ≤ 1 x - 2y ≥ -4 x, y ≥ 0. O valor máximo da Função Objectivo é 8. Mais, qualquer ponto (x, y) da aresta do conjunto das soluções admissíveis que se “prolonga” até infinito conduz a z = 8 e é portanto solução óptima do problema. É evidente que embora a Função Objectivo não possa exceder o valor 8, as variáveis x e y podem assumir valores arbitrariamente grandes.
Outra situação “anómala” que pode surgir, normalmente derivada de erros de formalização, é a não existência de qualquer solução admissível. Isto pode acontecer por não existirem valores das variáveis a satisfazerem as restrições do problema ou as condições de não negatividade, ou ambas simultaneamente. Neste caso o problema diz-se impossível. O exemplo seguinte ilustra esta situação: minimizar z = x + 2y sujeito a x + y ≥ 3 2x + y ≤ 2 x, y ≥ 0
Para angariarem fundos para o Carro da “Queima das Fitas”, os alunos do 3ºano de Matemática optaram por vender 300 t-shirts e 600 esferográficas. Para tal, decidiram fazer dois tipos de lotes: tipo A: uma t-shirt e uma esferográfica; tipo B: duas t-shirts e cinco esferográficas. Os lotes do tipo A foram vendidos a 8€ e os do tipo B a 18€.
Quantos lotes de cada tipo convém formar para obter o lucro máximo com a sua venda? Há 300 t-shirts e 600 esferográficas. Comecemos por identificar as incógnitas do problema que são: x, número de lotes de tipo A y, número de lotes de tipo B Graficamente, x e y podem ser tomados, respectivamente, como coordenadas de um ponto.
Restrições: O número de lotes de cada tipo é não negativo, ou seja, x ≥ 0 e y ≥ 0, com x e y inteiros. O número de t-shirts não pode ser superior a 300, isto é, x + 2y ≤ 300 y ≤ 150 – 1/2x. O número de esferográficas não pode ser superior a 600, isto é, x + 5y ≤ 600 y ≤ 120 – 1/5x.
Desta região de validez fazem parte os vértices do polígono que a limita. Esses vértices vão ser determinados algebricamente: x + 2y = 300 x = -2y + 300 x = -2y + 300 x + 5y = 600 x + 5y = 600 -2y + 300 + 5y = 600 x = -2y + 300 x = 100 3y = 300 y = 100 Os vértices do polígono são então os pontos de coordenadas: (0, 120), (100, 100), (300, 0) e (0, 0).
Qual a função objectivo? O lucro. Como cada lote do tipo A custa 8€ e do tipo B custa 18€, a função linear (L) expressa-se por L = 8x + 18y (1) Pretende-se maximizar esta expressão. A igualdade (1) pode ainda ser expressa por: y = - 8/ 18x + L/18. Tracemos uma recta dessa família, por exemplo, fazendo L = 680 obtém-se então a recta de equação y = - 8/18x + 40.
Todas as outras rectas da família são paralelas a esta e o valor de L cresce quando se desloca a recta paralelamente a si própria, da esquerda para a direita. Achar a solução óptima equivale a determinar a recta com maior ordenada na origem que intersecta o polígono. A solução (x, y) procurada é um dos vértices do polígono.