88
Pesquisa Operacional Programação em Redes Profa. Alessandra Martins Coelho outubro/2013

Programação em Redes - Departamento de Ciência da ... · Algoritmo de transporte ... mínimo e método da aproximação de Vogel. • Passo 2: Teste de otimalidade – usar método

Embed Size (px)

Citation preview

Pesquisa OperacionalProgramação em Redes

Profa. Alessandra Martins Coelho

outubro/2013

Problema de programação em redes

• Modelado por meio de uma estrutura de grafo ou rede que consiste em diversos nós, cada nó deve estar conectado a um ou mais arcos.

• Aplicações:– Produção, transporte, localização de facilidades,

gestão de projetos, finanças, entre outras– Muitos podem ser formulados como problemas de

programação linear e resolvidos pelo método simplex

• Modelagem em redes:– Facilitar a visualização e a compreensão das

características do sistema

Problema de programação em redes

• Exemplos de problemas:– Transporte (clássico)– Transbordo– Designação de tarefas– Caminho mais curto– Fluxo máximo– Árvore geradora mínima

A terminologia de Grafos e Redes

• Grafo:– Um grafo é uma estrutura representada como um

conjunto de pontos (vértices, nós) ligados por retas (arestas).

– Dependendo da aplicação, as arestas podem ser direcionadas (arcos), e são representadas por setas.

A terminologia de Grafos e Redes

• Os vértices podem representar facilidades (como fábricas, centros de distribuição, terminais ou portos marítimos), estações de trabalho ou Interseções;

• As arestas fazem conexões entre pares de nós, podendo representar caminhos, rotas, fios cabos, canis, entre outros.

G= (V,A)

A terminologia de Grafos e Redes

• Muitas vezes, as arestas (ou arcos) de um grafo que fazem conexões entre os nós estão associados a uma variável numérica chamada fluxo (como distância entre os nós, custo de transporte, tempo despendido, dimensão do fio, quantidade de peças transportadas, entre outras).

• Os nós de um grafo podem estar associados a uma variável numérica chamada capacidade, (podendo representar a capacidade de carga e descarga, suprimentos, demanda, entre outros).

• Um grafo cujas arestas(arcos) e/ou nós estão associados à variável numérica fluxo e/ou capacidade é chamado de rede

Rede

• Os nós podem ser subdivididos em três tipos:– oferta ou fontes– demanda– transbordo

Rede• Nós de oferta ou fontes:

– Representam entidades que produzem ou distribuem determinada produto

• Nós de demanda:– Representam entidades que consomem o produto

• Nós de transbordo– Pontos intermediários entre nós de oferta e demanda

e representam os pontos de passagem desses produtos

Rede• Arco:

– Direcionado– Não direcionado

• Quando todos os arcos da rede são direcionados – rede direcionada

• Caminho entre dois nós: seqüência de diferentes arcos conectando esses dois nós.

• Um caminho que tem uma única direção: caminho direcionado

Rede• Caminho hamiltoniano – visita cada vértice (nó) uma

única vez

• Um caminho que começa e termina no mesmo vértice (nó) – ciclo

• Se o caminho percorrido no ciclo é direcionado – ciclo direcionado

• Rede conexa - existe um caminho entre qualquer par de vértices (nós)

• Rede com estrutura de árvore – conexa e acíclica

Rede

• Dentro do conceito de árvores:– Uma árvore com n nós contém n-1 arcos– Se um arco for adicionado à árvores, forma-

se um ciclo– Se um arco for eliminado da árvore, a rede

deixa de ser conexa

Rede

• Árvore geradora ou de cobertura– Dado um grafo G = (V, A), uma árvore

geradora é um subgrafo de G que tem a estrutura de uma árvore e contém todos os nós de G.

Exemplos

Problemas de Transporte

• Esta classe de problemas recebeu este nome porque seu método de resolução, denominado Método de Transporte, foi inicialmente utilizado para determinar o menor custo de transporte entre diversas fábricas de um produto e diversos centros consumidores.

Problema Clássico de Transporte• Determinar as quantidades de produtos a serem

transportadas a partir de um conjunto de fornecedores para um conjunto de consumidores, de maneira que o custo total de transporte seja minimizado.

• Cada fornecedor fabrica um número fixo de produtos, e cada consumidor tem uma demanda conhecida que será atendida.

• O modelo é modelado a partir de dois elos da cadeia de suprimentos, ou seja, não considera facilidades intermediárias (centros de distribuição, terminal, porto marítimo ou fábrica)

Representação em redes do problema de transporte

F1

F2

C1

CnFm

C2

Cf1

Cf2

Cfm

d1

d2

dn

Origens c11:x11 Destinos

Cmn; Xmn

Capacidade de fornecimento

Demanda consumida

Formulação matemática do problema Clássico de Transporte

• cij : custo de transporte por unidade , do fornecedor i (i=1, ..., m) para o consumidor j (j=1,..., n)

• xij: quantidade transportada do fornecedor i (i=1, ...m) para o consumidor j (j=1,..., n)

• Cfi: capacidade de abastecimento do fornecedor (origem)

• di: demanda do consumidor (destino)j.

• Objetivo do problema: determinar as incógnitas xij que minimizarão o custo total de transporte e, ao mesmo tempo, satisfarão todas as restrições de suprimento e demanda.

Formulação matemática do problema Clássico de Transporte

Min Z =s. a:

∑ ∑= =

m

i

n

jijijxc

1 1

j

m

iij dx ≥∑

= 1

iCfxn

iij ≤∑

= 1

(i = 1, 2, ..., m)

(j = 1, 2, ..., n)

0≥ijx

Formulação matemática do problema Clássico de Transporte

Min Z =s. a:

∑ ∑= =

m

i

n

jijijxc

1 1

j

m

iij dx ≥∑

= 1

iCfxn

iij ≤∑

= 1

(i = 1, 2, ..., m)

(j = 1, 2, ..., n)

Corresponde a um problema de programação linear

0≥ijx

Problemas de Transporte

• O problema de transporte poderia ser resolvido pelo método Simplex.

• No entanto, a estrutura especial do problema em redes permite a obtenção de algoritmos de solução mais eficientes, como o algoritmo de transporte

Problemas de Transporte• Para que o problema tenha solução básica factível, a

capacidade total de fornecimento deve ser maior ou igual à demanda de todos os consumidores.

ii dCfn

i≥∑

= 1

Problemas de Transporte

Min Z =s. a:

ii dCfn

i=∑

= 1

• Se a capacidade total de fornecimento é exatamente igual á demanda total consumida, isto é,

o problema é conhecido como problema de transporte balanceado, podendo ser reescrito como:

∑ ∑= =

m

i

n

jijijxc

1 1

j

m

iij dx =∑

= 1

iCfxn

iij =∑

= 1

(j = 1, 2, ..., n)

(i = 1, 2, ..., m)

0≥ijx

Problemas de Transporte

ii dCfn

i<∑

= 1

• Se a capacidade de fornecimento total for menor que a demanda total consumida

alguns consumidores não serão atendidos. Os fornece-dores utilizarão sua capacidade máxima. O problema pode ser escrito como:

∑ ∑= =

m

i

n

jijijxc

1 1

j

m

iij dx ≤∑

= 1

iCfxn

iij =∑

= 1

(j = 1, 2, ..., n)

0≥ijx

Min Z =s. a:

(i = 1, 2, ..., m)

Exemplo 1• A Karpet Ltda é uma empresa fabricante de autopeças,

cujas sedes estão localizadas em Osasco, Sorocaba e São Sebastião. Seus clientes encontram-se em São Paulo, Rio de Janeiro e Curitiba. Os custos unitários de transporte de cada origem para cada destino, assim como a capacidade de cada fornecedor, encontram-se na tabela abaixo:

Fornecedor

custo unitário de transporte

Capacidadeconsumidor

São Paulo Rio de Janeiro CuritibaOsasco 12 22 30 100Sorocaba 18 24 32 140São Sebastião 22 15 34 160demanda 120 130 150

• O objetivo é atender a demanda de cada consumidor final, respeitando as capacidades de fornecimento, de forma a minimizar o custo total de transporte. Modelar o problema de transporte

Solução• A capacidade de fornecimento é igual á demanda total

consumida – problema de transporte balanceado• Variáveis de decisão: xij (quant. de peças transportadas

do fornecedor i para o consumidor j), com i=1,2,3 e j=1,2,3

x11 = transporte de Osasco para São Paulox12 = transporte de Osasco para Rio de Janeirox13= transporte de Osasco para Curitibax21 = transporte de Sorocaba para São Paulox22 = transporte de Sorocaba para Rio de Janeirox23= transporte de Sorocaba para Curitibax31 = transporte de São Sebastião para São Paulox32 = transporte de São Sebastião para Rio de Janeirox33= transporte de são Sebastião para Curitiba

Solução• A função objetivo busca minimizar o custo

total de transporte:Min Z= 12x11+22x12+30x13+18x21+24x22+ +32x23+22x31+15x32+34x33

Solução• As restrições do modelo:1. A capacidade de cada fornecedor será

utilizada para atender a demanda dos consumidores

x11+x12+x13= 100x21+x22+x23=140x31+x32+x33=160

Solução• As restrições do modelo:2. A demanda de cada consumidor deve ser

atendidax11+x21+x31= 120x21+x22+x32=130x31+x23+x33=150

Solução• As restrições do modelo:3. As variáveis de decisão do modelo são não

negativas.

0≥ijx i= 1,2,3 e j=1,2,3

Algoritmo de transporte• Início: o problema deve estar balanceado (fluxo

total de entrada = fluxo total de saída) e representado na forma tabular

• Passo 1: encontrar uma solução básica factível inicial. Para isso, são apresentados 3 métodos: método do canto noroeste, método do custo mínimo e método da aproximação de Vogel.

• Passo 2: Teste de otimalidade – usar método dos multiplicadores, baseado na teoria da dualidade. Aplicar a condição de otimalidade do método simplex ao problema de transporte. Se a condição é satisfeita, o algoritmo termina aqui, caso contrário, determina-se uma SBF adjacente melhor.

Algoritmo de transporte• Iteração: Determinar uma SBF adjacente

melhor• Três passos devem ser tomados:1. determinar a variável não básica que entrará na base, utilizando o método dos multiplicadores.2. escolher a variável básica que passará para o conjunto de variáveis não básica utilizando a condição de factibilidade do método simplex.Recalcular a nova solução básica.

InícioProblema Balanceado

Forma Tabular

m fornecedoresn consumidoresProblema de transporte balanceado possui m+n restrições de igualdadeO problema balanceado possui fluxo total de entrada = saída . Pode-se afirmar que uma das restrições é redundante.Assim possui m +n-1 equações independentes e m+n-1 variáveis básicasPara o problema acima: m = 3 e n =3 , tem-se 5 variáveis básicas

.

x31

x21

x12

x22

x13

x32

x32 x33

12 22 30

18 24 32

22 15 34

Demanda 120 130 150

Capacidade

100

140

160

Fornecedor

Consumidor

Passo 2

Determinar solução Básica Factível

Método do canto noroeste• Passo 1: selecione a célula x

11, localizada no

canto superior esquerdo (noroeste)• Passo 2: Verificar a capacidade total do

Fornecedor 1 e a demanda do consumidor 1.Verificar a quantidade máxima que deve ser alocada. O valor máximo a ser alocado nessa célula é o mínimo entre esses dois valores

• Passo 3: Se o limite máximo de capacidade do fornecedor 1 ou a demanda for atingida, as células correspondentes à mesma linha/coluna devem ser bloqueadas.

Método do canto noroeste

1 2 3 capacidade1 x

11x

12x

13100

2 x12

x22

x23

140

3 x13

x32

x33

160

demanda 120 130 150

fornecedor

consumidor

Método do canto noroeste

1 2 3 capacidade1 100 x x 100

2 140

3 160

demanda 120 130 150

fornecedor

consumidor

Método do canto noroeste

1 2 3 capacidade1 100 x x 100

2 20 140

3 160

demanda 120 130 150

fornecedor

consumidor

Método do canto noroeste

1 2 3 capacidade1 100 x x 100

2 20 140

3 x 160

demanda 120 130 150

fornecedor

consumidor

Método do canto noroeste

1 2 3 capacidade1 100 x x 100

2 20 120 x 140

3 x 160

demanda 120 130 150

fornecedor

consumidor

Método do canto noroeste

1 2 3 capacidade1 100 x x 100

2 20 120 x 140

3 x 10 160

demanda 120 130 150

fornecedor

consumidor

Método do canto noroeste

1 2 3 capacidade1 100 x x 100

2 20 120 x 140

3 x 10 150 160

demanda 120 130 150

fornecedor

consumidor

Solução básica : x11

= 100, x21

= 20, x22

= 120, x32

= 10, x33

= 150, com z=9690Variáveis não básicas: x

12, x

13, x

23, x

31 iguais a 0

Método do Custo Mínimo

• Adaptação do método do canto noroeste, em que, em vez de selecionar a célula mais próxima do canto noroeste, seleciona-se aquela com menor custo.

Método do Custo Mínimo

• Passo 1: Selecione a célula de custo mínimo

• Passo 2: alocar a maior quantidade possível

• Passo 3: Se a capacidade do fornecedor for atingida ou a demanda for atendida, bloquear as outras células da linha/coluna

Método do Custo Mínimo

.

x31

x21

x12

x22

x13

x32

x32 x33

12 22 30

18 24 32

22 15 34

Demanda 120 130 150

Capacidade

100

140

160

consumidor

Fornecedor

Método do Custo Mínimo

100

x31

x21

x

x

x

x32

x33

12 22 30

18 24 32

22 15 34

Demanda 120 130 150

Capacidade

100

140

160

consumidor

Fornecedor

Método do Custo Mínimo

100

x31

x

x

x

x32

130 x33

12 22 30

18 24 32

22 15 34

Demanda 120 130 150

Capacidade

100

140

160

consumidor

Fornecedor

Método do Custo Mínimo

100

x

20

x

x

x

x32

130 x33

12 22 30

18 24 32

22 15 34

Demanda 120 130 150

Capacidade

100

140

160

consumidor

Fornecedor

Método do Custo Mínimo

100

x

20

x

x

x

120

130 x33

12 22 30

18 24 32

22 15 34

Demanda 120 130 150

Capacidade

100

140

160

consumidor

Fornecedor

Método do Custo Mínimo

100

x

20

x

x

x

120

130 30

12 22 30

18 24 32

22 15 34

Demanda 120 130 150

Capacidade

100

140

160

consumidor

Fornecedor

Solução básica: x11

= 100, x21

= 20, x23

= 120, x32

= 130, x33

= 30, com z=8370

Método de aproximação de Vogel

• Versão melhorada do método do custo mínimo que leva, geralmente, a melhores soluções iniciais.

Método de aproximação de Vogel

• Passo 1: para cada linha e coluna, calcular a penalidade que corresponde à diferença entre os dois menores custos unitários de transporte na respectiva linha (e coluna). A penalidade para uma linha (coluna) será calculada enquanto houver pelo menos duas células ainda não alocadas e não bloqueadas na mesma linha (coluna)

Método de aproximação de Vogel

• Passo 2: escolher a linha de maior penalidade. Em caso de empate, escolher qualquer uma delas, aleatoriamente.Na linha ou coluna selecionada, escolha a célula de menor custo.

Método de aproximação de Vogel

• Passo 3: Aloque a maior quantidade possível de produto, de forma que a soma das células correspondentes na mesma linha e na mesma coluna não ultrapasse a capacidade de fornecimento total e de demanda total, respectivamenete.

Método de aproximação de Vogel

• Passo 4: bloqueie as células correspondentes à mesma linha ou coluna que atingiu o limite máximo de fornecimento ou demanda, enquanto restar mais de uma célula não alocada e não bloqueada, volte ao passo 1, caso contrário, vá para o passo 5.

Método de aproximação de Vogel

• Passo 5: aloque a essa última célula a capacidade ou demanda remanescente.

Método de aproximação de Vogel

x31

x21 x22 x32

x32 x33

12 22 30

18 24 32

22 15 34

Demanda 120 130 150

Capacidade

100

140

160

consumidor

Fornecedor

Penalidade 18 – 12 22 – 15 32 - 30Na coluna =6 =7 =2

Penalidadena linha

22 – 12 = 10

24 – 18 = 6

22 – 15 = 7

Método de aproximação de Vogel

100

x31

x21

x

x22

x

x32

x32 x33

12 22 30

18 24 32

22 15 34

Demanda 120 130 150

Capacidade

100

140

160

consumidor

Fornecedor

Penalidade 18 – 12 22 – 15 32 - 30Na coluna =6 =7 =2

Penalidadena linha

22 – 12 = 10

24 – 18 = 6

22 – 15 = 7

Método de aproximação de Vogel

100

x31

x21

x x

x32

x33

12 22 30

18 24 32

22 15 34

Demanda 120 130 150

Capacidade

100

140

160

consumidor

Fornecedor

Penalidade 22 – 18 24 – 15 34 - 32Na coluna =4 =9 =2

Penalidadena linha

-

24 – 18 = 6

22 – 15 = 7

Método de aproximação de Vogel

100

x31

x21

x

x

x

x32

130 x33

12 22 30

18 24 32

22 15 34

Demanda 120 130 150

Capacidade

100

140

160

consumidor

Fornecedor

Penalidade 22 – 18 24 – 15 34 - 32Na coluna =4 =9 =2

Penalidadena linha

-

32 – 18 = 14

34 – 22 = 12

Método de aproximação de Vogel

100 x

x

x

130 x33

12 22 30

18 24 32

22 15 34

Demanda 120 130 150

Capacidade

100

140

160

consumidor

Fornecedor

Penalidade 22 – 18 - 34 - 32Na coluna =4 =2

Penalidadena linha

-

32 – 18 = 14

34 – 22 = 12

Método de aproximação de Vogel

100

x

20

x

x

x

130 x33

12 22 30

18 24 32

22 15 34

Demanda 120 130 150

Capacidade

100

140

160

consumidor

Fornecedor

Penalidade 22 – 18 - 34 - 32Na coluna =4 =2

Penalidadena linha

-

32 – 18 = 14

34 – 22 = 12

Método de aproximação de Vogel

100

x

20

x

x

x

130 x33

12 22 30

18 24 32

22 15 34

Demanda 120 130 150

Capacidade

100

140

160

consumidor

Fornecedor

Penalidade - - 34 - 32Na coluna =2

Penalidadena linha

-

34 – 22 = 12

120

Método de aproximação de Vogel

100

x

20

x

x

x

130 30

12 22 30

18 24 32

22 15 34

Demanda 120 130 150

Capacidade

100

140

160

consumidor

Fornecedor

Penalidadena linha

-

34 – 22 = 12

120

Solução Básica: x11

= 100, x21

= 20, x23

= 120, x32

= 130, x33

= 30, com z=8370

Passo 2

Teste da otimalidade

Teste de Otimalidade• Para verificar se a solução encontrada é

ótima, utiliza-se o métodos dos multiplicadores, que é baseado na teoria da dualidade

• A cada linha i e a cada coluna j é associado os multiplicadores ui e vi.

• Os coeficientes da FO (custos reduzidos) da variável xij (cij) são dados pela seguinte fórmula: cij = ui + vj -cij

Teste de Otimalidade• Como os custos reduzidos das variáveis básicas

são nulos, a fórmula cij = ui + vj -cij se resume a ui + vj = cij

• Como o modelo contém m+n-1 equações independentes e, consequentemente, m+n-1 variáveis básicas, para resolver o sistema de equações ui + vj = cij com m+n incógnitas, deve-se atribuir, arbitrariamente, o valor zero a um dos multiplicadores por exemplo, u1=0

Teste de Otimalidade• Para o problema de transporte (problema de

minimização), a solução atual é ótima se, e somente se, os custos reduzidos de todas as variáveis não básicas forem não positivos: ui + vi -cij <=0, para cada variável não básica xij

• Enquanto existir pelo menos uma variável não básica com custo reduzido positivo, há uma solução básica factível (SBF) adjacente melhor.

Teste de Otimalidade• Iteração: Determinar uma SBF adjacente

melhorPasso 1. determinar a variável não básica que entrará na base, utilizando o método dos multiplicadores. A variável não básica xij selecionada e aquela com maior custo reduzido (maior valor de ui + vi – cij) Passo2. Escolher a variável básica que sairá da basePasso 3. Recalcular a nova solução básica (diretamente na forma tabular do problema de transporte)

Teste de Otimalidade1 2 3 capacidade

1100 x x

100

220 120 x

140

3x 10 150

160

demanda 120 130 150

fornecedor

consumidor

12 22 30

32

3415

2418

22

Para cada variável básica xij, descrever a equação ui + vj = cij

para x11: u1 + v1 = 12 fazendo u1 = 0, tem-se: v1 =para x21: u2 + v1 = 18 u2 =para x22: u2 + v2 = 24 v2 =para x32: u3+ v2 = 15 u3 =para x33: u3 + v3 = 34 u3 =

Teste de Otimalidade1 2 3 capacidade

1100 x x

100

220 120 x

140

3x 10 150

160

demanda 120 130 150

fornecedor

consumidor

12 22 30

32

3415

2418

22

Para cada variável básica xij, descrever a equação ui + vj = cij

para x11: u1 + v1 = 12 fazendo u1 = 0, tem-se: v1 = 12para x21: u2 + v1 = 18 u2 = 6para x22: u2 + v2 = 24 v2 = 18para x32: u3+ v2 = 15 u3 = -3para x33: u3 + v3 = 34 u3 = 37

Teste de OtimalidadePara cada variável básica xij, descrever a equação ui + vj = cij

para x11: u1 + v1 = 12 fazendo u1 = 0, tem-se: v1 = 12para x21: u2 + v1 = 18 u2 = 6para x22: u2 + v2 = 24 v2 = 18para x32: u3+ v2 = 15 u3 = -3para x33: u3 + v3 = 34 u3 = 37

A partir desses multiplicadores, determinam-se os custos reduzidos das variáveis não básicas por meio de fórmula cij = ui + vi -cij

c12= u1 + v2 – c12 =c13 = u1 + v3 – c13 =c23 = u2 + v3 – c23 =c31 = u3+ v1 – c31 =

Teste de OtimalidadePara cada variável básica xij, descrever a equação ui + vj = cij

para x11: u1 + v1 = 12 fazendo u1 = 0, tem-se: v1 = 12para x21: u2 + v1 = 18 u2 = 6para x22: u2 + v2 = 24 v2 = 18para x32: u3+ v2 = 15 u3 = -3para x33: u3 + v3 = 34 u3 = 37

A partir desses multiplicadores, determinam-se os custos reduzidos das variáveis não básicas por meio de fórmula cij = ui + vi -cij

c12= u1 + v2 – c12 = 0 + 18 – 22 = -4c13 = u1 + v3 – c13 = 0 + 37 – 30 = 7c23 = u2 + v3 – c23 = 6 + 37 – 32 = 11c31 = u3+ v1 – c31 = -3 + 12 – 22 = -13

Como existem dois custos positivos, existe uma SBF adjacente melhor. Entra x23, pois é o maior custo reduzido.

Determinar SBF adjacente melhor• Um ciclo fechado deve ser construído para determinar a variável que sairá da base e

para calcular a nova solução básicaA) deve-se iniciar e terminar em x23

B)ser formado por uma sequencia de segmentos verticais e horizontais conectados entre si

C) cada esquina deve estar associada a uma variável básica, com exceção de x23

1 2 3 capacidade1

100 x x100

220 120 0

140

3x 10 150

160

demanda 120 130 150

fornecedor

consumidor

12 22 30

32

3415

2418

22

Determinar SBF adjacente melhor

• Determinar a variável que sairá da base. Escolher a variável que possui o menor valor (120<150) (esquinas vizinhas). A restrição de capacidade do fornecedor deve ser respeitada.

1 2 3 capacidade1

100 x x100

220 120 0

140

3x 10 150

160

demanda 120 130 150

fornecedor

consumidor

12 22 30

32

3415

2418

22

Determinar SBF adjacente melhor

• x23 = 120 e x22 = 0• Calcular os novos valores para x32 e x33.• X32 = 130 e x33 = 30

1 2 3 capacidade1

100 x x100

220 0 120

140

3x 130 30

160

demanda 120 130 150

fornecedor

consumidor

12 22 30

32

3415

2418

22

Determinar SBF adjacente melhor1 2 3 capacidade

1100 x x

100

220 0 120

140

3x 130 30

160

demanda 120 130 150

fornecedor

consumidor

12 22 30

32

3415

2418

22

Para cada variável básica xij, descrever a equação ui + vj = cij

para x11: u1 + v1 = 12 fazendo u1 = 0, tem-se: v1 = para x21: u2 + v1 = 18 u2 = para x23: u2 + v3 = 32 v3 = para x32: u3+ v2 = 15 u3 = para x33: u3 + v3 = 34 v2 =

Determinar SBF adjacente melhor1 2 3 capacidade

1100 x x

100

220 0 120

140

3x 130 30

160

demanda 120 130 150

fornecedor

consumidor

12 22 30

32

3415

2418

22

Para cada variável básica xij, descrever a equação ui + vj = cij

para x11: u1 + v1 = 12 fazendo u1 = 0, tem-se: v1 = 12para x21: u2 + v1 = 18 u2 = 6para x23: u2 + v3 = 32 v3 = 26para x32: u3+ v2 = 15 u3 = 8para x33: u3 + v3 = 34 v2 = 7

Teste de OtimalidadePara cada variável básica xij, descrever a equação ui + vj = cij

para x11: u1 + v1 = 12 fazendo u1 = 0, tem-se: v1 = 12para x21: u2 + v1 = 18 u2 = 6para x23: u2 + v2 = 32 v3 = 26para x32: u3+ v2 = 15 u3 = 8para x33: u3 + v3 = 34 v2 = 7

A partir desses multiplicadores, determinam-se os custos reduzidos das variáveis não básicas por meio de fórmula cij = ui + vi -cij

c12= u1 + v2 – c12 =c13 = u1 + v3 – c13 =c22 = u2 + v2 – c23 =c31 = u3+ v1 – c31 =

Teste de OtimalidadePara cada variável básica xij, descrever a equação ui + vj = cij

para x11: u1 + v1 = 12 fazendo u1 = 0, tem-se: v1 = 12para x21: u2 + v1 = 18 u2 = 6para x23: u2 + v2 = 32 v3 = 26para x32: u3+ v2 = 15 u3 = 8para x33: u3 + v3 = 34 v2 = 7

A partir desses multiplicadores, determinam-se os custos reduzidos das variáveis não básicas por meio de fórmula cij = ui + vi -cij

c12= u1 + v2 – c12 = 0 + 7 – 22 = -15c13 = u1 + v3 – c13 = 0 +26 - 30 = -4c22 = u2 + v2 – c23 =6 + 7 – 24 = -11c31 = u3+ v1 – c31 =8 + 12 – 22 = -2

Como todos os custos reduzidos de todas as variáveis não básicas são negativos, a solução atual é ótima.x11 = 100, x21 = 20, x23 = 120, x32 = 130 e x33 = 30, com z= 8370

Capacidade de fornecimento > que a demanda total consumida

• Para que o algoritmo de transporte seja utilizado o problema deve estar balanceado.

• Solução: criar um consumidor fantasma que irá absorver todo o excesso de oferta.

• A empresa Caramelos & Confetes atua no ramo doceiro desde 1990 e possui 3 lojas localizadas na Grande São Paulo. Seus principais clientes estão localizados na Capital Paulista, Baixada Santista e Vale do Paraíba. A capacidade de produção das lojas, a demanda dos clientes e os custos por unidade distribuída de cada loja para cada cliente estão na tabela abaixo. A fim de minimizar o custo total de transporte, a empresa quer determinar quanto distribuir de cada loja para os respectivos consumidores, respeitando a capacidade de produção e garantindo que as demandas serão atendidas. Formule o problema de transporte da empresa.

custo unitário de transporte

consumidor

São Paulo B. Santista Vale Paraíba capacidade

fornecedorLoja 1 8 12 10 50Loja 2 4 10 6 100Loja 3 6 15 12 40

demanda 60 70 30

Solução• Solução (a): modelar as restrições na forma de desigualdadeMin z = 8x11 + 12x12 + 10x13+ 4x21 + 10x22 + 6x23 + 6x31+15x32+12x33

s. a:

x11 + x12 + x13 <= 50x21 + x22 + x23 <=100x31 + x32 + x33 <= 40x11 + x21 + x31 >= 60x12 + x22 + x32 >= 70x13+x23+x33 >=30xij>= 0Solução ótima: x11 = 0, x12=50, x13= 0, x21 = 50, x22 = 20, x23 = 30, x31 = 10, x32=0, com z = 1240

Solução• Solução (b): para que o algoritmo de transporte possa ser aplicado, o

problema deve estar balanceado.• Criar um consumidor fantasma para absorver o excesso de oferta de 30

unidades.Min z = 8x11 + 12x12 + 10x13+ 4x21 + 10x22 + 6x23 + 6x31+15x32+12x33

s. a:

x11 + x12 + x13 = 50x21 + x22 + x23 =100x31 + x32 + x33 = 40x11 + x21 + x31 = 60x12 + x22 + x32 = 70X13 + x23 + x33 = 30X14 + x24 + x34 = 30xij>= 0Solução ótima: x11 = 0, x12=50, x13= 0, x21 = 50, x22 = 20, x23 = 30, x31 = 10, x32=0, com z = 1240

Capacidade de fornecimento < que demanda total consumida

• Deve-se criar um fornecedor fantasma

ExercícioModelar o programa, a seguir, e resolvê-lo

usando o algortimo de Transporte