You are on page 1of 81

Formulações - Cap 1 Wolsey

Alexandre Salles da Cunha


Geraldo Robson Mateus

Agosto 2008

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Problemas de Programação Inteira
Considere o Programa Linear (PL)
max{cx : Ax ≤ b, x ≥ 0}, (1)
onde A ∈ Rm×n , c ∈ Rn , b ∈ Rn .

Se algumas (não todas) variáveis de decisão devem assumir


valores inteiros, temos o Mixed Integer Program:
(MIP) max{cx + hy : Ax + Gy ≤ b, x ≥ 0, y inteiro}, (2)

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Problemas de Programação Inteira
Considere o Programa Linear (PL)
max{cx : Ax ≤ b, x ≥ 0}, (1)
onde A ∈ Rm×n , c ∈ Rn , b ∈ Rn .

Se algumas (não todas) variáveis de decisão devem assumir


valores inteiros, temos o Mixed Integer Program:
(MIP) max{cx + hy : Ax + Gy ≤ b, x ≥ 0, y inteiro}, (2)
Se todas as variáveis de decisão devem assumir valores
inteiros, temos o Integer Program:
(IP) max{cx : Ax ≤ b, x ≥ 0, x inteiro}, (3)

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Problemas de Programação Inteira
Considere o Programa Linear (PL)
max{cx : Ax ≤ b, x ≥ 0}, (1)
onde A ∈ Rm×n , c ∈ Rn , b ∈ Rn .

Se algumas (não todas) variáveis de decisão devem assumir


valores inteiros, temos o Mixed Integer Program:
(MIP) max{cx + hy : Ax + Gy ≤ b, x ≥ 0, y inteiro}, (2)
Se todas as variáveis de decisão devem assumir valores
inteiros, temos o Integer Program:
(IP) max{cx : Ax ≤ b, x ≥ 0, x inteiro}, (3)
Se todas as variáveis de decisão devem assumir valores 0 ou 1,
temos o Binary Integer Program:
(BIP) max{cx : Ax ≤ b, x ∈ {0, 1}n }. (4)

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Problemas de Otimização Combinatória

Nos é dado um conjunto base N = {1, 2, ...., n}, pesos


{cj : j ∈ N} e uma famı́lia de subconjuntos F de
subconjuntos de N;

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Problemas de Otimização Combinatória

Nos é dado um conjunto base N = {1, 2, ...., n}, pesos


{cj : j ∈ N} e uma famı́lia de subconjuntos F de
subconjuntos de N;
O Problema de Otimzização Combinatória definido sobre o
conjunto de possı́veis subconjuntos viáveis de N, F, é dado
por: 
(COP) min{ cj : S ∈ F}. (5)
j∈S

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Problemas de Otimização Combinatória

Nos é dado um conjunto base N = {1, 2, ...., n}, pesos


{cj : j ∈ N} e uma famı́lia de subconjuntos F de
subconjuntos de N;
O Problema de Otimzização Combinatória definido sobre o
conjunto de possı́veis subconjuntos viáveis de N, F, é dado
por: 
(COP) min{ cj : S ∈ F}. (5)
j∈S

Em algumas situações, é melhor formularmos um COP como


um MIP ou como um IP. Em outras, é mais vantajoso tratar
implicitamente o conjunto de possı́veis soluções viáveis.

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Formulando IPs e MIPs

Assim como em Programação Linear, desejamos transcrever uma


descrição de um problema em termos de uma formulação, de uma
forma sistemática, procurando separar os dados da instância do
problema e as variáveis empregadas no modelo. Isto é feito:
Definindo aquelas que parecem ser as variáveis de decisão
necessárias;

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Formulando IPs e MIPs

Assim como em Programação Linear, desejamos transcrever uma


descrição de um problema em termos de uma formulação, de uma
forma sistemática, procurando separar os dados da instância do
problema e as variáveis empregadas no modelo. Isto é feito:
Definindo aquelas que parecem ser as variáveis de decisão
necessárias;
Empregando estas variáveis para definir um conjunto de
restrições, de forma que as soluções viáveis do modelo
correspondam ao conjunto de soluções viáveis do problema;

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Formulando IPs e MIPs

Assim como em Programação Linear, desejamos transcrever uma


descrição de um problema em termos de uma formulação, de uma
forma sistemática, procurando separar os dados da instância do
problema e as variáveis empregadas no modelo. Isto é feito:
Definindo aquelas que parecem ser as variáveis de decisão
necessárias;
Empregando estas variáveis para definir um conjunto de
restrições, de forma que as soluções viáveis do modelo
correspondam ao conjunto de soluções viáveis do problema;
Usando estas variáveis para definir a função objetivo do
problema.

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Alguns Problemas de Programação Inteira Clássicos

O Problema de Atribuição (The Assignment Problem)


O Problema da Mochila {0 − 1} (The {0 − 1} Knapsack
Problem)
O Problema de Cobertura de Conjuntso (The Set Covering
Problem)
O Problema do Caixeiro Viajante (The Traveling Salesman
Problem - TSP)

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


O Problema da Atribuição - Descrição

Existem n pessoas que devem executar um total de n tarefas. Cada


pessoa deve executar uma e apenas uma das n tarefas. Nenhuma
tarefa pode deixar de ser executada. Alguns indivı́duos são mais
aptos a desenvolver certas tarefas que outros. Assim sendo, há
uma estimativa do custo cij que é incorrido caso a pessoa i execute
a tarefa j.

Objetivo do problema: encontrar uma atribuição de tarefas a


pessoas que minimize o custo total da execução das n tarefas.

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Formulando o Problema da Atribuição
Definição de variáveis: xij ∈ {0, 1}, assumindo valor 1 caso
a tarefa j seja designada à pessoa j.

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Formulando o Problema da Atribuição
Definição de variáveis: xij ∈ {0, 1}, assumindo valor 1 caso
a tarefa j seja designada à pessoa j.
Definição das restrições:

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Formulando o Problema da Atribuição
Definição de variáveis: xij ∈ {0, 1}, assumindo valor 1 caso
a tarefa j seja designada à pessoa j.
Definição das restrições:
Cada pessoa realiza uma única tarefa:
n
xij = 1, ∀i = 1, . . . , n
j=1

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Formulando o Problema da Atribuição
Definição de variáveis: xij ∈ {0, 1}, assumindo valor 1 caso
a tarefa j seja designada à pessoa j.
Definição das restrições:
Cada pessoa realiza uma única tarefa:
n
xij = 1, ∀i = 1, . . . , n
j=1
Cada tarefa é realizada uma única vez:
n
xij = 1, ∀j = 1, . . . , n
i =1

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Formulando o Problema da Atribuição
Definição de variáveis: xij ∈ {0, 1}, assumindo valor 1 caso
a tarefa j seja designada à pessoa j.
Definição das restrições:
Cada pessoa realiza uma única tarefa:
n
xij = 1, ∀i = 1, . . . , n
j=1
Cada tarefa é realizada uma única vez:
n
xij = 1, ∀j = 1, . . . , n
i =1
As variáveis xij são binárias:
xij ∈ {0, 1}, ∀i = 1, . . . , n, ∀j = 1, . . . , n

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Formulando o Problema da Atribuição
Definição de variáveis: xij ∈ {0, 1}, assumindo valor 1 caso
a tarefa j seja designada à pessoa j.
Definição das restrições:
Cada pessoa realiza uma única tarefa:
n
xij = 1, ∀i = 1, . . . , n
j=1
Cada tarefa é realizada uma única vez:
n
xij = 1, ∀j = 1, . . . , n
i =1
As variáveis xij são binárias:
xij ∈ {0, 1}, ∀i = 1, . . . , n, ∀j = 1, . . . , n
Definição da Função Objetivo: O custo deve ser
n  n
minimizado: min cij xij .
i =1 j=1

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Problema da Atribuição - Formulação Matemática

 n n 

min cij xij : x ∈ P ∩ Bn×n (6)
i =1 i =1

onde a região poliédrica P é dada por:


n
xij = 1, ∀i = 1, . . . , n (7)
j=1


n
xij = 1, ∀j = 1, . . . , n (8)
i =1

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


O Problema da Mochila {0 − 1}

Uma empresa dispõe de b unidades monetárias que serão


empregadas para selecionar alguns de n projetos de investimento
disponı́veis. Para que o projeto j seja selecionado, é necessário
incorrer em um gasto de aj unidades monetárias. Neste caso, o
projeto oferece um retorno de cj unidades monetárias.

Objetivo do problema: encontrar um portfolio de projetos que


maximize o retorno e que consuma no máximo b unidades
monetárias.

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Formulando o Problema da Mochila {0 − 1}

Definição de variáveis: xj ∈ {0, 1}, assumindo valor 1 caso o


projeto j seja escolhido, 0 caso contrário.

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Formulando o Problema da Mochila {0 − 1}

Definição de variáveis: xj ∈ {0, 1}, assumindo valor 1 caso o


projeto j seja escolhido, 0 caso contrário.
Definição das restrições:

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Formulando o Problema da Mochila {0 − 1}

Definição de variáveis: xj ∈ {0, 1}, assumindo valor 1 caso o


projeto j seja escolhido, 0 caso contrário.
Definição das restrições:
O dispêndio total é limitado ao orçamento disponı́vel:
n
aj xj ≤ b,
j=1

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Formulando o Problema da Mochila {0 − 1}

Definição de variáveis: xj ∈ {0, 1}, assumindo valor 1 caso o


projeto j seja escolhido, 0 caso contrário.
Definição das restrições:
O dispêndio total é limitado ao orçamento disponı́vel:
n
aj xj ≤ b,
j=1

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Formulando o Problema da Mochila {0 − 1}

Definição de variáveis: xj ∈ {0, 1}, assumindo valor 1 caso o


projeto j seja escolhido, 0 caso contrário.
Definição das restrições:
O dispêndio total é limitado ao orçamento disponı́vel:
n
aj xj ≤ b,
j=1
As variáveis xj são binárias: xj ∈ {0, 1}, ∀j = 1, . . . , n

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Formulando o Problema da Mochila {0 − 1}

Definição de variáveis: xj ∈ {0, 1}, assumindo valor 1 caso o


projeto j seja escolhido, 0 caso contrário.
Definição das restrições:
O dispêndio total é limitado ao orçamento disponı́vel:
n
aj xj ≤ b,
j=1
As variáveis xj são binárias: xj ∈ {0, 1}, ∀j = 1, . . . , n
Definição da Função Objetivo: O retorno deve ser
n
maximizado: max cj xj .
j=1

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


O Problema da Mochila {0 − 1} - Formulação Matemática

 
n 
max cj xj : x ∈ P ∩ Bn (9)
 
j=1

onde P é dada por:



n
aj xj ≤ b. (10)
j=1

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


O Problema de Cobertura de Conjuntos

Neste problema deseja-se, dado um conjunto N = {1, . . . , n} de


potenciais centros de serviços de emergência e um conjunto
M = {1, . . . , m} de localidades a serem atendidas por estes
serviços, decidir onde instalar um subconjunto dos centros de
serviços.
Para cada centro de serviço j, Sj designa o subconjunto de
localidades de M que podem ser atendidas por j ∈ N. O custo de
instalar o centro de serviço j é cj .

Objetivo do problema: Encontrar um subconjunto de centros de


serviço, de mı́nimo custo de instalação, tal que toda localidade seja
atendida por pelo menos um centro de serviço instalado.

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Formulação de Otimização Combinatória

 


minT ⊆N cj : Sj = M. (11)
 
j∈T j∈T

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Formulando o problema como um Programa Inteiro

Definindo a matriz de indicência A: aij = 1, caso a localidade


i possa ser atendida pelo centro de serviço j (isto é, aij = 1 se
i ∈ Sj ), 0, caso contrário.

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Formulando o problema como um Programa Inteiro

Definindo a matriz de indicência A: aij = 1, caso a localidade


i possa ser atendida pelo centro de serviço j (isto é, aij = 1 se
i ∈ Sj ), 0, caso contrário.
Definição de variáveis: xj ∈ {0, 1}, assumindo valor 1 caso o
centro de serviço j seja instalado, 0 caso contrário.

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Formulando o problema como um Programa Inteiro

Definindo a matriz de indicência A: aij = 1, caso a localidade


i possa ser atendida pelo centro de serviço j (isto é, aij = 1 se
i ∈ Sj ), 0, caso contrário.
Definição de variáveis: xj ∈ {0, 1}, assumindo valor 1 caso o
centro de serviço j seja instalado, 0 caso contrário.
Definição das restrições:

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Formulando o problema como um Programa Inteiro

Definindo a matriz de indicência A: aij = 1, caso a localidade


i possa ser atendida pelo centro de serviço j (isto é, aij = 1 se
i ∈ Sj ), 0, caso contrário.
Definição de variáveis: xj ∈ {0, 1}, assumindo valor 1 caso o
centro de serviço j seja instalado, 0 caso contrário.
Definição das restrições:
Cada localidade i deve ser coberta por pelo menos um centro

n
de serviço: aij xj ≥ 1, ∀i ∈ M.
j=1

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Formulando o problema como um Programa Inteiro

Definindo a matriz de indicência A: aij = 1, caso a localidade


i possa ser atendida pelo centro de serviço j (isto é, aij = 1 se
i ∈ Sj ), 0, caso contrário.
Definição de variáveis: xj ∈ {0, 1}, assumindo valor 1 caso o
centro de serviço j seja instalado, 0 caso contrário.
Definição das restrições:
Cada localidade i deve ser coberta por pelo menos um centro

n
de serviço: aij xj ≥ 1, ∀i ∈ M.
j=1
As variáveis xj são binárias: xj ∈ {0, 1}, ∀j = 1, . . . , n

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Formulando o problema como um Programa Inteiro

Definindo a matriz de indicência A: aij = 1, caso a localidade


i possa ser atendida pelo centro de serviço j (isto é, aij = 1 se
i ∈ Sj ), 0, caso contrário.
Definição de variáveis: xj ∈ {0, 1}, assumindo valor 1 caso o
centro de serviço j seja instalado, 0 caso contrário.
Definição das restrições:
Cada localidade i deve ser coberta por pelo menos um centro

n
de serviço: aij xj ≥ 1, ∀i ∈ M.
j=1
As variáveis xj são binárias: xj ∈ {0, 1}, ∀j = 1, . . . , n
Definição da Função Objetivo: O custo de instalação dos
n
centros deve ser minimizado: min cj xj .
j=1

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


O Problema da Cobertura de Conjuntos - Formulação de
Prog. Inteira

 
n 
min cj xj : x ∈ P ∩ Bn (12)
 
j=1

onde P é dada por:


n
aij xj ≥ 1, ∀i ∈ M. (13)
j=1

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


O Problema do Caixeiro Viajante

Um robot deve soldar um conjunto N = {1, . . . , n} de pontos em


uma placa metálica automotiva que está sendo montada. O custo
de deslocamento do robot do ponto de solda i para o ponto de
solda j é cij .

Objetivo do problema: Definir uma rota ou uma sequência de


pontos a serem soldados, de mı́nimo custo.

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Formulando o TSP como um Programa Inteiro

Definição de variáveis: xij ∈ {0, 1}, assumindo valor 1 caso


o ponto j seja soldado logo após o ponto i , 0, caso contrário.

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Formulando o TSP como um Programa Inteiro

Definição de variáveis: xij ∈ {0, 1}, assumindo valor 1 caso


o ponto j seja soldado logo após o ponto i , 0, caso contrário.
Definição das restrições:

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Formulando o TSP como um Programa Inteiro

Definição de variáveis: xij ∈ {0, 1}, assumindo valor 1 caso


o ponto j seja soldado logo após o ponto i , 0, caso contrário.
Definição das restrições:
O
robot deixa cada ponto de solda exatamente uma vez:
xij = 1, ∀i ∈ N,
j:j=i

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Formulando o TSP como um Programa Inteiro

Definição de variáveis: xij ∈ {0, 1}, assumindo valor 1 caso


o ponto j seja soldado logo após o ponto i , 0, caso contrário.
Definição das restrições:
O
robot deixa cada ponto de solda exatamente uma vez:
xij = 1, ∀i ∈ N,
j:j=i
O
robot chega a cada ponto de solda exatamente uma vez:
xij = 1, ∀j ∈ N,
i :i =j

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Formulando o TSP como um Programa Inteiro

Definição de variáveis: xij ∈ {0, 1}, assumindo valor 1 caso


o ponto j seja soldado logo após o ponto i , 0, caso contrário.
Definição das restrições:
O
robot deixa cada ponto de solda exatamente uma vez:
xij = 1, ∀i ∈ N,
j:j=i
O
robot chega a cada ponto de solda exatamente uma vez:
xij = 1, ∀j ∈ N,
i :i =j

Garantia de conectividade: xij ≥ 1, ∀S ⊂ N, S = ∅,
i ∈S j∈S
restrições cut-set ou eliminação sub-rotas

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Formulando o TSP como um Programa Inteiro

Definição de variáveis: xij ∈ {0, 1}, assumindo valor 1 caso


o ponto j seja soldado logo após o ponto i , 0, caso contrário.
Definição das restrições:
O
robot deixa cada ponto de solda exatamente uma vez:
xij = 1, ∀i ∈ N,
j:j=i
O
robot chega a cada ponto de solda exatamente uma vez:
xij = 1, ∀j ∈ N,
i :i =j

Garantia de conectividade: xij ≥ 1, ∀S ⊂ N, S = ∅,
i ∈S j∈S
restrições cut-set ou eliminação sub-rotas
Variáveis de decisão: xij ∈ {0, 1}, ∀i, j ∈ N, i = j}.

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Formulando o TSP como um Programa Inteiro

Definição de variáveis: xij ∈ {0, 1}, assumindo valor 1 caso


o ponto j seja soldado logo após o ponto i , 0, caso contrário.
Definição das restrições:
O
robot deixa cada ponto de solda exatamente uma vez:
xij = 1, ∀i ∈ N,
j:j=i
O
robot chega a cada ponto de solda exatamente uma vez:
xij = 1, ∀j ∈ N,
i :i =j

Garantia de conectividade: xij ≥ 1, ∀S ⊂ N, S = ∅,
i ∈S j∈S
restrições cut-set ou eliminação sub-rotas
Variáveis de decisão: xij ∈ {0, 1}, ∀i, j ∈ N, i = j}.
Função Objetivo: O custo
total de deslocamento do robot
deve ser mı́nimo: min xij cij
j∈N i ∈N:i =j

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


TSP - Formulação Matemática

 
  
min xij cij : x ∈ P ∩ Bn(n−1) (14)
 
j∈N i ∈N:i =j

onde P é dada por:



xij = 1, ∀i ∈ N, (15)
j:j=i

xij = 1, ∀j ∈ N, (16)
i :i =j

xij ≥ 1, ∀S ⊂ N, S = ∅. (17)
i ∈S j∈S

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Algumas técnicas de modelagem

Dicotomia ou disjunção
Aproximação de funções não lineares por uma função linear
por partes
Custos Fixos
Variáveis discretas
Qualidade e comparação entre formulações.

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Dicotomia ou disjunções

max f (x) :
g (x) ≥ 0 ou h(x) ≥ 0 ou ambas (18)
A restrição disjuntiva (18) pode ser transformada em:

g (x) ≥ δg (19)

h(x) ≥ (1 − δ)h (20)


δ ∈ {0, 1} (21)
onde g e h são limites inferiores para g (x) e h(x), respectivamente.

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Dicotomia - satisfazendo pelo menos k restrições

max f (x), tal que, pelo menos k das restrições


gi (x) ≥ 0, i ∈ {1, 2, . . . , m} devem ser satisfeitas (22)

Associamos a cada restrição gi (x) um limite inferior g i e uma


variável binária δi que assume valor 1 caso gi (x) não seja
necessariamente satisfeita, ou 0 caso seja satisfetia.

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Dicotomia - satisfazendo pelo menos k restrições

max f (x), tal que, pelo menos k das restrições


gi (x) ≥ 0, i ∈ {1, 2, . . . , m} devem ser satisfeitas (22)

Associamos a cada restrição gi (x) um limite inferior g i e uma


variável binária δi que assume valor 1 caso gi (x) não seja
necessariamente satisfeita, ou 0 caso seja satisfetia.
A condição (22) pode ser reescrita como:
gi (x) ≥ δi g i , ∀i ∈ {1, 2, . . . , m},

m
δi ≤ m − k
i =1
δ ∈ Bm

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Restrições condicionais

f (x) > 0 ⇒ g (x) ≥ 0. (23)

Observe que (23) equivale a

g (x) ≥ 0, ou f (x) ≤ 0, ou ambas. (24)

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Restrições condicionais

f (x) > 0 ⇒ g (x) ≥ 0. (23)

Observe que (23) equivale a

g (x) ≥ 0, ou f (x) ≤ 0, ou ambas. (24)

Seja f um limite superior para f (x)

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Restrições condicionais

f (x) > 0 ⇒ g (x) ≥ 0. (23)

Observe que (23) equivale a

g (x) ≥ 0, ou f (x) ≤ 0, ou ambas. (24)

Seja f um limite superior para f (x)


Então reescrevemos (24) como

g (x) ≥ δg

f (x) ≤ (1 − δ)f .

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Aproximando uma função não linear por outra, linear por
partes

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Modelagem
Escolhemos uma malha S = {s1j = lj , s2j , . . . , spj = uj } com p
pontos,

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Modelagem
Escolhemos uma malha S = {s1j = lj , s2j , . . . , spj = uj } com p
pontos,
Escrevemos xj e a aproximação g (xj ) (conjunto de p − 1
segmentos de reta) como uma combinação convexa dos
pontos que formam a malha:

p
xj = λk skj , (25)
k=1


p
g (xj ) = λk fkj , (26)
k=1

p
λk = 1, (27)
k=1
λk ≥ 0. (28)

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Modelagem

Qualquer ponto (xi , g (xj )) pode ser representado como uma


combinação convexa dos pontos extremos do intervalo em que se
situa. Precisamos, entretanto, garantir que não mais de dois
pontos sejam empregados na combinação convexa.

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Modelagem
Vamos associar uma variável de decisão binária δi a cada um
dos p − 1 segmentos de reta que formam g (xj ),

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Modelagem
Vamos associar uma variável de decisão binária δi a cada um
dos p − 1 segmentos de reta que formam g (xj ),
δi vale 1 caso f (xj ) seja localmente aproximada pelo
segmento i ∈ {1, . . . , p − 1} cujos extremos são (s(ij) , fij ) e
(s((i +1)j , f(i +1)j ), ou vale 0 caso não seja.

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Modelagem
Vamos associar uma variável de decisão binária δi a cada um
dos p − 1 segmentos de reta que formam g (xj ),
δi vale 1 caso f (xj ) seja localmente aproximada pelo
segmento i ∈ {1, . . . , p − 1} cujos extremos são (s(ij) , fij ) e
(s((i +1)j , f(i +1)j ), ou vale 0 caso não seja.
Então, em adição ao sistema (??)-(??) incluı́mos:
λ1 ≤ δ1
λk ≤ δk + δk+1 , ∀k = 2, . . . , p − 2
λp ≤ δp−1

p−1
δk = 1
k=1

δ ∈ Bp−1

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Modelando custos fixos

Suponha que se deseja modelar uma função de custo não linear


satisfazendo:
h(x) = f + px se 0 < x ≤ C ;
h(x) = 0, se x = 0,
onde f , p > 0.

Introduzimos uma variável binária y que assume valor 1 quando


x > 0, 0 caso contrário e reescrevemos a função custo como:
h(x) = yf + px, para x ≤ Cy , y ∈ {0, 1}.

Observe que, embora este modelo não exclua y = 1, x = 0, esta


solução é subótima para f > 0.

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Comparando formulações

Exemplo: Uncapacitated lot sizing

O problema consiste em definir um plano de produção de um único


produto em um perı́odo de tempo de n perı́odos. Os seguintes
dados são conhecidos:

ft - custo fixo incorrido caso haja produção no perı́odo t,


pt - custo unitário de produção em t,
ht - custo unitário de estoque em t,
dt - demanda a ser satisfeita em t.

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Comparando formulações - ULS

Variáveis de decisão
xt - quantidade produzida em t,

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Comparando formulações - ULS

Variáveis de decisão
xt - quantidade produzida em t,
st - quantidade de estoque ao final de t,

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Comparando formulações - ULS

Variáveis de decisão
xt - quantidade produzida em t,
st - quantidade de estoque ao final de t,
y ∈ {0, 1}, assumindo valor 1 se ocorrer produçã em t, 0, c.c.

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Comparando formulações - ULS

Variáveis de decisão
xt - quantidade produzida em t,
st - quantidade de estoque ao final de t,
y ∈ {0, 1}, assumindo valor 1 se ocorrer produçã em t, 0, c.c.
Para lidar com os custos fixos,
n vamos assumir que um limite
superior M (por exemplo t=1 dt , se sn = 0) na quantidade a
ser produzida em t seja conhecido.

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


ULS - Modelo 1


n 
n 
n
min pt xt + ht st + f t yt
t=1 t=1 t=1

st−1 + xt = dt + st , ∀t = 1, . . . , n,
xt ≤ Myt , ∀t = 1, . . . , n,
s0 = 0, st , xt ≥ 0, yt ∈ {0, 1}, ∀t = 1, . . . , n.

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


ULS - Modelo 1 - Reescrevendo a função objetivo

t 
t
Observe que st = xi − di
i =1 i =1

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


ULS - Modelo 1 - Reescrevendo a função objetivo

t 
t
Observe que st = xi − di
i =1 i =1
Assim sendo temos:
n 
n 
n
pt xt + ht st + f t yt =
t=1 t=1 t=1
t

n 
n  
t 
n
pt xt + ht xi − di + f t yt =
t=1 t=1 i =1 i =1 t=1

n n 
n 
t n
pt + hi xt − ht di + f t yt =
t=1 i =t t=1 i =1 t=1

n n
ct xt + f t yt − K
t=1 t=1

n 
t 
n
, onde K = ht di e ct = pt + hi .
t=1 i =1 i =t
Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey
ULS - modelo 2
O(n2 ) variáveis e restrições.
Novas variáveis de decisão:

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


ULS - modelo 2
O(n2 ) variáveis e restrições.
Novas variáveis de decisão:
wit - quantidade produzida no perı́odo i que atenderá a
demanda do perı́odo t

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


ULS - modelo 2
O(n2 ) variáveis e restrições.
Novas variáveis de decisão:
wit - quantidade produzida no perı́odo i que atenderá a
demanda do perı́odo t
yt ∈ {0, 1}, assumindo valor 1 caso ocorra produção em t, 0,
caso contrário.

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


ULS - modelo 2
O(n2 ) variáveis e restrições.
Novas variáveis de decisão:
wit - quantidade produzida no perı́odo i que atenderá a
demanda do perı́odo t
yt ∈ {0, 1}, assumindo valor 1 caso ocorra produção em t, 0,
caso contrário.
Novas restrições:

t
wit = dt , ∀t = 1, . . . , n,
i =1
wit ≤ dt yi , ∀i , t i ≤ t
wit ≥ 0, ∀i , t : i ≤ t, yt ∈ {0, 1} ∀t.

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


ULS - modelo 2
O(n2 ) variáveis e restrições.
Novas variáveis de decisão:
wit - quantidade produzida no perı́odo i que atenderá a
demanda do perı́odo t
yt ∈ {0, 1}, assumindo valor 1 caso ocorra produção em t, 0,
caso contrário.
Novas restrições:

t
wit = dt , ∀t = 1, . . . , n,
i =1
wit ≤ dt yi , ∀i , t i ≤ t
wit ≥ 0, ∀i , t : i ≤ t, yt ∈ {0, 1} ∀t.
Função Objetivo:

n 
n 
n
min ci wit + f t yt
i =1 t=i t=1
Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey
ULS - Comparando os modelos
Considere a seguinte vetor de incidência:
xt = dt , yt = M
dt
, ∀t = 1, . . . , n.

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


ULS - Comparando os modelos
Considere a seguinte vetor de incidência:
xt = dt , yt = Mdt
, ∀t = 1, . . . , n.
Esta solução satisfaz à formulação P1 , do Modelo 1, dada por:

st−1 + xt = dt + st ⇒ st−1 = st = 0, ∀t = 1, . . . , n
dt
xt ≤ Myt ⇒ dt ≤ M , ∀t = 1, . . . , n
M
xt ≥ 0, 0 ≤ yt ≤ 1, ∀t = 1, . . . , n

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


ULS - Comparando os modelos
Considere a seguinte vetor de incidência:
xt = dt , yt = Mdt
, ∀t = 1, . . . , n.
Esta solução satisfaz à formulação P1 , do Modelo 1, dada por:

st−1 + xt = dt + st ⇒ st−1 = st = 0, ∀t = 1, . . . , n
dt
xt ≤ Myt ⇒ dt ≤ M , ∀t = 1, . . . , n
M
xt ≥ 0, 0 ≤ yt ≤ 1, ∀t = 1, . . . , n
Porém, não satisfaz à formulação P2 , do Modelo 2:

wii = di , wit = 0, ∀i < t, ∀t = 1, . . . , n

wit ≤ dt yi , ∀i , t i ≤ t ⇒
 
di
wii ≤ di yi , = di < di
M

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


ULS - Comparação de Modelos

Pode-se mostrar (Cap. 5) que a formulação P2 é mais forte que


P1 , isto é, P2 ⊂ P1 . Mais do que isto, P2 define a envoltória
convexa do conjunto de vetores de indidência dos planos de
produção associados ao ULS.

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Formulações boas e ideais

Poliedro
Corresponde à interseção de um número finito de restrições
lineares. Exemplo: P = {x ∈ Rn+ : aj x ≤ bj , j = 1, . . . , m}.

Formulação
Dado um conjunto discreto X = {x k ∈ Zn+ : k = 1, ..., p}, dizemos
que o poliedro P fornece uma formulação para X se e somente se
X = P ∩ Zn+ .

Envoltória convexa de X
A envoltória convexa de um conjunto de pontos discretos X é:
p 
p
conv (X ) = {x ∈ R+ : x =
n λj x ,
j
λj = 1, λj ≥ 0, ∀j}.
j=1 j=1

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Formulações boas e ideais

Proposição

conv (X ) é um poliedro;
Os pontos extremos de conv (X ) pertencem a X .

Corolário
O IP {min cx : x ∈ X } pode ser substituı́do pelo programa linear
equivalente {min cx : x ∈ conv (X )}.

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Formulações boas e ideais

Uma formulação é tanto melhor quanto mais próxima for, no


sentido geométrico, de conv (X ).
Dadas duas formulações, P1 e P2 , P1 é melhor (ou mais forte)
que P2 se e somente se P1 ⊂ P2 .

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey


Exemplo: Mochila {0 − 1}

P1 = {x ∈ R4 : 0 ≤ x ≤ 1, 83x1 + 61x2 + 49x3 + 20x4 ≤ 100}

P2 = {x ∈ R4 : 0 ≤ x ≤ 1, 4x1 + 3x2 + 2x3 + 1x4 ≤ 4}


 4 :


 x ∈ R 0 ≤ x ≤ 1 

 
4x1 + 3x2 + 2x3 + x4 ≤ 4
P3 =

 x1 + x2 + x3 ≤ 1 
 
x1 + x4 ≤ 1

Veremos como mostrar que P3 ⊂ P2 ⊂ P1 .

Alexandre Salles da Cunha Geraldo Robson Mateus Formulações - Cap 1 Wolsey

You might also like