You are on page 1of 22

Engenharia de Processos e Sistemas

Optimização com variáveis
discretas

Fernando Bernardo
Fev 2014
 Por que necessitamos de variáveis discretas?
min f ( x, y,θ )  Métodos de resolução. Branch & Bound.
x, y
Optimalidade.
s.t. h( x, y,θ ) = 0
 Aplicações clássicas.
g ( x, y , θ ) ≤ 0
xL ≤ x ≤ xU
x real, y ∈{0,1}
1

Por que precisamos de variáveis discretas? 
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 A1
Processo 1 Bc
A A2 B
Processo 2 Processo 4 C

A3
Processo 3

2

Linha multiprodutos. CH=CH.Gestão de stocks. ABDC.Formulação de misturas (formular a melhor mistura a partir de um conjunto de N ingredientes de partida) .Selecção de grupos funcionais numa molécula Desenhar um solvente para extrair bioetanol Grupos funcionais de partida: CH3. ACBD. CH2.Escalonamento. Qual a sequência de produção óptima? ABCD. O que produzir e quando. CH2=CH.Planeamento da produção. Comprar produtos intermédios ou produzi-los a partir de percursores? Expandir capacidade? s/n ?) . Por que precisamos de variáveis discretas?  Projecto de produto: . CH. Que matérias-primas encomendar e quando? . … álcoois: OH ésteres: COO Escolher o melhor solvente usando como blocos base os grupos funcionais acima (existem milhões de soluções possíveis)  Gestão/planeamento .… ? 3 .

(…) Como modelar estas condições envolvendo decisões discretas? Próxima aula… 4 . então o custo é C2 . então o custo é C1. se tecnologia 2. então consigo um desconto de quantidade.Se o ingrediente 3 está presente na mistura. Por que precisamos de variáveis discretas?  Em muitos destes casos.Se tecnologia 1 é escolhida. surgem questões lógicas do tipo: . então a sua quantidade mínima viável é 5% .Se encomendar a matérias-prima A em quantidade superior a X.

1} onde 2r é a maior potência de 2. N ∈ ℕ +0 n = y0 + 2 y1 + 4 y2 + .1} 8 é a maior potência de 2. + 2r yr . yi ∈ {0.2..1.3. a restrição 0 ≤ n ≤ 10.1} Caso geral da representação binária de inteiros: 0 ≤ n ≤ N .. tal que 2r ≤ N 5 . n ∈ ℕ +0 n = y0 + 2 y1 + 4 y2 + 8 y3 . n. …) apenas com variáveis binárias (0 e 1) Por exemplo 0 ≤ n ≤ 10. só precisamos de variáveis binárias  Podemos representar qualquer inteiro (0. n ∈ ℕ +0 pode ser substituída por: 0 ≤ y0 + 2 y1 + 4 y2 + 8 y3 ≤ 10. yi ∈ {0. De facto. yi ∈ {0. ainda inferior ou igual a N Portanto.

3. Como representar estas restrições com variáveis binárias? N R ∈ {2.7} .1} (5 variáveis binárias) 6 . Podemos usar entre 2 e 7 reactores em paralelo e uma ou duas centrífugas. só precisamos de variáveis binárias  Exemplo. 2} 0 ≤ NR − 2 ≤ 5 N R − 2 = y0 + 2 y1 + 4 y2 0 ≤ y0 + 2 y1 + 4 y2 ≤ 5 N C − 1 = y4 y0 a y4 ∈ {0. 4. De facto. Na optimização de um processo descontínuo. NC ∈ {1. queremos equacionar a utilização de vários equipamentos iguais em paralelo.6.5.

O problema Formulação geral (optimização linear/não-linear. Optimalidade global garantida. Resolução por branch and bound. Problema MINLP (mixed-integer non-linear programming). vectores vector de parâmetros q xL ≤ x ≤ xU x real. y . Problema NLP (non-linear programming). eventualmente com variáveis discretas min f ( x. y.  Com variáveis binárias y: Problema IP (integer programming): apenas variáveis binárias y Problema MILP (mixed-integer linear programming). optimalidade global garantida.θ ) ≤ 0 funções h e g.θ ) função obj. escalar x. se f. se f. h( x.θ ) = 0 decisões x e y.1}  Sem variáveis binárias y: Problema LP (linear programming). y s. h e g lineares em x e y. g e h lineares em x. Mais difícil garantir 7 optimalidade global . y ∈{0.t. y. Optimalidade global se f convexa. h linear e g(x) § 0 é região convexa. vectores g ( x. f.

.. O problema da mochila Problema da mochila: conceptualmente simples para percebermos alguns pontos chave da optimização discreta: problema combinatorial. N 1.t. caso contrário N max ∑ wi yi yi i =1 N s.. se item i escolhido yi =  0. Maximizar o valor total sujeito a capacidade máxima cmax. item i. grande nº de combinações possíveis. i = 1. ∑ ci yi ≤ cmax 8 i =1 . N itens com capacidade ci e peso/valor wi..

. I10 2. PARAMETER w(i) valor /I1 2. I9 0.5 E1 .2 OBJ .5 I7 4./. SUM(I. I9 5. I2 0. I4 3.2 I8 2.2/.5 I6 2. I8 3..6 SOLVE MOCHILA USING MIP MAXIMIZING ValorTotal.5 I6 2.5 MODEL MOCHILA/ALL/ I7 5. O problema da mochila $TITLE PROBLEMA DA MOCHILA SCALAR Cmax /15.OBJ.y(I)*c(I)) =L= cmax. I2 1. Número de combinações possíveis = 2N I5 1. ValorTotal =E= SUM(I.9 I10 3./.5 EQUATIONS E1.7 I4 10.y(I)*w(I)). PARAMETER c(I) Capacidade /I1 1.8 I3 2.5 I3 0. I5 1. SET I numero de itens /I1*I10/ BINARY VARIABLES y(I) Item i escolhido ou nao VARIABLE Valortotal. 9 .

7 I6 2.6.5 I6 2. I2 1.0 I7 4. I10 2.6 I9 0.8.2 I5 1.5 I3 0.2/.5 I7 5.5 I2 0.7 Solução: 1101010111 I4 10. I8 3. PARAMETER w(i) valor /I1 2. itens escolhidos: 1./.8 I3 2.5 Valor total = 26. 10 . I9 5.5 Capacidade = 14.2 I8 2. 9 e 10 I5 1. O problema da mochila $TITLE PROBLEMA DA MOCHILA SET I numero de itens /I1*I10/ PARAMETER c(I) Capacidade /I1 1.2.4.9 I10 3.5 I4 3.

.Conceito de derivada desaparece. .  IP: x ∈ ℕ +0 Região viável é conjunto finito de pontos. Métodos de solução Forma da região viável  LP: x∈ℝ Região viável é um contínuo.Métodos tradicionais de optimização não são aplicáveis. 11 .

Pode conduzir a soluções inviáveis. x ∈ ℝ Frequentemente insatisfatório. 4} para 0 ≤ x ≤ 4. 2.3. arredondado a ponto a vermelho. que é inviável Se a solução do problema relaxado for inteira então fica automaticamente encontrada a solução do problema discreto! (mas isto é um tiro de sorte) 12 . Métodos de solução Relaxação real e aproximação por arredondamento Relaxar x ∈ {0. Óptimo LP.1.

com N variáveis binárias. temos de resolver 8 problemas contínuos e depois escolher a melhor solução. Facilmente se têm problemas com 10 a 30 variáveis binárias e 230 ~ 109.Enumeração explícita Métodos de solução Enumerar todas as possibilidades para as variáveis discretas e resolver os problemas contínuos daí resultantes. árvore completa) P0 y1=0 y1=1 n1=0 n1=1 n1=2 n1=3 n1=0 n1=1 n1=2 n1=3 Neste caso. No caso geral.1}.a. 13 . min x1 + y1 + n1 s.. A enumeração explícita torna-se assim impraticável. temos 2N problemas. n1 ∈ ℝ +0 ..) x1 ∈ ℝ +0 . y1 ∈{0. 2x1 + 3 y1 + 4n1 ≤ 5 (. n1 ≤ 3 Árvore de decisão (neste caso.

1} → mínimo B Se ambos os mínimos são globais ⇒ A ≤ B Limite superior: a melhor solução inteira encontrada até ao momento 14 .Se se detectar que alguns ramos da árvore não conduzem (garantidamente) à solução. O problema relaxado (menos restringido) conduz necessariamente a um valor do mínimo inferior ao mínimo do problema discreto.Construir gradualmente a árvore de decisão (branching) .Ir calculando limites (upper bound. lower bound) para a solução integral e manter esses limites actualizados . Como calcular limites para a solução? Caso de minimização Limite inferior: solução da relaxação real do problema.Enumeração implícita Métodos de solução Método também conhecido por branch and bound . 0 ≤ y1 ≤ 1. y1 ∈ ℝ +0 → mínimo A y1 ∈{0. então esses ramos são cortados (pruning) antes de serem completamente explorados.

15 .

Obtemos solução inteira melhor do que a do nodo 4. • Nodo 3. • Nodo 1. Obtemos novo limite inferior para descendentes. • Nodo 4. Obtemos solução acima do limite superior → podemos cortar ramos abaixo • Nodo 6. Resolver relaxação real do problema original → obtemos limite inferior global • Ramificar: y2=0 e y2=1. Não vale a pena ramificar mais. 16 . É esta a solução do problema. escolhemos ir por y1=1. Resolver relaxação real mas com y2=1 → obtemos limite para nodos descendentes (mais abaixo na árvore) • Nova ramificação: y1=0 e y1=1. Aqui obtemos solução inteira → limite superior • Nodo 5. escolher ramo a explorar • Nodo 2.

i=1. Aplicações./kg) Ci – custo (EUR/kg) Aveia. a) Sem limitação no número de ingredientes b) Limitando o número de ingredientes a N i – ingrediente. etc… almoço 17 . trigo. Formulação de uma mistura Problema de formulação de uma mistura: minimizar o custo de uma formulação alimentar. sujeito a um desempenho mínimo. Nível nutritivo amêndoas.…M xi – fracção mássica do componente i Vi – valor nutritivo (unid. milho Cereais de pequeno.

Aplicações...t.. Formulação de um mistura Sem limitação no número de ingredientes M Custo = ∑ xi Ci i =1 M Valor = ∑ xiVi i =1 min ∑ xi Ci xi i s. M 18 . ∑ xiVi ≥ Vmin i Problema LP ∑ xi = 1 i 0 ≤ xi ≤ 1 i = 1..

t. se o componente i está presente na formulação yi = 0.. ∑ xi yiVi ≥ Vmin i Problema MINLP ∑ xi = 1 i Será esta uma formulação razoável? 0 ≤ xi ≤ 1 ∑ yi ≤ N i i = 1. M 19 .. caso contrário min ∑ xi yi Ci xi i s.. Aplicações. Formulação de um mistura E agora limitando o número de ingredientes a N Variáveis binárias yi: yi = 1..

y Isso é possível se conseguirmos modelar a condição lógica: yi = 0 ⇒ xi = 0 Restrição do tipo “big-M”: xi ≤ Myi (1) . sendo M um limite superior para xi. não atingível (neste caso M=1) Tem-se também a restrição: xi ≥ 0 (2)  Se yi=0. 20 . neste caso do tipo x. Formulação de um mistura Devemos evitar termos não-lineares. o que funciona como restrição neutra. Aplicações. tem-se xi § M. (1) é xi § 0.  Se yi=1. em conjunto com (2). tal como desejado. resulta em xi=0. o que.

Aplicações. ∑ xi yiVi ≥ Vmin s.t. Formulação de um mistura A formulação adequada é então: min ∑ xi yi Ci min ∑ xi Ci xi i xi i s.t. ∑ xiVi ≥ Vmin i i ∑ xi = 1 ∑ xi = 1 i i 0 ≤ xi ≤ 1 xi ≤ Myi . neste caso M = 1 ∑ yi ≤ N 0 ≤ xi ≤ 1 i ∑ yi ≤ N MINLP i MILP Óptimo global 21 .

yij – existe ou não percurso i→j cij – custo associado (distância. Qual a sequência que minimiza a distância percorrida. Aplicações. pelo que o viajante só parte de 1 uma vez e só chega a 1 uma vez. combustível gasto) n n min ∑∑ cij yij Qual a estrutura da y i =1 j =1 matriz cij? n s. Problema do caixeiro viajante. Para cada j: ∑ yij = 1 (o viajante só chega a j uma vez) i =1 n Para cada i: ∑ yij = 1 (o viajante só parte de i uma vez) i =1 (o nodo inicial 1 está incluído na formulação. Problema do caixeiro viajante: Conjunto de n cidades a visitar. garantidamente o viajante regressa à cidade inicial) 22 . Então. terminando-se na cidade onde se começa.t.