Programação não linear Problema de composição de misturas Algoritmo do simplex — conceitos Trabalho Noções estudadas Programação não linear Problema de composição de misturas Algoritmo do simplex — conceitos Trabalho Noções estudadas Nesta aula. . . Problema de localização 1 Programação não linear 2 Problema de composição de misturas 3 Algoritmo do simplex — conceitos Forma standard de um problema linear 4 Trabalho Uma empresa de assistência e manutenção de sistemas informáticos pretende determinar onde colocar os seus escritórios. As posições no plano dos seus quatro clientes principais, e o número de visitas anuais previstas, são os seguintes: Cliente 1 2 3 4 x 5 10 0 12 y 10 5 12 0 visitas 200 150 200 300 A empresa pretende determinar a localização que minimiza a distância total percorrida. Formule este problema em programação matemática. João Pedro PEDROSO João Pedro PEDROSO Métodos de Apoio à Decisão Programação não linear Problema de composição de misturas Algoritmo do simplex — conceitos Trabalho Noções estudadas Programação não linear Problema de composição de misturas Algoritmo do simplex — conceitos Trabalho Noções estudadas Problemas de composição de misturas (blending) Uma companhia petrolífera fabrica três tipos de gasolina: G1, G2 e G3. Cada tipo de gasolina é produzido utilizando três tipos de petróleo bruto: C1, C2 e C3. Os preços de venda em euros por barril de gasolina, e os preços de compra em euros por barril de petróleo bruto são indicados a seguir. Preços de venda G1 70 G2 60 G3 50 Preços de compra C1 45 C2 35 C3 25 A companhia tem disponíveis até 5000 barris de cada tipo de petróleo bruto diariamente. Os três tipos de gasolina diferem no seu conteúdo em enxofre e no índice de octanas. A mistura de petróleos a utilizar para produzir cada tipo de gasolina deverá ter o índice de octanas mínimo e o teor de enxofre máximo indicados a seguir: Mistura para produzir G1 Mistura para produzir G2 Mistura para produzir G3 Índice de octanas (min) 10 8 6 João Pedro PEDROSO Programação não linear Problema de composição de misturas Algoritmo do simplex — conceitos Trabalho Noções estudadas Conteúdo em enxofre (max) 1.0% 2.0% 1.0% Problemas de composição de misturas (blending) (cont.) Os índices de octanas e conteúdos em enxofre dos petróleos brutos são: C1 C2 C3 João Pedro PEDROSO Programação não linear Problema de composição de misturas Algoritmo do simplex — conceitos Trabalho Noções estudadas Forma standard de um problema linear Conteúdo em enxofre 0.5% 2.0% 3.0% Métodos de Apoio à Decisão Forma standard de um problema linear Recordemos. . . Um conjunto S é convexo se para qualquer par de pontos do conjunto, o segmento de reta que os une está completamente contido em S Vimos como resolver problemas com duas variáveis graficamente. Para problemas com mais de duas variáveis, é necessário utilizar um algoritmo desenvolvido para resolver problemas deste tipo. Na prática, o algoritmo mais utilizado é o do simplex A região admissível de qualquer problema linear é um conjunto convexo Um ponto P diz-se um ponto extremo de um conjunto S se para qualquer segmento de reta que esteja completamente contido em S e que contenha P, se verifica que P é um ponto extremo desse segmento de reta Em espaços de dimensão superior a dois: permite a resolução de problemas com muitos milhares de variáveis e restrições funciona através da análise e movimentos em pontos extremos (vértices) da região admissível há problemas particulares em que não é eficiente: pode demorar tempo exponencial em termos do tamanho do problema, a encontrar a solução prática geralmente é mais rápido do que algoritmos mais eficientes (e é o mais utilizado) Programação não linear Problema de composição de misturas Algoritmo do simplex — conceitos Trabalho Noções estudadas Índice de octanas 12 6 8 Custa 4 euros transformar um barril de petróleo bruto em gasolina, e a empresa pode produzir até 14000 barris de gasolina por dia. As encomendas dos clientes deverão ser satisfeitas exatamente (não há stocks), e são de 3000, 2000 e 1000 barris por dia, para as gasolinas G1, G2, e G3, respetivamente. A empresa pode também investir em publicidade, para estimular as encomendas. Cada euro despendido diariamente na publicidade de um tipo particular de gasolina aumenta a procura desse tipo de gasolina em 10 barris/dia. (Por exemplo, se se investir 20 euros por dia em publicidade para a gasolina G2, as suas encomendas aumentarão em 200 barris/dia.) Formule o problema linear que permite à companhia maximizar os lucros diários (receitas – custos). Métodos de Apoio à Decisão Algoritmos para programação linear João Pedro PEDROSO Métodos de Apoio à Decisão ao conjunto de pontos que satisfazem uma desigualdade linear chama-se um semi-espaço a intersecção de semi-espaços é chamada um poliedro um poliedro limitado é um politopo num espaço de dimensão n, um politopo com n + 1 vértices é um simplex Métodos de Apoio à Decisão João Pedro PEDROSO Programação não linear Problema de composição de misturas Algoritmo do simplex — conceitos Trabalho Noções estudadas Forma standard de um problema linear Visualização Métodos de Apoio à Decisão Forma standard de um problema linear Forma standard de um problema linear Forma standard de um problema linear: forma equivalente, que permite a utilização do algoritmo do simplex e fazer uma análise da solução obtida: 1 todas as restrições são equações 2 todas as variáveis são não-negativas: max z = 4x1 + 3x2 sujeito a x1 + x2 2x1 + x2 x1 , x2 3 ≤ 40 ≤ 60 ≥0 variável desvio: quantidade de recurso não utilizado de uma restrição exemplo: s1 = 40 − x1 − x2 ⇒ x1 + x2 + s1 = 40 o mesmo para a segunda restrição 4 João Pedro PEDROSO Métodos de Apoio à Decisão as restrições são satisfeitas sse si ≥ 0, ∀i max z = 4x1 + 3x2 sujeito a x1 + x2 + s1 = 40 2x1 + x2 + s2 = 60 x1 , x2 , s1 , s2 ≥0 João Pedro PEDROSO Métodos de Apoio à Decisão Programação não linear Problema de composição de misturas Algoritmo do simplex — conceitos Trabalho Noções estudadas Programação não linear Problema de composição de misturas Algoritmo do simplex — conceitos Trabalho Noções estudadas Forma standard de um problema linear Forma standard Trabalho — exemplo max / min z = sujeito a c1 x1 + c2 x2 + . . . + cn xn a11 x1 + a12 x2 + . . . + a1n xn = b1 a21 x1 + a22 x2 + . . . + a2n xn = b2 ... am1 x1 + am2 x2 + . . . + amn xn = bm x1 , x2 , . . . , xn ≥0 Ver trabalho do ano passado e sua correção nas páginas da disciplina todas as restrições são equações (i.e., igualdades) todas as variáveis são não negativas: se no problema original xi ≤ 0 ⇒ substituir por yi = −xi , yi ≥ 0 se no problema original xi é livre (não tem restrição de sinal) substituir por yi+ − yi− , yi+ , yi− ≥ 0 João Pedro PEDROSO Métodos de Apoio à Decisão João Pedro PEDROSO Programação não linear Problema de composição de misturas Algoritmo do simplex — conceitos Trabalho Noções estudadas Métodos de Apoio à Decisão Programação não linear Problema de composição de misturas Algoritmo do simplex — conceitos Trabalho Noções estudadas Noções estudadas Próxima aula Formulação em programação matemática: mais alguns exemplos; Definições de problema e de instância; Algoritmo do simplex para programação linear. Linguagem de modelação GNU MathProg; Resolução de problemas de programação linear com glpsol e ampl. João Pedro PEDROSO Métodos de Apoio à Decisão João Pedro PEDROSO Métodos de Apoio à Decisão