Você está na página 1de 28

Escola Politécnica da Universidade de São Paulo

Departamento de Engenharia Hidráulica e Ambiental


PHA3343 - Análise de Sistemas Ambientais

Introdução a Programação
não Linear (PNL)

Renato Carlos Zambon

1
não linearidades...
• você foi obrigado a reduzir o seu consumo mensal de
energia em 20% em um racionamento...

• se fosse obrigado a reduzir -mais- 20%, a facilidade,


o prejuízo ou os investimentos para reduzir de 80%
para 60% seriam os mesmos que de 100% para 80%?
2
não linearidades...
• uma cidade lança uma carga X de resíduos líquidos
em um rio...

• se o lançamento fosse de 2 X, o impacto nas


variáveis de qualidade da água, mortalidade de
peixes, proliferação de algas, etc. seria o dobro?

3
não linearidades...
• uma indústria lança ao ar um poluente A, gerando
um efeito EA, outra indústria em outro local lança
um poluente B, gerando um efeito EB...

• se fossem vizinhas, o efeito seria EA+EB?


4
não linearidades...
• uma elevatória de água e uma adutora por recalque
trabalham com uma bomba em operação...

• se fossem utilizadas duas bombas iguais em paralelo,


a vazão e o consumo de energia seriam o dobro?

5
Elementos de um problema de PNL
• Função Objetivo
max (ou min) F (x1, x2, ... xn)

• Restrições
gi (x1, x2, ... xn) < bi
hj (x1, x2, ... xn) = bj

• Variáveis de decisão: x1, x2, ... xn

Programação não linear: a função objetivo e/ou as


restrições são não lineares!
6
restrições de igualdade...
• muitas vezes utilizamos restrições de igualdade para facilitar a
construção de modelos (aumentando o conjunto de variáveis)

• exemplo: é comum na operação de reservatórios trabalhar ao


mesmo tempo com volume, cota do nível d’água e área,
relacionadas entre si através das curvas cota-área-volume:

variáveis S, H, A
H (S ) = a0 + a1  S + a2  S 2 + a3  S 3 + a4  S 4
com 
 A( H ) = c 0 + c1  H + c 2  H 2
+ c 3  H 3
+ c 4  H 4

7
restrições de igualdade...
ao invés de utilizar apenas a variável S
onde for necessária a cota:
a0 + a1  S + a2  S 2 + a3  S 3 + a4  S 4
onde for necessária a área:
(
c0 + c1  a0 + a1  S + a2  S 2 + a3  S 3 + a4  S 4 )
( )
2
+c2  a0 + a1  S + a2  S + a3  S + a4  S
2 3 4

 (a )
3
+c3 0 + a1  S + a2  S + a3  S + a4  S
2 3 4

 (a )
4
+c 4 0 + a1  S + a2  S + a3  S + a4  S
2 3 4

8
exemplo de um problema de PNL
• Função Objetivo:
min F (x1, x2) = (x1 - 2)² + (x2 - 1)²

• Restrições:
x1² - x2 < 0
x1 + x2 < 2
x1 > -1

• Variáveis de decisão: x1, x2

neste exemplo tanto a F.O. como parte das restrições


são não lineares...
9
exemplo de um problema de PNL

mínimo

10
PL x PNL: Função Objetivo
• PL: a F.O. é linear, sempre no formato
max/min F (x1, x2, ... xn) = a1.x1 + a2.x2 + ... an.xn

• PNL: a F.O. pode não ser linear, incluindo uma


combinação de funções exponenciais, logarítmicas,
trigonométricas, etc.

11
PL x PNL: Região Factível
• PL: a região factível formada
pelas restrições é sempre um
poliedro convexo

• PNL: se as restrições não


forem lineares, a região
factível pode não ser um
poliedro... ➢ as restrições de um problema
de otimização definem semi-
... e também pode não ser espaços
➢ a intersecção destes semi-
convexa! espaços define a região factível
(espaço das soluções viáveis)12
PL x PNL: Região Factível
Exemplo de região factível não convexa:

13
PL x PNL: Solução Ótima
• PL: as soluções ótimas recaem sobre os vértices
(intersecções entre equações limites das restrições)
na fronteira da região factível

• PNL: as soluções ótimas podem não estar nos


vértices da região factível...
... nem na fronteira, muitas vezes estão em um
ponto interno da região factível

14
PL x PNL: Solução Ótima
Exemplo de solução na fronteira mas não no vértice

7
Função Objetivo:
6
min Z = (x1 - 4)² + (x2 - 6)²
5
Restrições:
4
x1 < 4
x2
3
x2 < 6 mínimo F
2
3.x1 + 2.x2 < 18 1

x1 > 0 0

x2 > 0 0 1 2 3 4 5 6 7
x1

15
PL x PNL: Solução Ótima
Exemplo de solução em ponto interno:

7
Função Objetivo:
6
min Z = (x1 - 2)² + (x2 - 3)²
5
Restrições:
4
x1 < 4
x2
3
x2 < 6 2
3.x1 + 2.x2 < 18 1
mínimo
x1 > 0 0
4F
x2 > 0 0 1 2 3 5 6 7
x1

16
PL x PNL: Ótimos Globais e Locais
• PL: as soluções ótimas são sempre ótimos globais
• PNL: podemos encontrar um ponto de máximo ou
mínimo sem ter certeza se ele é local ou global...

F(x)

x
17
PL x PNL: Gradiente
• PL: o gradiente da função objetivo é constante, ela
cresce sempre na mesma direção e com a mesma
intensidade
F = a1x1 + a2 x2 + ... + an xn

• PNL: a direção e a intensidade de crescimento da


função podem variar em cada ponto (x1, x2, ... xn)

F F F
F ( x1, x2 ,...x ) = x1 + x2 + ... + xn
x1 x2 xn

18
?

19
PNL
• a PNL é bem mais abrangente na aplicação devido a
não linearidade de muitos problemas
• exceto em casos particulares a solução pode estar
em qualquer ponto da região factível (tanto na
fronteira como internos)
• podem existir múltiplos pontos de máximos e
mínimos locais e não existir certeza de que o ótimo
encontrado seja global
• maior tempo de processamento em algoritmos
específicos para PNL
20
PNL: Solução Inicial
• como em diversos métodos numéricos, o tempo de
processamento e a qualidade da solução ou mesmo
a viabilidade de encontrar uma solução podem ser
muito beneficiadas se o algoritmo receber uma
solução inicial “na direção certa”

• podem ser utilizados modelos de simulação ou


modelos mais simplificados de otimização para criar
uma solução inicial antes de aplicar a PNL

21
Exemplos de rotinas ou algoritmos
disponíveis para PNL
• Solver do Excel
• Solver da Frontline (www.solver.com)
• várias inclusas no GAMS (www.gams.com):
CONOPT, MINOS, SNOPT, etc.
• e em vários outros... podemos aplicar
diferentes rotinas para
o mesmo problema de
PNL!
22
PNL: Construção de Modelos
• quais são as variáveis importantes envolvidas no problema?
• como elas se relacionam? (equacionamento conceitual ou
empírico de processos físicos, químicos, biológicos, etc.)
• quais podem ser controladas pelo decisor?
• quais são os dados conhecidos, com que precisão, custo de
obtenção, etc.
• com que nível de detalhamento o problema deve ou pode ser
tratado? (espacial, temporal, aleatoriedade, etc.)
• quais são as restrições?
• qual deve ser a função objetivo?
• PL, PNL ou que outro tipo de modelo seria mais adequado?
23
Exemplo: Calibração de Modelos
• É muito comum o uso de funções quadráticas como
medida de performance da calibração de modelos
empíricos de simulação (SMAP, Curva-Chave, etc.)
2
σ𝑛𝑖=1 𝑄𝑜𝑏𝑠,𝑖 − 𝑄𝑐𝑎𝑙𝑐,𝑖
max 𝐸 = 1 − 2
σ𝑛𝑖=1 𝑄𝑜𝑏𝑠,𝑖 − 𝑄ሜ 𝑜𝑏𝑠

𝑛
2
min 𝐸 = ෍ 𝑄𝑜𝑏𝑠,𝑖 − 𝑄𝑐𝑎𝑙𝑐,𝑖
𝑖=1

24
Exemplo: Operação de Reservatórios
• no início da aula foram apresentadas as equações
normalmente utilizadas para definir as relações entre cota,
área e volume em reservatórios:

variáveis S, H, A
H (S ) = a0 + a1  S + a2  S 2 + a3  S 3 + a4  S 4
com 
 A( H ) = c 0 + c1  H + c 2  H 2
+ c 3  H 3
+ c 4  H 4

• a operação de reservatórios quando considera essas variáveis


naturalmente se torna um problema não linear, envolvendo
problemas de alocação de água, controle de cheias, geração
de energia, etc.

25
não linearidades...
• uma usina turbinou em média 180 m³/s durante três
meses

• se tivesse turbinado o dobro da vazão, como teriam


se comportado o armazenamento, a evaporação, a
potência gerada, etc.?
26
PL PNL
F.O. e restrições lineares não lineares
pode não ser um
Região factível poliedro convexo poliedro... e pode não ser
convexa!
nos vértices da qualquer ponto da região
Solução ótima
região factível factível, inclusive internos
Ótimos globais garantia de ser incerteza se o ótimo é
e locais ótimo global local ou global
gradiente F constante variável
abrangência problemas lineares problemas não lineares
solução inicial irrelevante sensível

27
Uso do solver na calibração do SMAP

28

Você também pode gostar