18
Métodos de Análise de Sistemas Produtivos Modelos matemáticos para resolução de problemas de afectação de operações a recursos produtivos 17 de Maio de 2002 Alunos: Álvaro Magalhães Bernardo Ribeiro João Bessa José Lúcio Teresa Marques Docentes: Fernando Manuel Ferreira Lobo Pereira Gil Manuel Magalhães de Andrade Gonçalves

Modelos matemáticos para resolução de problemas de ...ee97029/trabalhos/Masp/masp_mm_gp1.pdf · Deste documento resultará a escolha de um ... encontrar-se ocupado no processamento

  • Upload
    lamnhan

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Modelos matemáticos para resolução de problemas de ...ee97029/trabalhos/Masp/masp_mm_gp1.pdf · Deste documento resultará a escolha de um ... encontrar-se ocupado no processamento

Métodos de Análise de Sistemas Produtivos

Modelos matemáticos para resolução de problemas

de afectação de operações a recursos produtivos

17 de Maio de 2002

Alunos:

Álvaro Magalhães

Bernardo Ribeiro

João Bessa

José Lúcio

Teresa Marques

Docentes:

Fernando Manuel Ferreira Lobo Pereira

Gil Manuel Magalhães de Andrade Gonçalves

Page 2: Modelos matemáticos para resolução de problemas de ...ee97029/trabalhos/Masp/masp_mm_gp1.pdf · Deste documento resultará a escolha de um ... encontrar-se ocupado no processamento

Modelos Matemáticos

17-05-02 Masp – grupo 1 1

Índice:

Introdução 2

O Grafo 3

Algoritmo de Dijkstra 4

Dijkstra com variável de ocupação da rede 8

Método ‘ k shortest path’ 10

Algoritmo A star 16

Page 3: Modelos matemáticos para resolução de problemas de ...ee97029/trabalhos/Masp/masp_mm_gp1.pdf · Deste documento resultará a escolha de um ... encontrar-se ocupado no processamento

Modelos Matemáticos

17-05-02 Masp – grupo 1 2

Introdução

Este documento pretende enumerar vários modelos matemáticos para

resolução de problemas de afectação de operações a recursos produtivos. Os

diversos métodos existentes apoiam-se nos algoritmos de caminho mínimo, em

especial o algoritmo de dijkstra.

Cada método é apresentado pretende demostrar o funcionamento do

algoritmo para um dos grafos construídos para o enunciado.

Deste documento resultará a escolha de um modelo a seguir de acordo

com as vantagens e desvantagens de cada modelo.

Page 4: Modelos matemáticos para resolução de problemas de ...ee97029/trabalhos/Masp/masp_mm_gp1.pdf · Deste documento resultará a escolha de um ... encontrar-se ocupado no processamento

Modelos Matemáticos

17-05-02 Masp – grupo 1 3

O Grafo

De seguida é apresentado o grafo escolhido como principal e que foi

utilizado para demonstração dos vários métodos e para o qual foram

calculados os algoritmos matemáticos particulares.

Legenda: Tempo , Custo

Page 5: Modelos matemáticos para resolução de problemas de ...ee97029/trabalhos/Masp/masp_mm_gp1.pdf · Deste documento resultará a escolha de um ... encontrar-se ocupado no processamento

Modelos Matemáticos

17-05-02 Masp – grupo 1 4

Algoritmo de Dijkstra

Forma Tabelar de resolver o nosso problema especifico:

Letra representa recursos e algarismos representam operação;

Dentro de ( ) está atribuição a cada recurso de um valor, para que possa ser

identificado como um nó; um mesmo recurso pode então estar representado

por mais de um nó diferente;

I (0) A1 (1) F1 (2) E1 (3) C2 (4) B2 (5) D2 (6) D3 (7) C3 (8) B3 (9) F4 (10) A4 (11) F (12)

10 7 5 21 15 12 17 31 16 21 25

E 12 11 18 19 35 26 18

22

Valor mínimo até ao nó respectivo (cada operação tem apenas um valor mínimo)

Valor mínimo dos nós associados às últimas operações possíveis

Valor mínimo óptimo final, calculado através do mínimo dos valores a

Valor que não o mínimo

E >>> valor mínimo

A solução deste problema é a seguinte sequência: E1 >> D2 >> C3

Esta solução apenas considera um valor fixo para cada arco,

considerando para tal que tanto a variável Custo como Tempo têm um peso

unitário;

Em seguida demonstra-se a resolução do mesmo problema mas

considerando o valor de cada ramo em função das duas variáveis já referidas;

W = T*x + C*y

I (0) A1 (1) F1 (2) E1 (3) C2 (4) B2 (5) D2 (6)

5x + 5y 4x + 3y 3x + 2y 10x + 11y 7x + 8y 6x + 6y

E 8x + 5y 6x + 5y

8<10 6=6

5<11 5<6

Page 6: Modelos matemáticos para resolução de problemas de ...ee97029/trabalhos/Masp/masp_mm_gp1.pdf · Deste documento resultará a escolha de um ... encontrar-se ocupado no processamento

Modelos Matemáticos

17-05-02 Masp – grupo 1 5

D3 (7) C3 (8) B3 (9) F4 (10) A4 (11) F (12)

11x + 7y 17x + 14y 10x + 7y 13x + 9y 16x + 10y

11x + 7y 11x + 8y 18x + 17y 16x + 10y 11x + 7y

15x + 8y

11<17 10<11 13<18 15<16 11<13<15

7<14 7<8 9<17 8<10 7<8<9

Resolvendo então o nosso problema em função dos “pesos” das

variáveis Tempo e Custo, verifica-se que a solução do problema se mantém a

mesma independente dos referidos parâmetros;

Em seguida passa-se apresentar um modelo matemático para este

problema, em que primeiramente temos uma solução orientada ao nosso

problema especifico, e em seguida em função disso se tenta retirar um modelo

generalizado que sirva para qualquer outro problema deste tipo;

ESPECIFICAÇÕES:

W = X*T + Y*C em que...

W >> Peso total do arco;

T >> Tempo de operação;

C >> Custo de operação;

X,Y >> pesos das variáveis que estão em jogo;

Wi [j] >> Peso do arco com origem em i e destino em j; i,j e [0,12]

Ek >> valor mínimo até ao nó k; k e [0,12]

E [0] = 0 >> Ponto de partida;

E [12] >> solução óptima a encontrar;

Pode existir mais de que um nó associado a uma mesmo recurso, por

isso convém ter presente quais os nós respectivos para cada recurso, para que

depois de encontrada a solução óptima se poder fazer o escalonamento em

Page 7: Modelos matemáticos para resolução de problemas de ...ee97029/trabalhos/Masp/masp_mm_gp1.pdf · Deste documento resultará a escolha de um ... encontrar-se ocupado no processamento

Modelos Matemáticos

17-05-02 Masp – grupo 1 6

termos temporais dos diversos recursos; a identificação através dos nós só

serve para resolução do problema, já que um recurso pode aparecer mais de

que uma vez na rede, e nessa altura terá que ser tratado como se diferentes

recursos se tratassem,

1ª OPERAÇÃO (1)

E1 = min { E0 + W0 [1] } // só entra um arco em cada um destes nós por

E2 = min { E0 + W0 [2] } isso a solução até aqui é imediata;

E3 = min { E0 + W0 [3] }

2ª OPERAÇÃO (2)

E4 = min { E1 + W1 [4] ; E2 + W2 [4] }

E5 = min { E1 + W1 [5] }

E6 = min { E2 + W2 [6] ; E3 + W3 [6] }

3ª OPERAÇÃO (3)

E7 = min { E4 + W4 [7] }

E8 = min { E5 + W5 [8] ; E6 + W6 [8] }

E9 = min { E4 + W4 [9] ; E6 + W6 [9] }

4ª OPERAÇÃO (4)

E10 = min { E7 + W7 [10] ; E5 + W5 [10] }

E11 = min { E7 + W7 [11] ; E8 + W8 [11] ; E9 + W9 [11] }

SOLUÇÃO FINAL:

E12 = min { E8 ; E10 ; E11 } >>> solução óptima

Page 8: Modelos matemáticos para resolução de problemas de ...ee97029/trabalhos/Masp/masp_mm_gp1.pdf · Deste documento resultará a escolha de um ... encontrar-se ocupado no processamento

Modelos Matemáticos

17-05-02 Masp – grupo 1 7

Modelo matemático generalizado:

Para todas as operações que compõem a rede calcula-se o valor

mínimo (E) para todos os nós que lhe estão associados, em que o valor mínimo

de cada nó é encontrado da seguinte forma:

Sendo h = [0,...,r] o conjunto de nós pertencentes à rede, “m” o índice

do nó para o qual se está a calcular o valor mínimo ( m e h ), e [n,...,t] o

intervalo de índices associados aos nós precedentes, que têm arcos a “entrar”

no nó “m”...

Em = min { En + Wn [m] ; .... ; Et + Wt [m] }, para m e [0,r-1]

Tendo que para inicializar E0 = 0;

E que a solução óptima é encontrada quando se encontrar o valor

mínimo para Er e que é calculado da seguinte forma:

Er = min { Ey ;...; Ex } em que [y,...,x] e [0,...,r-1] e que define o

conjunto de nós que têm arcos com destino ao nó “r”;

De referir que o nó 0 e “r” não estão associados a recursos mas sim a

marcas que representam o início e fim da rede;

NOTA:

A fim de se entender este raciocínio, é aconselhável ter presente um dos

esquemas das redes que foram criadas;

Tendo em conta que objectivo é implementar este sistema em MATLAB, é

possível que este modelo tenha que ser revisto e completado a fim de se ter

toda a rede representada em forma matemática.

Page 9: Modelos matemáticos para resolução de problemas de ...ee97029/trabalhos/Masp/masp_mm_gp1.pdf · Deste documento resultará a escolha de um ... encontrar-se ocupado no processamento

Modelos Matemáticos

17-05-02 Masp – grupo 1 8

Dijkstra com variável de ocupação da rede

Este método é idêntico ao método de dijktra simples para apenas um

grafo. A sua aplicação para apenas um grafo é idêntica à acima mencionado

tendo por isso sido decidido apenas apresentar o modelo matemático.

Função objectivo:

[ ]

+∑ ∑∑

= ==

N

i

N

qij

qijiJij

qijiJ

N

J

pxtpxcMIN1 1

_2_11

)**()**(

Restrições:

1. ∑∑==

−N

k

qik

N

k

qki xx

11

; i=1,...,N q=1,...,N (Assegura a continuidade da

rede )

2. ij

ij

p

ptd

_2

_1= ;

101

011

111

_2_1_2_1

_2_1_2_1

_2_1_2_1

=∧=⇒<⇒<

=∧=⇒>⇒>

=∧=⇒=⇒=

ijijijij

ijijijij

ijijijij

pppptd

pppptd

pppptd

3. ( )1,0∈qkix

Definição de variáveis:

v iJc -custo de processamento (i,j)

v 1≠qijx se (i,j) encontrar-se ocupado no processamento de um produto,

caso contrário 0=qijx

v ijp _1 - Peso da decisão em se optar pelo peso do custo 1_1 =⇒ ijp

v ijp _2 - Peso da decisão em se optar pelo peso do tempo 1_2 =⇒ ijp

v td – taxa de decisão

Page 10: Modelos matemáticos para resolução de problemas de ...ee97029/trabalhos/Masp/masp_mm_gp1.pdf · Deste documento resultará a escolha de um ... encontrar-se ocupado no processamento

Modelos Matemáticos

17-05-02 Masp – grupo 1 9

A ideia subjacente a este modelo será a do operador definir à partida um

determinado peso para o custo e para o tempo, de forma a permitir uma melhor

decisão, tendo sempre em conta a ocupação das máquinas.

Page 11: Modelos matemáticos para resolução de problemas de ...ee97029/trabalhos/Masp/masp_mm_gp1.pdf · Deste documento resultará a escolha de um ... encontrar-se ocupado no processamento

Modelos Matemáticos

17-05-02 Masp – grupo 1 10

Método ‘ k shortest path’

Introdução ao ‘ k shortest path’

Este algoritmo é uma generalização do problema de caminho mínimo

em que são obtidos não um mas vários caminhos mínimos unindo um nó

inicial s e um nó de destino t. O objectivo é listar k caminhos que unem

dois pontos de um grafo com o menor comprimento total.

A ideia essencial deste algoritmo é calcular vários caminhos mínimos

partindo não do nó inicial mas do final. Dessa forma é sempre possível

conhecer o valor ao ponto inicial em qualquer ponto da rede. È por isso o

contrário do normal algoritmo de Dijkstra.

Resolver do problema especifico usando a forma tabular:

Letra representa recursos e algarismos representam operação;

Dentro de ( ) está atribuição a cada recurso de um valor, para que possa

ser identificado como um nó; um mesmo recurso pode então estar

representado por mais de um nó diferente;

Analisando o grafo e considerando a soma dos diferentes parâmetros

tempo e custo, considerando-os unitários ou seja com a mesma importância

para o problema, obtêm-se a seguinte tabela :

F (12) A4 (11) F4 (10) B3 (9) C3 (8) D3 (7) D2 (6) B2 (5) C2 (4) E1 (3) F1 (2) A1 (1) I (0)

0 0 6 8 4 14 16 9 13 12 21 30

E 0 8 7 20 10 15 20 18

↑ ↑ ↑ 19

Valor mínimo até ao nó respectivo (cada operação tem apenas um valor mínimo)

Valor mínimo óptimo final, calculado através do mínimo dos valores a mínimos

Valor que não o mínimo

E>>> valor mínimo

Page 12: Modelos matemáticos para resolução de problemas de ...ee97029/trabalhos/Masp/masp_mm_gp1.pdf · Deste documento resultará a escolha de um ... encontrar-se ocupado no processamento

Modelos Matemáticos

17-05-02 Masp – grupo 1 11

A solução deste problema é a seguinte sequência: E1 >> D2 >> C3

Em seguida demonstra-se a resolução do mesmo problema mas

considerando o valor de cada ramo em função das duas variáveis já referidas;

W = T*x + C*y

F (12) A4 (11) F4 (10) B3 (9) C3 (8) D3 (7) D2 (6)

0x + 0y 0x + 0y 5x + 1y 5x + 3y 2x + 2y 10x + 4y

E 0x + 0y 5x+ 3y 5x + 2y

B2 (5) C2 (4) E1 (3) F1 (2) A1 (1) I (0)

10x + 6y 7x + 3y 8x + 5y 7x + 5y 12x + 9y 11x+ 12y

11x+ 9y 5x + 4y 11x + 5y 12x + 9y 11x + 7y

9x+ 11y 10x + 10y 17x+ 14y

15x+15y

Resolvendo então o nosso problema em função dos “pesos” das variáveis

Tempo e Custo, verifica-se que a solução do problema se mantém a mesma

independente dos referidos parâmetros.

No entanto vê-se que os melhores caminhos alternativos podem variar de

acordo com os pesos atribuídos aos diferentes parâmetros.

O grande interesse deste método é reconhecer para cada nó qual é o

valor mais curto de chegada ao nó final e qual o melhor caminho para o fazer.

Caminho óptimo E1 -> 13 D2 ->7 C3 -> 0 Final 18

F1-> 12 D2->7 C3->0 Final 19

A1->20 C2->9 D4->4 F5->0 Final 30

Page 13: Modelos matemáticos para resolução de problemas de ...ee97029/trabalhos/Masp/masp_mm_gp1.pdf · Deste documento resultará a escolha de um ... encontrar-se ocupado no processamento

Modelos Matemáticos

17-05-02 Masp – grupo 1 12

Grafo do caminho óptimo e caminhos totais alternativos considerando os tempos e

custos com pesos iguais

Poderemos ver que estes são caminhos directos mas podem ser

calculadas as distâncias para caminhos não directos através da inserção de

outro caminho da rede. Para o cálculo da perda de distância poder-se-á utilizar

a fórmula:

δ(e)= l(e) + d(head(e),t)-d(tail(e),t)

em que:

δ(e) : corresponde à variação no caminho total com a inclusão do novo

braço e.

l(e) : valor de percorrer o novo braço e

d(head(e),t): distância mínima associada ao nó que separa o Início do

arco e e o nó final

d(tail(e),t): distância mínima associada ao nó que separa o fim do arco de

e o nó final

por exemplo, se quisermos não passar pelo nó C3 por alguma

impossibilidade e em vez disso formos por B3 temos um acrescento ao

caminho mínimo de:

δ(D2->B3) = -(5+3) +7-6=7

Page 14: Modelos matemáticos para resolução de problemas de ...ee97029/trabalhos/Masp/masp_mm_gp1.pdf · Deste documento resultará a escolha de um ... encontrar-se ocupado no processamento

Modelos Matemáticos

17-05-02 Masp – grupo 1 13

Daqui se pode concluir que alterando o percurso para incluir o nó B3 em

vez de C3 gastamos mais 7 unidades de distância.

De notar que se o nó a incluir já pertencer ao caminho óptimo temos que a

variação terá o valor zero.

Modelo Matemático

Em seguida passa-se apresentar um modelo matemático para este

problema:

- primeiramente temos uma solução orientada ao nosso problema

especifico

- em seguida e em função disso tenta-se retirar um modelo generalizado

que sirva para qualquer outro problema deste tipo;

ESPECIFICAÇÕES:

W = X*T + Y*C

em que...

W → Peso total do arco;

T → Tempo de operação;

C → Custo de operação;

X,Y → pesos das variáveis que estão em jogo;

Wi [j] → Peso do arco com origem em i e destino em j; i,j ε [0,12]

Ek → Valor mínimo até ao nó k; k e [0,12]

E [12] = 0 → Ponto de partida;

E [0] → Solução óptima a encontrar;

1ª OPERAÇÃO (4)

E12 = min { E11 + E10 + E8 } // o nó final é único e o valor inicial será

neste caso é sempre 0

E12 = E11 = E10 = E8 // devido à forma como estamos a

considerar o problema

Page 15: Modelos matemáticos para resolução de problemas de ...ee97029/trabalhos/Masp/masp_mm_gp1.pdf · Deste documento resultará a escolha de um ... encontrar-se ocupado no processamento

Modelos Matemáticos

17-05-02 Masp – grupo 1 14

2ª OPERAÇÃO (3)

E9 = min { E11 + W9 [11] }

E8 = min { E12 ; E11 + W8 [11] }

E7 = min { E10 + W7 [10] ; E11 + W7 [11] }

3ª OPERAÇÃO (2)

E6 = min { E9 + W6 [9] ; E8 + W6 [8] }

E5 = min { E8 + W5 [8] ; E10 + W5 [10] }

E4 = min { E9 + W4 [9] ; E7 + W7 [7] }

4ª OPERAÇÃO (1)

E3 = min { E6 + W3 [6] }

E2 = min { E6 + W2 [6] ; E4 + W2 [4] }

E1 = min { E4 + W1 [4] ; E5 + W1 [5] }

SOLUÇÃO FINAL:

E0 = min { E1+ W0 [1] ; E2 + W0 [2]; E3 + W0 [3] } >>> solução óptima

Modelo matemático generalizado:

Para todas as operações que compõem a rede calcula-se o valor

mínimo (E) para todos os nós que lhe estão associados, em que o valor mínimo

de cada nó é encontrado da seguinte forma:

Em = min { En + Wm [n] ; .... ; Et + Wm [t] }

para m e [0,r-1] e m anterior a n

Sendo:

h = [0,...,r] o conjunto de nós pertencentes à rede

m, o índice do nó para o qual se está a calcular o valor mínimo ( m e h ),

Page 16: Modelos matemáticos para resolução de problemas de ...ee97029/trabalhos/Masp/masp_mm_gp1.pdf · Deste documento resultará a escolha de um ... encontrar-se ocupado no processamento

Modelos Matemáticos

17-05-02 Masp – grupo 1 15

[n,...,t] o intervalo de índices associados aos nós precedentes, que têm

arcos a “entrar” no nó “m”...

A inicialização ocorre para Er = 0;

A solução óptima é encontrada quando se encontrar o valor mínimo para

Er e que é calculado da seguinte forma:

E0 = min { Ey ;...; Ex }

em que [y,...,x] e [0,...,r-1] e que define o conjunto de nós que têm arcos

com destino ao nó “0”;

De referir que o nó 0 e “r” não estão associados a recursos mas sim a

marcas que representam o início e fim da rede;

Um algoritmo de trocas englobado neste modelo foi já referido e é

formulado matematicamente através de:

δ (em[n])= Wm[n] + Em - En)

em que:

em[n] : novo braço a incluir no grafo partindo de um nó inicial m e

terminando no nó final n

δ(em[n]) : corresponde à variação no caminho total com a inclusão do

novo braço Em.

Page 17: Modelos matemáticos para resolução de problemas de ...ee97029/trabalhos/Masp/masp_mm_gp1.pdf · Deste documento resultará a escolha de um ... encontrar-se ocupado no processamento

Modelos Matemáticos

17-05-02 Masp – grupo 1 16

Algoritmo A star

A teoria do A* é relativamente simples. Basicamente, cada nó (posição)

no gráfico tem três atributos principais: f, g e h .

g é o custo de chegar ao ponto. Este normalmente é o custo de mudar

um nó mais o custo do nó pai.

h é a distância à meta - não tem que ser a distância real (A * tem muitas

aplicação - pathfinder é um).

Podemos definir uma classe de heurísticas admissíveis de estratégias

de procura usando a função evolução:

f(n) =g(n)+h(n). f(n)

representa uma estimativa do custo total do caminho desde o início, por n até

ao objectivo.

Também há duas listas, Aberto e Fechado. Na lista aberta estão todos

os nó que não foram explorados. Por explorar, quero dizer todas as posições

adjacentes que foram abertas (também passou para a lista Aberta), ou não

podem ser aberto. Na lista fechada estão todos os nós que foram explorados.

O algoritmo de A* pode ser definido da seguinte forma:

1. Iniciar no primeiro nó;

2. Se o nó actual é o objectivo então, deve-se parar a pesquisa;

3. Se o nó actual não é o nó final, então escolhe-se o caminho com

a menor estimativa;

4. Repetir o ponto 2.

Desta forma temos que calcular todos os caminhos conhecidos desde o

início até ao fim. Com esta informação da estimativa vamos escolher o melhor

caminho.

Page 18: Modelos matemáticos para resolução de problemas de ...ee97029/trabalhos/Masp/masp_mm_gp1.pdf · Deste documento resultará a escolha de um ... encontrar-se ocupado no processamento

Modelos Matemáticos

17-05-02 Masp – grupo 1 17

Aplicação do método - Atribuição do valores aos nós

Resultado final

O caminho mínimo está demarcado por uma linha vermelha.