Optimização Linearnuno/eps/Conteudos/aula05/EPS_Optimizacao... · Edgar TF, Himmelblau DM....

42
1 Engenharia de Processos e Sistemas Optimização Linear Formulação de problemas. Modelos de redes. Fernando Bernardo Fev 2014 min .. . 0 T x cx sa Ax b x Caracterização básica do problema. Optimalidade. Métodos de resolução. Formulação de problemas e interpretação da solução. Estrutura do problema. Valores marginais. Exemplo de planeamento da produção. Modelos de redes. Algumas formulações clássicas.

Transcript of Optimização Linearnuno/eps/Conteudos/aula05/EPS_Optimizacao... · Edgar TF, Himmelblau DM....

Page 1: Optimização Linearnuno/eps/Conteudos/aula05/EPS_Optimizacao... · Edgar TF, Himmelblau DM. Optimization of Chemical Processes , 2nd ed, ... algoritmos de resolução. 12 O problema

1

Engenharia de Processos e Sistemas

Optimização LinearFormulação de problemas. Modelos de redes.

Fernando Bernardo

Fev 2014

min

. . .

0

T

xc x

s a A x b

x

≤≥

� Caracterização básica do problema. Optimalidade. Métodos de resolução.

� Formulação de problemas e interpretação da solução. Estrutura do problema. Valores marginais. Exemplo de planeamento da produção.

� Modelos de redes. Algumas formulações clássicas.

Page 2: Optimização Linearnuno/eps/Conteudos/aula05/EPS_Optimizacao... · Edgar TF, Himmelblau DM. Optimization of Chemical Processes , 2nd ed, ... algoritmos de resolução. 12 O problema

2

Primeiro exemplo: mistura óptima de matérias-primas

Uma empresa compra 5 óleos:- vegetais: VEG1, VEG2;- não vegetais: OIL1, OIL2 e OIL3;

refina-os e vende misturas deles. Custo dos óleos: 110, 120, 10, 110, 115 (EUR/ton)Preço de venda da mistura: 150 EUR/tonLimites 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.0Desprezar perda de massa na refinação e custo de refinação.

Qual a política de compra e fabrico que a empresa deve adoptar, de modo a maximizar o lucro?

Page 3: Optimização Linearnuno/eps/Conteudos/aula05/EPS_Optimizacao... · Edgar TF, Himmelblau DM. Optimization of Chemical Processes , 2nd ed, ... algoritmos de resolução. 12 O problema

3

Uma empresa compra 5 óleos:- vegetais: VEG1, VEG2;- não vegetais: OIL1, OIL2 e OIL3;

refina-os e vende misturas deles. Custo dos óleos: 110, 120, 130, 110, 115 (EUR/ton)Preço de venda da mistura: 150 EUR/tonLimites 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.0Desprezar perda de massa na refinação e custo de refinação.

Qual a política de compra e fabrico que a empresa deve adoptar, de modo a maximizar o lucro?

Decisões: quanto comprar e processar de cada um dos óleosvariáveis x1 a x5, em ton/mês

Função objectivo: Lucro = Receitas – Custos (EUR/mês)Receitas = 150z, sendo z a quantidade de produto

z = x1+x2+x3+x4+x5Custos = 110x1+120x2+130x3+110x4+115x5

Restrições: x1+x2 ≤ 300 e x3+x4+x5 ≤ 2503 ≤ (8.8x1 + 6.1x2 +2.0x3 +4.2x4 +5.0x5)/z ≤ 6

Page 4: Optimização Linearnuno/eps/Conteudos/aula05/EPS_Optimizacao... · Edgar TF, Himmelblau DM. Optimization of Chemical Processes , 2nd ed, ... algoritmos de resolução. 12 O problema

4

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

13 (8.8 6.1 2.0 4.2 5.0 ) 6

ix zLucro z x x x x x

s t z=x x x x x

x x

x x x

x x x x xz

= − + + + +

+ + + ++ ≤+ + ≤

≤ + + + + ≤

1 2 3 4 5

1 2 3 4 5

3 8.8 6.1 2.0 4.2 5.0

8.8 6.1 2.0 4.2 5.0 6

z x x x x x

x x x x x z

≤ + + + + + + + + ≤

Problema LP (Linear Programming Problem)

Page 5: Optimização Linearnuno/eps/Conteudos/aula05/EPS_Optimizacao... · Edgar TF, Himmelblau DM. Optimization of Chemical Processes , 2nd ed, ... algoritmos de resolução. 12 O problema

5

Programa em GAMS

Programming in GAMS

- Define SETS- Provide input data (SCALAR, PARAMETER, TABLE)- Define variables and corresponding limits- Define equations- Write equations- Define objective function - SOLVE statement

Page 6: Optimização Linearnuno/eps/Conteudos/aula05/EPS_Optimizacao... · Edgar TF, Himmelblau DM. Optimization of Chemical Processes , 2nd ed, ... algoritmos de resolução. 12 O problema

6

$TITLE Oils mixture problem. Single period* Crude formulation

POSITIVE VARIABLES x1,x2,x3,x4,x5,z

EQUATIONSE1,E2,E3,E4,E5;E1 .. z =E= x1 + x2 + x3 + x4 + x5;E2 .. x1 + x2 =L= 200;E3 .. x3 + x4 + x5 =L= 250;E4 .. 3*z =L= 8.8*x1 + 6.1*x2 + 2.0*x3 + 4.2*x4 + 5 .0*x5;E5 .. 8.8*x1 + 6.1*x2 + 2.0*x3 + 4.2*x4 + 5.0*x5 =L = 6*z;

VARIABLE Profit;

EQUATION OBJ;

OBJ .. Profit =E= 150*z - (110*x1 + 120*x2 + 130*x3 + 110*x4 + 115*x5);

MODELOILMixtureSinglePeriod /ALL/

SOLVE OILMixtureSinglePeriod USING LP MAXIMIZING Profit;

PARAMETERAvHardness;

AvHardness=(8.8*x1.l+6.1*x2.l+2.0*x3.l+4.2*x4.l+5.0 *x5.l)/z.l;

Page 7: Optimização Linearnuno/eps/Conteudos/aula05/EPS_Optimizacao... · Edgar TF, Himmelblau DM. Optimization of Chemical Processes , 2nd ed, ... algoritmos de resolução. 12 O problema

LOWER LEVEL UPPER MARGINAL

---- VAR x1 . 159.259 +INF .

---- VAR x2 . 40.741 +INF .

---- VAR x3 . . +INF -11.852

---- VAR x4 . 250.000 +INF .

---- VAR x5 . . +INF -7.963

---- VAR z . 450.000 +INF .

---- VAR Profit -INF 17592.593 +INF .

7

Page 8: Optimização Linearnuno/eps/Conteudos/aula05/EPS_Optimizacao... · Edgar TF, Himmelblau DM. Optimization of Chemical Processes , 2nd ed, ... algoritmos de resolução. 12 O problema

$TITLE Oils mixture problem. Single period* Formulation using SETS

SET I /VEG1,VEG2,OIL1,OIL2,OIL3/ ;PARAMETERHardness(I) Hardness of each individual oil/VEG1 8.8

VEG2 6.1OIL1 2.0OIL2 4.2OIL3 5.0/ ;

PARAMETEROilCost(I) /VEG1 110, VEG2 120, OIL1 130, OIL2 110, OIL3 115/ ;POSITIVE VARIABLES x(I),z;EQUATIONSE1,E2,E3,E4,E5;E1 .. z =E= SUM(I,x(I));E2 .. x( 'VEG1' ) + x( 'VEG2' ) =L= 200;E3 .. x( 'OIL1' ) + x( 'OIL2' ) + x ( 'OIL3' ) =L= 250;E4 .. SUM(I,Hardness(I)*x(I)) =G= 3*z;E5 .. SUM(I,Hardness(I)*x(I)) =L= 6*z;VARIABLE Profit;EQUATION OBJ;OBJ .. Profit =E= 150*z - SUM(I,x(I)*OilCost(I));MODELOILMixtureSinglePeriod /ALL/

SOLVE OILMixtureSinglePeriod USING LP MAXIMIZING Profit;

PARAMETERAvHardness;AvHardness= SUM(I,x.l(I)*Hardness(I))/z.l;DISPLAY AvHardness;

8

Page 9: Optimização Linearnuno/eps/Conteudos/aula05/EPS_Optimizacao... · Edgar TF, Himmelblau DM. Optimization of Chemical Processes , 2nd ed, ... algoritmos de resolução. 12 O problema

---- VAR x

LOWER LEVEL UPPER MARGINAL

VEG1 . 159.259 +INF . VEG2 . 40.741 +INF . OIL1 . . +INF -11.852 OIL2 . 250.000 +INF . OIL3 . . +INF -7.963

LOWER LEVEL UPPER MARGINAL

---- VAR z . 450.000 +INF . ---- VAR Profit -INF 17592.593 +INF .

9

Page 10: Optimização Linearnuno/eps/Conteudos/aula05/EPS_Optimizacao... · Edgar TF, Himmelblau DM. Optimization of Chemical Processes , 2nd ed, ... algoritmos de resolução. 12 O problema

10

O problema LP

� Variáveis (graus de liberdade): x, dim(x) = n� Função objectivo: cTx, ou seja, do tipo c1.x1+ c2.x2 + …� Restrições (igualdade e/ou desigualdade):dim(b) = m� Solução viável: x que obedece às restrições� Solução óptima: solução viável que optimiza (maximiza ou minimiza) cTx

min ou max

. . . ( , , )

0

- vector 1

- matriz

- vector 1

T

x x

n

c x

s a A x b

x

x

c n

A m n

b m

≤ = ≥≥

∈×××

� Seja o problema acima com A.x § b e A’x = b’Nº de igualdades: eq = dim(b’)Nº de graus de liberdade efectivos = n - eq

Para haver espaço para optimização n deve ser superior a eq.

Page 11: Optimização Linearnuno/eps/Conteudos/aula05/EPS_Optimizacao... · Edgar TF, Himmelblau DM. Optimization of Chemical Processes , 2nd ed, ... algoritmos de resolução. 12 O problema

11

O problema LP

min ou max

. . . ( , , )

0

- vector 1

- matriz

- vector 1

T

x x

n

c x

s a A x b

x

x

c n

A m n

b m

≤ = ≥≥

∈×××

� Aplicações diversas: planeamento da produção, gestão de stocks, escalonamento da produção, projecto e optimização de redes, …

BibliografiaWilliams HP. Model Building in Mathematical Programming, 3rd ed, John Wiley & Sons, Chichester, 1993.

Winston WL. Operations Research: Applications and Algorithms, 4th ed, Thomson Learning, Belmont, CA, 2006.

Edgar TF, Himmelblau DM. Optimization of Chemical Processes, 2nd ed, McGraw-Hill, New York, 2001.

� Nestas aulas: mais formulação de problemas do que propriedades teóricas ou algoritmos de resolução

Page 12: Optimização Linearnuno/eps/Conteudos/aula05/EPS_Optimizacao... · Edgar TF, Himmelblau DM. Optimization of Chemical Processes , 2nd ed, ... algoritmos de resolução. 12 O problema

12

O problema em lR2

Substituindo x3=12-x1-x2 nas restantes expressões, o problema reduz-se de IR3

para IR2

1, 2, 3max 3 1 5 2 2 3

. . 1 2 3 12

4 1 3 2 3 32

1 5, 2 6, 3 4

1, 2 0

x x xz x x x

s a x x x

x x x

x x x

x x

= + +

+ + =+ + ≤

≤ ≤ ≥≥

4 1 3 2 12 1 2 32 3 1 2 2 20

32 10 1

2

x x x x x x

x x

+ + − − ≤ ⇔ + ≤

⇔ ≤ −

12 1 2 4 1 2 8 2 8 1x x x x x x− − ≥ ⇔ + ≤ ⇔ ≤ −

Região viável (sempre convexa): IR2: polígono convexoIR3: poliedro convexoIRn: n-polítopo convexo

Page 13: Optimização Linearnuno/eps/Conteudos/aula05/EPS_Optimizacao... · Edgar TF, Himmelblau DM. Optimization of Chemical Processes , 2nd ed, ... algoritmos de resolução. 12 O problema

13

O problema em lR2

1, 2, 3max 3 1 5 2 2 3

. . 1 2 3 12

4 1 3 2 3 32

1 5, 2 6, 3 4

1, 2 0

x x xz x x x

s a x x x

x x x

x x x

x x

= + +

+ + =+ + ≤

≤ ≤ ≥≥

3 1 5 2 2(12 1 2) 1 3 2 24

1 3 2 24 0

z x x x x x x

x x z

= + + − − = + +⇔ + + − =

Função objectivo:

Óptimo: z = 44

z = 40

Família de rectas paralelas àrecta a tracejado na figura

z = 36.5

� A solução óptima está sempre sobre a fronteira da região viável- Geralmente está num dos vértices- Pode acontecer haver óptimos múltiplos ao longo de uma aresta da região viável (com igual valor de z)

� A solução óptima é global (não existe nenhuma outra melhor)

Genérico para IRn

Page 14: Optimização Linearnuno/eps/Conteudos/aula05/EPS_Optimizacao... · Edgar TF, Himmelblau DM. Optimization of Chemical Processes , 2nd ed, ... algoritmos de resolução. 12 O problema

14

O problema em lR2

1, 2, 3max 3 1 5 2 2 3

. . 1 2 3 12

4 1 3 2 3 32

1 5, 2 6, 3 4

1, 2 0

x x xz x x x

s a x x x

x x x

x x x

x x

= + +

+ + =+ + ≤

≤ ≤ ≥≥

Óptimo: z = 44

Restrição não-activa (no óptimo)

Restrições activas (no óptimo)

� Restrições activas e não-activas.

Page 15: Optimização Linearnuno/eps/Conteudos/aula05/EPS_Optimizacao... · Edgar TF, Himmelblau DM. Optimization of Chemical Processes , 2nd ed, ... algoritmos de resolução. 12 O problema

15

O problema em lR2

Podemos ainda ter:� Problema inviável: região viável = «� Problema ilimitado: região viável é ilimitada no sentido do aumento (ou diminuição) da f.o.

max 1 2z x x= +

Page 16: Optimização Linearnuno/eps/Conteudos/aula05/EPS_Optimizacao... · Edgar TF, Himmelblau DM. Optimization of Chemical Processes , 2nd ed, ... algoritmos de resolução. 12 O problema

16

Algoritmos de resolução2 Classes:� Simplex (Dantzig, 1947): caminha ao longo dos limites da região viável procurando vértices com melhor valor da f.o.Nº iterações ~ 2n (pior cenário); em muitos casos práticos, crescimento polinominal ou mesmo linear

� Pontos interiores: atinge-se o óptimo na fronteira atravessando a zona interiorNº iterações ~ polinomial em n

Difícil afirmar qual a melhor classe. Teoricamente, “pontos interiores”melhor para problemas muito grandes

Page 17: Optimização Linearnuno/eps/Conteudos/aula05/EPS_Optimizacao... · Edgar TF, Himmelblau DM. Optimization of Chemical Processes , 2nd ed, ... algoritmos de resolução. 12 O problema

17

Formulação de problemas

� Formular problemas matematicamente é um misto de arte e ciência. � Há boas práticas a seguir, há que conhecer alguns modelos clássicos.� É preciso praticar, tentar, testar, passo a passo, do particular para o geral, do simples para o elaborado, do agregado para o detalhado.

Componentes essenciais (quase óbvio):• Graus de liberdade/decisões. Variáveis que temos disponíveis para ajustar/manipular no sentido de optimizar o n/ objectivo. - Geralmente, a variação de um grau de liberdade num certo sentido tem dois efeitos contrários, que pretendemos balancear (estabelecer compromisso, trade-off) • Função objectivo. Max lucro, min custos, max retorno do investimento, minrisco, max produtividade (desempenho específico: resultado obtido por unidade de recursos afectos)• Restrições. De mercado (e.g. procura prevista, disponibilidade de mat.-prima), processuais (e.g. balanços de massa), de segurança, de regulamentação.

• Dados/parâmetros. Limites processuais, estimativas de mercado, parâmetros físico-químicos

Page 18: Optimização Linearnuno/eps/Conteudos/aula05/EPS_Optimizacao... · Edgar TF, Himmelblau DM. Optimization of Chemical Processes , 2nd ed, ... algoritmos de resolução. 12 O problema

18

Formulação de problemas

Problema clássico de planeamento agregado da produção: afectação de recursos de mão-de-obra e subcontratação, de modo a satisfazer procura ao longo de vários períodos.

Mês 1 Mês 2 Mês 3

Procura prevista (u) 1350 1700 1820

Capacidade máxima (u)

Mdo regular 1210 1210 1210

Mdo extraordinária 242 242 242

Subcontratação 350 350 300

Inventário inicial (u) 200

Custos

Mdo regular 60 EUR/u

Mdo extraordinária 80 EUR/u

Subcontratação 90 EUR/u

Posse em stock 5 EUR/u/mês

u = unidades do produto X

Uma empresa fabrica o produto X e quer estabelecer o plano de produção para os próximos 3 meses. A tabela mostra a procura prevista em cada mês, a capacidade dos recursos disponíveis (mão-de-obra regular, mão-de-obra extraordinária e subcontratação), as existências iniciais (inventário) e custos associados. Não são permitidas entregas atrasadas (ou seja, em cada mês a procura tem necessariamente de ser satisfeita). Qual o plano de custo mínimo?

Page 19: Optimização Linearnuno/eps/Conteudos/aula05/EPS_Optimizacao... · Edgar TF, Himmelblau DM. Optimization of Chemical Processes , 2nd ed, ... algoritmos de resolução. 12 O problema

19

Mês 1 Mês 2 Mês 3

Procura prevista (u) 1350 1700 1820

Capacidade máxima (u)

Mdo regular 1210 1210 1210

Mdo extraordinária 242 242 242

Subcontratação 350 350 300

Inventário inicial (u) 200

Custos

Mdo regular 60 EUR/u

Mdo extraordinária 80 EUR/u

Subcontratação 90 EUR/u

Posse em stock 5 EUR/u/mês

u = unidades do produto X

Uma empresa fabrica o produto X e quer estabelecer o plano de produção para os próximos 3 meses. A tabela mostra a procura prevista em cada mês, a capacidade dos recursos disponíveis (mão-de-obra regular, mão-de-obra extraordinária e subcontratação), as existências iniciais (inventário) e custos associados. Não são permitidas entregas atrasadas (ou seja, em cada mês a procura tem necessariamente de ser satisfeita). Qual o plano de custo mínimo?

Perguntas a fazer

Quais os graus de liberdade (decisões a tomar)?Qual o objectivo?Qual o compromisso que está em jogo? (efeitos opostos resultantes da variação dos graus de liberdade) Temos todos os dados relevantes?Quais as restrições?O problema tem uma estrutura própria?

Page 20: Optimização Linearnuno/eps/Conteudos/aula05/EPS_Optimizacao... · Edgar TF, Himmelblau DM. Optimization of Chemical Processes , 2nd ed, ... algoritmos de resolução. 12 O problema

20

Mês 1 Mês 2 Mês 3

Procura prevista (u) 1350 1700 1820

Capacidade máxima (u)

Mdo regular 1210 1210 1210

Mdo extraordinária 242 242 242

Subcontratação 350 350 300

Inventário inicial (u) 200

Custos

Mdo regular 60 EUR/u

Mdo extraordinária 80 EUR/u

Subcontratação 90 EUR/u

Posse em stock 5 EUR/u/mês

u = unidades do produto X

Uma empresa fabrica o produto X e quer estabelecer o plano de produção para os próximos 3 meses. A tabela mostra a procura prevista em cada mês, a capacidade dos recursos disponíveis (mão-de-obra regular, mão-de-obra extraordinária e subcontratação), as existências iniciais (inventário) e custos associados. Não são permitidas entregas atrasadas (ou seja, em cada mês a procura tem necessariamente de ser satisfeita). Qual o plano de custo mínimo?

Quais os graus de liberdade (decisões a tomar)?

i – recursos: i=1 (mdo regular), i=2 (mdo ext.), i=3 (subcont)j – período (meses 1, 2 e 3)(problema multiperíodos)

xij – valor do recurso i no período j, i = 1,…,I, j = 1, …, J

Qual o objectivo?

Minimizar o custo total (custo dos recursos + custo de posse, ao longo do horizonte de 3 meses)

Page 21: Optimização Linearnuno/eps/Conteudos/aula05/EPS_Optimizacao... · Edgar TF, Himmelblau DM. Optimization of Chemical Processes , 2nd ed, ... algoritmos de resolução. 12 O problema

21

Mês 1 Mês 2 Mês 3

Procura prevista (u) 1350 1700 1820

Capacidade máxima (u)

Mdo regular 1210 1210 1210

Mdo extraordinária 242 242 242

Subcontratação 350 350 300

Inventário inicial (u) 200

Custos

Mdo regular 60 EUR/u

Mdo extraordinária 80 EUR/u

Subcontratação 90 EUR/u

Posse em stock 5 EUR/u/mês

u = unidades do produto X

xij – valor do recurso i no período ji = 1,…,I, j = 1, …, J

Qual o objectivo?

Minimizar o custo total (custo dos recursos + custo de posse, ao longo do horizonte de 3 meses)

Ci – custo unitário do recurso i (EUR/unid.)CP – custo de posse unitário (EUR/unid./mês)Exmj – Existências médias

Custo total = SjSixij*Ci + CP*SjExmj

Qual o compromisso em jogo? Compromisso entre:(i) Usar os recursos estritamente necessários em cada período, minimizando os custos de posse. Isto pode levar à necessidade de recorrer a recursos + caros nos períodos de maior procura.(ii) Acumular stock nos períodos de baixa procura, criando assim uma reserva para responder à maior procura futura.

Page 22: Optimização Linearnuno/eps/Conteudos/aula05/EPS_Optimizacao... · Edgar TF, Himmelblau DM. Optimization of Chemical Processes , 2nd ed, ... algoritmos de resolução. 12 O problema

22

Mês 1 Mês 2 Mês 3

Procura prevista (u) 1350 1700 1820

Capacidade máxima (u)

Mdo regular 1210 1210 1210

Mdo extraordinária 242 242 242

Subcontratação 350 350 300

Inventário inicial (u) 200

Custos

Mdo regular 60 EUR/u

Mdo extraordinária 80 EUR/u

Subcontratação 90 EUR/u

Posse em stock 5 EUR/u/mês

u = unidades do produto X

Restrições

Capacidade máxima dos recursos:xij § Capij

Existências:Ex1j – existências no final do mês jEx0j – existências no início do mês j

Balanço ao armazém:Ex1j = Ex0j + Sixij – Pj

Pj – procura no mês j

Transição de existências: Ex0j = Ex1j-1 , j=2,…,J

Existências iniciais: Ex01 = Ex00 (= 200 u)

Nível de stock final: Ex1J ¥ Ex00 (pelo menos igual ao inicial)

Existências médias: Exmj = ½*(Ex0j + Ex1j)

Page 23: Optimização Linearnuno/eps/Conteudos/aula05/EPS_Optimizacao... · Edgar TF, Himmelblau DM. Optimization of Chemical Processes , 2nd ed, ... algoritmos de resolução. 12 O problema

23

Mês 1 Mês 2 Mês 3

Procura prevista (u) 1350 1700 1820

Capacidade máxima (u)

Mdo regular 1210 1210 1210

Mdo extraordinária 242 242 242

Subcontratação 350 350 300

Inventário inicial (u) 200

Custos

Mdo regular 60 EUR/u

Mdo extraordinária 80 EUR/u

Subcontratação 90 EUR/u

Posse em stock 5 EUR/u/mês

u = unidades do produto X

Formulação final

Problema de planeamento agregado da produção: afectar recursos de mão-de-obra e subcontratação de modo a satisfazer procura em vários períodos.

1

1

CustoTotal

1 1

1 0 1

0 1 2

0 00

1 0 1 1

2 1 00

0 1

ij

i ij P jx j i j

ij ij

j j ij ji

j j

j j j

J

ij

min C x C Exm

s.a. x Cap ,i ,I , j ,J

Ex Ex x P , j ,J

Ex Ex , j ,J

Ex Ex

Exm ( Ex Ex ), j ,J

Ex Ex

x ,i ,I , j

= +

≤ = =

= + − =

= =

=

= + =

≥≥ = =

∑∑ ∑

1,J

Page 24: Optimização Linearnuno/eps/Conteudos/aula05/EPS_Optimizacao... · Edgar TF, Himmelblau DM. Optimization of Chemical Processes , 2nd ed, ... algoritmos de resolução. 12 O problema

24

� Formulação em GAMS

$TITLE Planeamento agregado da produção* Afectar recursos de mão-de-obra e subcontratação de modo a satisfazer procura* ao longo de vários períodos

SET I recurso /I1*I3/ ;SET J mês /J1*J3/ ;SET Jsem1(J) /J2*J3/ ;

SCALAR Ex00,CoefCustoPosse;Ex00=200;CoefCustoPosse=5;

TABLE Cap(I,J) Capacidade do recurso i no período jJ1 J2 J3

I1 1210 1210 1210I2 242 242 242I3 350 350 300 ;

PARAMETERCoefCusto(I) Coeficientes de custo/ I1 60

I2 80I3 90 / ;

PARAMETERProcura(J)/ J1 1350

J2 1700J3 1820 / ;

Page 25: Optimização Linearnuno/eps/Conteudos/aula05/EPS_Optimizacao... · Edgar TF, Himmelblau DM. Optimization of Chemical Processes , 2nd ed, ... algoritmos de resolução. 12 O problema

25

POSITIVE VARIABLES x(I,J),Ex0(J),Ex1(J),Exmedia(J);x.up(I,J)=Cap(I,J);Ex1.lo( 'J3' )=Ex00;

EQUATIONSE1,E2(J),E3(J),E4(J);

E1 .. Ex0( 'J1' ) =E= Ex00;E2(J)$Jsem1(J) .. Ex0(J) =E= Ex1(J-1);E3(J) .. Ex1(J) =E= Ex0(J) + SUM(I,x(I,J)) - Procura(J);E4(J) .. Exmedia(J) =E= 1/2*(Ex0(J) + Ex1(J));

VARIABLE CustoTotal;

EQUATION OBJ;

OBJ .. CustoTotal =E= SUM((I,J),x(I,J)*CoefCusto(I)) +

CoefCustoPosse* SUM(J,Exmedia(J));

MODELPLAN/ALL/

SOLVE PLAN USING LP MINIMIZING CustoTotal;

Page 26: Optimização Linearnuno/eps/Conteudos/aula05/EPS_Optimizacao... · Edgar TF, Himmelblau DM. Optimization of Chemical Processes , 2nd ed, ... algoritmos de resolução. 12 O problema

26

� Solução ---- VAR x

LOWER LEVEL UPPER MARGINA L

I1.J1 . 1210.0000 1210.0000 -25.0000

I1.J2 . 1210.0000 1210.0000 -30.0000

I1.J3 . 1210.0000 1210.0000 -35.0000

I2.J1 . 242.0000 242.0000 -5.0000

I2.J2 . 242.0000 242.0000 -10.0000

I2.J3 . 242.0000 242.0000 -15.0000

I3.J1 . . 350.0000 5.0000

I3.J2 . 214.0000 350.0000 .

I3.J3 . 300.0000 300.0000 -5.0000

Período1 2 3 Total

Procura 1350 1700 1820 4870Recursos | Custos

mdo reg. 1210 72.60 1210 72.60 1210 72.60 3630 217.80mdo ext. 242 19.36 242 19.36 242 19.36 726 58.08subcont. 0 0.00 214 19.26 300 27.00 514 46.26

Exist.Iniciais 200 302 268Finais 302 268 200Médias | Custo 251 1.00 285 1.51 234 1.34 3.85

Total recursos* 1350 1700 1820 4870Custo Total 92.96 112.73 120.30 325.99

Custos em kEUR* Incluindo stock utilizado. Tem de ser igual à procura.

Page 27: Optimização Linearnuno/eps/Conteudos/aula05/EPS_Optimizacao... · Edgar TF, Himmelblau DM. Optimization of Chemical Processes , 2nd ed, ... algoritmos de resolução. 12 O problema

27

Interpreting Lagrange multipliers (marginal values)

s.t.

1

i ix

n

min f ( x ), g ( x ) b

x ,i ,...,m

∈ =ℝ

� Let f*(b) be the optimal value of the objective f as a function of the right-hand side parameters b.� The optimization algorithm computes Lagrange multipliers associated with each restriction.� It can be shown that the Lagrange multiplier associated with a particular restriction gi(x) ≤≤≤≤ bi is equal to the rate of change of the optimal solution f* with respect to bi :

constant, j

ii b j i

f *

∀ ≠

∂= ∂

General formulation:

Page 28: Optimização Linearnuno/eps/Conteudos/aula05/EPS_Optimizacao... · Edgar TF, Himmelblau DM. Optimization of Chemical Processes , 2nd ed, ... algoritmos de resolução. 12 O problema

2828

Interpreting Lagrange multipliers (marginal values)

s.t.

1

i ix

n

min f ( x ), g ( x ) b

x ,i ,...,m

∈ =ℝ

constant, j

ii b j i

f *

∀ ≠

∂= ∂

- This means that if the restriction gi(x) ≤ c is relaxed to gi(x) ≤ c + δc, δc >0, then the optimal objective decreases from f* to f*+µi.δc (note that for the above formulation µi § 0).- If µi = 0, the restriction is non-active and therefore its relaxation does not change the objective.

Note that f*(bi) may be non-linear, even in the

case of an LP problem

Page 29: Optimização Linearnuno/eps/Conteudos/aula05/EPS_Optimizacao... · Edgar TF, Himmelblau DM. Optimization of Chemical Processes , 2nd ed, ... algoritmos de resolução. 12 O problema

2929

Interpreting Lagrange multipliers (marginal values)

s.t.

1

i ix

n

min f ( x ), g ( x ) b

x ,i ,...,m

∈ =ℝ

constant, j

ii b j i

f *

∀ ≠

∂= ∂

Economic interpretation

- In economical problems, the Lagrange multiplier is also called shadow price.- Let f be a cost function

- Let bi be the capacity of a process and the capacity constraint gi(x) ≤ b is active at the optimum. - Then µi is the decrease in the minimal cost if the capacity increases one unit.- In other words, µi represents the benefit (price) we get for increasing capacity.

- In a situation with several active capacity limits, the ones with the largest multipliers should be considered first for possible increases.

Page 30: Optimização Linearnuno/eps/Conteudos/aula05/EPS_Optimizacao... · Edgar TF, Himmelblau DM. Optimization of Chemical Processes , 2nd ed, ... algoritmos de resolução. 12 O problema

30

� No n/ exemplo, e para as restrições x(I,J) § Cap(I,J), os maiores valores marginais ocorrem para I1, ou seja, são relativos à mdo normal. � Uma vez que a capacidade em mdo ext. é + flexível, vejamos os valores marginais para este caso (I2). O maior deles ocorre para o período J3 e vale -15 unidades.Isto significa que um aumento de uma unidade no limite de mdo ext. no mês 3 tem um impacto de -15 EUR no custo total. � Suponhamos que é possível aumentar o limite de mdo ext. de 242 para 302.5 (aumento de 20 para 30%, relativo à mdo normal). Qual é a variação esperada no custo mínimo?

Inicialmente: x23 § 242 C/ aumento de capacidade: x23 § 302.5Tem-se então: ∆CustoMínimo º -15 * ∆α = –15*(302.5 – 242) = –907.5, ou seja, novo CustoMínimo = 325 990 – 907.5 = 325 082.5.(esta estimativa é comprovada se resolvermos novamente o problema com x23 § 302.5)

---- VAR x

LOWER LEVEL UPPER MARGINA L

I1.J1 . 1210.0000 1210.0000 -25.0000

I1.J2 . 1210.0000 1210.0000 -30.0000

I1.J3 . 1210.0000 1210.0000 -35.0000

I2.J1 . 242.0000 242.0000 -5.0000

I2.J2 . 242.0000 242.0000 -10.0000

I2.J3 . 242.0000 242.0000 -15.0000

I3.J1 . . 350.0000 5.0000

I3.J2 . 214.0000 350.0000 .

I3.J3 . 300.0000 300.0000 -5.0000

Page 31: Optimização Linearnuno/eps/Conteudos/aula05/EPS_Optimizacao... · Edgar TF, Himmelblau DM. Optimization of Chemical Processes , 2nd ed, ... algoritmos de resolução. 12 O problema

31

Modelos de redes� Problemas diversos representáveis por uma rede de nodos e arcos� Ferramenta base de modelação (problemas reais representados na totalidade ou em parte por redes)� Rede resulta numa estrutura específica do problema� Algoritmos de resolução específicos + eficientes do que método Simplex

Page 32: Optimização Linearnuno/eps/Conteudos/aula05/EPS_Optimizacao... · Edgar TF, Himmelblau DM. Optimization of Chemical Processes , 2nd ed, ... algoritmos de resolução. 12 O problema

32

Modelos de redesProblema de transportes

1 só elemento a ser transportadoTodos os arcos são possíveis

Origens iDestinos j

xij – qtd enviada de i para jCij – custo unitários associado ao caminho (arco) ijSi – capacidade máxima da origem iTj – Necessidade do destino j

Problema: quais as qtds a transportar que minimizam o custo total

1

1

0

ij

ij ijx i j

ij ij

ij ji

ij ij

min C C x

s.a. x S ,i ,I

x T , j ,J

x , x

=

≤ =

≥ =

≥ ∈

∑∑

Page 33: Optimização Linearnuno/eps/Conteudos/aula05/EPS_Optimizacao... · Edgar TF, Himmelblau DM. Optimization of Chemical Processes , 2nd ed, ... algoritmos de resolução. 12 O problema

33

� Se o arco ij é inviável, basta penalizá-lo com um custo Cij muito elevado.� Artifícios deste género são usados para manter a estrutura original do problema no seu formato mais geral� Há algoritmos específicos para problemas com estrutura padrão como esta, mais eficientes do que o método de Simplex genérico� Importante propriedade do problema de transportes: propriedade da integralidade

Origens i

Destinos j

1

1

0

ij

ij ijx i j

ij ij

ij ji

ij ij

min C C x

s.a. x S ,i ,I

x T , j ,J

x , x

=

≤ =

≥ =

≥ ∈

∑∑

0 0 e A solução ij i j ijC , S T x+ +∈ ⇒ ∈ℕ ℕ

� Propriedades do problema mantêm-se se algumas das desigualdades forem igualdades e adicionando restrições do tipo 0 ij ij ijl x u≤ ≤ ≤

Page 34: Optimização Linearnuno/eps/Conteudos/aula05/EPS_Optimizacao... · Edgar TF, Himmelblau DM. Optimization of Chemical Processes , 2nd ed, ... algoritmos de resolução. 12 O problema

34

Modelos de redesProblema de atribuição

n pessoas i para atribuir a n tarefas jtij – tempo que a pessoa i demora a executar a tarefa j

1 1 (cada pessoa i executa uma e uma só tarefa j)

1 1 (cada tarefa j é atribuída a apenas uma pessoa i)

{0,1}

ij

ij ijx i j

ijj

iji

ij

min T t x

s.a. x , j ,n

x ,i ,n

x

=

= =

= =

∑∑

1 se pessoa i atribuída a tarefa j

0, caso contrárioijx

=

0 0 1 0

1 0 0 0

0 1 0 0

0 0 0 1

x

=

pessoas

tarefas

� Este problema é um caso particular do problema de transportes. Então é válida a propriedade da integralidade. Podemos então evitar optimização discreta.� O problema resolvido como um problema linear convencional (variáveis contínuas), resulta numa solução , desde que .{0,1}ijx ∈ ijt ∈ℕ

Page 35: Optimização Linearnuno/eps/Conteudos/aula05/EPS_Optimizacao... · Edgar TF, Himmelblau DM. Optimization of Chemical Processes , 2nd ed, ... algoritmos de resolução. 12 O problema

35

Fluxo de custo mínimo através de um rede genérica

Rede geral com origens, destinos e nodos intermédios (pode representar uma rede de distribuição de um produto com fábricas, armazéns intermédios e clientes finais)

disponibilidades das origens (tb. pode ser ¥)

necessidades dos destinos (tb. pode ser ¥)

balanços aos nodos intermédios

� Mantém-se propriedade da integralidade, qq q seja a rede!

Custo de transporte

Disponibilidade da origem

Page 36: Optimização Linearnuno/eps/Conteudos/aula05/EPS_Optimizacao... · Edgar TF, Himmelblau DM. Optimization of Chemical Processes , 2nd ed, ... algoritmos de resolução. 12 O problema

36

Caminho mais curto

Determinar o caminho mais curto entre dois nodos extremos de uma rede (nodos 0 e 8 neste caso).

Formular o problema como um problema de fluxo de custo mínimo. Como?Fazer uso da propriedade da integralidade.

+ 1

- 1

01 03

01 13 12

03 13 23 34 36

78 68

1 0 (nodo 0)

0 (nodo 1)

0 (nodo 3)

(...)

1 0

ij

ij ijx i j

min L l x

s.a. - x x

x x x

x x x x x

x x

=

− =− − =+ + − − =

+ − =

∑∑Solução: “injectar” uma qtd unitária no nodo de origem e determinar o “custo”mínimo de fluxo desta unidade através da rede até chegar ao destino.Propriedade da integralidade garante que a solução é xij = 0 ou xij = 1.

Modelos de redes

Page 37: Optimização Linearnuno/eps/Conteudos/aula05/EPS_Optimizacao... · Edgar TF, Himmelblau DM. Optimization of Chemical Processes , 2nd ed, ... algoritmos de resolução. 12 O problema

37

Tarefa Precedências Duração (meses)

A. Abrir fundações - 4 B. Encher fundações A 2 C. Comprar tijolos - 7 D. Comprar telhas - 12 E. Levantar paredes B, C 10 F. Colocar telhado E, D 5 G. Electricidade e Canalizações E 3 H. Acabamentos F, G 4

Caminho crítico

(CPM, critical path method, muito usado em gestão de projectos)Sequência de tarefas num projecto que determina o tempo total de duração (hátarefas que podem sofrer atrasos mas há outras, as críticas, cujo atraso implica necessariamente um atraso no tempo total do projecto)

O caminho crítico éo caminho + longo através da rede

1

2A,4

3 4

B,2

C,7

D,12

F,5 H,4E,1075

6

G,3

Page 38: Optimização Linearnuno/eps/Conteudos/aula05/EPS_Optimizacao... · Edgar TF, Himmelblau DM. Optimization of Chemical Processes , 2nd ed, ... algoritmos de resolução. 12 O problema

38

Minimização do tempo total

1

2A,4

3 4

B,2

C,7

D,12

F,5 H,4E,1075

6

G,3

,min 7 1

. . 2 1 4

3 2 2

3 1 7

4 3 10

4 1 12

5 4 5

6 4 3

5 4 5

5 6

7 5 4

iz xz x x

s a x x

x x

x x

x x

x x

x x

x x

x x

x x

x x

= −

≥ +≥ +≥ +≥ +≥ +≥ +≥ +≥ +≥≥ +

xi – instante em que se iniciam as tarefas que “saem” do nodo i

Caminho crítico identifica-se a partir dos valores marginais: restrições com valor marginal não nulo e igual a 1 correspondem às tarefas críticas.

Page 39: Optimização Linearnuno/eps/Conteudos/aula05/EPS_Optimizacao... · Edgar TF, Himmelblau DM. Optimization of Chemical Processes , 2nd ed, ... algoritmos de resolução. 12 O problema

39

Minimização do tempo total

1

2A,4

3 4

B,2

C,7

D,12

F,5 H,4E,1075

6

G,3

,min 7 1

. . 2 1 4

3 2 2

3 1 7

4 3 10

4 1 12

5 4 5

6 4 3

5 4 5

5 6

7 5 4

iz xz x x

s a x x

x x

x x

x x

x x

x x

x x

x x

x x

x x

= −

≥ +≥ +≥ +≥ +≥ +≥ +≥ +≥ +≥≥ +

Restrições activas (e com multiplicador de Lagrange= 1) são as correspondentes às tarefas: C, E, F e H.

Então o caminho crítico é CEFH

x1 0x2 5x3 7x4 17x5 22x6 22x7 26z 26

Solução:

Page 40: Optimização Linearnuno/eps/Conteudos/aula05/EPS_Optimizacao... · Edgar TF, Himmelblau DM. Optimization of Chemical Processes , 2nd ed, ... algoritmos de resolução. 12 O problema

40

A partir da solução, x1 a x7, podemos desenhar diagrama de Gantt e nele identificar o caminho crítico

Page 41: Optimização Linearnuno/eps/Conteudos/aula05/EPS_Optimizacao... · Edgar TF, Himmelblau DM. Optimization of Chemical Processes , 2nd ed, ... algoritmos de resolução. 12 O problema

41

Exercício

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.

Page 42: Optimização Linearnuno/eps/Conteudos/aula05/EPS_Optimizacao... · Edgar TF, Himmelblau DM. Optimization of Chemical Processes , 2nd ed, ... algoritmos de resolução. 12 O problema

42

� Optimização linear (programação linear, problemas LP) é ferramenta versátil e com múltiplas aplicações

� Construir formulações de optimização é misto de arte e ciência. Necessário conhecer alguns modelos clássicos e praticar

� Facilmente se resolvem problemas lineares no sistema GAMS e se interpreta a solução obtida (garantidamente o óptimo global)

� Modelos de redes (nodos e arcos) são um bloco fundamental para descrever diversos problemas reais

Conclusões