, min ( , , ) . . ( , , ) 0 ( , , ) 0 x y L U f x y s t h x y g x y x x x θ θ θ = ≤ ≤ ≤
Aplicações várias de optimização discreta
Alguns tipos de problemas: escolha múltipla, decisões discretas, implicação lógica; aplicação ao problema de síntese de processos.
Método geral para modelação de condições lógicas.
Exemplos vários.
Engenharia de Processos e Sistemas
Modelação com variáveis
discretas
Fernando Bernardo Fev 2012
2
Optimização discreta. Aplicações várias
Projecto de equipamentos/processo:
- Localização das alimentações e produtos laterais de uma coluna de destilação
- Dimensões discretas de equipamentos
- Nº de reactores em paralelo, eventualmente de dimensão igual, fixa ou não
- Estrutura do diagrama de fabrico e opções de equipamento alternativo
Projecto de produto:
- Formulação de misturas (e.g. no máximo 10 ingredientes, 3 dos quais pré-especificados) - Selecção de grupos funcionais numa molécula
, max ( , , ) . . ( , , ) 0 ( , , ) 0 {0,1}) x y L U f x y s t h x y g x y x x x x real y inteiro (muitas vezes, y θ θ θ = ≤ ≤ ≤ ∈ Gestão/planeamento
- Planeamento da produção. O que produzir e quando. Comprar produtos
intermédios ou produzi-los a partir de percursores? Expandir capacidade? s/n ?) - Gestão de stocks. Que matérias-primas encomendar e quando?
- Escalonamento. Linha multiprodutos. Qual a sequência de produção óptima? ABCD, ABDC, ACBD,… ?
Nesta aula vamos preocupar-nos em como formular os problemas,
envolvendo decisões discretas
e não em como resolvê-los (enumeração explícita, “branch and bound”; aula anterior)
Modelação de problemas
De um ponto de vista mais geral, a formulação do problema envolve: - análise preliminar do problema
- representação do problema (diagrama de blocos, rede, representação de alternativas)
- identificação de graus de liberdade (variáveis de decisão) - definição da função objectivo
- modelação de restrições
Bibliografia
H. P. Williams, Model Building in Mathematical Programming, 3rd ed., John Wiley & Sons, Chichester (1993)
R. Raman, I. E. Grossmann. Relation Between MILP Modelling and Inference for Chemical Process Synthesis. Computers Chem. Eng. 15(2), 73-84 (1991)
4
Formulação geral:
Modelação de problemas
MILP: Mixed-integer linear programming, se f, h e g lineares em x e y
→ Optimalidade global (resolve-se LP para cada concretização de y)
MINLP: Mixed-integer non-linear programming
→ Óptimo global se f convexa, h linear e g(x) § 0 região convexa," y ,
min ( , , )
. .
( , , )
0
( , , )
0
{0,1})
x y L Uf x y
s t h x y
g x y
x
x
x
x real
y
θ
θ
θ
=
≤
≤ ≤
∈
função obj. f, escalar decisões x e y, vectores funções h e g, vectores vector de parâmetros q
Um primeiro exemplo
Problema de formulação de uma mistura: minimizar o custo de uma formulação, sujeito a um desempenho mínimo.
a) Sem limitação no número de ingredientes b) Limitando o número de ingredientes a N xi – fracção mássica do componente i
Vi – valor nutritivo (unid./kg) Ci – custo (EUR/kg)
Cereais de
pequeno-almoço
Aveia, trigo, milho
6
Um primeiro exemplo
i i i i i iCusto
x C
Valor
x V
=
=
∑
∑
Sem limitação no número de ingredientes
min
min
. .
1
1
i i i x i i i i i i ix C
s t
x V
V
x
0
x
≥
=
≤
≤
∑
∑
∑
Problema LP
Um primeiro exemplo
E agora limitando o número de ingredientes a N:
Variáveis binárias yi:
yi = 1, se o componente i está presente na formulação yi = 0, caso contrário min
min
. .
1
1
i i i i x i i i i i i i ix y C
s t
x y V
V
x
0
x
y
≥
=
≤
≤
≤
∑
∑
∑
∑
Será esta uma formulação razoável?
Problema MINLP
8
Um primeiro exemplo
Devemos evitar termos não-lineares, neste caso do tipo x.y Isso é possível se conseguirmos modelar a condição lógica:
0
0
i i
y
= ⇒
x
=
Restrição do tipo “big-M”:
i i
x
≤
My
(1) , sendo M um limite superior para xi, não atingível (neste caso M=1)0
i
x ≥
Tem-se também a restrição:
Se yi=0, (1) é xi § 0, o que, em conjunto com (2), resulta em xi=0, tal como desejado.
Se yi=1, tem-se xi § M, o que funciona como restrição neutra. (2)
Um primeiro exemplo
A formulação adequada é então:
min
min
. .
1
1
i i i i x i i i i i i i i i ix y C
s t
x y V
V
x
0
x
y
≥
=
≤
≤
≤
∑
∑
∑
∑
minmin
. .
1
,
1
1
i i i x i i i i i i i i i i ix C
s t
x V
V
x
x
My neste caso M
0
x
y
≥
=
≤
=
≤
≤
≤
∑
∑
∑
∑
MINLP10
Arte e Ciência
Por agora, isto parece mais arte do que ciência.
Vamos agora abordar alguns casos particulares e depois apresentar uma teoria geral para a modelação de qq condição lógica envolvendo apenas variáveis discretas ou ligação entre variáveis discretas e variáveis
contínuas.
Casos a tratar:
1. Escolha múltipla entre alternativas 2. Decisões discretas
3. Implicação lógica
1
1
i iy
==
∑
- Seleccionar um só item/alternativa: 1 2 32
y
+
y
+
y
≥
1
A By
+
y
=
Ex: encomendar um só produto de entre N possíveis
- Seleccionar pelo menos duas de entre 3 opções:
- Seleccionar ou a opção A ou a opção B (“ou” exclusivo):
Escolha Múltipla
1 i iy
M
=≤
∑
- Seleccionar no máximo M itens de um conjunto com N:12
,
1
i i i
V
=
∑
V y
∑
y
=
Binárias: componente i presente ou não no sistema; basta definir variável yi
Optimizar o volume de um reactor de entre 5 dimensões específicas possíveis:
Coluna com N pratos entre 5 e 50
{ }
+ 0
0 1 2
Representação binária de inteiros:
0 , ,
2 4 ... 2 , 0,1
onde 2 é a menor potência de 2, u
r r i r u u y y y y y γ γ γ ≤ ≤ ∈ = + + + + ∈ ≤ ℕ
(trata-se no fundo de uma escolha múltipla)
5 0 1 2 3 4 5 0 5 45, ' 5 45, 2 =32, 5 : ' 2 4 8 16 32 u r Então y y y y y y ≤ − ≤ = − = = = + + + + +
Decisões discretas
Os inteiros N entre 5 e 50 são assim representados por 6 variáveis binárias, y0 a y5.
Nota sobre conversão de inteiro a binário
Por exemplo: 10 0 20 1 21 0 22 1 23
Então: 10 1010
= × + × + × + ×
→
Em geral, é melhor usar o algoritmo da divisão inteira por 2 45 a dividir por 2 dá 22 e resto 1
22 a dividir por 2 dá 11 e resto 0 11 a dividir por 2 dá 5 e resto 1 5 a dividir por 2 dá 2 e resto 1 2 a dividir por 2 dá 1 e resto 0 1 a dividir por 2 dá 0 e resto 1
Então: 45 → 101101 (de baixo para cima) Ou seja:
Compreende-se agora melhor como
representa todos os inteiros entre 0 e 45.
0 1 2 3 4 5
45 1 2= × + ×0 2 + ×1 2 + ×1 2 + ×0 2 + ×1 2
0 1 2 3 4 5
' 2 4 8 16 32
14
Se y=0, então função contínua associada f(x)=0 (e.g.: existência de corrente e o seu caudal):
( )
f0, ( ) [0;
f]
f x
−
U y
≤
f x
∈
U
Evita-se assim termos não-lineares do tipo F.y, F – caudal.
Exemplo: função custo, C = CF + CV.x, CF – custo fixo, CV – custo variável Se reactor seleccionado com caudal x, então C = CF + CV.x
Mas se reactor não seleccionado, C = 0 y codifica a selecção do reactor
Modelação directa (indesejável, pois NL):
(
F V)
C
=
C
+
C x y
Modelo linear, com modelação de condição lógica:
(
0
0)
0
F V xC
C y
C x
y
x
x U y
=
+
= ⇒ =
⇔ −
≤
(caso + geral de restrição “big-M”)
x C
CF
A optimização discreta é um método sistemático de
explorar diferentes possibilidades processuais.
Define-se uma super-estrutura do processo, que codifica as
várias alternativas.
Formula-se um problema com variáveis binárias, cuja
solução selecciona a melhor alternativa (a menos de
óptimos locais).
16
Exemplo 1
O composto C pode ser produzido pelos processos II ou III, mas não por ambos, usando B como matéria-prima. B pode ser comprado ao
exterior ou fabricado internamente pelo processo I, usando A como
matéria-prima. Decidir a melhor estrutura de fabrico de C (processo II ou III; comprar B e/ou fabricá-lo a partir de A).
Decisões discretas:
yI: yI=1, se processo 1 existe; yI=0, caso contrário
yII, yIII Decisões contínuas: A, B (qtds a comprar de A e B) Balanços (ton/h): BI = 0.9*A BI + B = BII + BIII CII = 0.82*BII; Restrições: A § 16, C § 10 (ton/h) Função objectivo: Lucro ($/h) = 1800*C – 500*A – 950*B – (1000 + 250*A)*yI – (1500 + 400*BII)*yII – (2000 + 550*BIII)*yIII
18
• (1000 + 250*A)*yI pode ser substituído por 1000*yI + 250*A se impusermos a condição lógica: yI = 0 fl A = 0
• Esta condição pode ser modelada por: A § 16yI (restrição big-M) • Faz-se de modo análogo para os caudais BII e BIII:
BII § 10/0.82*yII BIII § 10/0.95*yIII
Formulação final (MILP), com garantia de optimalidade global
max Lucro ($/h) = 1800*C – 500*A – 950*B – (1000*yI + 250*A) – (1500*yII + 400*BII) – (2000*yIII + 550*BIII)
s.a. Função objectivo (NL): Lucro ($/h) = 1800*C – 500*A – 950*B – (1000 + 250*A)*yI – (1500 + 400*BII)*yII – (2000 + 550*BIII)*yIII BI = 0.9*A BI + B = BII + BIII CII = 0.82*BII CIII = 0.95*BIII C = CII + CIII yI + yII = 1 A § 16yI BII § 10/0.82*yII BIII § 10/0.95*yIII
max Lucro ($/h) = 1800*C – 500*A – 950*B – (1000*yI + 250*A) – (1500*yII + 400*BII) – (2000*yIII + 550*BIII)
s.a. BI = 0.9*A BI + B = BII + BIII CII = 0.82*BII CIII = 0.95*BIII C = CII + CIII yI + yII = 1 A § 16yI BII § 10/0.82*yII BIII § 10/0.95*yIII Formulação em GAMS
$TITLE PROBLEMA COMPLEXO QUÍMICO BINARY VARIABLES yI,yII,yIII;
POSITIVE VARIABLES A,BI,B,BII,BIII,CII,CIII,C; C.up=10;
VARIABLE LUCRO;
EQUATIONS E1,E2,E3,E4,E5,E6,E7,E8,E9,OBJ; E1 .. yII + yIII =E= 1;
E2 .. BI =E= 0.9*A;
E3 .. BI + B =E= BII + BIII; E4 .. CII =E= 0.82*BII;
E5 .. CIII =E= 0.95*BIII; E6 .. C =E= CII + CIII; E7 .. A =L= 16*yI;
E8 .. BII =L= 10/0.82*yII; E9 .. BIII =L= 10/0.95*yIII;
OBJ .. LUCRO =E= 1800*C 500*A 950*B
20
Estudo de sensibilidade
• Se PrB diminuir de 950 para 900 $/ton, nova solução:
apenas processo III, comprar 10.5 ton/hr de B, Lucro = 737 $/h • Se CinvII aumentar de 1500 para 2000 $/h, nova solução: processo I e III, não comprar B, Lucro = 439 $/h
Solução
processos I e II não comprar B Lucro = 459 $/h
Impôr restrição (lógica) adicional: caso seja favorável comprar B, a quantidade mínima deve ser de 12 ton/h.
• Nova decisão binária yBc (=1, se B for comprado)
Exemplo 2: super-estrutura de separação
Sistema de separação flash e/ou coluna com ou sem bypass’s
Variáveis binárias:
yF – existência da separação flash yC – existência da coluna dest.
1
S
2S
3S
4S
22 Exemplo 2: super-estrutura de separação • Ponto de separação: 1
S
2S
3S
4S
1 2 3 41
S
+
S
+
S
+
S
=
40
≤
S
≤
yC
10
≤
S
≤
yF
• Se coluna existe então tem diâmetro entre 2.2 e 5.5 m; se não existe, diâmetro é nulo e o respectivo custo também:
2 2.2 5.5 50 (0.3 2) C C C P yC D yC Custo y D ≤ ≤ = + + (NP é parâmetro)
1
S
2S
3S
4S
24
Conjunto de soluções para xAmin e xBmin crescentes 1 S 2 S 3 S S4
xAmin xBmin Profit DC DF S2 S3 xA xB
0.78 0.78 1793 0 3.305 0.0208 0 0.78 0.8013 0.79 0.79 1788 0 3.327 0.0078 0 0.79 0.8013 0.8 0.8 1693 2.2 3.214 0 0 0.8 0.8053 0.81 0.81 1651 3.006 2.854 0 0 0.81 0.8161 0.82 0.82 1468 5.501 0 0.0286 0.068 0.82 0.82 0.83 0.83 1524 4.735 2.2 0 0 0.83 0.8383 0.84 0.84 1456 5.358 2.2 0 0.0184 0.84 0.84 0.85 0.85 1444 5.751 0 0 0.0129 0.8462 0.85 UNF Unfeasible
Modelação de condições lógicas
1. Método geral para modelar condições lógicas com variáveis binárias y
a) Condições lógicas simples
Relação lógica Expressão lógica
(envolvendo proposições P)
Restrição linear equivalente (envolvendo variáveis binárias y) OR P1 ∨∨∨∨ P2 y1 + y2 ≥≥≥≥ 1 A$D P1 ∧∧∧∧ P2 y1 ≥≥≥≥ 1, y2 ≥≥≥≥ 1 Implicação P1 ⇒⇒⇒⇒ P2 ⇔⇔⇔⇔ ~ P1 ∨∨∨∨ P2 1 −−−− y1 + y2 ≥≥≥≥ 1 Equivalência P1 ⇔⇔⇔⇔ P2 y1 = y2 OR (exclusivo) P1 ∨ɺ P2 y1 + y2 = 1
26
Modelação de condições lógicas
b) Condições lógicas compostas
- Podem ser reduzidas à forma conjuntiva normal, aplicando
equivalências lógicas. A forma conjuntiva normal corresponde depois a um sistema de restrições lineares.
Forma conjuntiva normal: conjunção de várias disjunções
1 2 3 4 1 2 3 4
(
...)
(
...)
... 1
... 1
P
P
P
P
y
y
y
y
∨
∨
∧
∨
∨
+
+ ≥
⇔
+
+ ≥
Modelação de condições lógicas
28
Modelação de condições lógicas
Exemplo. Problema de formulação de uma mistura a partir de vários ingredientes. Se ingrediente 1 ou 2 estão presentes, então é necessário o ingrediente 5 (por exemplo, 5 é estabilizante de 1 e 2)
1 5 2 5
( 1
2)
5
~ ( 1
2)
5
(~ 1 ~ 2)
5
(~ 1
5)
(~ 2
5)
1
1
1
1
Y
Y
Y
Y
Y
Y
Y
Y
Y
Y
Y
Y
Y
y
y
y
y
∨
⇒
∨
∨
∧
∨
∨
∧
∨
−
+
≥
⇔
−
+
≥
Exemplo. Considere a seguinte condição lógica na síntese de um processo de
separação: se a coluna de absorção para recuperar o produto é escolhida ou o
separador de membrana é escolhido, então não usar separação criogénica.
Proposições: P
A= seleccionar absorção; P
M= seleccionar membrana; P
C=
seleccionar separador criogénico
Condição lógica: P
A∨ P
M⇒ ~ P
CRedução à forma conjuntiva P
1∧ P
2∧ P
3∧ ...
⇔ ~ (P
A∨ P
M) ∨ ~ P
C⇔ (~ P
A∧ ~ P
M) ∨ ~ P
C⇔ (~ PA ∨ ~ PC) ∧ (~ PM ∨ ~ PC) Modelo: 1 − yA + 1 − yC ≥ 1 ⇔ yA + yC ≤ 1
1 − yM + 1 − yC ≥ 1 ⇔ yM + yC ≤ 1
30
( )
f(1
)
f x
≤
U
−
y
Então ( ( )
0
1) é equivalente a (
0
( )
0)
Faz-se ( )
, pequeno
( )
( )
0
Então:
0
( )
0
E a restrição correspondente é:
( )
f( )
ff x
y
y
f x
f x
f x
f x
y
f x
f x
U y
f x
L y
ε ε
ε
ε
ε
ε
ε
≤ ⇒ =
=
⇒
>
≥
⇔ −
≤ − ⇔ −
+ ≤
=
⇒ −
+ ≤
−
+ ≤
⇔
≥
+
2. Método geral para ligação entre variáveis discretas e contínuas Como conciliar esta teoria com variáveis e restrições contínuas?
A base está em associar uma variável binária y à verificação da restrição contínua f(x) § 0.
Caso 1:
Caso 2 (inverso):
Podemos usar a lógica para deduzir a restrição para este caso
Restrição correspondente: (restrição do tipo “big-M”)
1 ( ) 0
y = ⇒ f x ≤
( )
0
1
f x
≤ ⇒ =
y
(A⇒ B) ⇔ (~ B ⇒~ A)
Caso 3:
Caso 4:
Pode converter-se no caso 1 1 ( ) 0 y = ⇒ g x ≥
( )
f(1
)
f x
≤
U
−
y
1 ( ) 0 y = ⇒ f x ≤ Caso 1:1
( )
0
E a restrição correspondente é:
( )
g(1
)
( )
g(1
)
y
g x
g x
U
y
g x
L
y
= ⇒ −
≤
−
≤
−
⇔
≥
−
( )
0
1
g x
≥ ⇒ =
y
Análogo ao caso 2:( )
0
1
E a restrição correspondente é: ( )
g( )
gg x
y
g x
ε
U y
g x
U y
ε
−
≤ ⇒ =
+ ≤
⇔
≤
−
32 Caso 5: y = ⇒1 h x( ) = 0
( )
0
( )
0
( )
0
Logo: ( )
h(1
)
( )
h(1
)
h x
h x
h x
h x
U
y
h x
L
y
= ⇔
≤ ∧
≥
≤
−
∧
≥
−
Exemplo
Se reactor 1 escolhido, então pressão entre 5 e 10 bar Se reactor 2 escolhido, então pressão entre 20 e 30 bar Escolha exclusiva de um dos dois reactores
1 2 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2
1
1
10
5
10
(1
)
5
(1
)
1
10
5
30
(1
)
20
(1
)
P P P Py
y
y
P
P
P
U
y
P
U
y
y
P
P
P
U
y
P
U
y
+
=
= ⇒
≤
∧ − ≤ −
−
≤
−
∧ − + ≤
−
= ⇒
≤
∧ −
≤ −
−
≤
−
∧ −
+
≤
−
( )
f(1
)
f x
≤
U
−
y
1 ( ) 0 y = ⇒ f x ≤ Caso 1: 1 1 1 2 2 2De forma mais simples:
5
10
20
30
y
P
y
y
P
y
≤
≤
≤
≤
34
Exercício 2 (problema 5 da folha de problemas).
Uma empresa compra 5 óleos (VEG1, VEG2, OIL1, OIL2 e OIL3), refina-os e vende misturas deles.
Custo actual dos óleos: 110, 120, 130, 110, 115 (EUR/ton) Preço de venda da mistura: 150 EUR/ton
Limites na refinação: 200 ton/mês (VEG) e 250 ton/mês (OIL)
Dureza final da mistura entre 3 e 6; regra de mistura linear; durezas individuais: 8.8; 6.1; 2.0; 4.2; 5.0
a) Qual a política de compra e fabrico que a empresa deve adoptar, de modo a
maximizar o lucro? (problema estático, num só período)
b) Problema multi-períodos, com variação do preço dos óleos e considerando
gestão de stocks.
c) Adicionar restrições do tipo:
i) O número máximo de óleos na mistura é 3;
ii) Se um dado óleo é usado num mês, deve sê-lo numa quantidade mínima de 20 ton;
iii) Se a mistura contém um óleo vegetal, então tem obrigatoriamente de conter o óleo OIL3.
Exercício 2 (problema 5 da folha de problemas).
Uma empresa compra 5 óleos (VEG1, VEG2, OIL1, OIL2 e OIL3), refina-os e vende misturas deles.
Custo actual dos óleos: 110, 120, 130, 110, 115 (EUR/ton) Preço de venda da mistura: 150 EUR/ton
Limites na refinação: 200 ton/mês (VEG) e 250 ton/mês (OIL)
Dureza final da mistura entre 3 e 6; regra de mistura linear; durezas individuais: 8.8; 6.1; 2.0; 4.2; 5.0
a) Qual a política de compra e fabrico que a empresa deve adoptar, de
modo a maximizar o lucro? (problema estático, num só período)
1 2 3 4 5 , 1 2 3 4 5 1 2 3 4 5 max 150 (110 120 130 110 115 ) . . 1 2 200 3 4 5 250 1 3 (8.8 6.1 2.0 4.2 5.0 ) 6 i x z Lucro z x x x x x s t z=x x x x x x x x x x x x x x x z = − + + + + + + + + + ≤ + + ≤ ≤ + + + + ≤
36
b) Considere agora o mesmo problema, mas expandido para vários períodos. Os preços actuais e futuros são os apresentados na tabela abaixo. O limite de armazenamento é 1000 ton e o custo de armazenamento é de 5 EUR/ton/mês. As existências no início de
Janeiro são de 500 ton de cada óleo e este é também o nível mínimo de stock a garantir no final de Junho. Qual é a política óptima de compra e fabrico para este horizonte de 6 meses? (problema dinâmico multi-períodos).
Preços actuais e futuros das matérias-primas (EUR/ton) VEG1 VEG2 OIL1 OIL2 OIL3 Jan 110 120 130 110 115 Fev 130 130 110 90 115 Mar 110 140 130 100 95 Abr 120 110 120 120 125 Mai 100 120 150 110 105 Jun 90 100 140 80 135
i – índice do óleo, i=1,…,5 j – índice do mês, j=1,…,6
• Necessário distinguir qtd comprada xcij de qtd processada xpij • Necessário calcular quantidades em stock
• Em cada mês produz-se a mistura + favorável com qtds individuais de óleo xpij, sendo a qtd total:
• Admite-se que este total produzido em cada mês é vendido na totalidade 5 1 j ij i
z
xp
==
∑
1 1 5 1
1
0
1 5
1 6
0
1
1 5
2 6
0
500
1 5
1
500
1 5
1
0
1
1 5
1 6
2
Custo de posse:
5
,
1 6
ij ij ij ij ij i , j i iJ ij ij ij Pj ij iEx
Ex
xc
xp , i
, , j
,
Ex
Ex
, i
, , j
,
Ex
, i
,
Ex
, i
,
Exm
( Ex
Ex
), i
, , j
,
C
Exm
j
,
− ==
+
−
=
=
=
=
=
=
=
≥
=
=
+
=
=
=
∑
=
Formulação do problema38 6 5 1 1 5 1 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
150
,
1 6
200,
1 6
250,
1 6
3
8 8
6 1
2 0
4 2
5 0
,
1 6
8 8
6 1
2 0
4 2
5 0
6
,
1 6
j cij ij Pj j i j pij i j j j j j j j j j j j j j j j j jLucro
z
x C
C
z
x
j
,
xp
xp
j
,
xp
xp
xp
j
,
z
. x
. x
. x
. x
. x
j
,
. x
. x
. x
. x
. x
z
j
,
= = =
=
−
−
=
=
+
≤
=
+
+
≤
=
≤
+
+
+
+
=
+
+
+
+
≤
=
∑
∑
∑
Contabilidade do problema:180 variáveis: xc, xp, z, Ex1, Ex0, Exm 125 restrições (95 + 30) Função objectivo Formulação do problema Eq. mistura Limites na refinação Limites na dureza da mistura
( 1 2) 5 ~ ( 1 2) 5 (~ 1 ~ 2) 5 (~ 1 5) (~ 2 5) Y Y Y Y Y Y Y Y Y Y Y Y Y ∨ ⇒ ∨ ∨ ∧ ∨ ∨ ∧ ∨ 5 1
3,
1,6
ij iy
j
=≤
=
∑
c) Adicionar restrições do tipo:
i) O número máximo de óleos na mistura é 3;
ii) Se um dado óleo é usado num mês, deve sê-lo numa quantidade mínima de 20 ton;
iii) Se a mistura contém um óleo vegetal, então tem obrigatoriamente de conter o óleo OIL3. (i)
250
0,
1,5,
1, 6
ij ij ijxp
≤
y (250 é "big-M")
∧
xp
≥
i
=
j
=
ijy
→ variável binária igual a 1 se óleo i está presente na mistura feita no mês j(ii)
xp
ij≥
20
y , i
ij=
1,5,
j
=
1,6
(iii)−
y
1j+
y
5 j≥
0,
j
=
1,6
40