• Nenhum resultado encontrado

PQI-5779: OTIMIZAÇÃO DE PROCESSOS QUÍMICOS

N/A
N/A
Protected

Academic year: 2021

Share "PQI-5779: OTIMIZAÇÃO DE PROCESSOS QUÍMICOS"

Copied!
129
0
0

Texto

(1)

PQI-5779:

OTIMIZAÇÃO

DE PROCESSOS

QUÍMICOS

Prof. JORGE ANDREY WILHELMS GUT

Prof. JOSÉ MAURÍCIO PINTO

(2)
(3)

I. OTIMIZAÇÃO DE PROCESSOS QUÍMICOS 1

I.1. Formulação Conceitual de Programação Matemática 3 I.2. Representação de Problemas Inteiros Mistos 9 I.3. Modelos e Estratégias para Representações em Redes 12

II. CONCEITOS BÁSICOS DE OTIMALIDADE 17

II.1. Revisão de Álgebra Linear 17

II.2. Preliminares 18

II.3. Condições de Otimalidade 20

II.3.1. Problema de otimização sem restrições 20 II.3.2. Problema de otimização com restrições de igualdade 21 II.3.3. Problema de otimização com restrições de desigualdade 23 II.3.4. Otimização com restrições de igualdade e desigualdade 25 II.4. Procedimento de Determinação de um Ponto de Kuhn-Tucker 28

III. OTIMIZAÇÃO MONOVARIÁVEL SEM RESTRIÇÕES 31

III.1. Introdução 31

III.2. Métodos de Otimização Unidimensional sem Restrições 32 III.2.1. Métodos de redução de intervalo 32 III.2.2. Métodos baseados em derivadas 35 III.2.3. Métodos de aproximação polinomial 36 III.2. Busca Unidimensional em Otimização Multivariável 40

IV. OTIMIZAÇÃO MULTIVARIÁVEL SEM RESTRIÇÕES 42

IV.1. Métodos de Busca Direta 42

IV.1.1. Enumeração exaustiva 42

IV.1.2. Otimização evolucionária (EVOP) 42

IV.1.3. Método de busca simplex 43

IV.1.4. Método de Hooke-Jeeves 46

IV.2. Métodos Baseados em Gradiente 47

IV.2.1. Método de Newton 48

IV.2.2. Método steepest descent 49

IV.2.3. Método de Marquardt 50

IV.3. Métodos Quasi-Newtonianos 50

V. PROGRAMAÇÃO LINEAR 52 V.1. Método Simplex 55 V.1.1. Princípios 55 V.1.2. Procedimento básico 58 V.1.3. Algoritmo 59 V.2. Método de Karmarkar 61 V.2.1. Princípios 61 V.2.2. Procedimento básico 62 V.2.3. Algoritmo 63

(4)

VI.2. Algoritmos 71 VI.2.1. Programação linear sucessiva (SLP) 72 VI.2.2. Métodos de gradiente reduzido (GRG) 73 VI.2.3. Programação quadrática sucessiva (SQP) 76 VI.3. Diretrizes para Formulação de Modelos NLP 77 VI.4. Modelos com Funções Implícitas (caixa preta) 78 VI.5. Softwares Disponíveis para NLP 79 VI.6. Exemplo de Validação de Solvers NLP 81

VII. OTIMIZAÇÃO DE PROBLEMAS DISCRETOS 85

VII.1. Representação de variáveis discretas 85 VII.2. Modelagem de decisões discretas 86

VII.2.1. Restrições de múltipla escolha 86 VII.2.2. Modelagem de restrições lógicas 86 VII.2.3. Lógica proposicional e programação matemática 88 VII.2.4. Restrições condicionais em variáveis contínuas 90

VIII. PROBLEMAS CLÁSSICOS MILP E IP 92

VIII.1. Problema da mochila (knapsack problem) 92 VIII.2. Problema de alocação (assignment problem) 92 VIII.3. Problema de localização de plantas (facility location problem) 93 VIII.4. Problema de cobertura (set covering problem) 94 VIII.5. Problema do caixeiro viajante (TSP, travelling salesman problem) 95

IX. PROGRAMAÇÃO LINEAR INTEIRA MISTA - MILP 97

IX.1. Técnicas de Solução de Problemas MILP 97

IX.1.1. Enumeração exaustiva 97

IX.1.2. Relaxação 97

IX.1.3. Métodos rigorosos 98

IX.1.4. Recomendações para modelos MILP 98

IX.2. Método Branch-and-Bound 99

IX.3. Linearização de problemas LP ou MINLP 101 IX.4. Identificação de outras soluções discretas 102

IX.5. Exemplos MILP 103

IX.6. Caso MILP: Programação de produção em unidades de batelada 110

X. PROGRAMAÇÃO NÃO LINEAR INTEIRA MISTA - MINLP 116

X.1. Métodos de solução MINLP 116

X.1.1. Enumeração exaustiva 116

X.1.2. Branch-and-Bound 116

X.1.3. Métodos de decomposição 116

X.2. Convexificação de problemas NLP 119 X.3. Caso MINLP: Projeto ótimo de uma planta em batelada 120

(5)

1

I. OTIMIZAÇÃO DE PROCESSOS QUÍMICOS

Considere o problema de projeto de processos. Suponha que se conheça um simulador de processos e os modelos para o projeto das unidades e operações unitárias nele contidas. Um dos objetivos de se executar tarefas de simulação é o de utilizar o modelo de predição do processo para melhorá-lo, explorando diferentes opções e condições de operação. No entanto, é possível desenvolver estratégias sistemáticas de melhoria, ou otimizações.

Sob um ponto de vista prático, pode-se definir o termo otimização como: dado um sistema ou processo, encontrar a melhor solução para o mesmo respeitando restrições estabelecidas. Para quantificar o termo “melhor” é necessária inicialmente uma função objetivo que serve como um indicador da qualidade de uma solução em particular. Objetivos típicos para o projeto de processos incluem custo operacional e fixo, rendimento ou qualidade de produtos, lucro total, impacto ambiental, etc.

De modo a influenciar esta função objetivo (e também as restrições) são definidas as variáveis do problema. Estas podem representar fisicamente tamanhos de equipamentos e condições de operação (por exemplo, pressões, temperaturas e vazões). Finalmente, os limites da operação do processo, pureza dos produtos, validade dos modelos e relações entre as variáveis do problema devem ser consideradas como restrições no processo. Normalmente as variáveis podem ser classificadas como variáveis de decisão que representam os graus de liberdade na otimização e as variáveis dependentes que podem ser calculadas a partir das restrições. Em muitos casos, a tarefa de encontrar uma melhor solução pela manipulação das variáveis de decisão é executada por tentativa e erro (através de estudos de casos). No entanto, com métodos de otimização o interesse é utilizar uma abordagem sistemática para encontrar a melhor solução da forma mais eficiente possível.

Áreas correlatas que descrevem a teoria e conceitos de otimização são a Programação

Matemática e a Pesquisa Operacional, que apresentam uma extensa literatura associada. A

Programação Matemática lida principalmente com a caracterização de propriedades teóricas de problemas e algoritmos de otimização, incluindo-se a existência de soluções, convergência para as soluções, etc. Por outro lado, a Pesquisa Operacional foca na aplicação e implementação de métodos de otimização para uso prático e eficiente.

Em Engenharia de Processos, o interesse é na aplicação de métodos de otimização a problemas reais, fazendo uso da modelagem matemática e de ferramentas computacionais. Neste caso, deve-se sentir confortável quanto ao funcionamento do algoritmo de otimização, incluindo as limitações do método (por exemplo, em que casos ele pode falhar). Principalmente, é necessário formular problemas de otimização que capturem a essência do processo real, mas que sejam tratáveis e solúveis pelos métodos atuais de otimização.

(6)

2

Aplicações de otimização em processos químicos:

1) Projeto de processos: através da modelagem matemática do processo ou operação unitária, determinar variáveis e dimensionar equipamentos.

2) Síntese de processos: seleção sistemática de configurações do processo adicionando ou retirando unidades do seu fluxograma.

3) Planejamento e programação: determinação do planejamento de produção, distribuição, inventário, etc. Otimizar a programação de processos batelada multi-propósito.

4) Controle e operação on-line de processos: otimização on-line do modelo do processo para minimizar desvios do set-point (RTO – real time optimization). Planejamento e programação on-line.

5) Ajuste de modelos: minimizar o desvio entre dados experimentais e valores preditos pelo modelo matemático através do ajuste de parâmetros.

Abordagens:

1) Viabilidade: determinar uma solução que satisfaça todas as restrições do problema (especificações funcionais, restrições físicas etc.) sem o uso de um critério de avaliação (função objetivo).

2) Otimalidade: seleção da “melhor” alternativa viável segundo algum critério de avaliação (função objetivo).

Um problema mais genérico (e mais complexo) que o problema de projeto é o problema de

síntese de processos. A síntese pode ser definida como a geração e a seleção de alternativas

para melhorar a integração de sistemas, consistindo de componentes conhecidos.

As etapas mostradas são:

ANÁLISE: simulação de modelos quantitativos (algébrico / diferencial / Booleano) AVALIAÇÃO: medida algébrica por um critério de avaliação

ESPAÇO DE ALTERNATIVAS: representação bem definida dos componentes do sistema / Superestrutura espaço de alternativas (superestrutura) Síntese Topologia (configuração) Sistema Parâmetros Avaliação Análise variáveis

discretas contínuasvariáveis

função objetivo

modelo matemático e restrições

(7)

3 A metodologia envolvida obedece à seguinte sequência:

1. Postular uma superestrutura que represente as alternativas. Representação?

2. Modelar superestrutura como modelo de otimização. Modelagem?

3. Resolver problema. Método de solução?

O processo de síntese é iterativo por natureza e envolve decisões de natureza contínua e discreta. Como exemplo, considere um sistema cujas especificações funcionais são conhecidas. As questões fundamentais abordadas através da síntese são:

1. Quais componentes devem integrar um sistema? 2. Como interconectar os componentes?

3. Quais os valores das variáveis e processo?

I.1.FORMULAÇÃO CONCEITUAL DE PROGRAMAÇÃO MATEMÁTICA

Este é o formato padrão de um problema de programação matemática:

min f(x,y) x,y sujeito a: h(x,y) = 0 g(x,y) ≤ 0 x  X y  Y Variáveis:

x vetor de variáveis contínuas n

y vetor de decisões discretas d

Espaço das alternativas:

X conjunto das variáveis contínuas no espaço contínuo Y conjunto das decisões discretas no espaço discreto Análise:

a) Modelo de desempenho

hmx1 vetor de equações m (com m < n)

b) Restrições funcionais, lógicas e físicas

grx1 vetor de inequações r

Avaliação: Função objetivo

(8)

4

As classes de problemas de otimização são definidas de acordo com os tipos de variáveis e de equações envolvidos no problema. Ao formular um problema de otimização, recomenda-se adotar, sempre que possível, funções lineares e variáveis contínuas, devido a maior facilidade de resolução do problema. Classe Função objetivo e restrições (f, g e h) Variáveis

(x e y) Algumas opções de solução OBS

LP Linear Programming

lineares

contínuas - Simplex - Métodos de ponto interior Solução (vértice

da região viável) é o ótimo global, pois o problema é convexo MILP Mixed-Integer Linear Programming contínuas e discretas - Branch-and-bound

- Planos cortantes (Branch-and-cut) NLP Non-Linear Programming lineares e não-lineares contínuas - Condições de KKT

- Gradiente reduzido generalizado - Programação quadrática

sucessiva

Solução é um ótimo local. Será o ótimo global se o problema for convexo. MINLP Mixed-Integer Non-Linear Programming contínuas e discretas - Aproximação externa - Decomposição de Benders generalizada Problemas de maximização?

Basta minimizar a função multiplicada por –1 max f  min –f

Múltiplas funções objetivo?

min f1(x,y), f2(x,y), ... fs(x,y)

Não há solução ótima para problemas com múltiplos objetivos, pois normalmente os objetivos perseguidos são conflitantes. Por exemplo: maximizar qualidade do produto e minimizar custos de produção. A figura abaixo apresenta o espaço de soluções viáveis de um problema com dois objetivos. Nota-se que as soluções que fornecem os menores valores de f1 e de f2 não são coincidentes.

f

1

f

2

região

viável

min(f1) min(f2) ponto utopia (inviável)

conjunto de soluções que antendem às restricões do problema (h e g)

(9)

5 Possíveis abordagens para lidar com múltiplos objetivos:

a) Escolher um objetivo principal e restringir os outros objetivos a valores toleráveis:

min z = fq(x,y)

s.a. fi(x,y) ≤ fiU P i = 1, 2, ... s; com i  q

b) Ponderar os objetivos em uma função única

min z =

s i i i f w 1 . (x,y)

Problema: como escolher os pesos wi para poder somar funções com unidades e faixas

e valores diferentes? Normalização dos objetivos (0  f  1) pode ser útil.

Fronteira de Pareto: Na minimização de dois objetivos ponderados, pode-se determinar a ‘Fronteira de Pareto’ que contempla as soluções ótimas em uma graduação que vai de 100% objetivo f1 até 100% objetivo f2. Isso ajuda na escolha da ponderação ideal.

Limitações da representação via programação matemática:

- Critério de seleção expresso como uma única função objetivo. - Problema expresso na forma de equações algébricas.

- Parâmetros determinísticos. Número de Graus de liberdade (NGL):

- NGL = número total de variáveis (n+d+1) menos o número de equações linearmente independentes (m+1). Portanto, NGL = n+d–m.

- Um problema de otimização deve preferencialmente ter NGL ≥ 1. - Para NGL = 0, a região viável contém no máximo um elemento. Resolução de um problema de viabilidade:

- Para apenas satisfazer restrições e obter uma solução viável: min z = constante

Análise de sensibilidade

Dada a natureza determinística da programação matemática, é importante avaliar como incertezas nos parâmetros do problema afetam a solução ótima. Na análise de sensibilidade, provoca-se alterações no parâmetro incerto e otimiza-se novamente o problema. Graficando ou tabulando os resultados de objetivo otimizado (f*) e das variáveis independentes otimizadas (x*) em função do valor do parâmetro, pode-se avaliar a sensibilidade da solução ótima com relação à incerteza.

f

1

f

2 min(f1) min(f2) min .f1+ (1–).f2 0    1

(10)

6

EXEMPLO 1: Desejo investir R$ 1.000,00. Posso investir em Poupança (rendimento de 0,5 % ao mês) ou em CDB (rendimento de 0,6 % ao mês). Como maximizar os rendimentos?

Embora bastante simples, este problema é útil para consolidar conceitos importantes de otimização com programação matemática.

Passo 1 – Modelagem do problema Definição de variáveis:

x1 = valor investido em poupança (R$)

x2 = valor investido em CDB (R$) Definição da função objetivo:

max 0,005.x1 + 0,006.x2 Definição de restrições: x1 + x2= 1000 (poderia ser ≤ 1000) x1 ≥ 0 x2 ≥ 0 Definição de domínios: x  2

Passo 2 – Formulação como problema de programação matemática min f(x) = –0,005.x1 –0,006.x2

s.a. h1(x): x1 + x2 – 1000 = 0

g1(x): –x1 ≤ 0

g2(x): –x2 ≤ 0

x  2

O número de graus de liberdade é: 2 variáveis (x1, x2) – 1 equação (h1) = 1,

Ou: 3 variáveis (f, x1, x2) – 2 equações (objetivo, h1) = 1, levando em conta a função objetivo. Chama-se de região viável o espaço de

soluções de satisfazem as restrições. Neste problema, a região viável é um segmento de reta. Aplicando a função objetivo, seleciona-se a solução que forneça o menor valor (solução ótima): x* = [ 0 1000 ] com f* = – 6,0.

Considere agora uma restrição adicional (perfil conservador), em que um valor mínimo de R$ 200,00 deve ser investido em poupança:

g3(x): –x1 + 200 ≤ 0

A nova solução ótima é x* = [ 200 800 ] com

f* = –5,8. Neste problema, a restrição g3(x) é uma restrição ativa, pois o ponto ótimo situa-se na sua fronteira com g3(x*) = 0 e, caso esta restrição seja retirada do problema, a solução ótima será outra. Ou seja, esta restrição está impedindo o progresso da otimização de f.

x1 x2 1000 1000 solução ótima x1 x2 1000 1000 solução ótima

(11)

7 Considere agora uma outra restrição adicional (investidor com perfil diversificado), em que um valor mínimo de R$ 200,00 deve ser investido em cada aplicação:

g4(x): –x2 + 200 ≤ 0

A solução ótima não mudou em relação ao problema anterior. Neste novo cenário, a restrição g4(x) é uma restrição inativa, pois o ponto ótimo situa-se afastado de sua fronteira com g4(x*) < 0 e, caso esta restrição seja retirada do problema, a solução ótima é mantida.

EXEMPLO 2: Formular um problema de programação matemática para o projeto de um sistema de treliças, determinando a sua topologia e as áreas das seções transversais das barras.

Variáveis independentes contínuas:

u1 = área da seção transversal das barras oblíquas (cm2)

u2 = área da seção transversal da barra central (requer custo fixo para a junta) (cm2) Variáveis independentes discretas:

y = 1, se a barra do meio for inclusa.

0, se a barra não for inclusa. Função objetivo: Custo da treliça ($)

z = Custo das barras + Custo das juntas

Custo das barras = CB. [ 100.u2 + 2.(100.2).u1 ] com CB: $/cm3, parâmetro

Custo das juntas = CJ . [2 + y] com CJ: $/junta, parâmetro

então a função objetivo do problema é:

min z = CJ . [2 + y] + CB. [ 100.u2 + 2.(100.2).u1 ]

Restrição lógica: o custo da barra central é contabilizado apenas se y = 1, ou seja, se y = 0, então u2 = 0. Modelagem:

0 ≤ u2 ≤ u2UP . y sendo u2UP um limite superior fornecido para a variável u2. Se y = 0, então 0 ≤ u2 ≤ 0 e consequentemente u2 = 0

Se y = 1, então 0 ≤ u2 ≤ u2UP Variáveis dependentes (variáveis de estado):

Tensões: δ1, δ2, δ3 Deslocamentos: r1, r2 x1 x2 1000 1000 solução ótima u1 u2 u1 200 cm 100 cm F

(12)

8

Modelagem matemática da treliça:

δ = S . r                               2 1 3 2 1 5 0 5 0 0 1 0 0 5 0 5 0 100 r r . , , , , , , E K . r = P                    20 20 2 1 . 2 0 0 2 . 100 2 1 2 1 1 r r u u u E em que: S : matriz de tensões E : módulo de elasticidade K : matriz de rigidez

Observação: 5 equações em 5 variáveis de estado (variáveis dependentes) Restrições: tensões máxima e mínima permissíveis

δiU = +20 i = 1, 2, 3

δiL = –15 i = 1, 2, 3

ou seja: –15 ≤ δi ≤ 20 para i = 1, 2, 3

Formulação MINLP:

min z = CJ . [2 + y] + CB. [ 100.u2 + 2.(141,4).u1 ]

u1, u2, y

Sujeito a: 100.δ1 –0,5.E.r1 –0,5.E.r2 = 0

100.δ2 –E.r2 = 0 100.δ3 +0,5.E.r1 –0,5.E.r2 = 0 E.u1.r1–2000 = 0 E.(u1 +2.u2).r2 –2000 = 0 δi – 20 ≤ 0 i = 1, 2, 3 –δi – 15 ≤ 0 i = 1, 2, 3 u2 – u2u . y ≤ 0 y  {0, 1} u1, u2 ≥ 0 Parâmetros do modelo: CJ, CB, E, u2UP.

(13)

9

I.2.REPRESENTAÇÃO DE PROBLEMAS INTEIROS MISTOS

Na representação de problemas de otimização com variáveis/decisões discretas, o objetivo é estruturar explicita ou implicitamente uma família de alternativas que são candidatas potenciais para a solução ótima. Dependendo da representação empregada, recorre-se a diferentes técnicas de busca para localização da alternativa ótima. As duas principais representações de um problema são em árvores ou em redes (superestruturas), conforme descrito a seguir.

Considere um grafo, onde:

a) Nós: componentes potenciais. b) Arcos: interconexões potenciais. Há duas principais classes de grafos:

1) Árvores: grafo conectado sequencialmente sem ciclos a partir de um só raiz. 2) Rede: grafo conectado com variáveis de decisão nos arcos e nós.

As principais características destas representações são:

Redes ou Superestruturas Árvores

Representação explícita de alternativas. Representação implícita de alternativas. Geração de alternativas por superposição. Geração de alternativas por decomposição.

Otimização normalmente simultânea. Otimização requer monotonicidade e

separabilidade. No caso geral, se há n primitivas binárias, tem-se 2n alternativas.

EXEMPLO 1: Sequência ótima de separação

Dada uma mistura de 4 componentes (A, B, C e D), determine a sequência ótima de separação. “A” é componente mais volátil e “D” é o mais pesado.

Na representação em árvore, qualquer sequência é dada por um caminho que vai do nó raiz até um nó terminal. Note na figura que há separadores repetidos (A/B, B/C e C/D). A árvore tem 14 nós e o número total de alternativas é cinco (nós terminais).

Se a duplicação de nós for evitada, tem-se a representação abaixo. Não se observa mais uma árvore, mas sim uma representação em rede (superestrutura) que pode ser interpretada como um fluxograma de processo contendo todos os separadores conectados. Na rede pode haver

A B C D A B C D A B C D A B C D B C D B C D A B C A B C A B C D B C C D B C A B

(14)

10

mais de uma saída e mais de uma entrada em cada nó. É possível representar reciclos e o caso de separadores arranjados em paralelo.

Esta superestrutura contempla mais opções do que a árvore anteriormente elaborada. Se a cada separador for atribuída uma variável binária SIM(1) ou NÃO(0), esta superestrutura geraria uma árvore com 210 = 1.024 opções, contra apenas 5 da árvore anterior. Entretanto, grande parte das opções é inviável, ou seja, são combinações que não conseguiriam separar a mistura de componentes.

EXEMPLO 2: Fluxograma para o processo de amônia

Estes são os principais componentes do fluxograma de produção de amônia

Considerando que as etapas de reação, separação e recuperação tenham duas opções de tecnologia cada, tem-se a seguinte representação em árvore do problema de síntese do processo:

A B C D A B C D A B C D A B C D B C D B C D A B C A B C B C C D A B

compressor reator separador de NH3 recuperação de H2 N2 H2 NH3 purga Reator multibed Reator tubular Flash condensação Absorção destilação Separação membrana Sem recupe-ração de H2 Separação membrana Sem recupe-ração de H2 Separação membrana Sem recupe-ração de H2 Separação membrana Sem recupe-ração de H2 Flash condensação Absorção destilação

(15)

11 Na representação em árvore, um caminho desde o nó raiz até um nó terminal define uma solução completa. A árvore tem 3 primitivas e apresenta 23 = 8 opções diferentes.

Uma possível representação em rede, eliminando as duplicações de nós da árvore:

Uma superestrutura mais detalhada na forma de fluxograma de processo:

A superestrutura abrange todas as soluções possíveis. A cada parte do fluxograma é atribuída uma variável binária SIM(1) ou NÃO(0). Soluções são obtidas “apagando” partes do fluxograma. Segue um exemplo de solução possível, com reator multibed, condensação flash e separação por membranas:

Reator multibed Reator tubular Flash condensação Absorção destilação Separação membrana Sem recupe-ração de H2 Reator multibed Reator tubular N2 H2 NH3 purga água água N2 H2 NH3 purga Reator tubular

(16)

12

I.3.MODELOS E ESTRATÉGIAS PARA REPRESENTAÇÕES EM REDES

Ao representar um problema por uma superestrutura (rede), este problema deve ser decomposto em decisões discretas simples que permitam a criação de uma árvore de busca sequencial associada a esta superestrutura.

A formulação geral é aquela apresentada na seção I.1 e o método de solução será função da estrutura do problema e sua classe.

Uma possível forma de solução é chamada de “enumeração exaustiva”. A árvore é expandida por completo e cada uma das combinações das variáveis discretas é otimizada nas variáveis continuas. Por fim, escolhe-se a combinação que forneceu o melhor valor da função objetivo. Técnicas de otimização em árvore serão abordadas mais adiante no curso.

No exemplo que segue, um problema de seleção de reatores (escolhas discretas SIM e NÃO) é formulado e resolvido primeiramente com um problema NLP (programação não linear) e depois como um problema MILP (programação linear inteira mista). Um mesmo problema de otimização pode ser modelado de formas diferentes.

EXEMPLO: Problema de seleção de reatores

Deseja-se fabricar o produto B com uma produção de 10 kmol/h, a partir da matéria-prima A (custo de 5,0 $/kmol). Tem-se dois reatores disponíveis, já existentes: 1 e 2. O reator 1 tem um custo operacional maior, mas fornece uma conversão molar de 80,0% de A em B, enquanto o reator B tem menor custo operacional e conversão de 66,7%.

A superestrutura abaixo foi concebida para representar o problema considerando os seguintes cenários: adotar o reator 1, adotar o reator 2, trabalhar com reatores em paralelo.

Em uma primeira abordagem este problema será modelado com um NLP (programação não linear), sem o uso de variáveis discretas para representar as decisões de uso dos reatores. Variáveis contínuas positivas definidas para a modelagem:

x0 entrada do reagente A (kmolA/h)

x1 alimentação do reator 1 (kmolA/h)

x2 alimentação do reator 2 (kmolA/h)

z1 produção do reator 1 (kmolB/h)

z2 produção do reator 2 (kmolB/h)

z0 saída do produto B (kmolB/h)

Definição da função objetivo como custo total operacional c($/h):

c = custo operação reator 1 + custo operação reator 2 + custo aquisição de A c = c1 + c2 + cA c = 5,5.x10,6 + 4,0.x20,6 + 5,0.x0 Reator 1 Conversão = 80,0 % Custo ($/h): 5,5.x10,6 Reator 2 Conversão = 66,7 % Custo ($/h): 4,0.x20,6 x0 x1 x2 z1 z2 z0

(17)

13 Modelagem do processo: x0 = x1 + x2 balanço de A na derivação z0 = z1 + z2 balanço de B na mistura z1 = 0,800.x1 conversão no reator 1 z2 = 0,667.x2 conversão no reator 2 Restrição de demanda:

z0 = 10 (poderia ser formulado também como z0 ≥ 10)

Formulação NLP: min c = 5,5.x10,6 + 4,0.x20,6 + 5,0.x0 s.a.: x0 – x1 – x2 = 0 z0 – z1 – z2 = 0 z1 – 0,800.x1 = 0 z2 – 0,667.x2 = 0 z0 – 10 = 0 x0, x1, x2, z0, z1, z2 ≥ 0,  1

Número de graus de liberdade do problema: 6 variáveis – 5 equações = 1. Com uma substituição de variáveis podemos deixar o NLP em função de x1 e x2: min c = 5,5.x10,6 + 4,0.x20,6 + 5,0.(x1 + x2) s.a. 0,800.x1 + 0,667.x2 – 10 = 0 x1, x2  0,  1 ou simplesmente em função de x2: min c = 5,5.(12,5 – 0,83.x2)0,6 + 4,0.x20,6 + 5,0.(12,5 + 0,17.x2) s.a. x2  0,  1

O gráfico de c(x2) indica a existência de dois pontos de mínimo custo (I e II) e um ponto de máximo custo (III):

Ponto x1 (kmolA/h) x2 (kmolA/h) c ($/h)

I mínimo global 12,5 0,0 87,5

II mínimo local 0,0 15,0 95,3

III máximo global 3,1 11,3 99,9

84 86 88 90 92 94 96 98 100 102 0 2 4 6 8 10 12 14 16 x2 c I II III

(18)

14

Na solução ótima global (ponto I) utiliza-se apenas o reator 1 com um custo otimizado c* = 87,5 $/h. Se o problema NLP fosse resolvido por um método iterativo, a convergência poderia ser para os pontos I ou II dependendo do ponto inicial adotado. Na resolução de NLPs, ótimos obtidos são sempre locais até que se prove o contrário.

Alternativamente este mesmo problema foi modelado como um MILP (programação linear inteira mista). O primeiro passo foi a criação de variáveis binárias para representar as escolhas dos reatores:

y1 = 1, se o reator 1 for utilizado y2 = 1, se o reator 2 for utilizado

0, caso contrário 0, caso contrário

As vazões de alimentação podem ser associadas a estas variáveis através das seguintes restrições lógicas lineares:

0 ≤ x1  20.y1  se reator 1 é usado: 0  x1  20; caso contrário x1 = 0 0 ≤ x2  20.y2  se reator 2 é usado: 0  x2  20; caso contrário x2 = 0 em que o parâmetro 20 foi adotado como um limite superior aceitável para as vazões.

Esta estratégia é conhecida como big-M, em que o “grande M” é o limite superior para a variável controlada:

0 ≤ x  M.y

Dependendo do valor da binária y, a variável real x pode assumir um valor fixo nulo ou pode ficar livre para variar entre 0 e M.

Os únicos termos não lineares de todo o problema são os custos operacionais. Fazendo o gráfico das funções c1(x1) e c2(x2), nota-se que elas podem ser linearizadas:

As funções não-lineares de custos c1 e c2 podem ser substituídas por aproximações lineares na forma c =  + .x:

Reator 1 c1 = 7,5 + 1,4.x1 Reator 2 c2 = 5,5 + 1,0.x2

Entretanto, o custo deve ser nulo quando o reator não for selecionado (y = 0). Esta condição pode ser satisfeita de forma linear alterando as equações para:

Reator 1 c1 = 7,5.y1 + 1,4.x1 Reator 2 c2 = 5,5.y2 + 1,0.x2

Note que, se y1 = 0, então tem-se x1 = 0 pelo big-M e c1 = 0 pela equação acima. Caso y1 = 1, tem-se 0 ≤ x1 ≤ 20 e c1 = 7,5 + 1,4.x1. O mesmo raciocínio vale para o reator 2.

0 10 20 30 40 0 5 10 15 20 0 10 20 30 40 0 5 10 15 20 c1≈ 7,5 + 1,4.x1 c2≈ 5,5 + 1,0.x2

(19)

15 Pode-se incluir uma restrição lógica adicional para garantir que ao menos um dos reatores será escolhido na otimização:

y1 + y2  1

O problema pode então ser escrito como um MILP:

min c = (7,5.y1 + 1,4.x1) + (5,5.y2 + 1,0.x2) + 5,0.x0 s.a.: x0 – x1 – x2 = 0 z0 – z1 – z2 = 0 z1 – 0,800.x1 = 0 z2 – 0,667.x2 = 0 z0 – 10 = 0 x1 –20.y1  0 x2 –20.y2  0 1 – y1 – y2  0 x0, x1, x2, z0, z1, z2 ≥ 0,  1 y1, y2 = {0, 1}

Substituindo variáveis, tem-se o MILP:

min c = 7,5.y1 + 6,4.x1 + 5,5.y2 + 6,0.x2 s.a. 0,800.x1 + 0,667.x2 – 10 = 0 x1 –20.y1  0 x2 –20.y2  0 1 – y1 – y2  0 x1, x2  0,  1 y1, y2 = {0, 1}

Uma estrutura em árvore pode ser elaborada para representar as decisões binárias e uma estratégia de enumeração exaustiva pode ser usada para determinar a solução ótima. A árvore fornece quatro soluções para as variáveis discretas: y = [0 0], [0 1], [1 0] e [1 1], sendo que a solução [0 0] é inviável. Representando a enumeração exaustiva das opções discretas na árvore:

Para y = [0 1], x1 = 0 e a única solução é usar o reator 2: c* = 95,4 $/h e x2* = 15,0 kmolA/h Para y = [1 0], x2 = 0 e a única solução é usar o reator 1: c* = 87,5 $/h e x1* = 12,5 kmolA/h Para y = [1 1], tem-se o LP abaixo com um grau de liberdade

min c = 13,0 + 6,4.x1 + 6,0.x2 s.a. 0,800.x1 + 0,667.x2 = 10 0 ≤ x1, x2  20 y1 = 0 y1 = 1 y2 = 0 y2 = 1 y2 = 0 y2 = 1 inviável c*= 95,4 c*= 87,5 c*= 93,0

(20)

16 ou

min c = 93,0 + 0,667.x2

s.a. 0 ≤ x2  20

cuja solução ótima é o menor valor de x2, ou seja, c* = 93,0 $/h e x* = [12,5 0,0] kmolA/h Tem-se como solução ótima do problema (neste caso, global, pois todas as opções foram exploradas) usar o reator 1 com custo otimizado c* = 87,5 $/h. Note que as soluções para y = [0 1] e [1 0] na árvore acima correspondem aos pontos II e I, respectivamente, na solução gráfica do problema escrito como um NLP.

(21)

17

II. CONCEITOS BÁSICOS DE OTIMALIDADE

II.1.REVISÃO DE ÁLGEBRA LINEAR

Nomenclatura:

Escalar x

Vetor coluna x

Matriz X

Produto escalar entre vetores: f = aT.b Para vetores ortogonais: aT.b = 0

A equação aT.b = cT.b não implica em a = c Propriedades de multiplicação matricial:

Amxn.Bnxp = Cmxp A.B ≠ B.A

( A.B )T = BT.AT

Uma matriz pode ser representada por uma série de vetores coluna:

A = [ c1 c2 … cn ]

se ciT.cj = 0 para i ≠ j  A é ortogonal

além disso se ciT.ci = 1  A é ortonormal ou normalizada

Autovalores:

As raízes λ’i do seguinte polinômio são os autovalores da matriz quadrada A A.x = λ’.x , x  0

det( A – λ’ I ) = 0 em que I é a matriz identidade.

O “sinal” de uma matriz quadrada simétrica A é definido conforme:

Matriz A Condição Autovalores

Positiva definida xT.A. x > 0, para  x ≠ 0 λ’i > 0

Positiva semi-definida xT.A. x ≥ 0, para  x ≠ 0 λ’i ≥ 0

Negativa definida xT.A. x < 0, para  x ≠ 0 λ’i < 0

Negativa semi-definida xT.A. x ≤ 0, para  x ≠ 0 λ’

i ≤ 0 Diferenciação de funções: Gradiente de f(x) : T 2 1                 n x f x f x f x f f

(22)

18 Jacobiano de h(x):

 

                                          n m m m n n x h x h x h x h x h x h x h x h x h x h x h J        2 1 2 2 2 1 2 1 2 1 1 1 Hessiano de f(x):

 

 

                                         n n n n n n x x f x x f x x f x x f x x f x x f x x f x x f x x f x f x f H 2 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 1 2 1 1 2 2       

H é uma matriz quadrada simétrica

II.2.PRELIMINARES

Seja o problema NLP (programação não linear):

min f(x)

sujeito a: h(x) = 0 m equações

g(x) ≤ 0 r inequações x  n n variáveis

O número de graus de liberdade, ou número de variáveis independentes, é NGL = n – m. Um problema de otimização precisa ter NGL  1.

O número de variáveis de estado (dependentes) é m.

A região viável do problema é o espaço F que contém toda as soluções que satisfazem as restrições h e g:

(23)

19 Exemplos de regiões viáveis em 2 e 3:

Para compreender o funcionamento de algoritmos de programação matemática, é fundamental conhecer algumas propriedades da região viável F e da função objetivo f(x).

A função objetivo pode ser classificada como:

a) contínua ou descontínua, dependendo da presença ou não de descontinuidades

b) unimodal ou multimodal, dependendo do número de pontos extremos ou pontos estacionários presentes.

c) convexa ou côncava, dependendo de sua “curvatura”. Uma função f(x) é convexa se, e somente se, para quaisquer xa, xb:

f[α.xa + (1–α).xb] ≤ α.f(xa) + (1–α).f(xb) ,  α  [0,1]

como mostra exemplo em 1, abaixo à esquerda:

x1 x2 g1= 0 g2= 0 h1= 0 F NGL = 1 x1 x2 g1= 0 g2= 0 h1= 0 F NGL = 1 x1 x2 g5= 0 g1= 0 g2= 0 g3= 0 g4= 0 F NGL = 2 x1 x2 g5= 0 g1= 0 g2= 0 g3= 0 g4= 0 F x1 x2 g5= 0 g1= 0 g2= 0 g3= 0 g4= 0 F NGL = 2 x1 x2 x3 g1= 0 g2= 0 g3= 0 F NGL = 3 x1 x2 x3 g1= 0 g2= 0 g3= 0 F NGL = 3 x1 x2 x3 h1= 0 g1= 0 F NGL = 2 x1 x2 x3 h1= 0 g1= 0 F NGL = 2

x

f

xa xb f(xa) f(xb)

x

f

xa xb f(xa) f(xb) contínua decrescente convexa

x

1

x

2 20 20 15 15 10 10 5 5 0 contínua bimodal não-convexa f(x1,x2)

(24)

20

Propriedades de funções convexas:

a) A soma de funções convexas é também convexa b) .f(x) é convexa se f(x) é convexa e  ≥ 0.

c) g(f(x)) é convexa se f(x) é convexa e g(x) é convexa e crescente. Um ponto x* é um mínimo local para a função f se:

f(x*)  f(x),  x  F, com ||x–x*||  , onde  é um limite “pequeno”

Por exemplo, o segundo caso ilustrado na figura anterior apresenta dois mínimos locais para

f(x1,x2).

Já um mínimo global x’ é definido como:

f(x*) < f(x),  x  F Mínimo global forte f(x*)  f(x),  x  F Mínimo global fraco

Uma região viável F é convexa se e somente se, para quaisquer xa, xb  F: x = α.xa + (1–α).xb  F,  α  ]0,1[

ou seja, se dois pontos xa e xb pertencem à região viável, então todos os pontos do segmento xaxb também pertencem a esta região.

Importante: Se h(x) = 0 é linear e g(x) ≤ 0 é convexa (linear ou não linear), então F é uma região viável convexa.

II.3.CONDIÇÕES DE OTIMALIDADE

II.3.1.PROBLEMA DE OTIMIZAÇÃO SEM RESTRIÇÕES Seja o problema de otimização:

min f(x)

sujeito a: x  n

com f(x)  C2 (conjunto das funções que podem ser diferenciadas duas vezes). a) Condição necessária para um mínimo local:

Se f(x) possui um extremo em x (máximo, mínimo ou sela), então este é um ponto estacionário: f(x*) = 0

que constitui um sistema com n equações e n incógnitas, que pode ser resolvido por qualquer método de solução de equações algébricas não-lineares.

b) Condição suficiente para um mínimo local:

O ponto estacionário x* será um mínimo local se for verificada a convexidade da função ao redor de x*.

Partindo da expansão da série de Taylor de f(x) em x*:

f(x) = f(x*+x) = f(x*) + Tf(x*).x + ½.(xT).H(f(x*)).x + ...

(25)

21 Desprezando os termos de ordem superior da série e sabendo que f(x*) = 0, temos esta aproximação:

f(x*+x) – f(x*) = ½.(xT).H(f(x*)).x

Então, para que x* seja um mínimo local forte:

f(x*+x) – f(x*) > 0,  x  xT.H(f(x*)).x > 0

ou seja, a matriz Hessiano H(f(x*)) deve ser positiva definida em x = x*. Isso indica convexidade da função em x*.

Se H(f(x*)) for positiva semi-definida, pode haver múltiplos mínimos, já que

f(x*+x) – f(x*) ≥ 0

Para um problema com x  1 (mono-variável), estas condições se resumem a:

 

* 0    x x f e

 

2 0 * 2    x x f Propriedades:

a) H é positiva definida  autovalores de H são positivos (λ’i > 0).

b) H é positiva semi-definida  autovalores de H são não negativos (λ’i ≥ 0).

c) f(x) é estritamente convexa  H(x) é positiva definida  x.

Se f(x) é estritamente convexa e possui um ponto estacionário x*, então este ponto é um mínimo global. Caso contrário, x* será um mínimo local.

OBS:

Uma condição N é necessária para um resultado R se R  N. Uma condição S é suficiente para um resultado R se S  R.

Uma condição T é necessária e suficiente para R se T  R ou R  T.

II.3.2.PROBLEMA DE OTIMIZAÇÃO COM RESTRIÇÕES DE IGUALDADE

Seja o problema de otimização:

min f(x)

sujeito a: hm 1(x) = 0 f(x), h(x)  C2

x  n

a) Condições necessárias para um mínimo local:

Se f(x) possui um extremo com restrições em x, de modo que as equações hj(x) = 0, j = 1, 2,…, m sejam válidas, então f(x) e hj(x) são linearmente dependentes neste extremo:

 

.

 

0 . 1 * * 0     

m j j j h x x

f , com pelo menos um λ*j não nulo.

em que λj são os multiplicadores de Lagrange.

Segue abaixo um exemplo para ilustrar a interpretação geométrica da dependência linear entre f(x) e hj(x) no ponto mínimo x*. A função objetivo é convexa e tem-se uma restrição de

igualdade linear no espaço 2. A linha pontilhada sobre o cone representa a região viável do problema.

(26)

22

Considerando λ0 = 1, então: f(x*) + Σ λ

j.hj(x*) = 0 ou f(x) +J

 

h

 

x* T.λ = 0

Definindo a função Lagrangeano como:

L(x,λ) = f(x) + Σ λj.hj(x) ou L(x,λ) = f(x) + λT.h(x)

a condição de dependência linear dos gradientes pode ser expressa como a condição estacionária desta função no ponto ótimo:

xL(x*,λ) = 0  f(x*) + Σ λj.hj(x*) = 0

Outra condição necessária é de viabilidade, ou seja, o ponto deve respeitar as restrições:

h(x*) = 0

Em resumo, são estas as condições necessárias para um mínimo local:

 

.

 

0 1 * *

m j j j h x x

f dependência linear de gradientes

 

* 0

x

h viabilidade

Estas condições formam um sistema com n+m equações e n+m incógnitas e sua solução fornece o ponto extremo x* e os respectivos multiplicares de Lagrange λ.

b) Condição suficiente para um mínimo local:

Realizando uma análise semelhante ao caso anterior, temos que a matriz Hessiano do Lagrangeano H(L(x,λ)) com respeito a x deve ser positiva definida em x*.

Hxx(L(x*,λ)) positiva definida ou 2xxL(x*,λ)) positiva definida

Alternativa: dependendo da complexidade do problema, pode ser possível isolar as variáveis dependentes nas restrições de igualdade e substituí-las na função objetivo, resultando em um problema de otimização sem restrições. Neste caso, adota-se a estratégia apresentada no caso II.3.1.

x

2

f

x

1 f(x1,x2) h(x1,x2)=0 x*

x

1

x

2 h f h f x*

(27)

23

II.3.3.PROBLEMA DE OTIMIZAÇÃO COM RESTRIÇÕES DE DESIGUALDADE

Seja o problema de otimização:

min f(x)

sujeito a: gr1(x) ≤ 0 f(x), g(x)  C2

x  n

a) Condições necessárias para um mínimo local: Se f(x) possui um extremo restrito x*, de modo que g

j(x*) ≤ 0 (j = 1, 2, ... r), então existem

multiplicadores de Kuhn-Tucker µj ≥ 0 (j = 1, 2, ... r) tal que:

a) .

 

.

 

0 1 * * 0     

r j j j g x x

f  dependência linear dos gradientes

b) .

 

* 0 x gj j  condição de complementaridade 0  j

As restrições de desigualdade g podem ser classificadas como: a) Ativas (fortemente) gj(x*) = 0 e µj > 0

b) Ativas (fracamente) gj(x*) = 0 e µj = 0

c) Inativas gj(x*) < 0 e µj = 0

No exemplo ilustrativo abaixo em 2, g1 e g2 são restrições ativas (µ1, µ2 > 0) e g3 é uma restrição inativa (µ3 = 0). Neste caso a dependência dos gradientes é expressa como:

µ0.f(x*) + µ1.g1(x*) + µ2.g2(x*) = 0

Note que o gradiente de f aponta na direção de f crescente e que o gradiente de gj aponta na

direção de ampliação da região viável.

x* x* x*

x

1

x

2

x

1

x

2

x

1

x

2

Restrição g fortemente ativa Restrição g fracamente ativa Restrição g inativa

g(x)=0 g(x)=0 g(x)=0 f(x) f(x) f(x) x1 x2 f f g1 x* g2 g2 g1 g3

(28)

24

Admitindo 0 = 1, temos as seguintes condições: f(x*) + Σ 

j.gj(x*) = 0 ou f(x*) + J

 

g

 

x* T. = 0

j.gj(x*) = 0

j ≥ 0

Note que como j = 0 para restrições inativas, temos condições semelhantes àquelas obtidas

para o problema de otimização com restrições de igualdade, ou seja, condições estacionárias do Langrangeano:

L(x,) = f(x) + Σ j.gj(x)  xL(x*,) = 0

Em resumo, são estas as condições necessárias para um mínimo local:

 

.

 

0 1 * *

r j j j g x x

f dependência linear de gradientes

 

0 . *  j gj x complementaridade 0  j

Estas condições formam um sistema com n+r equações e n+r incógnitas, mas sua solução não é trivial, pois desconhece-se quais restrições são ativas e quais são inativas no ponto ótimo. Sua solução fornece o ponto extremo x* e os respectivos multiplicares de Kuhn-Tucker .

b) Condição suficiente para um mínimo local:

A matriz Hessiano do Lagrangeano H(L(x,λ)) deve ser positiva definida em x*.

Hxx(L(x*,)) positiva definida ou 2xxL(x*,)) positiva definida

Alternativa: é possível converter restrições de desigualdade gj(x) ≤ 0 em restrições de igualdade hj(x) = 0 pela introdução de folgas positivas da seguinte forma:

gj(x) ≤ 0

gj(x) + s² = 0 em que s 1 é uma nova variável do problema

obtendo-se assim o caso analisado em II.3.2. Significado de multiplicadores de Kuhn-Tucker:

No ponto ótimo é válida a dependência linear de gradientes:

 

.

 

0 1 * *

r j j j g x x f

Seja uma direção p, tal que:

f = pT.f(x*) é a variação de f na direção p gj = pT.gj(x*) é a variação de gj na direção p

Multiplicando a equação de condição estacionária acima por pT, temos:

pT.f(x*) + Σ j. pT.gj(x*) = 0  f* + Σ j.gj = 0 no ponto x*

Assumindo que gk = 0 (k = 1, 2, ... r, com k  j), ou seja, apenas uma restrição gj sofre variação:

f* +  j.gj = 0  j k g j j k g f                 , 0 *

(29)

25 Portanto, o multiplicador de Kuhn-Tucker j representa a sensibilidade da função objetivo

otimizada frente uma alteração na restrição gj(x), considerando constantes todas as outras

restrições.

Considere uma pequena alteração ∂gj positiva na restrição gj(x):

gj(x) ≤ 0 é modificada para gj(x) ≤ ∂gj

Tal alteração promove um aumento da região viável.

Como µj > 0, obtemos como resultado ∂f* = –µj.∂gj < 0, ou seja, o valor da função objetivo é

reduzido, seguindo na direção de minimização.

Para uma restrição inativa µj = 0 e alterações em gj(x) não terão impacto sobre o valor de f*.

OBS: Em um ponto de máximo do problema também se observam as mesmas condições, mas os multiplicadores de Kuhn-Tucker são negativos.

II.3.4.OTIMIZAÇÃO COM RESTRIÇÕES DE IGUALDADE E DESIGUALDADE

Seja o problema de otimização no formato geral de programação matemática:

min f(x)

sujeito a: hm 1(x) = 0 f(x), h(x), g(x)  C2

gr1(x) ≤ 0

x  n

a) Condição necessária para um mínimo local:

Satisfação das Condições de Karush-Kuhn-Tucker ou Condições de KKT Estas condições sumarizam aquelas obtidas para os casos II.3.2 e II.3.3. A função Lagrangeano combina agora restrições de igualdade e desigualdade:

L(x,λ,) = f(x) + Σ λj.hj(x) + Σ j.gj(x)

Condições de KKT

1- Dependência linear dos gradientes: xL(x*,λ,) = 0

 

.

 

.

 

0 1 * 1 * *

  r j j j m j j j h x g x x fj : multiplicadores de Lagrange j : multiplicadores de Kuhn-Tucker

2 - Viabilidade das restrições de igualdade

hj(x*) = 0 1 ≤ j ≤ m

3 - Condições de complementaridade j.gj(x*) = 0 1 ≤ j ≤ r

(30)

26

Condições de KKT resultam em um sistema não-linear de n+m+r equações e incógnitas. Como solução obtemos um “ponto de Kuhn-Tucker”. A dificuldade na solução está na identificação das restrições ativas e inativas no ponto ótimo.

b) Condição suficiente para um mínimo local:

A matriz Hessiano do Lagrangeano H(L(x,λ)) deve ser positiva definida em x*.

Hxx(L(x*,)) positiva definida ou 2xxL(x*,)) positiva definida

Alternativa: é possível converter restrições de desigualdade gj(x) ≤ 0 em restrições de igualdade hj(x) = 0 pela introdução de folgas positivas da seguinte forma:

gj(x) ≤ 0

gj(x) + s² = 0 em que s 1 é uma nova variável do problema

obtendo-se assim o caso analisado em II.3.2.

Se f(x) é convexa e a região viável F é também convexa então, para um mínimo local x*, as condições de KKT são necessárias e suficientes para o mínimo global.

EXEMPLO:

Verifique se o ponto xb = [4,47 40]T é o ótimo global para o seguinte problema:

max f’(x) = 4.x1 + x2–50 min f(x) = –4.x1 – x2 +50

sujeito a: x2 ≥ 2.x12  sujeito a: g1(x) = 2.x12 – x2 ≤ 0

x2 ≤ x12+20 g2(x) = –x12 + x2 –20 ≤ 0

(formato padrão de programação matemática)

Por inspeção gráfica, verifica-se que a região viável contida entre as parábolas não é convexa. Identifica-se dois mínimos locais (xa e xb) e um ponto estacionário (xc). Estes três pontos

satisfazem as condições de KKT. O mínimo global é o ponto xb com f(xb) = –7,89.

- Verificação das condições de Kuhn-Tucker no ponto xb:

f(xb) + 1.g1(xb) + 2.g2(xb) = 0

1.g1(xb) = 0 com 1 > 0 (restrição ativa)

2.g2(xb) = 0 com 2 > 0 (restrição ativa) 0 10 20 30 40 50 60 -5 -4 -3 -2 -1 0 1 2 3 4 5 x1 x2 60 50 40 30 20 10 f = 0 -10 -20 g1 g2 xa xb xc

(31)

27 Sistema de equações:                               0 . 20 . . 0 . . . 2 0 1 0 . . 2 . . 4 4 2 2 2 2 2 1 1 2 1 2 1 2 1 2 1 1 1 x x x x x x

 

x

xb                      0 0 0 0 0 1 0 . 94 , 8 . 89 , 17 4 2 1 2 1 Solução: 1 = 1,45 e 2 = 2,45.

Portanto, o ponto xb é um ponto de Kuhn-Tucker.

Analogamente, para xa = [–4,47 40,0]T tem-se 1 = 0,55 e 2 = 1,55. Já para xc = [–2,00 24,0]T

tem-se 1 = 0,00 e 2 = 1,00 (restrição g1 é inativa em xc).

- Verificação de convexidade do problema analisando as funções individualmente:

 

      0 0 0 0 f H        0 0 '  f é convexa  x

 

      0 0 0 4 1 g H        0 4 '  g1 é convexa  x

 

      0 0 0 2 2 g H        0 2 '  g2 não é convexa  x

A função objetivo é estritamente convexa. A região viável não é convexa.

Portanto, qualquer ponto ótimo obtido é considerado um mínimo local até que se prove a existência de um mínimo global. Neste problema não convexo, o mínimo global foi identificado por inspeção gráfica.

- Verificação de convexidade do problema em xb analisando o Hessiano do Lagrangeano: L(x,) = f(x) + 1.g1(x) + 2.g2(x) = (–4.x1 – x2 +50) + 1.(2.x12 – x2) + 2.(–x12 + x2 –20)                              2 1 2 1 1 1 2 1 1 . . 2 . . 4 4 x x x L x L L T x

 

         0 0 0 . 2 . 4 1 2 L H

 

x

xb

 

       0 0 0 89 , 0 L H com        0 89 , 0 '

Portanto Hessiano é matriz positiva semi-definida em xb, confirmando apenas a localidade do

ótimo. A análise individual das funções é mais útil para verificar a convexidade do problema do que pela análise do Hessiano do Lagrangeano.

(32)

28

II.4.PROCEDIMENTO DE DETERMINAÇÃO DE UM PONTO DE KUHN-TUCKER

O procedimento de determinação de um ponto de Kuhn-Tucker é também conhecido como estratégia do conjunto de restrições ativas.

Considere o problema de otimização:

min f(x)

sujeito a: h(x) = 0 m equações

g(x) ≤ 0 r inequações x  n n variáveis

Passo 1: Admita que não há restrições gi ativas.

Seja I = {i | gi(x) = 0} o conjunto dos índices de restrições ativas. Não existindo restrições ativas,

como quando o procedimento é iniciado, temos I =  e µi = 0 para i = 1, 2,... r.

Passo 2: Formule as condições de KKT e resolva para x, λj (1 ≤ j ≤ m) e µi (i  I):

 

.

 

.

 

0 I 1 1        

  r i i i i m j j j h x g x x f hj(x) = 0 1 ≤ j ≤ m

gi(x) = 0 i  I (apenas restrições ativas)

Passo 3: Verifique se gi(x) ≤ 0 e se µi ≥ 0 para i = 1, 2,... r.

Se esta condição é satisfeita então pare, caso contrário vá para o passo 4.

Passo 4: Se algum gi(x) > 0 e/ou µi < 0 então:

a) Adicione a I os índices das restrições violadas (gi > 0) tal que elas tornem-se ativas.

b) Elimine de I o índice de uma inequação ativa µi < 0. Selecione aquela com multiplicador

µi mais negativo.

Volte para o passo 2. OBS:

a) Dificuldade principal do procedimento: identificar o conjunto de restrições ativas. b) No passo 1 pode-se iniciar o procedimento com um conjunto arbitrário de restrições

ativas, no lugar de considerar todas inativas. EXEMPLO:

min f(x) = ½.(x12 + x22) –3.x1 –x2 sujeito a: g1(x) = –x1 + x2 ≤ 0

g2(x) = x1 –½.x2 –2 ≤ 0

g3(x) = –x2 ≤ 0 Determinação dos gradientes:

 

         1 3 2 1 x x x f

 

       1 1 1 x g

 

        2 1 1 2 x g

 

        1 0 3 x g Iteração 1: Passo 1: I = , µ1 = 0, µ2 = 0, µ3 = 0

(33)

29 Passo 2: Condições de KKT

 

 

 

 

                       

  0 0 1 3 . . 2 1 1 1 x x x f x g x h x f r I i i i i m j j j         1 3 x

Passo 3: Verificação das restrições

g1(x) = –2 ≤ 0 1 = 0

g2(x) = ½ > 0 2 = 0 restrição g2 violada!

g3(x) = –1 ≤ 0 3 = 0

Passo 4: Tornar g2 uma restrição ativa, I = {2}.

g2(x) = x1 –½.x2 –2 = 0 Iteração 2: Passo 2: Condições de KKT

 

 

                                 0 2 . 2 1 0 0 . 2 1 1 3 . 2 1 2 2 2 2 1 2 2 x x g x x x g x f       2 , 1 6 , 2 x e 2 = 0,4

Passo 3: Verificação das restrições

g1(x) = –1,4 ≤ 0 1 = 0

g2(x) = 0,0 ≤ 0 2 = 0,4

g3(x) = –1,2 ≤ 0 3 = 0

PARE, ponto de Kuhn-Tucker obtido

      2 , 1 6 , 2 * x , com f(x*) = –4,90 Observações:

1) Dependência linear dos gradientes no ponto ótimo

2) Interpretação do multiplicador 2:

Perturbando a função g2 com g2 = 0,1 temos a nova restrição:

g2(x) = x1 –½.x2 –2 ≤ 0,1

Note que como g2 é positivo, a região viável foi ampliada.

          2 , 0 4 , 0 * x f

x

1

x

2 2,6 1,2             2 , 0 4 , 0 . * 2 2 g x g2 f

 

2. 2

 

0 f x g x

(34)

30

Resolvendo o problema com esta restrição modificada obtém-se f(x*) = –4,936, ou seja, o valor de f otimizado sofreu uma variação f* = –0,036.

Lembrando que j k g j j k g f                 , 0 *

representa a sensibilidade da função objetivo frente uma variação na restrição gj, para uma variação de 0,1 em g2, deveríamos obter f* = –2.g2 =

–(0,4).(0,1) = –0,040. O valor difere um pouco do obtido (f* = –0,036) pois a função objetivo é não-linear e os multiplicadores são aproximações lineares válidas para a vizinhança próxima a x*.

3) Comprovando que se trata de um mínimo global. Cálculo do Hessiano da função objetivo:

 

                           1 0 0 1 2 2 2 1 2 2 1 2 2 1 1 2 x x f x x f x x f x x f x H  autovalores:        1 1 ' ,  x

Como os autovalores são positivos, a função objetivo é convexa.

Como a região viável é formada por funções lineares (segunda derivada nula), a região viável é convexa.

Portanto a solução obtida é única, o mínimo global do problema.

4) Verificação de convexidade do problema analisando o Hessiano do Lagrangeano:

L(x,) = f(x) + 1.g1(x) + 2.g2(x) + 3.g3(x) = (½.(x12 + x22) –3.x1 –x2) + 1.(–x1 + x2) + 2.(x1 –½.x2 –2) + 3.(–x2 )                                3 2 1 2 2 1 1 2 1 1 0,5. 3 x x x L x L L T x

 

      1 0 0 1 L H



       1 1 '  x

Portanto Hessiano é matriz positiva definida para qualquer valor de x, comprovando a convexidade do problema.

(35)

31

III. OTIMIZAÇÃO MONOVARIÁVEL SEM RESTRIÇÕES III.1.INTRODUÇÃO

O problema de otimização unidimensional (monovariável) sem restrições é descrito como:

min f(x)

sujeito a: x  1

Este tipo de problema ocorre nas seguintes situações: a) Problemas inerentemente monovariáveis.

b) Conversão de problemas multivariáveis a problemas monovariáveis através da substituição de restrições na função objetivo.

c) Etapa de determinação do incremento (k) na direção d(k) em algoritmos de otimização multivariável (line search):

x(k+1) = x(k) + (k).d(k)

EXEMPLO: Determinação da razão ótima L/D para um tanque cilíndrico com volume V especificado. A chapa metálica tem espessura fixa e custos específicos em $/m2.

min Custo = .Ct. .DCs..D.L  4 2 2 sujeito a: 0 4 2    .D .L V D  0 L  0 parâmetros do modelo: Ct ($/m2) e Cs ($/m2)

O problema em duas variáveis (L e D) pode ser convertido em um problema monovariável pela substituição da restrição de igualdade na função objetivo:

min Custo(D) = D V . . C D . . C . t s 4 4 2 2  

Obtenção do ponto estacionário de Custo(D): 0 4 2       D V . . C D . . C D Custo s t  3 1 4         t s * C . C . V . Ds t * C C D L       Convexidade: 3 2 2 8. . . D V C C D Custo s t    

A segunda derivada é positiva para D ≥ 0, ou seja, Custo(D) é uma função estritamente convexa para D > 0. Portanto o mínimo é global.

Observe que a solução deste problema por substituição de variáveis só foi possível pois: - a variável L pôde ser isolada na restrição de igualdade e eliminada na função objetivo, e - a variável D pôde ser extraída e isolada na equação de condição estacionária.

x

(k)

x

(k+1)

(k)

.d

(k) D L V

Referências

Documentos relacionados

Como fica dito, o Rio Grande está em dois gráos da parte do sul, o qual vem muito longe e traz mui- ta água, por se metterem n'elle muitos rios: e se- gundo a informação do

As condições de maior eficiência após sedimentação e flotação foram obtidas com a utilização de polímero catiônico como auxiliar de floculação atingindo

[r]

Os membros do Conselho de Administração da Companhia Energética do Ceará - Coelce, aqui representados pelo Presidente do Conselho de Administração abaixo-assinado, procederam

Sou candidato com deficiência autodeclarado preto, pardo ou indígena, com renda familiar bruta per capita igual ou inferior a 1,5 salário-mínimo, cursei e concluí

A partir dos dados coletados, foram analisados e comparados os modelos de gestão e os processos sucessórios dessas empresas, com as práticas de gestão empresarial consagradas pela

No presente estudo a discrepância entre a FCM atingida, tanto em G1 e G2 no teste de esforço máximo foi bem maior do que nos estudos de Barbosa e colaboradores

Começamos na propriedade da Sr.: Janete que fica localizada no Igarapé do Miranha, fomos pela estrada que o proprietário mesmo fez para a retirada de madeira, caminhamos até a área