15.053
Quinta-feira, 14 de março
• Introdução aos Fluxos de Rede
• Handouts: Notas de Aula
1
Modelos de Rede
• Modelos de programação linear que exibem uma
estrutura muito especial.
• Podem utilizar essa estrutura para reduzir
significativamente a complexidade dos cálculos.
• As primeiras aplicações de PL amplamente
utilizadas em problemas de logística industrial.
• Utilizados em um grande número de aplicações.
2
Notação e Terminologia
Observação: A terminologia das redes não é (e nunca será) padronizada.
O mesmo conceito pode ser aplicado de modos diferentes.
Termo:
• REDE
• Grafo direcionado
• Dígrafo
• Grafo
Handouts de Aula
Também Utilizado
(Ahuja, Magnanti, Orlin)
Grafo G = (V, E)
Rede G = (N, A)
Conjunto de vértices V = {1, 2, 3, 4}
Conjunto de nós N = {1, 2, 3, 4}
Conjunto de bordas: A = {1-2, 1-3,
Conjunto de arcos {(1, 2), (1, 3), (3, 2), (3, 4), (2, 4)} 3-2, 3-4, 2-4}
3
Redes Direcionadas e Nãodirecionadas
Um grafo não-direcionado
Um grafo direcionado
• As redes são utilizadas no transporte de
produtos.
• Bens físicos (objetos, líquidos)
• Comunicação
• Eletricidade, etc.
• O campo da otimização de redes trata de
problemas de otimização em redes.
4
Uma Visão Geral de Algumas
Aplicações da Otimização de Redes
Aplicações
Sistemas de
comunicação
Sistemas hidráulicos
Circuitos integrados
Sistemas mecânicos
Sistemas de
transporte
Equivalentes físicos
Equivalentes físicos
Fluxo
dos nós
dos arcos
Centrais telefônicas,
Cabos, enlaces de
Transmissões de
computadores,
fibra óptica, enlaces de mensagens de voz,
instalações de
relés de microondas
dados e vídeo
transmissão, satélites
Estações de
Tubulações
Água, gás, óleo,
bombeamento,
fluidos hidráulicos
reservatórios, lagos
Portas, registradores,
Fios
Corrente elétrica
processadores
Juntas
Hastes, vigas, molas
Calor, energia
Interseções,
Rodovias, rotas
Passageiros, carga,
aeroportos, pátios
aéreas, ferrovias
veículos,
ferroviários
operadores
5
Exemplos
de termos
Percurso: Exemplo: 5, 2, 3, 4
(ou 5, c, 2, b, 3, e, 4)
Note que o sentido é ignorado.
Percurso direcionado: Exemplo: 1, 2, 3, 4
(ou 1, a, 2, b, 3, e)
O sentido é importante.
Dois percursos a-b-e (ou 1-2-3-4)
e a-c-d-e (ou 1-2-5-3-4)
Ciclo ou circuito (ou loop)
1, 2, 3, 1 (ou 1, a, 2, b, 3, e)
Note que o sentido é ignorado.
Ciclo direcionado: (1, 2, 3, 4, 1) ou
1, a, 2, b, 3, c, 4, d, 1
O sentido é importante.
Ciclos (loops):
a-b-c-d (ou 1-2-3-4-1)
b-a-d-c (ou 3-2-1-4-3)
e-b-a (ou 1-3-2-1)
c-d-e (ou 3-4-1-3)
6
Mais Definições
Uma rede está conectada se cada nó pode ser
alcançado a partir de qualquer nó, seguindo-se
uma seqüência de arcos na qual o sentido é
ignorado.
Uma árvore geradora é um subconjunto conectado de uma rede
incluindo todos os nós, mas sem nenhum loop.
7
O Problema do Fluxo de Custos
Mínimos
Rede G = (N, A)
- Conjunto de nós N, conjunto de
arcos A
- Capacidades uij no arco (i, j)
- Custo cij no arco (i, j)
- Suprimento/demanda bi para o nó i
(O sinal positivo indica suprimento)
Uma rede com custos, capacidades,
suprimentos e demandas
Minimize o custo da aplicação do fluxo
Fluxo para fora de i – Fluxo para dentro de i = bi
Fluxo no arco (i, j) ≤ uij
8
O Problema do Fluxo de Custos
Mínimos
Considere xij o fluxo no arco (i, j).
Minimize o custo da aplicação do fluxo
Fluxo para fora de i – Fluxo para dentro de i = bi
Minimize
para todo i
para todo i-j)
9
Exemplo de Formulação
10
Uma Aplicação do Problema do Fluxo
de Custos Mínimos
Depósitos
Fábricas
Suprimentos
200
Clientes
Demandas
Expedir dos fornecedores aos clientes, possivelmente por meio
dos depósitos, ao custo mínimo para atender à demanda.
11
Fatos Importantes sobre o Problema
do Fluxo de Custos Mínimos
• Suponha que as seguintes propriedades
da matriz de restrições A (ignorando os
limites simples de variável superior e
inferior, como x ≤ 7) estabeleçam que:
(1) todos os itens de A são 0, 1 ou –1.
(2) existe no máximo um 1 em qualquer coluna
e no máximo um –1.
• Então, este é um problema do fluxo de
custos mínimos.
12
Fatos Importantes (continuação)
Teorema. Se o algoritmo simplex for
utilizado no problema do fluxo de custos
mínimos com RHS e capacidades de valor
inteiro, em cada iteração do algoritmo
simplex, cada coeficiente no quadro
(exceto pelos custos e o RHS) será igual a
0, -1 ou 1.
Colorário. A solução ótima do PL é um valor
inteiro.
13
O Problema do Fluxo de Custos
Uma rede com custos, capacidades,
Mínimos
suprimentos e demandas
Rede G = (N, A)
– Conjunto de nós N, conjunto de arcos A
– Capacidades uij no arco (i, j)
– Custo cij no arco (i, j)
– Suprimento/demanda bi para o nó i
(O sinal positivo indica suprimento)
Minimize o custo da aplicação do fluxo
Fluxo para fora de i – Fluxo para dentro de i = bi
Fluxo no arco (i, j) ≤ uij
14
O Problema do Transporte
Suponha que seja necessário expedir a
partir dos depósitos aos varejistas.
Neste exemplo
3 depósitos
4 varejistas
ai é o suprimento no depósito i.
bj é a demanda no varejista j.
cij é o custo da expedição de i a j.
Não existem capacidades nos arcos.
xij é a quantidade de fluxo expedida do
depósito i ao varejista j.
Como formulamos um PL?
15
O Problema do Transporte é um
Problema do Fluxo de Custos Mínimos
Minimize o custo da aplicação do fluxo
Fluxo para fora de i – Fluxo para dentro de i = bi
O fluxo para fora ocorre nos nós de suprimento
O fluxo para dentro ocorre nos nós de demanda
As capacidades são infinitas: uij = ∞
16
O Problema do Transporte
Em geral, a formulação do LP é a seguinte:
Minimize
Todos os arcos
são de um nó
em S para um
nó em D e sem
capacidades.
S: Nós de suprimento
D: Nós de demanda
17
Fatos Importantes sobre o Problema
do Transporte
Suponha que:
(1) A matriz de restrições pode ser particionada em
A1 x = b1 e A2x = b2
(2) Todos os itens de A1 e A2 são 0 ou 1.
(3) Existe no máximo um 1 em qualquer coluna de A1 ou A2
Então, este é um problema do transporte.
Teorema. Se o algoritmo simplex for utilizado no problema do transporte
em cada iteração do algoritmo, cada coeficiente no quadro (exceto
pelos custos e o RHS) será igual a 0, -1 ou 1. Os custos e o RHS
serão valores inteiros.
Colorário. A solução ideal do PL é um valor inteiro.
18
O Problema da Atribuição
Suponha que seja necessário atribuir tarefas a pessoas
Tarefas
Pessoas
Neste exemplo
4 tarefas
3 pessoas
Não devem ser atribuídas duas tarefas à mesma
pessoa.
A cada pessoa é atribuída somente uma tarefa.
cij é o “custo” da atribuição da tarefa i à pessoa j.
xij = 1, se a tarefa i é atribuída a j.
Caso contrário, xij = 0.
Como formulamos um PL?
19
O Problema da Atribuição
Em geral, a formulação do LP é a seguinte:
Minimize
Cada suprimento é 1
Cada demanda é 1
20
Mais sobre o Problema da Atribuição
Tarefas
Pessoas
O problema da atribuição é um caso
especial do problema do transporte.
O algoritmo simplex pode solucionar a
relaxação do PL e fornecer soluções inteiras,
isto é, soluciona o problema da atribuição.
21
Uma Aplicação do Problema da
Atribuição
Suponha que existam alvos móveis no espaço. Você pode identificar cada
alvo como um pixel em uma tela de radar. Após observar duas telas
sucessivas, determine como os alvos se movem.
22
O Problema do Fluxo Máximo
Rede G = (N, A)
– Fonte s e ponto de convergência t
– Capacidades uij no arco (i, j)
– Variável: Fluxo xij no arco (i, j)
Grafo com capacidades
Maximize o fluxo que sai de s
Fluxo para fora de i – Fluxo para dentro de i = 0 para i ≠ s, t
23
O Problema do Fluxo Máximo
Em geral, a formulação do PL é a seguinte:
Maximize
de outro modo
O PL não é formulado como um caso especial de
uma formulação do fluxo de custos mínimos.
Podemos reformular desse modo?
24
Mais sobre o problema do fluxo
máximo
O fluxo atual é ideal?
Um corte s-t é uma separação dos nós em
duas partes, S e T, com s em S e t em T.
Grafo com capacidades e fluxos
(sublinhados)
A capacidade do corte é a soma das
capacidades de S a T.
O fluxo máximo de s a t é, no máximo, a
capacidade de qualquer corte s-t.
25
O Problema do Caminho Mais Curto
Qual é o caminho mais curto entre um nó de origem ou fonte
(muitas vezes denotado como s) e um nó de destino ou
convergência (muitas vezes denotado como t)? Qual é o caminho
mais curto do nó 1 ao nó 6?
Suposições atuais:
1. Existe um caminho do nó s a todos os outros nós.
2. Todos os comprimentos de arco são positivos ou nulos.
26
Aplicações Diretas
• Qual é o caminho com o menor tempo de
viagem entre a 77 Massachusetts Avenue
e o Boston City Hall?
• Qual é o caminho entre os edifícios 7 e
E40, o qual minimiza o tempo gasto no
lado de fora?
• Qual é o percurso de comunicação mais
rápido entre i e j (considerando-se o
congestionamento nos nós)?
27
Formulação como um programa linear
Em geral, a formulação do LP é a seguinte:
Minimize
de outro modo
28
O Problema do Caminho Mais Curto
• Fato: O problema do caminho mais curto é
um caso especial do problema do fluxo de
custos mínimos.
• Muitas aplicações interessantes (em
breve)
• Algoritmo extremamente rápido (em
breve)
• Vínculo com a programação dinâmica
(daqui a muitas aulas)
29
Conclusões
• As vantagens dos problemas do transporte e
do fluxo de custos mínimos
– Soluções inteiras
– Métodos de solução extremamente rápidos
– Métodos comuns em modelagem
• Hoje, vimos o seguinte:
–
–
–
–
–
O problema do fluxo de custos mínimos
O problema do transporte
O problema da atribuição
O problema do fluxo máximo
O problema do caminho mais curto
30
Download

O Problema do Fluxo de Custos Mínimos