Você está na página 1de 16

UNIVERSIDADE FEDERAL DO MARANHÃO – UFMA

CENTRO DE CIÊNCIAS EXATAS E TECNOLOGIAS – CCET

DEPARTAMENTO DE ENGENHARIA QUÍMICA – DEEQ

DEEQ0088 - OTIMIZAÇÃO DE PROCESSOS QUÍMICOS E BIOQUÍMICOS

DOCENTE: EDILBERTO CORDEIRO DOS SANTOS JUNIOR

DISCENTE: MAURÍCIO SANTOS DA SILVA

CONDIÇÕES DE KARUSH-KUHN-TUCKER (KKT)

1. INTRODUÇÃO

A otimização e suas técnicas têm como finalidade minimizar ou maximizar


uma função, chamada de objetivo. Essa última é definida em relação a várias
variáveis, que podem ou não estar especificadas dentro de uma região
delimitada por restrições. Problemas com essas características estão inseridos
dentro da programação matemática. Nesse sentido, surgem duas categorias de
problemas nessa área de estudo, programação linear e programação não-linear.
O primeiro tipo é atribuído a problemas que apresentam uma função objetivo
linear, assim como as restrições de igualdades e desigualdades. Já o segundo
apresenta função objetivo ou restrições não-lineares (Luenberger, 1984).

Para a resolução de problemas de programação linear sem restrições, são


aplicados métodos como o Simplex e o de Gradiente Conjugado, sendo eficazes
para encontrar o ótimo global da função. Entretanto, nas abordagens de
problemas com restrições, desses dois somente o método Simplex pode ser
utilizado. Outra técnica de programação linear para determinar o ponto ótimo de
uma função objetivo com restrições é a de Multiplicadores de Lagrange, em que,
pode-se adaptar a abordagem desta para a área de otimização linear (Arenales
et al., 2007).

Na programação não-linear sem restrições, os métodos de Descida do


Gradiente e de Newton podem ser empregados. Nessas duas abordagens,
busca-se encontrar o mínimo global de uma função objetivo a partir do ajuste
iterativo dos parâmetros do modelo. Porém, ao introduzir restrições, tanto de
igualdades, quanto de desigualdades, métodos mais complexos devem ser
adotados. Nesse sentido, o método de Multiplicadores de Lagrange é uma
importante ferramenta para resolução de problemas com características de não-
linearidade e com todas as restrições sendo igualdades. Percebe-se, dessa
maneira, que há um déficit em relação a última técnica (Friedlander, 1994). Para
resolver isso, o conjunto de Condições de Karush-Kuhn-Tucker foi desenvolvido,
incluindo (além das restrições de igualdade) as restrições de desigualdade
dentro da técnica de Multiplicadores de Lagrange, sendo, desse modo, as
condições de KKT uma extensão deste método (Andreani, Haeser, Martínez,
2011).

Assim, o objetivo desse trabalho é especificar o conjunto de Condições de


KKT, a partir de sua aplicação na metodologia de Multiplicadores de Lagrange.
Para isso as seguintes componentes de KKT serão estudadas: gradiente da
função objetivo nula e restrições ativas e inativas. Além disso, algumas
aplicações contundentes à engenharia química serão utilizadas para
exemplificar as resoluções de problemas de programação não-linear com
restrições de desigualdades.

2. MULTIPLICADORES DE LAGRANGE

Os Multiplicadores de Lagrange são aproveitados para resolver


problemas de otimização sujeitos a restrições. Nesse espectro, considerando
uma função objetivo 𝑓(𝑥), parte principal da programação matemática, pretende-
se encontrar o máximo ou o mínimo desta (quando sujeita a um conjunto de
restrições 𝑔𝑖 (𝑥) = 0 ), a representação deste cenário é o descrito abaixo:

𝑚𝑖𝑛𝑖𝑚𝑖𝑧𝑎𝑟 𝑓(𝑥)

𝑠𝑢𝑗𝑒𝑖𝑡𝑜 𝑎: 𝑔𝑖 (𝑥) = 0, 𝑝𝑎𝑟𝑎 𝑖 = 1, 2, … , 𝑚


Em que, x representa a variável independente da função objetivo e i a
quantidade de restrições.

Dessa forma, todas as restrições abordadas devem ser colocadas no


formato exposto acima. Após a descrição adequada da função objetivo e das
restrições de igualdade, simboliza-se a função Lagrangiana, como indicado pela
Equação 1.

ℒ(𝑥, 𝜆) = 𝑓(𝑥) + ∑𝑚
𝑖=1 𝜆𝑖 𝑔𝑖 (𝑥) (1)

Na equação acima, o 𝜆 refere-se ao multiplicador de Lagrange associado


às restrições de igualdade.

Após a criação da função de Lagrange, que é a função objetivo𝑓(𝑥)


somada aos termos das restrições. Para encontrar o valor mínimo ou máximo da
função, é necessário atender a condição de gradiente nulo. O próximo
procedimento deve ser, então, aplicar derivadas parciais da função Lagrangiana
em relação a todas as variáveis x e aos multiplicadores de Lagrange, essas
expressões diferenciais devem ser igualadas a zero, como mostrado nas
Equações 2 e 3 (VALLE 2020).

𝜕ℒ
=0 (2)
𝜕𝑥𝑖

𝜕ℒ
=0 (3)
𝜕𝜆𝑖

A aplicação dessa condição leva a um sistema de equações, que ao ser


resolvido expõe os valores das variáveis 𝑥 e 𝜆. O valor de 𝑥 é referente a solução
ótima da função, e os multiplicadores são traduzidos como o impacto das
restrições na solução (VALLE, 2020).

A importância dos multiplicadores de Lagrange nos processos de


otimização está diretamente ligado ao atendimento tanto das restrições
impostas. Eles desempenham um papel essencial na teoria da otimização e são
amplamente aplicados em diversas áreas, como economia, engenharia e ciência
da computação (CONTESE, [s.d.]).

3. CONDIÇÕES KKT

Como forma de complementar a metodologia de Multiplicadores de


Lagrange, surge as Condições de Karush-Kuhn-Tucker. Diante disso, tais
condições propõem unificar as restrições, incluindo as desigualdades.

3.1. CONDIÇÃO DE PRIMEIRA ORDEM (GRADIENTE NULO)

A condição de primeira ordem é crucial para encontrar as soluções ótimas


em problemas de otimização, como foi mostrado anteriormente. No contexto das
Condições de Karush-Kuhn-Tucker, pode-se introduzir uma restrição de
desigualdade no exemplo geral mostrado no tópico 2. Desse modo, adotando
ℎ𝑗 (𝑥) ≤ 0 como uma restrição de desigualdade, a expressão geral fica igual a:

𝑚𝑖𝑛𝑖𝑚𝑖𝑧𝑎𝑟 𝑓(𝑥)

𝑠𝑢𝑗𝑒𝑖𝑡𝑜 𝑎: 𝑔𝑖 (𝑥) = 0, 𝑝𝑎𝑟𝑎 𝑖 = 1, 2, … , 𝑚


ℎ𝑗 (𝑥) ≤ 0, 𝑝𝑎𝑟𝑎 𝑗 = 1, 2, … , 𝑛

em que, 𝑗 é o número de restrições de desigualdades.

De forma análoga ao procedimento expresso em Multiplicadores de


Lagrange, representa-se a função Lagrangiana abaixo:

ℒ(𝑥, 𝜆) = 𝑓(𝑥) + ∑𝑚 𝑛
𝑖=1 𝜆𝑖 𝑔𝑖 (𝑥) + ∑𝑗=1 𝜇𝑖 ℎ𝑗 (𝑥) (4)

O μ é pertencente ao grupo de multiplicadores de Lagrange, porém, está


relacionado às restrições de desigualdade. Nesse sentido, de maneira similar ao
caso anterior, para encontrar o mínimo ou máximo da função objetivo, é
necessário igualar o gradiente desta a zero (Equação 5). O resultado desse
passo é o evidenciado pelas Equações 6, 7 e 8.

∇ℒ(𝑥, 𝜆, 𝜇) = 0 (5)

𝜕ℒ
= 0, 𝑝𝑎𝑟𝑎 𝑖 = 1, 2, … , 𝑛 (6)
𝜕𝑥𝑖

𝜕ℒ
= 0, 𝑝𝑎𝑟𝑎 𝑖 = 1, 2, … , 𝑚 (7)
𝜕𝜆𝑖

𝜕ℒ
= 0, 𝑝𝑎𝑟𝑎 𝑖 = 1, 2, … , 𝑝 (8)
𝜕𝜇𝑖

A resolução dessa condição gera um sistema de equações não lineares,


que ao ser resolvido em conjunto gera valores das variáveis de decisão,
multiplicadores de igualdade e multiplicadores de desigualdade que são capazes
de resolver as condições de KKT (Eustáquio, 2007).

3.2. CONDIÇÕES DE FACTIBILIDADE PRIMAL E DUAL

Além da condição de gradiente nulo, outra condição deve ser satisfeita


para que a solução seja factível, tanto em relação às restrições de igualdade e
desigualdade (Ribeiro e Karas, 2013).

Quando a factilidade é primal, a solução deve estar dentro das restrições


de igualdade e desigualdade impostas, considerando as mesmas restrições do
tópico anterior, a factilidade primal é cumprida através da comprovação das
seguintes restrições (Ribeiro e Karas, 2013):

Restrições de Igualdade:

𝑔𝑖 (𝑥) = 0, 𝑝𝑎𝑟𝑎 𝑖 = 1, 2, … , 𝑚 (9)


ℎ𝑗 (𝑥), ≤ 0 𝑝𝑎𝑟𝑎 𝑗 = 1, 2, … , 𝑛 (10)
A facttilidade dual está relacionada aos multiplicadores de Lagrange
associados às restrições de igualdade e desigualdade (Ribeiro e Karas, 2013).
Em que, a solução do problema precisa apresentar valores dentro da faixa
apresentada abaixo para 𝜆 e 𝜇:

𝜆𝑖 ≥ 0, 𝑝𝑎𝑟𝑎 𝑖 = 1, 2, … , 𝑚 (11)

𝜇𝑗 ≥ 0, 𝑝𝑎𝑟𝑎 𝑗 = 1, 2, … , 𝑛 (12)

3.3. RESTRIÇÕES ATIVAS E INATIVAS, E CONDIÇÃO DE


COMPLEMENTARIEDADE

As restrições ativas e inativas são conceitos fundamentais em problemas


de otimização com restrições, desempenhando papel crucial na determinação
das soluções ótimas. As duas estão detalhadas abaixo.

Restrições Ativas: uma restrição é considerada ativa de uma solução


ótima se a igualdade 𝑔𝑖 (𝑥) = 0 ou a desigualdade ℎ𝑗 (𝑥) ≤ 0 é satisfeita com
igualdade, ou seja:

𝑅𝑒𝑠𝑡𝑟𝑖çõ𝑒𝑠 𝑑𝑒 𝑖𝑔𝑢𝑎𝑙𝑑𝑎𝑑𝑒: 𝑔𝑖 (𝑥 ∗ ) = 0 (13)

𝑅𝑒𝑠𝑡𝑟𝑖çõ𝑒𝑠 𝑑𝑒 𝑑𝑒𝑠𝑖𝑔𝑢𝑎𝑙𝑑𝑎𝑑𝑒 ℎ𝑗 (𝑥 ∗ ) = 0 (14)

Na análise geométrica, as restrições ativas correspondem às fronteiras da


região viável (conjunto de todos os pontos que satisfaçam todas as restrições).
Logo, a solução ótima está localizada exatamente na fronteira definida por uma
ou mais dessas restrições ativas (Isoton, 2013).

Restrições Inativas: a restrição é inferida como inativa em uma solução


ótima se a igualdade 𝑔𝑖 (𝑥) = 0 ou a desigualdade ℎ𝑗 (𝑥) ≤ 0 é satisfeita com
folga, ou seja, a uma desigualdade estrita, como mostram as expressões abaixo:
𝑅𝑒𝑠𝑡𝑟𝑖çõ𝑒𝑠 𝑑𝑒 𝑖𝑔𝑢𝑎𝑙𝑑𝑎𝑑𝑒: 𝑔𝑖 (𝑥 ∗ ) ≠ 0 (15)

𝑅𝑒𝑠𝑡𝑟𝑖çõ𝑒𝑠 𝑑𝑒 𝑑𝑒𝑠𝑖𝑔𝑢𝑎𝑙𝑑𝑎𝑑𝑒 ℎ𝑗 (𝑥 ∗ ) < 0 (16)

As restrições inativas não definem a fronteira da região viável. A solução


ótima está localizada em uma região onde essas restrições não são limitantes.
Os multiplicadores de Lagrange associados a restrições inativas são geralmente
nulos. Esses multiplicadores não têm impacto direto na solução, indicando que
a solução não é sensível a essas restrições. Assim, esse tipo de restrição não
afeta diretamente o valor da função objetivo na solução ótima. Elas são
importantes na formulação geral do problema, mas não influenciam a solução
final (Isoton, 2013).

A aplicação das restrições ativas e nativas permite entender como a


solução ótima reage a diferentes partes do conjunto de restrições. Isso é crucial
para entender a sensibilidade da solução às mudanças nas restrições do
problema (Isoton, 2013.

A condição de complementariedade é uma relação entre as restrições de


desigualdade e os multiplicadores de desigualdade. Esta expressa que, se uma
restrição de desigualdade é ativa (ℎ𝑗 (𝑥 ∗ ) = 0), então o multiplicador de
desigualdade associado deve ser não negativo (𝜇𝑗 ≥ 0).

𝜇𝑗 ℎ𝑗 (𝑥) = 0, 𝑝𝑎𝑟𝑎 𝑗 = 1, 2, … , 𝑛 (17)

Essa condição indica que, se uma restrição de desigualdade não está


afetando a solução (não é ativa), então o multiplicador deve ser não negativo,
representando a sensibilidade da solução em relação a essa restrição. Em
resumo, as condições de factilidade primal e dual garantem que a solução seja
viável em relação às restrições. Já a condição de complementariedade reflete a
relação entre restrições ativas e multiplicadores de desigualdade não negativos.
Todas essas condições formam as Condições de KKT, que são fundamentais na
análise e resolução de problemas de otimização com restrições (Isoton, 2013).
4. CONCLUSÃO

Dessa forma, a partir do estudo de programação não-linear foi possível


identificar a necessidade de aplicações de métodos para resolução de
problemas de maximização/minimização nas diversas áreas de atuação,
variando desde a economia até a engenharia. Assim, a aplicação de
Multiplicadores de Lagrange é essencial para a responder a questionamento de
aumento e diminuição de alguma propriedade que varia de maneira não linear,
ou que apresenta restrições não lineares. Em conjunto a ela, aplica-se as
condições de KKT, objetivando encontrar soluções para problemas com
desigualdade. Ambos os conceitos são essenciais nos mais diversos problemas
da engenharia química
REFERÊNCIAS

ANDREANI, HAESER, MARTÍNEZ. On sequential optimality conditions for


smooth constrained optimization. Optimization, 60(5):627– 641, 2011.

ARENALES; ARMENTANO; MORABITO; YANASSE. Pesquisa Operacional,


Campus, 2015.

CONTESE, L. Introduccion a La Optimizacion con Restricciones.


Universidad de Chile-Departamento de Matematicas y Ciencias de la
Computacion, Casilla.

EUSTÁQUIO R. G. Condições de otimalidade e de qualificação para


problemas de programação não linear. Dissertação de Mestrado,
Universidade Federal do Paraná, Curitiba, PR, 2007.

FRIEDLANDER, A. Elementos de programação não linear. Campinas: Pontes,


1994.

ISOTON, C. Condições necessárias e suficientes de otimalidade para


problemas com um e com vários objetivos. Dissertação de Mestrado.
Universidade Federal do Paraná, 2013.

LUENBERGER, D. G. Linear and Nonlinear Programming, 2. ed., Reading,


Mass, Ad-dison-Wesley; 1984.

RIBEIRO, A. A.; KARAS, E. W. Otimização Contínua: aspectos teóricos e


computacionais. Cengage Learning, Sao Paulo, 2013.

VALLE, M. E. Multiplicadores de Lagrange. MA211-Cálculo II (Notas de Aula).


Universidade Estadual de Campinas, 2020.
EXEMPLOS NA ENGENHARIA QUÍMICA
Exemplo 1: Reação química com Restrições

Considerando um processo químico com duas reações:

𝑅! : 𝐴 → 𝐵

𝑅2 : 𝐶 → 𝐷

Deseja-se maximizar a produção de B, sujeito as seguintes restrições de


desigualdade:

2𝐴 − 𝐵 ≥ 0

3𝐶 − 𝐷 ≥ 0

Primeiramente, a função objetivo de maximização se refere a B.


Representando essa na estrutura de multiplicadores de Lagrange, tem-se:

𝑓(𝐴, 𝐵, 𝐶, 𝐷) = −𝐵

Precisa-se inverter o sinal da função objetivo para encontrar o máximo


valor.

Considerando a função objetivo e as restrições, a função Lagrangiana


resulta em:

ℒ(𝐴, 𝐵, 𝐶, 𝐷, 𝜇1 , 𝜇2 ) = −𝐵 + 𝜇1 (2𝐴 − 𝐵) + 𝜇2 (3𝐶 − 𝐷)

As condições incluem gradiente nulo, factilidade primal e dual,


complementariedade, e restrições ativas, logo:

Gradiente Nulo

∇ℒ(𝐴, 𝐵, 𝐶, 𝐷, 𝜇1 , 𝜇2 ) = 0

Factilidade Primal

2𝐴 − 𝐵 ≥ 0

3𝐶 − 𝐷 ≥ 0

Factilidade Dual

𝜇𝑗 ≥ 0, 𝑝𝑎𝑟𝑎 𝑗 = 1, 2, … , 𝑛
Complementariedade

𝜇1 (2𝐴 − 𝐵) = 0

𝜇2 (3𝐶 − 𝐷) = 0

A condição de restrição ativa dita que as restrições de desigualdades


precisam ser iguais a zero quando são inseridos os valores da solução ótima.

2𝐴∗ − 𝐵 ∗ = 0 (𝑆𝑜𝑙𝑢çã𝑜 Ó𝑡𝑖𝑚𝑎)

3𝐶 ∗ − 𝐷∗ = 0 (𝑆𝑜𝑙𝑢çã𝑜 Ó𝑡𝑖𝑚𝑎)

Implementando essas condições no Matlab®, aplica-se a função fsolve,


que é responsável por resolver expressões com função objetivo e condições de
KKT especificadas, obtém-se, então, o seguinte script:

clear all
clc
% mu = letra mi
% Definir a função Lagrangiana
lagrange = @(x, mu) -x(2) + mu(1)*(2*x(1) - x(2)) + mu(2)*(3*x(3) - x(4));
% x(1) = A; x(2) = B; x(3) = C; x(4) = D

% Definir as condições KKT


kkt_conditions = @(x, mu) [
2*x(1) - x(2); % Restrição 1 para A: 2A - B = 0 (Restrição ativa)
3*x(3) - x(4); % Restrição 2: 3C - D = 0 (Restrição Ativa)
mu(1); % Não Negatividade do Multiplicador para a primeira restrição
mu(2); % Não Negatividade do Multiplicador para a segunda restrição
mu(1)*(2*x(1) - x(2)); % Complementaridade para a primeira restrição
mu(2)*(3*x(3) - x(4)) % Complementaridade para a segunda restrição
];

% Inicializar ponto inicial


x0 = [1, 1, 1, 1];
mu0 = [0, 0];

% Resolver o sistema de equações não lineares (Condições KKT)


[x_mu_opt, ~, exitflag, output] = fsolve(@(x_mu) kkt_conditions(x_mu(1:4),
x_mu(5:6)), [x0, mu0]);

% Exibir os resultados
disp('Resultado da Otimização usando KKT:');
disp(['A*: ', num2str(x_mu_opt(1))]);
disp(['B*: ', num2str(x_mu_opt(2))]);
disp(['C*: ', num2str(x_mu_opt(3))]);
disp(['D*: ', num2str(x_mu_opt(4))]);
disp(['Valor ótimo de -B: ', num2str(-lagrange(x_mu_opt, x_mu_opt(5:6)))]);
% Restrições de reação
disp('Restrições da Reação:');
disp(['2A - B: ', num2str(2*x_mu_opt(1) - x_mu_opt(2))]);
disp(['3C - D: ', num2str(3*x_mu_opt(3) - x_mu_opt(4))]);

A solução ótima encontrada para maximizar B foi: 𝐴 = 0,6, 𝐵 = 1,2, 𝐶 =


0,4, 𝐷 = 1,2.
Observação: Esses valores foram encontrados a partir de chutes iniciais
iguais a: 𝐴 = 𝐵 = 𝐶 = 𝐷 = 1.
A condição de restrições ativas foi satisfeita ao encontrar valores de
restrições próximos de zero na solução ótima:

Restrições da Reação:
2𝐴 − 𝐵: 1,086 ∙ 10−7
3𝐶 − 𝐷: − 2,7151 ∙ 10− 8

Exemplo 2: Otimização de Reatores

Este exemplo tem como propósito maximizar a taxa de conversão de um


certo reagente em uma reação. A expressão que define a conversão é a descrita
abaixo:

𝐶𝑒𝑛𝑡𝑟𝑎𝑑𝑎 − 𝐶
𝑋=
𝐶𝑒𝑛𝑡𝑟𝑎𝑑𝑎

Como deseja-se encontrar o máximo da função, é necessário inverter o


sinal para construção da função objetivo:

𝐶𝑒𝑛𝑡𝑟𝑎𝑑𝑎 − 𝐶
𝑓(𝐶) = − ( )
𝐶𝑒𝑛𝑡𝑟𝑎𝑑𝑎

Com a seguinte restrição:

𝐶 ≤ 0,1𝐶𝑒𝑛𝑡𝑟𝑎𝑑𝑎

A restrição rearranjada na forma descrita na seção de Multiplicadores de


Lagrange é igual a:

𝐶 − 0,1𝐶𝑒𝑛𝑡𝑟𝑎𝑑𝑎 ≤ 0
A função Lagrangiana será:

𝐶𝑒𝑛𝑡𝑟𝑎𝑑𝑎 − 𝐶
ℒ(𝐶, 𝜇) = − ( ) + 𝜇(𝐶 − 0,1𝐶𝑒𝑛𝑡𝑟𝑎𝑑𝑎 )
𝐶𝑒𝑛𝑡𝑟𝑎𝑑𝑎

De forma análoga ao exemplo anterior, a função acima precisa satisfazer


as seguintes condições de KKT:

Gradiente Nulo

∇ℒ(𝐶, 𝜇) = 0

Factilidade Primal

𝐶 ≤ 0,1𝐶𝑒𝑛𝑡𝑟𝑎𝑑𝑎

Factilidade Dual

𝜇𝑗 ≥ 0, 𝑝𝑎𝑟𝑎 𝑗 = 1, 2, … , 𝑛

Complementariedade

𝜇1 (𝐶 − 0,1𝐶𝑒𝑛𝑡𝑟𝑎𝑑𝑎 ) = 0

Restrições ativas

𝐶 ∗ − 0,1𝐶𝑒𝑛𝑡𝑟𝑎𝑑𝑎 = 0 (𝑆𝑜𝑙𝑢çã𝑜 Ó𝑡𝑖𝑚𝑎)

Considera-se que a concentração de entrada é igual a 0,5 mol/L.

Aplicando o problema no Matlab®, utilizando a função fsolve, tem-se:

clear all
clc
% mu = letra mi
% Definir a função Lagrangiana
lagrangiana = @(C, mu) -(0.5 - C) / 0.5 + mu * (C - 0.1 * 0.5);

% Definir as condições KKT


kkt_conditions = @(C, mu) [
C - 0.1 * 0.5; % Restrição de igualdade
mu; % Não Negatividade do Multiplicador
mu * (C - 0.1 * 0.5) % Complementaridade
];
% Inicializar ponto inicial
C0 = 0.05 * 0.5; % Valor inicial para C
mu0 = 0; % Valor inicial para o multiplicador de Lagrange

% Resolver o sistema de equações não lineares (Condições KKT)


[C_mu_opt, ~, exitflag, output] = fsolve(@(C_mu) kkt_conditions(C_mu(1),
C_mu(2)), [C0, mu0]);

% Exibir os resultados
disp('Resultado da Otimização usando KKT:');
disp(['Valor ótimo de C: ', num2str(C_mu_opt(1))]);
disp(['Taxa de Conversão ótima X: ', num2str((0.5 - C_mu_opt(1)) / 0.5)]);
disp(['Valor ótimo de -X: ', num2str(-lagrangiana(C_mu_opt(1),
C_mu_opt(2)))]);

A concentração ótima do reagente encontrada é igual a 𝐶 = 0,05.


Resultando em uma conversão de 𝑋 = 0,9.

Observação: Considerou-se como chute inicial 𝐶 = 0,05 ∙ 𝐶𝑒𝑛𝑡𝑟𝑎𝑑𝑎 =


𝑚𝑜𝑙
0,025 .
𝐿

Exemplo 3: Otimização de Produto

Considera-se que uma indústria está produzindo um produto P a partir de


uma matéria-prima A, sendo alimentada em um reator. A taxa de reação é igual
a 𝑃 = 𝑘 ∙ 𝐴, sendo 𝑘 a constante da taxa de reação. A disponibilidade máxima de
𝑚𝑜𝑙
matéria-prima é igual a 𝐴 = 100 . Além disso, a concentração de A não pode
𝐿

ser negativa. Logo, as restrições são:

𝐴 ≤ 100

Colocando a restrição no formato descrito anteriormente para


Multiplicadores de Lagrange, tem-se que a restrição é igual a:

𝐴 − 100 ≤ 0

Considerando que o propósito é maximizar a produção de P, inverte-se a


função de produção, formando a função objetivo:

𝑓(𝐴) = −𝑘 ∙ 𝐴

Assim, a função Lagrangiana é:


ℒ(𝐴, 𝜇) = 𝑘 ∙ 𝐴 + 𝜇(100 − 𝐴)

De forma análoga ao exemplo anterior, a função acima precisa satisfazer


as seguintes condições de KKT:

Gradiente Nulo

∇ℒ(𝐴, 𝜇) = 0

Factilidade Primal

𝐴 − 100 ≤ 0

Factilidade Dual

𝜇𝑗 ≥ 0, 𝑝𝑎𝑟𝑎 𝑗 = 1, 2, … , 𝑛

Complementariedade

𝜇1 (𝐴 − 100) = 0

Restrições ativas

𝐴∗ − 100 = 0 (𝑆𝑜𝑙𝑢çã𝑜 Ó𝑡𝑖𝑚𝑎)

Considera-se que a constante da taxa é igual a 𝑘 = 0,1𝑠 −1 .

Aplicando o problema no Matlab®, utilizando a função fsolve, tem-se:

clear all
clc
% mu = letra mi
% Definir a função Lagrangiana
lagrangiana = @(A, mu, k) k * A + mu * (100 - A);

% Definir as condições KKT


kkt_conditions = @(A, mu) [
100 - A; % Restrição de igualdade
mu; % Não Negatividade do Multiplicador
mu * (A - 100) % Complementaridade
];

% Inicializar ponto inicial


A0 = 50; % Valor inicial para A
mu0 = 0; % Valor inicial para o multiplicador de Lagrange

% Valor de k (constante relacionada à cinética da reação)


k = 0.1;

% Resolver o sistema de equações não lineares (Condições KKT)


[A_mu_opt, ~, exitflag, output] = fsolve(@(A_mu) kkt_conditions(A_mu(1),
A_mu(2)), [A0, mu0]);

% Exibir os resultados
disp('Resultado da Otimização usando KKT:');
disp(['Quantidade ótima de A: ', num2str(A_mu_opt(1))]);
disp(['Produção ótima P: ', num2str(k * A_mu_opt(1))]);

A concentração ótima de A é igual a 100 mol/L, com produção ótima de P


igual a 10 mol/L.

Você também pode gostar