Você está na página 1de 80

Básico em Programação Inteira

Modelagem

Roger Rocha
Problemas Clássicos
Exemplo

Uma empresa de petróleo está planejando


seus investimentos para os próximos 10
anos. O capital requerido, assim como o
VPL de cada investimento são dados a
seguir. Supondo que a empresa tenha um
capital disponível para investir de 14
bilhões de dólares, qual seria a melhor
estratégia de investimento?
Dados do problema

Investimento Capital(*) VPL(*) Capital Disponível (*)

1 5 16

2 7 22

3 4 12
14
4 3 8

5 4 11

6 6 19

(*) Dados em bilhões de dólares


Modelagem

Quais são as váriaveis de decisão?

1, se a empresa investir em i  1,...,6,


xi  
0, caso contrário

Modelo
Max 16x1+ 22x2+ 12x3+ 8x4+ 11x5+ 19x6

5x1+ 7x2+ 4x3+ 3x4+ 4x5+ 6x6  14


xj e {0,1} para j = 1 a 6
Problema da Mochila
Max 16x1+ 22x2+ 12x3+ 8x4+ 11x5+ 19x6

5x1+ 7x2+ 4x3+ 3x4+ 4x5+ 6x6  14


xj e {0,1} para j = 1 a 6

16
5 19
6

12
4 22
7

8 11
3 4
Exemplo

O departamento de pintura de uma grande


empresa automobilística precisa seqüenciar a
pintura dos lotes de automóveis para o
próximo mês. Sabe-se que a cada troca de
tinta é necessário um trabalho de limpeza de
duração que varia de acordo com a tinta que
estava sendo usada e a tinta que será usada.
Pede-se determinar a seqüência de lotes de
maneira a entregá-los no prazo mais curto
possível
Dados do problema

Matriz de tempo de limpeza


ti,j (h) Branco Preto Cinza Vermelho Azul

Branco 0 13 7 9 11

Preto 16 0 10 14 8

Cinza 10 7 0 9 12

Vermelho 13 9 12 0 14

Azul 14 5 12 11 0
Soluções
1ª solução

Branco Azul Vermelho Preto Cinza Branco

Tempo total de limpeza = 61 horas

2ª solução

Cinza Vermelho Preto Branco Azul Cinza


Tempo total de limpeza = 45 horas

Número de possíveis soluções = 5!


Modelagem

Variáveis de decisão

 se o lote de cor j = 1,...,5 é


1,
xi , j  sequenciado imediatamente após i  j
0,
 caso contrário
Modelagem

Modelo
Somente um lote de carros j pode ser
seqüenciado imediatamente após um lote i
5

x
j 1
i, j  1,  i  {1,...,5}

O lote j pode suceder imediatamente


somente um lote i
5

x
i 1
i, j  1,  j  {1,...,5}
Modelagem

Função Objetivo
Minimizar o tempo de limpeza
5 5


i 1 j 1 / j  i
t i , j xi , j
Modelagem

Modelo
5 5
min   t i , j xi , j
i 1 j 1 / j  i Este
modelo
5 está
x
j 1
i, j  1,  i  {1,...5} correto ?

x
i 1
i, j  1,  j  {1,...5}

xi , j  {0,1}, i, j  {1,...,5} / i  j


Modelagem

Possível solução
1 4

Vermelho Cinza Preto


Branco

Azul 5

Porém isto não é uma seqüência válida


Modelagem
Eliminação de sub ciclos (sub tour)
1 4

Branco Vermelho

x1,4  x4,5  x5,1  2

Azul 5
Número exponencial de
restrições
De forma geral,


( i , j )S
xi , j  S  1, S  {2,..., 5}
Modelo Completo
5 5
min   t i , j xi , j
i 1 j 1 / j  i
5

x  1,  i  {1,...5}
CAIXEIRO VIAJANTE

i, j
j 1
5

x
i 1
i, j  1,  j  {1,...5}


( i , j )S
xi , j  S  1, S  {2,..., 5}

xi , j  {0,1}, i, j  {1,...,5} / i  j


Caixeiro Viajante (TSP)
Problema de Alocação Generalizada
O Problema de Alocação Generalizada pode ser
visto como o problema de atribuir n tarefas a m
máquinas ao menor custo possível, de modo que
cada tarefa seja atribuída a apenas uma máquina
e cada máquina tenha sua capacidade respeitada

Tarefas Máquinas
Dados do problema
Tempo de
processamento – ti,j Máquinas
(horas)
tarefas 1 2 3

1 5 9 7
2 5 4 6
3 7 9 9

4 5 4 8

5 6 9 7

6 7 10 6

7 11 6 9

8 10 11 13
Dados do problema
Custo de
processamento- Ci,j Máquinas
(R$ 1000)
tarefas 1 2 3

1 22 19 17
2 15 24 26
3 17 29 19

4 23 24 18

5 18 16 21

6 22 21 31

7 19 16 20

8 18 19 22
Dados do problema

Capacidade das Máquinas


Máquina 1 – 60 horas

Máquina 2 – 72 horas

Máquina 3 – 60 horas
Modelagem

Variáveis de decisão

1, se a tarefa i é alocada à máquina j


xi , j 
0, caso contrário
Modelagem

Função Objetivo
Minimizar o custo total de processamento
das tarefas

8 3
min  C i , j xi , j
i 1 j 1
Modelagem

Restrições
Cada tarefa deve ser alocada a uma única
máquina
8

x
i 1
i, j  1,  j  {1,..., 3}

A capacidade de processamento de cada


máquina deve ser respeitada
8

t
i 1
i, j xi , j  CAPj ,  j  {1,...,3}
Modelo Completo

8 3
min  C i , j xi , j
Problema de Alocação Generalizada

i 1 j 1
8

x
i 1
i, j  1,  j  {1,...,3}


( i , j )S
t i , j xi , j  CAPj ,  j  {1,...,3}

xi , j  {0,1}, i  {1,...,8}, j  {1,...,3}


Problema de Localização Capacitada

Uma empresa de distribuição de combustíveis deseja


construir novas bases de distribuição para o atendimento
de seus clientes. Sabe-se que devido a incentivos fiscais
e outros fatores, o custo fixo para a construção das
bases depende da localização. Além disso deve ser
considerado os custos de transporte dos combustíveis
que dependem das distâncias entre as bases e os
clientes. Deve-se determinar o número de bases a serem
construídas e suas localizações de forma a suprir os
clientes ao menor custo total.
Dados do problema
Custo de transporte por 1000 toneladas
Clientes
Bases 1 2 3 4 5 6 7 8 9 10 11 12
1 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00
2 1.20 1.13 1.20 1.40 1.08 1.10 1.17 1.33 1.33 1.14 1.15 1.18
3 1.40 1.38 1.60 1.60 1.25 1.30 1.33 1.67 1.67 1.43 1.23 1.36
4 1.60 1.56 2.00 2.00 1.33 1.50 1.58 2.17 2.17 - - -
5 1.90 1.88 2.60 - - - 1.67 2.50 2.50 - - -
6 2.00 2.25 3.00 - - - 0.83 0.83 0.83 0.71 0.92 0.91
7 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00
8 1.20 1.13 1.20 1.40 1.08 1.10 1.17 1.33 1.33 1.14 1.15 1.18
9 1.40 1.38 1.60 1.60 1.25 1.30 1.33 1.67 1.67 1.43 1.23 1.36
10 1.60 1.56 2.00 2.00 1.33 1.50 1.58 2.17 2.17 - - -
11 1.90 1.88 2.60 - - - 1.67 2.50 2.50 - - -
12 2.00 2.25 3.00 - - - 0.83 0.83 0.83 0.71 0.92 0.91
Dados do problema

Custos Fixos para a Construção e Capacidade de atendimento das bases


Bases 1 2 3 4 5 6 7 8 9 10 11 12
Custo Fixo
3500 9000 10000 4000 3000 9000 9000 3000 4000 10000 9000 3500
(R$ 1000)
Capacidade
300 250 100 180 275 300 200 220 270 250 230 180
(1000 ton)
Parâmetros do Modelo

CFIXb – Custo fixo para abertura da base b

CTRANSb,c – Custo de transporte entre a


base b e o cliente c

DEMc – Demanda do cliente c

CAPb – Capacidade de atendimento da


base b
Modelagem

Variáveis de decisão

1, se a base i é construída


basei  
0, caso contrário
Quantidade de produto atendida
fluxoi , j  
pela base i ao cliente j
Modelagem

Função Objetivo
Minimizar o custo total de construção e
transporte de produto

 12 12 12 
min   CFIX i  basei   CTRANSi , j  fluxoi , j 
 i 1 i 1 j 1 
Modelagem

Restrições
A demanda de cada cliente deve ser atendida
12

 fluxo
i 1
i, j  DEM j ,  j  {1,...,12}

Uma base de distribuição só pode enviar produto se


tiver sido construída. Ademais, o envio está limitado
a sua capacidade de atendimento
12

 fluxo
j 1
i, j  CAPi  basei ,  i  {1,...,12}
Modelo Completo
Problema de Localização Capacitada

12 12 12
min  CFIX i  basei   CTRANS i , j  fluxoi , j
i 1 i 1 j 1
12

 fluxo
i 1
i, j  DEM j ,  j  {1,...,12}
12

 fluxo
j 1
i, j  CAPi  basei ,  i  {1,...,12}

basei  {0,1}, i  {1,...,12}, fluxoi , j  0 i , j  {1,...,12}


Problema de Alocação Generalizada

Mesmo problema com dados de


transporte obtidos de forma diferente
Dados do problema
Custo de transporte total
Clientes
Bases 1 2 3 4 5 6 7 8 9 10 11 12
1 100 80 50 50 60 100 120 60 60 70 65 110
2 120 90 60 70 65 110 140 80 80 80 75 130
3 140 110 80 80 75 130 160 100 100 100 80 150
4 160 125 100 100 80 150 190 130 130 - - -
5 190 150 130 - - - 200 150 150 - - -
6 200 180 150 - - - 100 50 50 50 60 100
7 100 80 50 50 60 100 120 60 60 70 65 110
8 120 90 60 70 65 110 140 80 80 80 75 130
9 140 110 80 80 75 130 160 100 100 100 80 150
10 160 125 100 100 80 150 190 130 130 - - -
11 190 150 130 - - - 200 150 150 - - -
12 200 180 150 - - - 100 50 50 50 60 100
Modelagem

Variáveis de decisão

1, se a base i é construída


basei  
0, caso contrário
Fração da demanda de produto atendida
fluxoi , j  
pela base i ao cliente j
Modelagem

Função Objetivo
Minimizar o custo total de construção e
transporte de produto

 12 12 12 
min   CFIX i  basei   CTRANSi , j  fluxoi , j 
 i 1 i 1 j 1 
Modelagem

Restrições
A demanda de cada cliente deve ser atendida
12

 fluxo
i 1
i, j  1,  j  {1,...,12}

Uma base de distribuição só pode enviar produto se


tiver sido construída. Ademais, o envio está limitado
a sua capacidade de atendimento
12

 Dem
j 1
j  fluxoi , j  CAPi  basei ,  i  {1,...,12}
Modelo Completo
Problema de Localização Capacitada

12 12 12
min  CFIX i  basei   CTRANS i , j  fluxoi , j
i 1 i 1 j 1
12

 fluxo
i 1
i, j  1,  j  {1,...,12}
12

 DEM
j 1
j  fluxoi , j  CAPi  basei ,  i  {1,...,12}

basei  {0,1}, i  {1,...,12}, fluxoi , j  0 i , j  {1,...,12}


Resultados

Plano de Abertura de base e atendimento dos clientes


Clientes
Bases 1 2 3 4 5 6 7 8 9 10 11 12
1 - 5 75 100 - - - - - - - 120
5 120 40 - - - - - - - - - -
8
9 - 35 - - - 100 - - - 85 - -
12 - - - - 100 - 90 60 30 65 95 -
Job Shop Scheduling

Uma empresa recebeu uma encomenda de três tipos de papéis de


parede: tipo 1, com fundo azul e detalhes em amarelo, tipo 2, com
fundo verde e detalhes em azul e amarelo e por fim, tipo 3, com
fundo amarelo e detalhes em azul e verde. Cada papel de parede é
produzido através de um rolo de papel contínuo que passa pelas
máquinas de pintura de diferentes cores. A ordem que os papéis de
parede passam nas máquina depende do tipo de papel
encomendado. O tempo de processamento em cada máquina
depende da superfície do papel, assim como da cor a ser aplicada.
Sabendo que cada máquina pode processar somente um rolo de
papel por vez, determine o seqüenciamento em cada máquina de
maneira a terminar todo o trabalho o mais rápido possível.
Job Shop Scheduling

Papel 1
Papel 2
Papel 3

Papel 1
Papel 2 Papel 2
Verde Azul Amarelo
Papel 3 Papel 3

Papel 3 Papel 1 Papel 2


Dados do problema
Duração do processamento dos papéis de
parede em cada máquina
Máquina Co Papel 1 Papel 2 Papel 3

1 Azul 45 20 12

2 Verde - 10 17

3 Amarelo 10 34 28

Parâmetro: DURi,j : Duração do processamento do


papel de parede i na máquina j
Modelagem

Váriaveis de decisão

inicij,  tempo de início da tarefa i na máquina j


1, se a tarefa i é executada antes

yikj,,  da tarefa k na máquina j
 0, caso contrário

term  tempo de término de todo o trabalho
Modelagem

Função Objetivo
Minimizar o tempo de término do trabalho

Temos
que dar
sentido a
essa
variável !
min{term}
Modelagem
Restrições
Seqüenciamento de sub tarefas para a pintura
do papel de parede 1
Papel 1

2 1 3
Papel 1

Verde Azul Amarelo

Papel 1

inic1,3  inic1,1  DUR1,1


Modelagem
Restrições
Seqüenciamento de sub tarefas para a pintura
do papel de parede 2
Papel 2

2 1 3
Papel 2 Papel 2
Verde Azul Amarelo

Papel 2

inic2 ,1  inic2 ,2  DUR2 ,2


inic2 ,3  inic2 ,1  DUR2 ,1
Modelagem
Restrições
Seqüenciamento de sub tarefas para a pintura
do papel de parede 3

Papel 3
2 1 3

Verde Papel 3
Azul Papel 3
Amarelo

Papel 3

inic3,1  inic3,3  DUR3,3


inic3,2  inic3,1  DUR3,1
Modelagem
Seqüenciamento de tarefas na máquina 1
Papel 1

2 1 3
Papel 2
Verde Azul Papel 3
Amarelo

Podemos ter três situações diferentes:


- O papel 1 é pintado antes do papel 2 ou o contrário
E
- O papel 1 é pintado antes do papel 3 ou o contrário
E
- O papel 2 é pintado antes do papel 3 ou o contrário
Modelagem
Seqüenciamento de tarefas na máquina 1
Papel 1

2 1 3
Papel 2
Verde Azul Amarelo

O papel 1 é pintado antes do papel 2

inic2,1  inic1,1  DUR1,1


OU

O papel 2 é pintado antes do papel 1

inic1,1  inic2,1  DUR2,1


Modelagem
Seqüenciamento de tarefas na máquina 1
Papel 1

2 1 3
Papel 2
Verde Azul Amarelo

inic2 ,1  inic1,1  DUR1,1  M  ( y211 )


inic1,1  inic2 ,1  DUR2 ,1  M  ( y121 )
Que valor para M ?
y211  y121  1 Um possível valor é a
soma das durações
Modelagem
Seqüenciamento de tarefas na máquina 1
Papel 1

2 1 3
Papel 2
Verde Azul Amarelo

Ou de forma equivalente:

inic2 ,1  inic1,1  DUR1,1  M  (1  y121 )


inic1,1  inic2 ,1  DUR2 ,1  M  ( y121 )
Modelagem
Seqüenciamento de tarefas na máquina 1
Papel 1

2 1 3

Verde Azul Papel 3


Amarelo

Papel 1 ou 3:

inic3,1  inic1,1  DUR1,1  M  (1  y131 )


inic1,1  inic3,1  DUR3,1  M  ( y131 )
Modelagem
Seqüenciamento de tarefas na máquina 1

2 1 3
Papel 2
Verde Azul Papel 3
Amarelo

Papel 2 ou 3:

inic3,1  inic2 ,1  DUR2 ,1  M  (1  y231 )


inic2 ,1  inic3,1  DUR3,1  M  ( y231 )
Modelagem
Seqüenciamento de tarefas na máquina 2
Papel 2

2 1 3

Verde Azul Amarelo


Papel 3

Papel 2 ou 3:

inic3,2  inic2 ,2  DUR2 ,2  M  (1  y232 )


inic2 ,2  inic3,2  DUR2 ,2  M  ( y232 )
Modelagem
Seqüenciamento de tarefas na máquina 3

2 1 3
Papel 1
Papel 2
Verde Azul Amarelo

Papel 1 ou 2:

inic2 ,3  inic1,3  DUR1,3  M  (1  y123 )


inic1,3  inic2 ,3  DUR2 ,3  M  ( y123 )
Modelagem
Seqüenciamento de tarefas na máquina 3

Papel 3
2 1 3
Papel 1

Verde Azul Amarelo

Papel 1 ou 3:

inic3,3  inic1,3  DUR1,3  M  (1  y133 )


inic1,3  inic3,3  DUR3,3  M  ( y133 )
Modelagem
Seqüenciamento de tarefas na máquina 3

Papel 3
2 1 3
Papel 2
Verde Azul Amarelo

Papel 2 ou 3:

inic3,3  inic2 ,3  DUR2 ,3  M  (1  y233 )


inic2 ,3  inic3,3  DUR3,3  M  ( y233 )
Modelagem
Término do trabalho

2 1 3

Verde Azul Amarelo

Papel 3 Papel 2 Papel 1

O tempo de término do trabalho deve ser maior que o término


de cada tarefa

term  inic1,3  DUR1,3 Término do papel 1

term  inic2 ,3  DUR2 ,3 Término do papel 2

term  inic3,2  DUR3,2 Término do papel 3


Resultados

Tempos de início e término das tarefas

Papel 1 Papel 2 Papel 3

Azul 42-87 10-30 30-42

Verde - 0-10 42-59

Amarelo 87-97 30-64 0-28

Tempo total para término do trabalho = 97 horas


Resultados

Diagrama de Gantt

Azul Papel 2 Papel 3 Papel 1

Verde Papel 2 Papel 3

Amarelo Papel 3 Papel 2 Papel 1

10 20 30 40 50 60 70 80 90 100
Condições Lógicas
Modelos com Expressões Lógicas
Variável Booleana Pi Verdadeira
Negação  Pi Falsa
Examplo Pi: selecionar unidade i, executar tarefa j

PROPOSIÇÃO: Conjunto de variáveis booleana combinadas com os


seguintes operadores: OU, E, IMPLICAÇÃO
Representação através de restrições Lineares
Associar a variável binári yi a Pi e (1 – yi) a  Pi

OU P1  P2  …  Pr y1 + y2 + .. + yr  1
E P1  P2  …  Pr y1  1, y2  1, …yr  1

IMPLICAÇÃO P1  P2
EQUIVALENTE A  P1  P2 1 – y1 + y2  1
OU y2  y1
Modelos com Expressões Lógicas

EQUIVALÊNCIA P1  P2
(P1  P2)  (P2  P1)

IGUAL A ( P1  P2)  ( P2  P1)


1 – y1 + y2  1 1 – y2 + y1  1
Ou y1 = y2
Procedimento

Converter as expressões lógica para a forma Conjuntiva


Q1  Q2  . . .  Qs
Onde cada Qi : P1  P2  . . .  Pr (Somente operadores OU –
EXPRESSÃO DISJUNTIVA)
PASSOS BÁSICOS
1. SUBSTITUIR IMPLICAÇÕES POR DISJUNÇÕES
P1  P2   P1  P2

2. APLICAR O TEOREMA DE DE MORGAN QUANDO NECESSÁRIO


 (P1  P2)   P1   P2
 (P1  P2)   P1   P2

3. APLICAR A PROPRIEDADE DISTRIBUTIVA PARA EXPRESSÕES


LÓGICA DE FORMA A OBTER UMA EXPRESSÃO NA FORMA CONJUNTIVA
(P1  P2)  P3  (P1  P3)  (P2  P3)
Exemplo

Dest  (Vacuo_FCC)  (RFCC)

PD  PV  PF

(1)  PD  PV  PF Substituir a implicação

1 – yD + yV + yF  1

yV + yF  yD
Tabela com conversões
Exemplo - Estendido

Uma empresa de petróleo está planejando


seus investimentos para os próximos 10
anos. O capital requerido, assim como o
VPL de cada investimento são dados a
seguir. Supondo que a empresa tenha um
capital disponível para investir de 14
bilhões de dólares, qual seria a melhor
estratégia de investimento, considerando
as seguintes restrições adicionais?
Exemplo - Estendido

- Se a empresa investir no investimento 1, o


investimento 3 também deve ser adquirido

x3  x1

- Se a empresa investir no investimentos 1 e 5, o


investimento 4 também deve ser adquirido

 x4  x1  x5  1
Exemplo - Estendido

- Considere que a empresa deseja investir em no


máximo 3 investimentos

x1  x2  x3  x4  x5  x6  3

- Considere que a empresa pode investir na


opção 4 ou opção 5, porém não em ambas.

x4  x5  1
Quantidades discretas

Considere o caso do projeto de um oleoduto, onde uma das


diversas variáveis é o diâmetro do duto, que deve ser um dos
seguintes valores: 20 pol, 24 pol, 30 pol e 36 pol. Em geral, se
uma variável x1 é restrita assumir valores pertencentes ao
conjunto {c1,c2,...,ck}, esta restrição pode ser modelada como:

x1  (c11  c2 2  ....  ck k )  0


1   2  ....   k  1
 k  0,1
Produções mínimas e máximas

• Suponha, por exemplo, que numa indústria a produção


de um determinado item, caso aconteça, só é
economicamente viável acima de um certo nível de
produção. Seja x a quantidade produzida deste certo
produto, L e U o limite mínimo e a capacidade máxima
de sua produção, tem-se:

x1  U   0
x1  L  0
 k  0,1
Custos fixos
Custo total
da
atividade
cj Inclinação da curva:
Custo variável

Custo fixo
de fj
preparação

xj Nível da atividade j

Custo total da atividade j  f j j  c j x j


x j  M j
onde M é um limite superior da variável xj
Economia de Escala

Custo
Total, C
c4
E
c3
D

c2 C

c1 B

c0 A

b1 b2 b3 b4
Quantidade produzida, x
Economia de Escala

 x  b11  b2 2  ....  bn n
C  c   c   c   ....  c 
Esta formulação  0 0 1 1 2 2 n n
está correta ? 
0  1  2  ....  n  1
Correta se fosse um
0  i  1
problema de maximização

Está ainda faltando algumas restrições !!!


Economia de Escala - Completa
x  b11  b2 2  ....  bn n
C  c0 0  c11  c2 2  ....  cn n
0  1  2  ....  n  1
0   0  0
1   0  1  0
2  1   2  0
M
n 1   n  2   n 1  0
n   n 1  0
 0  1   2  ....   n 1  1
0  i  1,  i  {0, 1}
Problemas de Programação Linear Inteira Mista (MILP)

( “Implications
Condições Lógicas Se A, então B Constraints” )

Regra de Negócio:
carga ou x1 x2
1 2 Se o processo 1 é
xc
selecionado, então 2
x3 3 também o é.

Variável de decisão: yk (yk = 1 se Unidade k é selecionada; yk = 0 caso contrário)

y1 - y2 = 0 unidade 2 só é selecionada se 1 também for


y1 + y3 = 1 unidade 1 ou unidade 3 deve ser selecionada
xk – M.yk ≤ 0 k = 1,2
Técnica do “Big M”
x1 = x2 ; x1 + x3 = xc

xbp ≥ 0; xk ≥ 0; yk ={0, 1} para k = 1,2


Problemas de Programação Linear Inteira Mista (MILP)

( “Implications
Condições Lógicas Se A, então B Constraints” )
Carga A ou x4
4 Regra de Negócio:
xA
Carga B ou x1 x2
1 2 Se o processo 1 é
xB
selecionado, então 2
x3 3 também o é.

Variável de decisão: yk (yk = 1 se Unidade k é selecionada; yk = 0 caso contrário)

y1 - y2 = 0 unidade 2 só é selecionada se 1 também for

y1 - y2 ≤ 0 se 1 é então 2 também é, mas não vice versa


Problemas de Programação Linear Inteira Mista (MILP)

Condições Lógicas Selecionar k de N recursos

Capacidade
Unidade n Regra de Negócio:
Corrente x1
1
2 fn(x) ≤ bn No máximo M unidades
3 podem operar ao mesmo
Corrente x2 4 tempo (M < N).
Objetivo: Max carga
N

Variável de decisão: yn (yn = 0 se Unidade n é selecionada; yn = 1 caso contrário)

Max x1 + x2
Técnica do
s.a. f1(x) ≤ b1 + M.y1
“Big M”
f2(x) ≤ b2 + M.y2

fN(x) ≤ bN + M.yN
N

y
n 1
n k
x1 ≥ 0; x2 ≥ 0; yn ={0, 1} para n=1,2,...,N
Problemas de Programação Linear Inteira Mista (MILP)

Condições Lógicas Funções com Valores Discretos

Capacidade Unidade 1 Regra de Negócio:


Corrente x1
x1 + x2 ≤ 4 (se campanha 1) A unidade opera uma
x1 + x2 ≤ 8 (se campanha 2) única campanha a cada
U
Corrente x2 x1 + x2 ≤ 9 (se campanha 3) instante de tempo.
Objetivo: Max x1+x2
x1 + x2 ≤ 7 (se campanha N)

Variável de decisão: yn (yn = 1 se Campanha n é selecionada; yn = 0 caso contrário)

Max x1 + x2
N N
s.a.
x 1  x 2  b n y n e y n 1
n 1 n 1

x1 ≥ 0; x2 ≥ 0; y ={0, 1}

Você também pode gostar