Pesquisa Operacional Programação em Redes Profa. Alessandra Martins Coelho outubro/2013
Modelagem em redes: Facilitar a visualização e a compreensão das características do sistema 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
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)
Um grafo cujas arestas(arcos) e/ou nós estão associados à variável numérica fluxo e/ou capacidade é chamado de rede 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).
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, formase 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 Origens c 11 :x 11 Destinos Cf 1 F1 C 1 d 1 Cf 2 F 2 C 2 d 2 Capacidade de fornecimento Cf m F m Demanda consumida Cn d n C mn ; X mn
Formulação matemática do problema Clássico de Transporte c ij : custo de transporte por unidade, do fornecedor i (i=1,..., m) para o consumidor j (j=1,..., n) x ij : quantidade transportada do fornecedor i (i=1,...m) para o consumidor j (j=1,..., n) Cf i : capacidade de abastecimento do fornecedor (origem) d i : demanda do consumidor (destino) j. Objetivo do problema: determinar as incógnitas x ij 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: n i= 1 m i= 1 x ij x m n i = 1 j = 1 ij x ij 0 Cfi d c ij x ij j (i = 1, 2,..., m) (j = 1, 2,..., n)
Formulação matemática do problema Clássico de Transporte Min Z = s. a: n i= 1 m i= 1 x m n i = 1 j = 1 ij x ij Cfi d c ij x ij j (i = 1, 2,..., m) (j = 1, 2,..., n) Corresponde a um problema de programação linear x ij 0
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. n i= 1 Cfi di
Problemas de Transporte Min Z = s. a: Se a capacidade total de fornecimento é exatamente igual á demanda total consumida, isto é, n i= 1 Cfi = di o problema é conhecido como problema de transporte balanceado, podendo ser reescrito como: i= 1 m n i= 1 x ij m n i = 1 j = 1 x x = ij ij = 0 d c ij x ij Cfi j (i = 1, 2,..., m) (j = 1, 2,..., n)
Problemas de Transporte Se a capacidade de fornecimento total for menor que a demanda total consumida n i= 1 Cfi < di alguns consumidores não serão atendidos. Os fornecedores utilizarão sua capacidade máxima. O problema pode ser escrito como: Min Z = s. a: n i= 1 m i= 1 x ij m n i = 1 j = 1 x ij = x ij 0 d c ij x ij Cfi j (i = 1, 2,..., m) (j = 1, 2,..., n)
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 consumidor São Paulo Rio de Janeiro Curitiba Capacidade Osasco 12 22 30 100 Sorocaba 18 24 32 140 São Sebastião 22 15 34 160 demanda 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: x ij (quant. de peças transportadas do fornecedor i para o consumidor j), com i=1,2,3 e j=1,2,3 x 11 = transporte de Osasco para São Paulo x 12 = transporte de Osasco para Rio de Janeiro x 13 = transporte de Osasco para Curitiba x 21 = transporte de Sorocaba para São Paulo x 22 = transporte de Sorocaba para Rio de Janeiro x 23 = transporte de Sorocaba para Curitiba x 31 = transporte de São Sebastião para São Paulo x 32 = transporte de São Sebastião para Rio de Janeiro x 33 = transporte de são Sebastião para Curitiba
Solução A função objetivo busca minimizar o custo total de transporte: Min Z= 12x 11 +22x 12 +30x 13 +18x 21 +24x 22 + +32x 23 +22x 31 +15x 32 +34x 33
Solução As restrições do modelo: 1. A capacidade de cada fornecedor será utilizada para atender a demanda dos consumidores x 11 +x 12 +x 13 = 100 x 21 +x 22 +x 23 =140 x 31 +x 32 +x 33 =160
Solução As restrições do modelo: 2. A demanda de cada consumidor deve ser atendida x 11 +x 21 +x 31 = 120 x 21 +x 22 +x 32 =130 x 31 +x 23 +x 33 =150
Solução As restrições do modelo: 3. As variáveis de decisão do modelo são não negativas. xij 0 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ício Problema Balanceado Forma Tabular
Consumidor. 12 22 30 x12 x13 Capacidade 100 Fornecedor x21 18 24 32 x22 x32 140 x31 22 15 34 x32 x33 160 Demanda 120 130 150 m fornecedores n consumidores Problema de transporte balanceado possui m+n restrições de igualdade O 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ásicas Para o problema acima: m = 3 e n =3, tem-se 5 variáveis básicas
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 consumidor 1 2 3 capacidade 1 x 11 x 12 x 13 100 fornecedor 2 x 12 x 22 x 23 140 3 x 13 x 32 x 33 160 demanda 120 130 150
Método do canto noroeste consumidor 1 2 3 capacidade 1 100 x x 100 fornecedor 2 140 3 160 demanda 120 130 150
Método do canto noroeste consumidor 1 2 3 capacidade 1 100 x x 100 fornecedor 2 20 140 3 160 demanda 120 130 150
Método do canto noroeste consumidor 1 2 3 capacidade 1 100 x x 100 fornecedor 2 20 140 3 x 160 demanda 120 130 150
Método do canto noroeste consumidor 1 2 3 capacidade 1 100 x x 100 fornecedor 2 20 120 x 140 3 x 160 demanda 120 130 150
Método do canto noroeste consumidor 1 2 3 capacidade 1 100 x x 100 fornecedor 2 20 120 x 140 3 x 10 160 demanda 120 130 150
Método do canto noroeste consumidor 1 2 3 capacidade 1 100 x x 100 fornecedor 2 20 120 x 140 3 x 10 150 160 demanda 120 130 150 Solução básica : x 11 = 100, x 21 = 20, x 22 = 120, x 32 = 10, x 33 = 150, com z=9690 Variá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 consumidor. 12 22 30 x12 x13 Capacidade 100 Fornecedor x21 18 24 32 x22 x32 140 x31 22 15 34 x32 x33 160 Demanda 120 130 150
Método do Custo Mínimo consumidor 100 12 22 30 x x Capacidade 100 Fornecedor x21 18 24 32 x x32 140 x31 22 15 34 x33 160 Demanda 120 130 150
Método do Custo Mínimo consumidor 100 12 22 30 x x Capacidade 100 Fornecedor 18 24 32 x x32 140 x31 22 15 34 130 x33 160 Demanda 120 130 150
Método do Custo Mínimo consumidor 100 12 22 30 x x Capacidade 100 Fornecedor 20 18 24 32 x x32 140 x 22 15 34 130 x33 160 Demanda 120 130 150
Método do Custo Mínimo consumidor 100 12 22 30 x x Capacidade 100 Fornecedor 20 18 24 32 x 120 140 x 22 15 34 130 x33 160 Demanda 120 130 150
Método do Custo Mínimo consumidor 100 12 22 30 x x Capacidade 100 Fornecedor 20 18 24 32 x 120 140 x 22 15 34 130 30 160 Demanda 120 130 150 Solução básica: x 11 = 100, x 21 = 20, x 23 = 120, x 32 = 130, x 33 = 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 consumidor 12 22 30 Capacidade 100 Penalidade na linha 22 12 = 10 Fornecedor 18 24 32 x21 x22 x32 140 24 18 = 6 x31 22 15 34 x32 x33 160 22 15 = 7 Demanda 120 130 150 Penalidade 18 12 22 15 32-30 Na coluna =6 =7 =2
Método de aproximação de Vogel consumidor 100 12 22 30 x x Capacidade 100 Penalidade na linha 22 12 = 10 Fornecedor x21 18 24 32 x22 x32 140 24 18 = 6 x31 22 15 34 x32 x33 160 22 15 = 7 Demanda 120 130 150 Penalidade 18 12 22 15 32-30 Na coluna =6 =7 =2
Método de aproximação de Vogel consumidor 100 12 22 30 x x Capacidade 100 Penalidade na linha - Fornecedor x21 18 24 32 x32 140 24 18 = 6 x31 22 15 34 x33 160 22 15 = 7 Demanda 120 130 150 Penalidade 22 18 24 15 34-32 Na coluna =4 =9 =2
Método de aproximação de Vogel consumidor 100 12 22 30 x x Capacidade 100 Penalidade na linha - Fornecedor x21 18 24 32 x x32 140 32 18 = 14 x31 22 15 34 130 x33 160 34 22 = 12 Demanda 120 130 150 Penalidade 22 18 24 15 34-32 Na coluna =4 =9 =2
Método de aproximação de Vogel consumidor 12 22 30 100 x x Capacidade 100 Penalidade na linha - Fornecedor 18 24 32 x 140 32 18 = 14 22 15 34 130 x33 160 34 22 = 12 Demanda 120 130 150 Penalidade 22 18-34 - 32 Na coluna =4 =2
Método de aproximação de Vogel consumidor 100 12 22 30 x x Capacidade 100 Penalidade na linha - Fornecedor 20 18 24 32 x 140 32 18 = 14 x 22 15 34 130 x33 160 34 22 = 12 Demanda 120 130 150 Penalidade 22 18-34 - 32 Na coluna =4 =2
Método de aproximação de Vogel consumidor 100 12 22 30 x x Capacidade 100 Penalidade na linha - Fornecedor 20 18 24 32 x 120 140 x 22 15 34 130 x33 160 34 22 = 12 Demanda 120 130 150 Penalidade - - 34-32 Na coluna =2
Método de aproximação de Vogel consumidor 100 12 22 30 x x Capacidade 100 Penalidade na linha - Fornecedor 20 18 24 32 x 120 140 x 22 15 34 130 30 160 34 22 = 12 Demanda 120 130 150 Solução Básica: x 11 = 100, x 21 = 20, x 23 = 120, x 32 = 130, x 33 = 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 u i e v i. Os coeficientes da FO (custos reduzidos) da variável x ij (c ij ) são dados pela seguinte fórmula: c ij = u i + v j -c ij
Teste de Otimalidade Como os custos reduzidos das variáveis básicas são nulos, a fórmula c ij = u i + v j -c ij se resume a u i + v j = c ij 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 u i + v j = c ij com m+n incógnitas, devese atribuir, arbitrariamente, o valor zero a um dos multiplicadores por exemplo, u 1 =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: u i + v i -c ij <=0, para cada variável não básica x ij 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 melhor Passo 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 x ij selecionada e aquela com maior custo reduzido (maior valor de u i + v i c ij ) Passo2. Escolher a variável básica que sairá da base Passo 3. Recalcular a nova solução básica (diretamente na forma tabular do problema de transporte)
Teste de Otimalidade fornecedor consumidor 1 2 3 capacidade 1 100 x x 2 18 24 20 120 x 3 22 15 x 10 150 demanda 120 130 150 12 22 30 32 34 100 140 160 Para cada variável básica x ij, descrever a equação u i + v j = c ij para x 11 : u 1 + v 1 = 12 fazendo u 1 = 0, tem-se: v 1 = para x 21 : u 2 + v 1 = 18 u 2 = para x 22 : u 2 + v 2 = 24 v 2 = para x 32 : u 3 + v 2 = 15 u 3 = para x 33 : u 3 + v 3 = 34 u 3 =
Teste de Otimalidade fornecedor consumidor 1 2 3 capacidade 1 100 x x 2 18 24 20 120 x 3 22 15 x 10 150 demanda 120 130 150 12 22 30 32 34 100 140 160 Para cada variável básica x ij, descrever a equação u i + v j = c ij para x 11 : u 1 + v 1 = 12 fazendo u 1 = 0, tem-se: v 1 = 12 para x 21 : u 2 + v 1 = 18 u 2 = 6 para x 22 : u 2 + v 2 = 24 v 2 = 18 para x 32 : u 3 + v 2 = 15 u 3 = -3 para x 33 : u 3 + v 3 = 34 u 3 = 37
Teste de Otimalidade Para cada variável básica x ij, descrever a equação u i + v j = c ij para x 11 : u 1 + v 1 = 12 fazendo u 1 = 0, tem-se: v 1 = 12 para x 21 : u 2 + v 1 = 18 u 2 = 6 para x 22 : u 2 + v 2 = 24 v 2 = 18 para x 32 : u 3 + v 2 = 15 u 3 = -3 para x 33 : u 3 + v 3 = 34 u 3 = 37 A partir desses multiplicadores, determinam-se os custos reduzidos das variáveis não básicas por meio de fórmula c ij = u i + v i -c ij c 12 = u 1 + v 2 c 12 = c 13 = u 1 + v 3 c 13 = c 23 = u 2 + v 3 c 23 = c 31 = u 3 + v 1 c 31 =
Teste de Otimalidade Para cada variável básica x ij, descrever a equação u i + v j = c ij para x 11 : u 1 + v 1 = 12 fazendo u 1 = 0, tem-se: v 1 = 12 para x 21 : u 2 + v 1 = 18 u 2 = 6 para x 22 : u 2 + v 2 = 24 v 2 = 18 para x 32 : u 3 + v 2 = 15 u 3 = -3 para x 33 : u 3 + v 3 = 34 u 3 = 37 A partir desses multiplicadores, determinam-se os custos reduzidos das variáveis não básicas por meio de fórmula c ij = u i + v i -c ij c 12 = u 1 + v 2 c 12 = 0 + 18 22 = -4 c 13 = u 1 + v 3 c 13 = 0 + 37 30 = 7 c 23 = u 2 + v 3 c 23 = 6 + 37 32 = 11 c 31 = u 3 + v 1 c 31 = -3 + 12 22 = -13 Como existem dois custos positivos, existe uma SBF adjacente melhor. Entra x 23, 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ásica A) deve-se iniciar e terminar em x 23 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 x 23 fornecedor 1 2 consumidor 1 2 3 capacidade 12 22 30 100 x x 18 24 32 20 120 0 100 140 3 22 15 34 x 10 150 160 demanda 120 130 150
Determinar SBF adjacente melhor fornecedor 1 2 3 consumidor 1 2 3 capacidade 12 22 30 100 x x 18 20 120 0 22 x 10 150 demanda 120 130 150 100 140 160 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. 24 15 32 34
Determinar SBF adjacente melhor fornecedor consumidor 1 2 3 capacidade 1 100 x x 2 18 24 20 0 120 3 22 15 x 130 30 demanda 120 130 150 12 22 30 100 140 160 x 23 = 120 e x 22 = 0 Calcular os novos valores para x 32 e x 33. X 32 = 130 e x 33 = 30 32 34
Determinar SBF adjacente melhor fornecedor consumidor 1 2 3 capacidade 1 100 x x 2 18 24 20 0 120 3 22 15 x 130 30 demanda 120 130 150 12 22 30 32 34 100 140 160 Para cada variável básica x ij, descrever a equação u i + v j = c ij para x 11 : u 1 + v 1 = 12 fazendo u 1 = 0, tem-se: v 1 = para x 21 : u 2 + v 1 = 18 u 2 = para x 23 : u 2 + v 3 = 32 v 3 = para x 32 : u 3 + v 2 = 15 u 3 = para x 33 : u 3 + v 3 = 34 v 2 =
Determinar SBF adjacente melhor fornecedor consumidor 1 2 3 capacidade 1 100 x x 2 18 24 20 0 120 3 22 15 x 130 30 demanda 120 130 150 12 22 30 32 34 100 140 160 Para cada variável básica x ij, descrever a equação u i + v j = c ij para x 11 : u 1 + v 1 = 12 fazendo u 1 = 0, tem-se: v 1 = 12 para x 21 : u 2 + v 1 = 18 u 2 = 6 para x 23 : u 2 + v 3 = 32 v 3 = 26 para x 32 : u 3 + v 2 = 15 u 3 = 8 para x 33 : u 3 + v 3 = 34 v 2 = 7
Teste de Otimalidade Para cada variável básica x ij, descrever a equação u i + v j = c ij para x 11 : u 1 + v 1 = 12 fazendo u 1 = 0, tem-se: v 1 = 12 para x 21 : u 2 + v 1 = 18 u 2 = 6 para x 23 : u 2 + v 2 = 32 v 3 = 26 para x 32 : u 3 + v 2 = 15 u 3 = 8 para x 33 : u 3 + v 3 = 34 v 2 = 7 A partir desses multiplicadores, determinam-se os custos reduzidos das variáveis não básicas por meio de fórmula c ij = u i + v i -c ij c 12 = u 1 + v 2 c 12 = c 13 = u 1 + v 3 c 13 = c 22 = u 2 + v 2 c 23 = c 31 = u 3 + v 1 c 31 =
Teste de Otimalidade Para cada variável básica x ij, descrever a equação u i + v j = c ij para x 11 : u 1 + v 1 = 12 fazendo u 1 = 0, tem-se: v 1 = 12 para x 21 : u 2 + v 1 = 18 u 2 = 6 para x 23 : u 2 + v 2 = 32 v 3 = 26 para x 32 : u 3 + v 2 = 15 u 3 = 8 para x 33 : u 3 + v 3 = 34 v 2 = 7 A partir desses multiplicadores, determinam-se os custos reduzidos das variáveis não básicas por meio de fórmula c ij = u i + v i -c ij c 12 = u 1 + v 2 c 12 = 0 + 7 22 = -15 c 13 = u 1 + v 3 c 13 = 0 +26-30 = -4 c 22 = u 2 + v 2 c 23 =6 + 7 24 = -11 c 31 = u 3 + v 1 c 31 =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. x 11 = 100, x 21 = 20, x 23 = 120, x 32 = 130 e x 33 = 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 fornecedor Loja 1 8 12 10 50 Loja 2 4 10 6 100 Loja 3 6 15 12 40 demanda 60 70 30
Solução Solução (a): modelar as restrições na forma de desigualdade Min z = 8x 11 + 12x 12 + 10x 13 + 4x 21 + 10x 22 + 6x 23 + 6x 31 +15x 32 +12x 33 s. a: x 11 + x 12 + x 13 <= 50 x 21 + x 22 + x 23 <=100 x 31 + x 32 + x 33 <= 40 x 11 + x 21 + x 31 >= 60 x 12 + x 22 + x 32 >= 70 x 13 +x 23 +x 33 >=30 x ij >= 0 Solução ótima: x 11 = 0, x 12 =50, x 13 = 0, x 21 = 50, x 22 = 20, x 23 = 30, x 31 = 10, x 32 =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 = 8x 11 + 12x 12 + 10x 13 + 4x 21 + 10x 22 + 6x 23 + 6x 31 +15x 32 +12x 33 s. a: x 11 + x 12 + x 13 = 50 x 21 + x 22 + x 23 =100 x 31 + x 32 + x 33 = 40 x 11 + x 21 + x 31 = 60 x 12 + x 22 + x 32 = 70 X 13 + x 23 + x 33 = 30 X 14 + x 24 + x 34 = 30 x ij >= 0 Solução ótima: x 11 = 0, x 12 =50, x 13 = 0, x 21 = 50, x 22 = 20, x 23 = 30, x 31 = 10, x 32 =0, com z = 1240
Capacidade de fornecimento < que demanda total consumida Deve-se criar um fornecedor fantasma
Exercício Modelar o programa, a seguir, e resolvê-lo usando o algortimo de Transporte