• Nenhum resultado encontrado

Modelação com variáveis discretas

N/A
N/A
Protected

Academic year: 2021

Share "Modelação com variáveis discretas"

Copied!
38
0
0

Texto

(1)

 Alguns casos particulares: implicação lógica de ligação entre variáveis discretas e variáveis

contínuas; escolha múltipla entre alternativas; decisões intrinsecamente discretas.

 Métodos geral para modelação de condições lógicas: envolvendo apenas variáveis binárias; envolvendo variáveis binárias e contínuas.

 Aplicações: formulação de uma mistura, síntese de processos químicos.

Engenharia de Processos e Sistemas

Modelação com variáveis

discretas

Fernando Bernardo Fev 2014 1 2 ~ 1 2 P P P P ⇒ ⇔ ∨

(2)

min

min

. .

1

,

1

1

i i i x i i i i i i i i i i

x C

s t

x V

V

x

x

My M

0

x

y

N

=

=

≤ ≤

Problema de formulação de uma mistura: minimizar o custo de uma formulação, sujeito a um desempenho mínimo. M

ingredientes possíveis; limitar o número de ingredientes a N<=M.

i – ingrediente, i=1,…M

xi – fracção mássica do componente i Vi – valor nutritivo (unid./kg)

Ci – custo (EUR/kg) Técnica “big-M”:

0

i i i

x

My

∧ ≥

x

0 0 i i y = ⇒ x =

Necessário modelar a condição lógica:

MILP Óptimo global

i i

x y

(3)

Modelação com variáveis discretas

Por agora, isto parece mais arte do que ciência.

Vamos primeiro abordar alguns casos particulares e depois apresentar uma teoria geral para a modelação de qualquer q condição lógica

envolvendo apenas variáveis discretas ou ligação entre variáveis discretas e variáveis contínuas.

Casos particulares:

1. Implicação lógica de ligação entre variáveis discretas e variáveis contínuas

2. Escolha múltipla entre alternativas 3. Decisões intrinsecamente discretas.

(4)

1. Implicação lógica de ligação y-x

(Restrição do tipo “big-M”)

x

My

y binário = 0 fl x contínuo = 0 E também x œ [0;M]

Se y = 0, então função contínua associada f(x) = 0 Se y =1, a § f(x) § b

( )

ay

f x

by

Durante a optimização:

- se y = 0, tem-se x § 0; uma vez que x ¥ 0, isto resulta em x = 0. - se y = 1, tem-se x § M, o que funciona como restrição neutra.

Pode ser modelado como:

Caso mais geral

(5)

1. Implicação lógica de ligação y-x

Selecção de alternativas processuais

Se processo II não é

escolhido, então caudal BII é nulo.

0

B

II

My

II

Evita-se assim termos não-lineares do tipo F.y, F – caudal.

Limites mínimos do tipo: se for necessário comprar B, deve ser em quantidade superior a 10

(6)

1. Implicação lógica de ligação y-x

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

Possível modelo linear, com a técnica big-M:

0

F V

C

C y

C x

x

My

x

=

+

∧ ≥

x C CF

Exemplo. Custo fixo + custo variável, associado a alternativa processual

( F V ), F é custo fixo, V é custo variável C = C +C x C C

(7)

1 M i i

y

N

=

1

1

N i i

y

=

=

- Seleccionar um só item/alternativa: 1 2 3

2

y

+

y

+

y

1

A B

y

+

y

=

- Seleccionar no máximo N itens de um conjunto com M: Encomendar um só produto de entre N possíveis

Mistura com no máximo N ingredientes

- Seleccionar pelo menos duas de entre 3 opções:

- Seleccionar ou a opção A ou a opção B (“ou” exclusivo):

(8)

,

1

i i i

V

=

V y

y

=

 Optimizar o volume de um reactor de entre 5 dimensões específicas possíveis:

(trata-se no fundo de uma escolha múltipla)

3. Decisões intrinsecamente discretas

 Num período de 6 meses, 3 máquinas (de um conjunto de 8) têm de parar para manutenção (cada uma durante 1 mês).

6 1

6 8 1 1

1, se máquina i pára para manutenção no mês j Cada máquina, se parar, pára uma só vez:

1, 1,...,6

No total dos 6 meses, páram exctamente 3 máquinas:

3 ij ij j ij j i y y j y = = = = ≤ = =

∑∑

0 1 0 0 0 0 0 0 0 0 0 0 (...) 0 0 0 1 0 0 (...) 1 0 0 0 0 0 y         =             máquinas mês

(9)

3. Decisões discretas

GAMS suporta variáveis inteiras:

0 1 2

NReactores

= +

2

y

+

2

y

+

4

y

INTEGER VARIABLE NReactores; NReactores.lo=2;

NReactores.up=7;

Internamente faz a decomposição:

 Número de reactores em paralelo entre 2 e 7

0 0 1 2 0 1 2

2

7,

0

2

5

0

2

4

5, ,

,

{0,1}

N

N

N

y

y

y

y y y

+

≤ ≤

⇔ ≤ − ≤

→ ≤

+

+

(10)

4. Modelação de condições lógicas

Exemplo. Problema de formulação de uma mistura a partir de vários ingredientes.

 Pelo menos 2 de entre M ingredientes têm de ser incluídos:

1

2

M i i

y

=

 Se o ingrediente 1 é incluído, então o ingrediente 5 também tem de ser incluído.

Proposição P1: ingrediente 1 é usado Proposição P5: ingrediente 5 é usado

1 5 ~ 1 5 P P P P ⇒ ⇔ ∨

Então, a condição lógica inicial é modelada por:

(11)

4.1 Condições lógicas envolvendo apenas variáveis binárias 4.1.1 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 AND 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

(12)

4.1.2 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

+

+ ≥

+

+ ≥

(13)

4. Modelação de condições lógicas

(14)

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

− +

+

(15)

4. Modelação de condições lógicas

( )

f

(1

) ,

f

é limite superior para

f x

U

y

U

f

Então ( ( )f x ≤ 0⇒ y =1) é equivalente a (y = 0 ⇒ f x( ) > 0)

4.2. Condições envolvendo variáveis binárias 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 algébrica equivalente:

1 ( ) 0 y = ⇒ f x

( )

0

1

f x

y

=

(16)

4. Modelação de condições lógicas

Caso 3: Caso 4: 1 ( ) 0 y = ⇒ f x

( )

(1

)

f

f x

L

y

( )

0

1

g x

y

=

( ( )

f x

0

y

=

1) é equivalente a (

y

=

0

f x

( )

<

0)

( )

f x

U y

f

ε ε

, pequeno

Caso 5: y =1 ⇒ h x( ) = 0

( )

0

( )

0

( )

0

h x

= ⇔

h x

≤ ∧

h x

( )

h

(1

)

( )

h

(1

)

h x

U

− ∧

y

h x

L

y

(17)

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).

(18)

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).

(19)

Decisões discretas:

yI: yI=1, se processo 1 existe; yI=0, caso contrário

idem para yII e yIII Decisões contínuas: A, B (qtds a comprar de A e B) Balanços (ton/h): BI = 0.9*A 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

(20)

• (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 C § 10

(21)

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 C § 10 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;

(22)

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)

(23)

Exemplo 2: super-estrutura de separação

Sistema de separação flash e/ou coluna com ou sem bypasses

Variáveis binárias:

yF – existência da separação flash yC – existência da coluna destilação

Variáveis contínuas

S1 a S4 – caudais de alimentação à coluna e tanque flash e caudais de bypasses

1

S

2

S

3

S

4

S

(24)

Exemplo 2: super-estrutura de separação • Ponto de separação: 1

S

2

S

3

S

4

S

1 2 3 4

1

S

+

S

+

S

+

S

=

4

0

S

yC

1

0

≤ ≤

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 N ≤ ≤ = + + (NP é parâmetro)

• De modo análogo para o tanque flash

3

S

4

(25)

1

S

2

S

3

S

4

S

(26)

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

(27)

6. Aplicação a gestão de stocks

Problema clássico de gestão de stocks:

Dada a necessidade de uma matéria-prima ao longo de N períodos, decidir quando e quanto encomendar, minimizando o custo total = custos de encomenda + custos de posse.

- Em cada período, pode ou não haver uma encomenda. No caso de haver, é feita no início do período i, tem tamanho Qi e fica desde logo disponível.

- Velocidade de procura contínua e constante durante o período i - Custo de posse: CP, em EUR/unidade/período

- Custo de encomenda: CE, em EUR/encomenda Quando e quanto encomendar?

Nível de existências em armazém

Q

• encomendas de tamanho variável Qi

(28)

6. Aplicação a gestão de stocks

Problema clássico de gestão de stocks:

Período Procura 1 31 2 14 3 7 4 0 5 87 6 44 7 10 8 51 9 8

Quando e quanto encomendar para satisfazer esta procura variável?

Solução simplista: encomendar em todos os períodos quantidade igual à procura, ou seja, Qi = Pi, i=1,…,N.

→ Custos de posse minimizados, mas custos de encomenda negligenciados.

Custo de posse CP = 4 EUR/un/período e custo de encomenda CE = 100 EUR.

Período Procura Encom. C enc C posse C total

1 31 31 100 62 162 2 14 14 100 28 128 3 7 7 100 14 114 4 0 0 0 0 0 5 87 87 100 174 274 6 44 44 100 88 188 7 10 10 100 20 120 8 51 51 100 102 202 9 8 8 100 16 116

(29)

6. Aplicação a gestão de stocks

1 1 1 1 CustoTotal 1 0 1 0 1 2 0 00 1 0 1 1 2 1 00 grande, 1 i i N i E i P Q ,y i i i i i i i i i i N i i i min ( y C Exm C ) s.t. Ex Ex P , i ,..., N Ex Ex Q , i ,..., N Ex Ex Q Exm ( Ex Ex ), i ,..., N Ex Ex Q My , M Q , i ,..., N = − = + = − = = + = = + = + = ≥ ≤ >> =

Q ,Exi 0i,Ex ,Exm1i i ≥ 0 , i =1,..., N

Existência ou não de encomenda:

0 0 1 0 i i i i y Q y Q = ⇒ = = ⇒ >

0

(restrição do tipo big-

)

i i

Q

My

M

Modelação algébrica destas condições lógicas:

(30)

Formulação na plataforma GAMS

$TITLE Gestão de stocks

* Dada procura Pi, i=1,...,N, decidir quando e quanto encomendar, * minimizando o custo total = custos de encomenda + custos de posse

SCALARS cE,cP,Ex00; cE=100;

cP=4; Ex00=0;

SET I/I1*I9/;

SET Isem1(I) /I2*I9/;

PARAMETER P(I) /I1 31,I2 14,I3 7,I4 0,I5 87,I6 44,I7 10,I8 51,I9 8/;

BINARY VARIABLES y(I);

(31)

EQUATIONS E1,E2(I),E3(I),E4(I),E5(I);

E1 .. Ex0('I1') =E= Ex00 + Q('I1');

E2(I)$Isem1(I) .. Ex0(I) =E= Ex1(I-1) + Q(I); E3(I) .. Ex1(I) =E= Ex0(I) - P(I);

E4(I) .. Exm(I) =E= 1/2*(Ex0(I) + Ex1(I)); E5(I) .. Q(I) =L= 1000*y(I);

VARIABLE CustoTotal;

EQUATION OBJ;

OBJ .. CustoTotal =E= SUM(I, y(I)*cE + Exm(I)*cP);

MODEL PLAN/ALL/

*OPTION MIP=OSL;

OPTION optcr=0.001;

(32)

---- VAR Q

LOWER LEVEL UPPER MARGINAL

I1 . 52.000 +INF . I2 . . +INF . I3 . . +INF . I4 . . +INF 4.000 I5 . 87.000 +INF . I6 . 54.000 +INF . I7 . . +INF . I8 . 59.000 +INF . I9 . . +INF .

Custo total mínimo = 1088 EUR

(33)

Extensões possíveis do problema 1. Vários produtos

Basta alargar o conjunto de variáveis de decisão para Qji e yji, j=1,…, P, sendo P o nº de produtos, e escrever as restrições correspondentes.

2. Coordenação de encomendas

- Se há encomenda de A, então deve também haver de B.

- A encomenda conjunta de A e B traz um desconto (A e B em separado, 100 EUR cada, A e B em conjunto, 150 EUR).

- (…)

3. Descontos de quantidade

- Para quantidades acima de X, há desconto de 5% no preço de A - (…)

(34)

2. Coordenação de encomendas

- Se há encomenda de A, então deve também haver de B.

6. Aplicação a gestão de stocks

~

Equivalente algébrico, para cada período :

1

1,

1,...,

A B A B Ai Bi

Y

Y

Y

Y

j

y

y

j

J

+

=

(35)

6. Aplicação a gestão de stocks

3. Descontos de quantidade

- Para quantidades acima de 50, há desconto de 5% no preço de A. O preço base é 100 EUR/un.

(36)

3. Descontos de quantidade

- Para quantidades acima de 50, há desconto de 5% no preço de A. O preço base é 100 EUR/un.

Necessário incluir custo de compra na função objectivo:

6. Aplicação a gestão de stocks

1

CustoTotal

: custo de compra da quantidade no mês

i i N i E i P i Q ,y i i i min ( y C Exm C CC ) CC Q i = =

+ + Custo de compra CC:

- CC=0, se não houver encomenda - CC=100Q, se Q<=50

(37)

6. Aplicação a gestão de stocks

Formulação com duas quantidades Q1 e Q2 (omitindo o índice i):

1 2 1 2 100 95 CC Q Q Q Q Q = + = + 1 2 1 2 0 0 50 0 1 0 50 z Q Q z Q Q = ⇒ = = ⇒ = ∧ >

Introdução da variável binária z:

1

0

Q

50(1

z

)

Equivalente algébrico:

(38)

 A modelação e optimização com inteiros tem um vasto

leque de aplicações, onde quer que estejam envolvidos

cenários alternativos, variáveis discretas e/ou imposição de

condições lógicas.

 Duas aplicações relevantes são o problema de síntese de

processos químicos (definindo-se uma super-estrutura que

codifica múltiplas alternativas processuais) e gestão de

stocks (podendo formular-se decisões de compra ou não de

materiais, coordenação de encomendas e descontos de

quantidade).

 É possível modelar praticamente qualquer condição

lógica, podendo assim incorporar-se na formulação do

problema todo o tipo de interacções e cenários, ou mesmo

regras heurísticas.

Referências

Documentos relacionados

Se você vai para o mundo da fantasia e não está consciente de que está lá, você está se alienando da realidade (fugindo da realidade), você não está no aqui e

Entretanto, algumas melhorias em rela¸c˜ao `as estrat´egias de compensa¸c˜ao de movimento do H.261 (como o uso de meio pixel de resolu¸c˜ao para a compensa¸c˜ao de movimento,

De seguida, vamos adaptar a nossa demonstrac¸ ˜ao da f ´ormula de M ¨untz, partindo de outras transformadas aritm ´eticas diferentes da transformada de M ¨obius, para dedu-

Com o objetivo de compreender como se efetivou a participação das educadoras - Maria Zuíla e Silva Moraes; Minerva Diaz de Sá Barreto - na criação dos diversos

Um exemplo de algoritmo gené- tico em poliotimização em química analítica é a otimização de distâncias entre picos cromatográficos, como função das con- dições

Como objetivos específicos pretendeu-se iden- tificar os taxa existentes nesta gruta, determinar a riqueza de es- pécies de sua comunidade; verificar a influência de fatores

2. Identifica as personagens do texto.. Indica o tempo da história. Indica o espaço da história. Classifica as palavras quanto ao número de sílabas. Copia do texto três

Em janeiro, o hemisfério sul recebe a radiação solar com menor inclinação e tem dias maiores que as noites, encontrando-se, assim, mais aquecido do que o hemisfério norte.. Em julho,