• Nenhum resultado encontrado

AULA 12 PROGRAMAÇÃO DA PRODUÇÃO

N/A
N/A
Protected

Academic year: 2019

Share "AULA 12 PROGRAMAÇÃO DA PRODUÇÃO"

Copied!
41
0
0

Texto

(1)

AULA 12

PROGRAMAÇÃO DA PRODUÇÃO

Autor: Anibal Tavares de Azevedo

INTRODUÇÃO À META-HEURÍSTICAS

UMA MÁQUINA

MÁQUINA

TAREFAS

TEMPO

(2)

UMA MÁQUINA

MÁQUINA

TAREFAS

p1

TEMPO pi - tempo processamento tarefa i

Ci - instante término tarefa i di - data de entrega da tarefa i

C1

d1

1 2 3

Ei = Max{di-Ci, 0} = avanço tarefa i

UMA MÁQUINA

MÁQUINA

TAREFAS

p1

TEMPO c1

p2

c2

d2 d1

1 2 3

(3)

MÁQUINA

TAREFAS

p1

TEMPO c1

p2

c2

d2 d3 d1

p3 c3

1 2 3

Sem interrupção da tarefa !

PROBLEMAS PROGRAMAÇÃO INTEIRA

Designação

Mochila

(4)

i

j

x

ij

Variáveis de Decisão

X

ij

= 1 se o caixeiro vai do nó i para o nó j.

Problema do Caixeiro Viajante

x

i j

Origem

(Cidade i)

(Cidade j)

Destino

i

j

x

ij

Variáveis de Decisão

X

ij

= 1 se a máquina processa a tarefa i e depois a tarefa j.

PROGRAMAÇÃO DA PRODUÇÃO

x

i j

Origem

(5)

S.a.:

MODELO

COM RESTRIÇÕES

APENAS

Min

???

≠ =

=

=

n j i i

ij

j

n

x

, 0

,...,

1

,

0

,

1

≠ =

=

=

n i j j

ij

i

n

x

, 0

,...,

1

,

0

,

1

n

j

n

i

x

M

p

M

C

C

j

i

+

(

j

+

)

ij

,

=

0

,

1

,...,

,

=

1

,...,

,

,...,

1

,

0

i

n

C

i

=

C

0

=

0

)

1 )( 1 ( + +

n n

B

x

Tarefa fictícia 0 antes da primeira tarefa e após a última tarefa. Cada tarefa tem uma única sucessora e predecessora.

S.a.:

MODELO

COM RESTRIÇÕES

APENAS

Min

???

PROGRAMAÇÃO DA PRODUÇÃO

≠ =

=

=

n j i i

ij

j

n

x

, 0

,...,

1

,

0

,

1

≠ =

=

=

n i j j

ij

i

n

x

, 0

,...,

1

,

0

,

1

n

j

n

i

x

M

p

M

C

C

j

i

+

(

j

+

)

ij

,

=

0

,

1

,...,

,

=

1

,...,

,

,...,

1

,

0

i

n

C

i

=

C

0

=

0

)

1 )( 1 ( + +

n n

B

x

(6)

S.a.:

MODELO

MINIMIZA

FLUXO TOTAL

Min

PROGRAMAÇÃO DA PRODUÇÃO

≠ =

=

=

n j i i

ij

j

n

x

, 0

,...,

1

,

0

,

1

≠ =

=

=

n i j j

ij

i

n

x

, 0

,...,

1

,

0

,

1

n

j

n

i

x

M

p

M

C

C

j

i

+

(

j

+

)

ij

,

=

0

,

1

,...,

,

=

1

,...,

,

,...,

1

,

0

i

n

C

i

=

C

0

=

0

)

1 )( 1 ( + +

n n

B

x

Se xij = 1, então, Cj≥≥≥≥Ci + pj, ou seja, o instante de término da tarefa j só pode ser depois do instante de término da tarefa i. Se xij = 0, então, Cj – Ci≥≥≥≥- M (M – valor grande), e a restrição está desativada !

Soma dos tempos de término das tarefas

= n i i

C

1

Heurística para solução do problema

Proc.(pi)

Instante(Ci)

Tarefa

3

6

4

TOTAL = 25

UTILIZANDO ORDEM DOS DADOS

(7)

Proc.(pi)

Instante(Ci)

Tarefa

3

6

4

TOTAL = 23

REGRA SHORTEST PROCESSING TIME (SPT) – SOLUÇÃO ÓTIMA

1 2 3

Soma Ci

3

13

7

3

23

10

S.a.:

MODELO

MINIMIZA

ATRASO MÁXIMO

Min

T

max

PROGRAMAÇÃO DA PRODUÇÃO

≠ =

=

=

n j i i

ij

j

n

x

, 0

,...,

1

,

0

,

1

≠ =

=

=

n i j j

ij

i

n

x

, 0

,...,

1

,

0

,

1

n

j

n

i

x

M

p

M

C

C

j

i

+

(

j

+

)

ij

,

=

0

,

1

,...,

,

=

1

,...,

,

,...,

1

,

0

i

n

C

i

=

C

0

=

0

)

1 )( 1 ( + +

n n

B

x

Tmax = Max {Ti}, i=1,...,n, e Ti = max{Ci-di,0}

n

i

d

C

T

i

i

i

,

=

1

,...,

n

i

T

T

max

i

,

=

1

,...,

n

R

(8)

Heurística para solução do problema

Proc.(pi)

Instante(Ci)

Tarefa

3

6

4

MAX = 3

UTILIZANDO ORDEM DOS DADOS

1

2

3

Data(di)

3

9

13

13

6

10

3

3

0

Ti = max{Ci-di,0}

Heurística para solução do problema

Proc.(pi)

Instante(Ci)

Tarefa

6

4

3

MAX = 0

REGRA EARLIEST DUE DATE (EDD) – SOLUÇÃO ÓTIMA

1 2

3

Data(di)

6

10

13

6

10

13

0

0

0

(9)

MÁQUINA

TAREFAS

p1 TEMPO c1 p2 c2 d2 d1

1 2 3

Ti = Max{Ci-di, 0} = atraso tarefa i Li = Ci – di = latenessda tarefa i

S.a.:

MODELO

MINIMIZA

SOMA DOS ATRASOS

Min

PROGRAMAÇÃO DA PRODUÇÃO

≠ =

=

=

n j i i

ij

j

n

x

, 0

,...,

1

,

0

,

1

≠ =

=

=

n i j j

ij

i

n

x

, 0

,...,

1

,

0

,

1

n

j

n

i

x

M

p

M

C

C

j

i

+

(

j

+

)

ij

,

=

0

,

1

,...,

,

=

1

,...,

,

,...,

1

,

0

i

n

C

i

=

C

0

=

0

)

1 )( 1 ( + +

n n

B

x

Minimizando soma dos atrasos Ti

n

i

d

C

T

i

i

i

,

=

1

,...,

n

i

T

T

max

i

,

=

1

,...,

n

R

T

+

(10)

UMA MÁQUINA

MÁQUINA

TAREFAS

p1

TEMPO pi - tempo processamento tarefa i

Ci - instante término tarefa i di - data de entrega da tarefa i

C1

d1

1 2 3

Ei = Max{di-Ci, 0} = avanço tarefa i

S.a.:

MODELO

MINIMIZA

SOMA ATRASOS E AVANÇOS

Min

PROGRAMAÇÃO DA PRODUÇÃO

≠ =

=

=

n j i i

ij

j

n

x

, 0

,...,

1

,

0

,

1

≠ =

=

=

n i j j

ij

i

n

x

, 0

,...,

1

,

0

,

1

n

j

n

i

x

M

p

M

C

C

j

i

+

(

j

+

)

ij

,

=

0

,

1

,...,

,

=

1

,...,

,

,...,

1

,

0

i

n

C

i

=

C

0

=

0

)

1 )( 1 ( + +

n n

B

x

Minimizando soma dos atrasos Ti e avanços Ei

n

i

d

C

T

i

i

i

,

=

1

,...,

n

R

T

+

i n i i

E

T

+

=1

n

i

C

d

E

i

i

i

,

=

1

,...,

n

R

(11)

S.a.:

MODELO

MINIMIZA

NÚMERO DE TAREFAS ATRASADAS

Min

≠ =

=

=

n j i i

ij

j

n

x

, 0

,...,

1

,

0

,

1

≠ =

=

=

n i j j

ij

i

n

x

, 0

,...,

1

,

0

,

1

n

j

n

i

x

M

p

M

C

C

j

i

+

(

j

+

)

ij

,

=

0

,

1

,...,

,

=

1

,...,

,

,...,

1

,

0

i

n

C

i

=

C

0

=

0

)

1 )( 1 ( + +

n n

B

x

Minimizando soma de tarefas atrasadas

n

i

d

C

T

i

i

i

,

=

1

,...,

n

R

T

+

= n i i

y

1

n

i

My

T

i

i

,

=

1

,...,

n

B

y

Se Ti > 0, então, yi = 1

UMA MÁQUINA

MÁQUINA

TAREFAS

p1 TEMPO c1 p2 c2 d2 d1

1 2 3

(12)

S.a.:

MODELO

MINIMIZA

ATRASO MÁXIMO

Min

L

max

PROGRAMAÇÃO DA PRODUÇÃO

≠ =

=

=

n j i i

ij

j

n

x

, 0

,...,

1

,

0

,

1

≠ =

=

=

n i j j

ij

i

n

x

, 0

,...,

1

,

0

,

1

n

j

n

i

x

M

p

M

C

C

j

i

+

(

j

+

)

ij

,

=

0

,

1

,...,

,

=

1

,...,

,

,...,

1

,

0

i

n

C

i

=

C

0

=

0

)

1 )( 1 ( + +

n n

B

x

n

i

d

C

L

L

i+

i

=

i

i

,

=

1

,...,

n

i

L

L

L

max

+i

i

,

=

1

,...,

n

R

L

+

+

L

R

+n

Minimizar Lmax = Max {Li}, i=1,...,n

INCLUINDO TEMPO DE SETUP

MÁQUINA

INDEPENDENTE DA SEQUÊNCIA

TEMPO

1 2 3

p1

s1

+

(13)

S.a.:

MODELO

MINIMIZA

FLUXO TOTAL

Min

C

max

≠ =

=

=

n j i i

ij

j

n

x

, 0

,...,

1

,

0

,

1

≠ =

=

=

n i j j

ij

i

n

x

, 0

,...,

1

,

0

,

1

,

,...,

1

,

0

i

n

C

i

=

C

0

=

0

)

1 )( 1 ( + +

n n

B

x

Para se considerar o tempo de setup da tarefa i independente da sequência de processamento, basta adicionar um valor si ao tempo de processamento pi para realizar a tarefa i.

Minimização do

Makespan

(tempo total para realizar todas as tarefas)

n

j

n

i

x

M

p

s

M

C

C

j

i

+

(

j

+

j

+

)

ij

,

=

0

,

1

,...,

,

=

1

,...,

,...,

1

,

max

C

i

n

C

i

=

INCLUINDO TEMPO DE SETUP

DEPENDENTE DA SEQUÊNCIA

Tarefa

0

2

1

1 2 3

1

0

3

3

2

0

1 2 3

p1

TEMPO

p2 p3

s12=1 s23=2

(14)

INCLUINDO TEMPO DE SETUP

DEPENDENTE DA SEQUÊNCIA

Tarefa

0

2

1

1 2 3

1

0

3

3

2

0

1 2 3

p1

TEMPO p2

p3 s13=3

TOTAL = p1 + p2 + p3 + 3 + 3 =

ΣΣΣΣ

p + 6

s32=3

S.a.:

MODELO

MINIMIZA

FLUXO TOTAL

Min

C

max

PROGRAMAÇÃO DA PRODUÇÃO

≠ =

=

=

n j i i

ij

j

n

x

, 0

,...,

1

,

0

,

1

≠ =

=

=

n i j j

ij

i

n

x

, 0

,...,

1

,

0

,

1

,

,...,

1

,

0

i

n

C

i

=

C

0

=

0

)

1 )( 1 ( + +

n n

B

x

Para se considerar o tempo de setup da tarefa i dependente da próxima tarefa j, basta adicionar um valor sij ao tempo de processamento pi para realizar a tarefa i.

Minimização do

Makespan

(tempo total para realizar todas as tarefas)

n

j

n

i

x

M

p

s

M

C

C

j

i

+

(

ij

+

j

+

)

ij

,

=

0

,

1

,...,

,

=

1

,...,

,...,

1

,

max

C

i

n

(15)

É possível provar que o

problema do

Makespan

corresponde ao problema

do caixeiro-viajante que

começa na cidade 0 e tem

distância

s

ij

entre

as

cidades i e j.

PROGRAMAÇÃO DA PRODUÇÃO

MÁQUINAS PARALELAS

IDÊNTICAS

UNIFORMES

NÃO-RELACIONADAS

As máquinas

possuem o mesmo

tempo de

processamento e

preparação .

Os tempos de

processamento e

preparação são

proporcionais ao da máquina + antiga.

Não existe relação entre os tempos de

processamento e

(16)

PROGRAMAÇÃO DA PRODUÇÃO

MÁQUINAS PARALELAS

IDÊNTICAS

UNIFORMES

NÃO-RELACIONADAS

As máquinas

possuem o mesmo

tempo de

processamento e

preparação .

Os tempos de

processamento e

preparação são

proporcionais ao da máquina + antiga.

Não existe relação entre os tempos de

processamento e

preparação das ≠≠≠≠ máquinas.

MÁQUINAS PARALELAS

MÁQUINAS

TAREFAS

TEMPO

(17)

TAREFAS

p1

TEMPO c1

p2

c2

1 2 3

TEMPO p3

c3 MAQ. 1

MAQ. 2

pi - tempo processamento tarefa i Ci - instante término tarefa i n - número de tarefas m – número de máquinas

TAREFAS

p1

TEMPO c1

p2

c2

1 2 3

MÁQUINAS PARALELAS

TEMPO p3

c3

C

max

= Max{c

1

+c

2

, c

3

}

MAQ. 1

(18)

i

j

x

ij

Variáveis de Decisão

X

ij

= 1 se a máquina j processa a tarefa i.

MÁQUINAS PARALELAS

x

i j

Origem

(Tarefa i)

(Máquina j)

Destino

S.a.:

MODELO

COM RESTRIÇÕES

APENAS

Min

PROGRAMAÇÃO DA PRODUÇÃO

=

=

=

m

j

ij

i

n

x

1

,...,

1

,

1

=

=

=

n

i ij

i

x

j

m

p

C

1

max

1

,

1

,...,

mn

B

x

C

max

0

,

Uma tarefa i é alocada exatamente para uma única máquina j.

C

max

Minimizar Cmax = Max {Ci}, i=1,...,m

O makespan corresponde ao

maior tempo de

(19)

MÁQUINAS PARALELAS

IDÊNTICAS

UNIFORMES

NÃO-RELACIONADAS

As máquinas

possuem o mesmo

tempo de

processamento e

preparação .

Os tempos de

processamento e

preparação são

proporcionais ao da máquina + antiga.

Não existe relação entre os tempos de

processamento e

preparação das ≠≠≠≠ máquinas.

TAREFAS

p11

TEMPO c11

p21

c21

1 2 3

MÁQUINAS PARALELAS

TEMPO p32

c32 MAQ. 1

MAQ. 2

pik - tempo tarefa i na máquina k

Cik - instante término tarefa i na máq. k di - data de entrega da tarefa i n - número de tarefas

(20)

TAREFAS

p11

TEMPO

1 2 3

MÁQUINAS PARALELAS

TEMPO p32

MAQ. 1

MAQ. 2

p22 c32

pik - tempo tarefa i na máquina k

c11

c32

TAREFAS

p11

TEMPO

1 2 3

MÁQUINAS PARALELAS

TEMPO p32

MAQ. 1

MAQ. 2

p2 c2

sijk - tempo preparação da máquina k para realizar a tarefa j depois da i.

s322 c11

(21)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

0

2 1

3 4 3

4 2

6

3

1

3 3

3 1 10

10

10 10

i

j

x

ij

Variáveis de Decisão

X

ijk

= 1 se o veículo k vai do nó i para o nó j.

x

i jk

Origem

(Cidade i)

(Cidade j)

Destino

Veículo k

(22)

i

j

x

ij

Variáveis de Decisão

X

ijk

= 1 se a tarefa i precede a tarefa j na máquina k.

x

i jk

Origem

(Tarefa i)

(Tarefa j)

Destino

Máquina k

Roteamento de Veículos

S.a.:

MODELO

MINIMIZA

SOMA ATRASOS E AVANÇOS

Min

∑∑

= =

=

=

m k n i

ijk

j

n

x

1 0

,...,

1

,

1

=

=

n j

jk

k

m

x

1

0

1

,

1

,...,

n

j

n

i

x

M

p

s

M

C

C

jk

ik

+

(

ijk

+

jk

+

)

ijk

,

=

0

,

1

,...,

,

=

1

,...,

)

1 )( 1 ( + +

mn n

B

x

Minimizando soma dos atrasos Ti e avanços Ei

n

i

d

C

T

i

i

i

,

=

1

,...,

n

R

T

+

i n i i

E

T

+

=1

n

i

C

d

E

i

i

i

,

=

1

,...,

n

R

E

+

m

k

n

h

x

x

n h j j hjk n h i i

ihk

0

,

1

,...,

,

1

,...,

(23)

S.a.:

MODELO

MINIMIZA

SOMA ATRASOS E AVANÇOS

Min

∑∑

= =

=

=

m k n i

ijk

j

n

x

1 0

,...,

1

,

1

=

=

n j

jk

k

m

x

1

0

1

,

1

,...,

n

j

n

i

x

M

p

s

M

C

C

jk

ik

+

(

ijk

+

jk

+

)

ijk

,

=

0

,

1

,...,

,

=

1

,...,

)

1 )( 1 ( + +

mn n

B

x

Minimizando soma dos atrasos Ti e avanços Ei

n

i

d

C

T

i

i

i

,

=

1

,...,

n

R

T

+

i n i i

E

T

+

=1

n

i

C

d

E

i

i

i

,

=

1

,...,

n

R

E

+

m

k

n

h

x

x

n h j j hjk n h i i

ihk

0

,

1

,...,

,

1

,...,

0 0

=

=

=

≠ = ≠

= Garante que cada máquina k, se usada, tem uma única sequência de processamento.

S.a.:

MODELO

MINIMIZA

SOMA ATRASOS E AVANÇOS

Min

∑∑

= =

=

=

m k n i

ijk

j

n

x

1 0

,...,

1

,

1

=

=

n j

jk

k

m

x

1

0

1

,

1

,...,

n

j

n

i

x

M

p

s

M

C

C

jk

ik

+

(

ijk

+

jk

+

)

ijk

,

=

0

,

1

,...,

,

=

1

,...,

)

1 )( 1 ( + +

mn n

B

x

Minimizando soma dos atrasos Ti e avanços Ei

n

i

d

C

T

i

i

i

,

=

1

,...,

n

R

T

+

i n i i

E

T

+

=1

n

i

C

d

E

i

i

i

,

=

1

,...,

n

R

E

+

m

k

n

h

x

x

n h j j hjk n h i i

ihk

0

,

1

,...,

,

1

,...,

0 0

=

=

=

≠ = ≠ =

MÁQUINAS PARALELAS

(24)

JOB SHOP

=

2

1

3

3

1

2

1

2

3

3

2

1

3

1

2

O

Matriz de operações das tarefas

=

8

8

8

4

7

2

2

8

5

3

5

9

10

7

5

P

Matriz de tempos de processamento

M1

M2

M3

i

j

x

ij

Variáveis de Decisão

X

ijk

= 1 se a tarefa i precede a tarefa j na máquina k.

x

i jk

Origem

(Tarefa i)

(Tarefa j)

Destino

Máquina k

(25)

2 4 1 5 3

2

4 1 3 5

2

4 1

5 3

32 35

M1

M2

M3

S.a.:

MODELO

MINIMIZA

SOMA ATRASOS E AVANÇOS

Min

m

k

n

j

n

i

Mx

p

C

C

ik

jk

+

jk

ijk

,

=

1

,...,

,

=

1

,...,

,

=

1

,...,

mnn

B

x

Minimizando do tempo do fluxo total tarefas

mn

R

C

+

=

n

i m i

C

1

) (

JOB SHOP

m

k

n

j

n

i

x

M

p

C

C

jk

ik

+

jk

(

1

ijk

),

=

1

,...,

,

=

1

,...,

,

=

1

,...,

1

,...,

1

,

,...,

1

,

) 1 ( , ) ( ) 1 (

, +

C

+

p

+

i

=

n

k

=

m

C

iik ik iik

n

i

p

(26)

S.a.:

MODELO

MINIMIZA

SOMA ATRASOS E AVANÇOS

Min

m

k

n

j

n

i

Mx

p

C

C

ik

jk

+

jk

ijk

,

=

1

,...,

,

=

1

,...,

,

=

1

,...,

mnn

B

x

Minimizando do tempo do fluxo total tarefas

mn

R

C

+

= n i m i

C

1 ) (

JOB SHOP

m

k

n

j

n

i

x

M

p

C

C

jk

ik

+

jk

(

1

ijk

),

=

1

,...,

,

=

1

,...,

,

=

1

,...,

1

,...,

1

,

,...,

1

,

) 1 ( , ) ( ) 1 (

, +

C

+

p

+

i

=

n

k

=

m

C

iik ik iik

n

i

p

C

i,i(1)

i,i(1)

,

=

1

,...,

A operação da tarefa i é concluída depois do término da operação k e do tempo de processamento de k+1.

S.a.:

MODELO

MINIMIZA

SOMA ATRASOS E AVANÇOS

Min

m

k

n

j

n

i

Mx

p

C

C

ik

jk

+

jk

ijk

,

=

1

,...,

,

=

1

,...,

,

=

1

,...,

mnn

B

x

Minimizando do tempo do fluxo total tarefas

mn

R

C

+

= n i m i

C

1 ) (

JOB SHOP

m

k

n

j

n

i

x

M

p

C

C

jk

ik

+

jk

(

1

ijk

),

=

1

,...,

,

=

1

,...,

,

=

1

,...,

1

,...,

1

,

,...,

1

,

) 1 ( , ) ( ) 1 (

, +

C

+

p

+

i

=

n

k

=

m

C

iik ik iik

n

i

p

(27)

=

3

2

1

3

2

1

3

2

1

3

2

1

3

2

1

O

Matriz de operações das tarefas

=

8

8

8

4

7

2

2

8

5

3

5

9

10

7

5

P

Matriz de tempos de processamento

M1

M2

M3

As n tarefas tem o mesmo roteiro

(28)

COLÔNIA DE FORMIGAS (ACO)

(29)

ANT COLONY OPTIMIZATION ALGORITHM GENÉRICO

COLÔNIA DE FORMIGAS (ACO)

(30)

COLÔNIA DE FORMIGAS (ACO)

(31)

FUNÇÃO TESTEACO

function testeacotsp

// Dados da instância. x = [2 6 8 11 13]; y = [2 2 7 5 7];

// Número de iterações. miter = 10;

// Número de formigas. nf = 10;

// Evaporação do feromonio. ttx = 0.95;

// Ant Colony Optimization. [s, f] = acotsp(x,y,miter,nf,ttx);

endfunction

(32)

for i=1:miter

[S] = getSolution(t,nf); [fo]= evaluate(S,M); // Menor valor obtido. [aux,ind] = min(fo); if (i == 1) then

menor = aux;

best = S(ind,:); else

if (aux < menor) then menor = aux;

best = S(ind,:); end

end

[t]= updateP(t,ttx); mprintf('Iteração %d: %8.3f \n',i,menor);

end endfunction

FUNÇÃO ACOTSP

function [best, menor] = acotsp(x,y,miter,nf,ttx) [M] = tspmatrix(x,y); t = computeP(M);

S = zeros(nf,length(x));

COLÔNIA DE FORMIGAS (ACO)

for i=1:miter

[S] = getSolution(t,nf); [fo]= evaluate(S,M); // Menor valor obtido. [aux,ind] = min(fo); if (i == 1) then

menor = aux;

best = S(ind,:); else

if (aux < menor) then menor = aux;

best = S(ind,:); end

end

[t]= updateP(t,ttx); mprintf('Iteração %d: %8.3f \n',i,menor);

end endfunction

FUNÇÃO ACOTSP

function [best, menor] = acotsp(x,y,miter,nf,ttx) [M] = tspmatrix(x,y); t = computeP(M);

S = zeros(nf,length(x));

(33)

FUNÇÃO COMPUTEP

function [t] = computeP(M)

t = 1.0/M;

endfunction

for i=1:miter

[S] = getSolution(t,nf); [fo]= evaluate(S,M); // Menor valor obtido. [aux,ind] = min(fo); if (i == 1) then

menor = aux;

best = S(ind,:); else

if (aux < menor) then menor = aux;

best = S(ind,:); end

end

[t]= updateP(t,ttx); mprintf('Iteração %d: %8.3f \n',i,menor);

end endfunction

FUNÇÃO ACOTSP

function [best, menor] = acotsp(x,y,miter,nf,ttx) [M] = tspmatrix(x,y); t = computeP(M);

S = zeros(nf,length(x));

(34)

FUNÇÃO GETSOLUTION

function [S] = getSolution(t, nf)

for i=1:nf

sol = nearestnaco(x,y,t); S(i,:) = sol';

end

endfunction

COLÔNIA DE FORMIGAS (ACO)

FUNÇÃO NEARESTACO

function [sol]=nearestnaco(x,y,t) // Obtendo a probabilidade // associada ao feromonio. nij = 1.0/M;

total = sum(sum(t.*nij)); p = (t.*nij)/(total);

[M]=tspmatrix(x,y); n = length(x);

// Conjunto de vertices candidatos.

V = 1:n;

// Escolhendo a 1a. Cidade aleat. ind = round(rand()*(n-1))+1; sol = [V(ind)];

len = length(V);

V = [V(1:ind-1) V(ind+1:len)];

COLÔNIA DE FORMIGAS (ACO)

for i=1:(n-1)

menor = p(sol(i),V(1)); elem = V(1);

ind = 1;

for j=2:length(V)

if (menor > p(sol(i),V(j))) then menor = p(sol(i),V(j)); elem = V(j);

ind = j; end end

// Atualizando V e sol. sol = [sol; elem]; len = length(V);

V = [V(1:ind-1) V(ind+1:len)]; end

(35)

for i=1:miter

[S] = getSolution(t,nf); [fo]= evaluate(S,M); // Menor valor obtido. [aux,ind] = min(fo); if (i == 1) then

menor = aux;

best = S(ind,:); else

if (aux < menor) then menor = aux;

best = S(ind,:); end

end

[t]= updateP(t,ttx); mprintf('Iteração %d: %8.3f \n',i,menor);

end endfunction

FUNÇÃO ACOTSP

function [best, menor] = acotsp(x,y,miter,nf,ttx) [M] = tspmatrix(x,y); t = computeP(M);

S = zeros(nf,length(x));

FUNÇÃO UPDATEP

function [t] = updateP(t,ttx)

t = ttx*t;

endfunction

(36)

ENXAME DE PARTÍCULAS (PSO)

(37)
(38)

COLÔNIA DE ABELHAS

(39)

BUSCA PELA COLMÉIA

BUSCA POR COMIDA

(40)

COLÔNIA DE FORMIGAS (ACO)

(41)

Referências

Documentos relacionados

Devido à falta de conhecimento sobre a importância da Pesquisa Operacional (PO) na empresa, aliado à grande dependência do conhecimento dos motoristas em suas rotas (no qual as

Ao final de nossas análises podemos dizer que o autor do evangelho de Mateus, consciente de sua posição marginal na sociedade, adota um linguajar próprio de grupos sectários

LISTA DE SIGLAS BACEN – Biblioteca da Área de Ciências Exatas e Naturais CAPES – Coordenação de Aperfeiçoamento de Pessoal de Nível Superior CCV – Coordenação do

Atualmente as prefeituras têm apresentado dificuldade na cobrança de seus tributos. A inadimplência reflete nas contas públicas, uma vez que o montante não arrecadado se acumula

Foi utilizado o Problema do Caixeiro Viajante de modo a obter a menor distância entre a casa da microempreendedora e os locais de venda, visando percorrer apenas

•  Considere)a)previsão)de) demanda)ao)lado)para)o) produto)XPTO.).

Ruhal Haque, Ministro de Saúde e Bem-estar Familiar, Bangladesh Leona Aglukkaq, Ministra da Saúde, Canadá (a confirmar) Beth Mugo, Ministra da Saúde Pública e

foram realizadas: Centro Cirúrgico, Unidade de Tratamento In -. tensivo e Berçário, mostrando, de certa forma, pacientes