Você está na página 1de 18

UNIVERSIDADE DE CABO VERDE

Ciências Empresariais e Organizacionais - 3ºAno

Ano Letivo 2021/2022 1º semestre

Trabalho de grupo de Investigação Operacional

Docente: Robert de Sousa Discentes:

Ludmira Moreira Tavares;

Mikeila Melissa Teixeira Cardoso;

Riana Sofia Lopes Monteiro.


Índice

Enquadramento ................................................................................................................. 3

Problema de Transporte .................................................................................................... 4

Degenerescência ............................................................................................................... 6

Problema de afetação ........................................................................................................ 7

Resolução de exercício ..................................................................................................... 9


Enquadramento
Problemas sempre surgem em qualquer atividade humana e determinar um
modelo matemático que reflita a realidade é parte do desafio para encontrar soluções,
encaixada na área da Investigação Operacional que trata da modelagem matemática destes
problemas, tanto quando os fenômenos envolvidos são estáticos ou determinísticos, onde
todos os componentes do problema são conhecidos e sem aleatoriedade, quanto
dinâmicos ou estocásticos, onde os seus componentes apresentam uma probabilidade de
ocorrer de determinada forma.

Uma classe da programação linear com aplicações importantes é conhecida comumente


como Problema de Transporte, este problema foi formulado por Hitchcock em 1941, que
também esboçou um procedimento construtivo para resolvê-lo, similar ao método
Simplex. Independentemente, durante a II Guerra Mundial, Koopmans (1947) também
estudou este problema, o que fez com que fosse chamado de Problema de Transporte
Hitchcock-Koopmans.
Seu objetivo é determinar a programação de expedição que minimize o custo total
de expedição e, ao mesmo tempo, satisfaça os limites de fornecimento e demanda. A
aplicação do problema de transporte pode ser estendida a outras áreas de operações, entre
elas controle de estoque, programação de empregos e designação de pessoal. Alinhado à
este objetivo surge também o problema de afetação que pode ser formulado como um
caso especial do problema de transporte, utilizando um método de resolução mais
eficiente.

De um modo ou outro pretende-se, com a resolução deste problema, afetar (atribuir,


distribuir) da forma mais económica indivíduos a tarefas, entendidos estas entidades em
sentido geral.

Levando os pontos referidos acima em consideração, este trabalho de grupo da


disciplina de Investigação Operacional é elaborado com o intuito de promover a pesquisa
acerca dos problemas de transporte e afetação, através da aplicação e resolução de
exercícios possibilitando a compreensão de problemas envolvidas num contexto real.
Ponderando estes pontos o trabalho está dividido em duas partes, a primeira parte
apresenta as informações recolhidas com as pesquisa feitas sobre o assunto em questão,
enquanto que na segunda parte revolve-se os exercícios à luz das pesquisas feitas.

3
Problema de Transporte
O problema de transporte é um problema de Programação Linear caracterizado
por atribuir quantidades de uma mercadoria que serão transportadas de um determinado
local de origem para um destino.

Portanto, é necessário obedecer a limitação de oferta das origens e também


sempre atender no mínimo a demanda de mercadoria dos destinos. Finalmente, existe um
custo associado em transportar uma unidade de mercadoria de cada origem para cada
destino e o objetivo final do problema é minimizar o custo total do transporte que respeita
as restrições de oferta e demanda. Devido à abrangência desse problema, ele pode ser
aplicado nas mais diferentes áreas, como no transporte de matéria-prima de fornecedores
para indústrias, de mercadorias de fábricas para lojas ou centros de distribuição, entre
outros.

O problema de transportes, foi formalizado e resolvido pressupondo que as


quantidades disponíveis nas origens, isto é, o seu total, é igual às necessidades nos
destinos. Esta é uma condição imprescindível para se resolver os problemas de
transportes. Contudo, esta hipótese nem sempre se verifica, podendo existir mais procura
do que oferta, ou mais oferta do que procura. Quando acontece uma situação destas, de
desequilíbrio, o que se faz é tornar o sistema equilibrado novamente.

Formulação

Xij = quantidade de “produto “(bem) a ser transportado da origem (i) para destino (j).

Cij = custo de transporte de Xij da origem (i) para o destino (j).

A resolução do Problema de Transporte pode ser feita pelo método Simplex.


Porém, por ser muitas vezes trabalhosa, devido à dimensão do problema, outras técnicas
foram desenvolvidas, considerando os passos para resolução de um problema de
Programação Linear pelo método Simplex, que incluem: obter uma solução básica
admissível inicial (SBAI), verificar o critério ótimo que se atingido, o processo termina e
caso contrário, fazer a melhoria da solução.

Para determinação da Solução Básica Admissível Inicial para o problema de


transporte (SBAI) existem 3 métodos para sua determinação, nomeadamente:

4
1. Método do mínimo da matriz dos custos - Consiste em selecionar para base a
célula cujo custo é mínimo na matriz dos custos, até se terem esgotados as
quantidades nas origens e consequentemente terem satisfeito todas as demandas
nos destinos.
2. Método do canto superior esquerdo (Método canto Noroeste) – Consiste em
selecionar para base a célula com a quantidade X11. A partir dali, nos próximos
passos selecionamos sempre as células adjacentes a X11, consoante a origem é
esgotada ou o destino é satisfeito.
3. Método de Vogel – Consiste em selecionar para base e em cada passo, a célula
de menor custo, com a maior dois penalidades (diferença entre dois menores dos
custos de cada linhas ou colunas) e entre ou as linhas ou colunas. – Dos 3 métodos
é o que normalmente, oferece os melhores valores.

As Duas Partes do Algoritmo de Transportes

O algoritmo de transportes é dividido em duas partes. A primeira parte consiste


em encontrar uma solução inicial para o problema e a segunda parte consiste em encontrar
a solução ótima a partir da solução inicial.

 Solução Inicial

A solução inicial precisa atender dois requisitos:

1. Precisa satisfazer as restrições de origem e destino; e


2. Não pode apresentar circuitos entre as variáveis básicas.

Segundo Silva et al. (1994), circuito pode ser entendido como uma poligonal fechada,
construída no sentido das linhas ou colunas e ligando variáveis básicas.

 Encontra a solução ótima

Depois de encontrar uma solução inicial é necessário verificar se a solução


encontrada já é a solução ótima. Para isso, determinamos Pij = Ui + Vj - Cij

1. Se Pij < = 0 a solução é ótima;


2. Se Pij > 0 a solução não é ótima. – Efetuamos a atualização do quadro
utilizando o circuito de Stepping Stone.

5
Ideia geral do método dos transportes

Obtenção de solução inicial

Verifica o critério
de otimalidade?
Sim FIM !!! a solução
é ótima
Não

Escolher a variável de entrada de


entrada e saída, e ajustar a tabela

Degenerescência
Conforme Shamblin e Stevens (1979), quando o número de variáveis básicas for
menor do que m + n – 1, o problema é degenerado. Por exemplo se problema, m (número
de linhas) é três e n (número de colunas) é três. Então, m + n – 1 = 5. Como o número de
variáveis básicas é menor que 5, então temos um caso de degenerescência. Para poder
prosseguir, é necessário acrescentar uma variável básica auxiliar ε. Consideramos o valor

de ε tão pequeno que não afeta a solução do problema, mas deve ser colocada em uma
célula que não gere circuito.

A técnica de perturbação tem o objetivo de identificar as variáveis básicas nulas.


Desta forma, consegue-se um novo Problema de Transporte, sem degenerescência,
modificando os valores de, da seguinte maneira:

Para um valor positivo, muito pequeno, de maneira que a solução obtida seja
muito próxima da solução correta. É comum, na bibliografia (MURTY, 1983,
ARENALES et al, 2007), a colocação da variável degenerada com um valor não nulo
muito pequeno.

Neste problema é necessário decidir não somente a capacidade de remessa de cada


origem a cada destino, como também a capacidade de estoque de cada origem. A função

6
custo de produção é associada à atribuição de suprimentos para as origens. A função
objetivo é a soma dos custos de transporte linear com o custo de produção côncavo.

A degenerescência pode ocorre em dois situação (caso):

I. O caso de Maximização – pode haver casos, no problema de transporte


em que se queira maximizar o objetivo, ao invés de minimizar. Por
exemplo, se os coeficientes Cij representarem os lucros obtidos em
transportar de i para j (ao invés dos custos de transporte de i para j).
II. O caso de Impossibilidade de transporte – pode ocorrer que o transporte
de uma origem i para um destino j não possa ser realizado. Neste caso,
basta proceder normalmente fazendo com que o custo de transporte de i
para j seja muito grande. Para isto adota-se um símbolo M que representa
este custo.

Problema de afetação
Pode ser resolvido com o algoritmo de transportes, mas ele é resolvido com mais
facilidade usando um algoritmo mais simples: o algoritmo de atribuição. Para que esse
algoritmo seja utilizado é necessário que a matriz seja quadrada, com o número de linhas
igual ao número de colunas. Ou seja, o número de origens deve ser igual ao número de
destinos. Também é preciso que a função objetivo seja de minimização.

Atendendo a algumas das suas propriedades, este problema pode ser formulado
como sendo de transportes, estando então garantida a integridade da solução. No entanto,
não é a resolução como problema de transporte a mais aconselhável, até porque este
problema é normalmente degenerado.

O problema clássico consiste em afetar (n) indivíduos a (n) tarefas - um indivíduo


por tarefa e uma tarefa por indivíduo, tendo por objetivo a minimização do custo total
envolvido no plano de afetação, sendo conhecidos os custos, Cij, de afetar o indivíduo (i)
à tarefa (j) (i, j = 1, 2, …, n).

Uma das formas de resolver este problema, seria calcular todas as permutações
possíveis (n!), sendo a solução ótima do plano a permutação que verificasse o menor
custo.

TEOREMA: A solução ótima do problema de afetação não se altera se uma


constante for adicionada ou subtraída a qualquer linha ou coluna da matriz de custos.
7
Este teorema pode ser explorado em dois sentidos:

I. Se num problema alguns elementos da matriz de custos forem negativos, então


pode passar-se a um problema relacionado, cujos custos sejam todos não
negativos.
II. Se for possível passar a um problema relacionado, em que todos os elementos da
matriz de custos sejam não negativos, e encontrar um plano de afetação, em que
os custos associados (às n variáveis positivas) sejam nulos, então é evidente que
esse plano é ótimo.

É neste facto que se apoia o algoritmo Húngaro, que consiste nos seguintes passos:

Passo 1: Aos elementos de cada linha da matriz de custos, subtrair o mínimo dessa linha.
Na matriz resultante, aos elementos de cada coluna, subtrair o mínimo dessa coluna.

Passo 2: Tomar uma das linhas com menor nº de zeros, enquadrar um deles (aquele que
cortar menos zeros) e cortar todos os restantes dessa linha e dessa coluna. Prosseguir até
que todos os zeros estejam cortados.

Se houver n zeros enquadrados, tem-se a solução ótima; caso contrário prosseguir.

Passo 3: Cobrir os zeros enquadrados com o menor nº possível de traços:

1. assinalar (com 9) as linhas que não contêm zeros enquadrados;

2. assinalar as colunas com pelo menos um zero cortado nas linhas assinaladas;

3. assinalar as linhas com um zero enquadrado nas colunas assinaladas;

4. repetir 2 e 3 até não ser possível assinalar mais linhas ou colunas;

5. traçar as linhas não assinaladas e as colunas assinaladas.

Passo 4: Determinar o menor elemento da submatriz constituída pelos elementos não


traçados; subtrair esse elemento aos elementos dessa submatriz e adicioná-lo aos
elementos na intersecção de dois traços. Voltar ao passo 2.

8
Resolução de exercício
Uma empresa fabrica cinco produtos em cinco empresas diferentes, sendo
abastecido por três fornecedores de matérias-primas.

Pretende-se determinar um esquema de transporte das matérias-primas dos fornecedores


para as fábricas, com o objetivo de minimizar o custo total de transporte.

As quantidades disponíveis nos fornecedores e necessárias nas empresas, bem como os


custos de transportes associados são:

Somatório dos destinos


30 40 50 40 60
= 220
Somatório das origens
Empresa 1 Empresa 2 Empresa 3 Empresa 4 Empresa 5
= 170 + “50” = 220
40 Fornecedor 1 20 19 14 21 16
60 Fornecedor 2 15 20 13 19 16
70 Fornecedor 3 18 15 18 20 M
50 Fornecedor “F” 0 0 0 0 0

Nota 1: A letra M no quadro, representa um custo de transporte muito elevado, devido a


não existência de ligação entre o fornecedor 3 e a empresa 5.

Nota 2: Num problema de transporte para que se efetue os cálculos devemos


primeiramente garantir que o problema esteja equilibrado, isto é, que a quantidade total
da demanda seja igual à quantidade total da oferta. E como no presente exercício
observamos a desigualdade criamos uma origem fictícia designada de Fornecedor “F”,
onde atribuímos a disponibilidade de 50 unidades de matérias-primas, com todos os
custos zeros (0).

9
Para a resolução do presente exercício optamos pelo do Método de Vogel para
auxiliarmos na procura da solução básica admissível e posterior solução ótima:

Destinos
Origens E1 E2 E3 E4 E5 Oferta
20 19 14 21 16 16-14=2
F1 40
40 16
15 20 13 19 16 15-13=2
F2 30 20 10 60 30 10 16-13=3
16
18 15 18 20 M 18-15=3
F3 40 30 70 30 18-18=0
M-18
0 0 0 0 0 0-0=0
Ff 50 10
40 10 _____

Demanda 30 40 50 20 40 60 50 10 220

15-0=15 15-0=15 13-0=13 19-0=19 16-0=16


18-15=3 19-15=4 14-13=1 _____ 16-16=0
_____ _____ ______ ______

X44 = min {40;50} = 40 X33 = min {50;30} = 30


X45 = min {60;10} = 10 X23 = min {20;30} = 20
X32 = min {40;70} = 40 X15 = min {50;40} = 40
X21 = min {30;60} = 30 X25 = min {10;10} = 10

A solução básica admissível inicial (SBAI) a partir do método de Vogel resultou em:
X15 = 40; X21 = 30; X23 = 20; X25 = 10; X32 = 40; X33 = 30; X44 = 40 e X45 = 10, cujo
Z = 16*40+15*30+13*20+16*10+15*40+18*30+0*40+0*10 = 2650.

10
Dado a solução básica admissível inicial verificaremos se a solução é ótima ou não.

Para as variáveis básicas Ui + Vj = Cij

U1 + V5 = C15  U1 + V5 = 16 U3 + V2 = C32  U3 + V2 = 15

U2 + V1 = C21  U2 + V1 = 15 U3 + V3 = C33  U3 + V3 = 18

U2 + V3 = C23  U2 + V3 = 13 U4 + V4 = C44  U4+ V4 = 0

U2 + V5 = C25  U2 + V5 = 16 U4 + V5 = C45  U4 + V5 = 0

U1 = 0 V5 = 16 U2 = 0
V1 = 15 V3 = 13 U3 = 5
V2 = 10 U4 = -16 V4 = 16

Para as variáveis não básicas Pij = Ui + Vj - Cij

U1 + V1 - C11  0 + 15 – 20 < 0  U3 + V1 - C31  5 + 15 – 18 > 0 

U1 + V2 - C12  0 + 10 – 19 < 0  U3 + V4 – C34  5 + 16 – 20 > 0 

U1 + V3 - C13  0 + 13 – 14 < 0 
U3 + V5 – C35  5 + 16 – M < 0 

U1 + V4 - C14  0 + 16 – 21 < 0 
U4 + V1 - C41  -16 + 15 – 0 < 0 

U2 + V2 – C22  0 + 10 – 20 < 0 
U4 + V2 - C42  -16 + 10 – 0 < 0 

U2 + V4 – C24  0 + 16 – 19 < 0 
U4 + V3 - C43  -16 + 13 – 0 < 0 

NOTA: Como U3 + V1 - C31  5 + 15 – 18 > 0 e U3 + V4 – C34  5 + 16 – 20 > 0 a


solução não é ótima, logo devemos atualizar o primeiro quadro.

11
Destinos
Origens V1 V2 V3 V4 V5
20 19 14 21 16
U1
40
15 20 13 19 16
U2
30 - 20 + 10

18 15 18 20 M
U3
+ 40 30 -
0 0 0 0 0
U4
40 10

 max = {P31;P34} = {2;1} = 2, então a X31 é a variavel que entra na base


 min = {30;30} = 30

2º Quadro atualizado
Destinos
Origens V1 V2 V3 V4 V5
20 19 14 21 16
U1
40
15 20 13 19 16
U2
50 10
18 15 18 20 M
U3
30 40
0 0 0 0 0
U4
40 10

Com a atualização a solução básica admissível inicial (SBAI) a partir do método de Vogel
resultou em: X15 = 40; X23 = 50; X25 = 10; X31 = 30; X32 = 40; X44 = 40 e X45 = 10, cujo
Z = 16*40+13*50+16*10+18*30+15*40+0*40+0*10 = 2590.

12
Dado a solução básica admissível inicial verificaremos se a solução é ótima ou não.

Para as variáveis básicas Ui + Vj = Cij

U1 + V5 = C15  U1 + V5 = 16 U3 + V2 = C32  U3 + V2 = 15

U2 + V3 = C23  U2 + V3 = 13 U4 + V4 = C44  U4+ V4 = 0

U2 + V5 = C25  U2 + V5 = 16 U4 + V5 = C45  U4 + V5 = 0

U3 + V1 = C31  U3 + V1 = 18

U1 = 0 V5 = 16 U2 = 0
V1 = ? V3 = 13 U3 = ?
V2 = ? U4 = -16 V4 = 16

NOTA: Como na obtenção do valor das variáveis básicas houve empates que não
possibilitam a descoberta dos valores das variáveis básicas V1; U3 e V2 , que se justifica
pelo número de equações ser maior o que número de variáveis básicas.

Logo a solução obtida é degenerada, pois (m + n – 1) = (4 + 5 – 1) = 8, que é superior a


7 que são as variáveis básicas.

Para se resolver este problema degenerado é necessário “perturbar” o quadro


identificando um componente temporário e arbitrariamente designado de “” que toma
um valor tão pequeno que não afeta a solução do problema, mas deve ser colocada em
uma célula que não gere circuito.

Como ao posicionar o  na célula X34 não conseguimos à primeira montar um circuito,

então simulamos que existe um outro  na posição X24 possibilitando formar um circuito,

onde o  = min {;10;40} = .

Ao subtrair ou adicionar o  nos polos do circuito não modifica os valores mais sim a

posição do  para X34, constituindo assim uma variável básica auxiliando na descoberta

dos valores das outras variáveis básicas.

13
Destinos
Origens V1 V2 V3 V4 V5
20 19 14 21 16
U1
40
15 20 13 19 16
U2
50 + 10 -
18 15 18 20 M
U3
30 40 - +
0 0 0 0 0
U4
40 - 10 +

3º Quadro atualizado

Destinos
Origens V1 V2 V3 V4 V5
20 19 14 21 16
U1
40
15 20 13 19 16
U2
50 10
18 15 18 20 M
U3
30 40 
0 0 0 0 0
U4
40 10

Para as variáveis básicas Ui + Vj = Cij

U1 + V5 = C15  U1 + V5 = 16 U3 + V2 = C32  U3 + V2 = 15

U2 + V3 = C23  U2 + V3 = 13 U3 + V4 = C34  U3 + V4 = 20

U2 + V5 = C25  U2 + V5 = 16 U4 + V4 = C44  U4+ V4 = 0

U3 + V1 = C31  U3 + V1 = 18 U4 + V5 = C45  U4 + V5 = 0

14
U1 = 0 V5 = 16 U2 = 0
V1 = 14 V3 = 13 U3 = 4
V2 = 11 U4 = -16 V4 = 16

Para as variáveis não básicas Pij = Ui + Vj - Cij

U1 + V1 - C11  0 + 14 – 20 < 0  U2 + V4 – C24  0 + 16 – 19 < 0 

U1 + V2 - C12  0 + 11 – 19 < 0  U3 + V3 - C33  4 + 13 – 18 > 0 

U1 + V3 - C13  0 + 13 – 14 < 0  U3 + V5 – C35  3 + 16 – M < 0 

U1 + V4 - C14  0 + 16 – 21 < 0  U4 + V1 - C41  -16 + 14 – 0 < 0 

U2 + V1 – C21  0 + 14 – 15 < 0  U4 + V2 - C42  -16 + 11 – 0 < 0 

U2 + V2 – C22  0 + 11 – 20 < 0  U4 + V3 - C43  -16 + 13 – 0 < 0 

Como todos Pij são < 0 logo a solução é ótima.

Com a atualização a solução básica admissível inicial (SBAI) a partir do método de Vogel
resultou em: X15 * = 40; X23 * = 50; X25 * = 10; X31 * = 30; X32 * = 40; X44 * = 40 e
X45 * = 10, cujo Z* = 16*40+13*50+16*10+18*30+15*40+0*40+0*10 = 2590.

Com este resultado a distribuição foi efetuada do seguinte modo: o fornecedor 1 enviou
a totalidade das suas matérias primas para a empresa 5 que são 40 unidades; o fornecedor
2 enviou 50 unidades para a empresa 3 e 10 unidades para a empresa 5; já o fornecedor 3
enviou 30 unidades para a empresa 1 e 40 para a empresa 2 e por fim o fornecedor 4
enviou 40 unidades para a empresa 4 e 10 unidades para a empresa 5.

Graficamente a distribuição fica representado deste modo:

Origens (Fabricas) Destinos (Empresas)

40 1 1 30

60 2 2 40

70 3 3 50

4 40
50 f
15
5 60
Afetação do problema
Suponha que se pretendia afetar os fornecedores as empresas e vice-versa; Formule o
problema como um problema de afetação e resolva-o.

Oferta Demanda
20 19 14 21 16
F1 E1
15 20 13 19 16
18 15 18 20 M F2 E2
0 0 0 0 0 F3 E3
0 0 0 0 0 Ff E4
Fc E5

NOTA: Como num problema de afetação só se consegue encontrar a solução caso ela for
quadrada, sendo assim como existia 5 empresas e apenas 3 fabricas para distribuir as
matérias-primas logo adicionamos mais duas fabricas fictícias Ff e Fc para igualar a oferta
à demanda e atribuindo-lhes um custo nulo.

Formulação:

min Z = 20X11 + 19X12 + 14X13 + 21X14 +16X15 +15X21 + 20X22 + 13X23 + 19X24
+16X25 + 18X31 + 15X32 + 18X33 + 20X34 + MX35

S.A: X11 + X12 + X13 + X14 + X15 = 1

X21 + X22 + X23 + X24 +X25 = 1

X31 + X32 + X33 + X34 + MX35 = 1

X41 + X42 + X43 + X44 + X45 = 1

X51 + X52 +X53 + X54 + X55 = 1

X11 + X21 + X31+ X41 + X51 = 1

X12 + X22 + X32 + X42 +X52 = 1

X13 + X23 + X33 + X43 + MX53 = 1

X14 + X24 + X34+ X44 + X54 = 1

X15 + X25 +X35 + X45 + X55 = 1 Xij {0,1}

16
Aplicamos o método de afetação

1. Substituímos o menor de cada linha, e coluna. Enquadramos a linha com


menos zeros em seguida cortamos os seguintes, sendo da mesma linha e
coluna.

6 5 0 7 2

2 7 0 6 3

3 0 3 5 M-15

0 0 0 0 0

0 0 0 0 0

Como o número de zeros enquadrados é menor que n logo o quadro não e ótimo.

Seguindo os passos do método de húngaro anteriormente referidos obtivemos o seguintes


quadro e o método diferente aprendido na internet (link em anexo):

4 5 0 7 2

2 0 0 6 3

3 3 3 5 M-15

0 0 0 0 0

0 0 0 0 0

a) Números riscados
-Escolhemos o menor e subtraímos de todos os não riscados. Neste caso temos o
(-2)

b) Números riscados umas vezes


- Aqueles que foram riscados uma vez mantém-se.

17
c) Números riscados duas vezes
Somamos o número que foi riscado duas vezes, com o mesmo número que
tínhamos subtraído da a) (+2)

4 5 0 5 0 D1 - F2 =14
0 7 0 4 1 D2 - F3 =15
1 0 3 5 M -17 D3 - F1 =15
0 0 0 0 0
D1 - F4 = 0
0 0 0 0 0
D2 - F5 = 0

Com este quadro obtivemos 5 zeros enquadrados igual a n logo o quadro é ótimo.

A Solução é ótima X13*, X21*,, X23*, X44*, X55*.

Z* = 14+15+15+0+0 = 44

18

Você também pode gostar