Escolar Documentos
Profissional Documentos
Cultura Documentos
AULA 12
2
Suposições de um modelo de PL
3
Exemplo: Mix de produtos
• Uma fábrica pode produzir 5 tipos de produtos: PROD1, PROD2,...,PROD5
• Dois processos são utilizados para produzir esses produtos: esmerilhamento e perfuração
• Após deduzir os custos das matérias primas, cada unidade de cada produto fornece as seguintes
contribuições ao lucro:
PROD1 PROD2 PROD3 PROD4 PROD5
£550 £600 £350 £400 £200
• Cada unidade requer um certo tempo em cada processo. Esses tempos são dados a seguir em horas.
Um traço indica que o processo não é necessário:
PROD1 PROD2 PROD3 PROD4 PROD5
Esmerilhamento 12 20 - 25 15
Perfuração 10 8 16 - -
• Adicionalmente, a montagem final de cada unidade de cada produto usa 20 horas de trabalho de um
empregado
• A fábrica possui 3 máquinas de esmerilhamento e 2 máquinas de perfuração e opera 6 dias por
semana em 2 turnos de 8 hora em cada dia. 8 trabalhadores estão empregados na montagem, cada
um trabalhando em um turno por dia
• O problema é encontrar o quanto de cada produto deve ser fabricado de maneira a se maximizar o
lucro total
4
Exemplo: Mix de produtos
• Variáveis: 𝑥𝑥1 , 𝑥𝑥2 , ⋯ , 𝑥𝑥5 representam os números de PROD1, PROD2,...,PROD5 que devem ser produzidos em uma semana
• Função objetivo:
maximizar 550𝑥𝑥1 + 600𝑥𝑥2 + 350𝑥𝑥3 + 400𝑥𝑥4 + 200𝑥𝑥5
• Restrições:
• 3 máquinas de esmerilhamento trabalhando um total de 96h por semana fornece uma capacidade de esmerilhamento de 288h
(não é possível usar mais de 288h semanais de esmerilhamento):
12𝑥𝑥1 + 20𝑥𝑥2 + 25𝑥𝑥4 + 15𝑥𝑥5 ≤ 288
• 8 trabalhadores na montagem trabalhando 48h por semana dá um total de capacidade laboral de 384h:
20𝑥𝑥1 + 20𝑥𝑥2 + 20𝑥𝑥3 + 20𝑥𝑥4 + 20𝑥𝑥5 ≤ 384
6
Modelos de PNL
• Os casos de não linearidade anteriores surgiram devido a margens de lucro sendo afetadas por custos
unitários crescentes ou decrescentes devido à produção
• De uma maneira similar as margens de lucro unitárias serão alteradas se o preço unitário de venda for
afetado pelo volume de produção
• Geralmente o preço unitário cresce com a demanda pelo produto
• Por exemplo, se a quantidade a ser produzida é 𝑥𝑥, o custo unitário é 𝑐𝑐 e o preço unitário de venda é
𝑝𝑝 𝑥𝑥 , que depende de 𝑥𝑥, obtemos:
Contribuição ao lucro = 𝑝𝑝 𝑥𝑥 − 𝑐𝑐 𝑥𝑥 = 𝑝𝑝 𝑥𝑥 𝑥𝑥 − 𝑐𝑐𝑐𝑐
• O termo 𝑝𝑝 𝑥𝑥 𝑥𝑥 introduz uma não linearidade na função objetivo
• Uma aproximação é considerar 𝑝𝑝 𝑥𝑥 como uma função linear de 𝑥𝑥
• Neste caso, termos quadráticos são introduzidos na função objetivo, resultando em um modelo de
programação quadrática
7
Modelos de PNL
• Exemplo: no problema de mistura, a qualidade (viscosidade) pode não depender linearmente das
proporções dos ingredientes
• Um tipo de modelo que apresenta não linearidades nas restrições é o de programação geométrica,
em que os termos das restrições são polinômios:
• Problemas de programação não linear são geralmente mais difíceis de serem resolvidos que modelos
de programação linear de tamanhos correspondentes
8
Ótimos locais e globais
• Classificação importante de PNL:
• Programação convexa
• Programação não convexa
• Uma região do espaço é dita ser convexa se o segmento de reta entre quaisquer dois pontos na região
também fica dentro da região
Região não convexa
Região convexa no espaço bidimensional
9
Ótimos locais e globais
• Uma função 𝑓𝑓 𝑥𝑥 é dita convexa se o conjunto de pontos 𝑥𝑥, 𝑦𝑦 onde 𝑦𝑦 ≥ 𝑓𝑓 𝑥𝑥 (epígrafo) forma uma região convexa
• Por exemplo, a função 𝑥𝑥 2 é convexa, enquanto 2 − 𝑥𝑥 2 é não convexa (côncava). Para 2 − 𝑥𝑥 2 , o conjunto de pontos 𝑥𝑥, 𝑦𝑦
onde 𝑦𝑦 ≤ 𝑓𝑓 𝑥𝑥 (hipógrafo) forma uma região convexa
• Os conceitos de regiões e funções convexas e não convexas são aplicáveis para qualquer dimensão
𝑓𝑓 𝑥𝑥 = 𝑥𝑥 2 𝑓𝑓 𝑥𝑥 = 2 − 𝑥𝑥 2
10
Ótimos locais e globais
• Outras classificações para funções
11
Ótimos locais e globais
• Um modelo de programação matemática é dito ser convexo se ele envolve a minimização de uma função
convexa em uma região factível convexa
• Minimizar uma função convexa é equivalente a − maximizar o negativo da função convexa. Portanto, um
modelo de programação matemática que maximiza uma função côncava em uma região factível convexa
também é convexo
• Solvers para problemas de PNL (CONOPT, KNITRO, LOQO, MINOS, SNOPT) encontram a solução ótima de problemas de PNL
convexos
• Para problemas de PNL não convexos, geralmente, a solução encontrada por esses solvers é um ótimo local
• Solvers para PL, como o CPLEX, GUROBI e XPRESS, são capazes de resolver (garantem encontrar o ótimo global) problemas
de:
• Programação linear
• Programação quadrática
• Programação quadrática com restrições quadráticas
• Programação cônica de segunda ordem
12
Um modelo de programação convexa
• Considere o problema abaixo de programação quadrática. Pode-se observar facilmente que a função objetivo é
convexa
• O modelo é representado geometricamente na terceira figura, com diferentes curvas de nível da função objetivo
• A solução ótima é o ponto A
• Um problema de PL é um caso especial de programação convexa
• A FO é convexa e pode-se sempre transforma-la em minimização
• A região factível definida por um conjunto de restrições lineares é convexa
13
Um modelo de programação não convexa
• Pode-se verificar que a função objetivo (FO) do problema abaixo é não convexa, apesar da região factível do
problema ser convexa
• As curvas de nível do problema são mostradas na terceira figura, e podem sair e reentrar na região factível
• A solução ótima é o ponto C
• Para vários algoritmos de otimização, os pontos A e B também seriam ótimos. Nesse caso são ótimos locais
• Vários algoritmos de otimização somente podem garantir encontrar ótimos locais nesse tipo de problema
• Note que estando em A ou B e movendo-se em qualquer direção, a FO não melhora
14
Um modelo de programação não convexa
• Casos discutidos no início da aula
• Deseconomias de escala: custos unitários crescem com a produção – convexo (quando for minimizado)
• Economias de escala: custos unitários decrescem com a produção – não convexo (quando for minimizado)
15
Programação separável
• Uma função separável é uma função que pode ser expressa como uma soma de funções de uma única variável
• Por exemplo, a função:
• É separável, pois cada termo 𝑥𝑥12 , 2𝑥𝑥2 e 𝑒𝑒 𝑥𝑥3 são funções de uma única variável
• Por outro lado, a função:
• É não separável devido aos termos 𝑥𝑥1 𝑥𝑥2 e 𝑥𝑥2 ⁄ 1 + 𝑥𝑥1 que são funções de mais de uma variável
• Funções separáveis podem ser aproximadas por funções lineares por partes
• Então é possível utilizar programação separável para obter a solução ótima global para um problema convexo
ou um ótimo local para um problema não convexo
• Cada termo de uma função separável é aproximado por uma função linear por partes
• Não importa se as não linearidades ocorrem na FO ou nas restrições, a abordagem é a mesma
16
Linearização por partes: formulação 𝜆𝜆
• Considere o problema convexo
17
Linearização por partes: formulação 𝜆𝜆
• A curva entre 0 e C foi dividida em 3 segmentos de retas
• Isso introduz imprecisão no modelo
• Mais divisões = maior precisão
• O objetivo é eliminar 𝑥𝑥12 do modelo
• Substituir 𝑥𝑥12 pelo termo linear 𝑦𝑦 e relacionar 𝑦𝑦 com 𝑥𝑥1 :
23