• Nenhum resultado encontrado

AULA 6 MODELOS DE PROGRAMAÇÃO INTEIRA

N/A
N/A
Protected

Academic year: 2019

Share "AULA 6 MODELOS DE PROGRAMAÇÃO INTEIRA"

Copied!
41
0
0

Texto

(1)

AULA 6

MODELOS DE PROGRAMAÇÃO INTEIRA

Autor: Anibal Tavares de Azevedo

INTRODUÇÃO À META-HEURÍSTICAS

PROBLEMAS DE PROGRAMAÇÃO INTEIRA

(Integer) Space: The last frontier

(2)

Designação

Mochila

Caixeiro

PROBLEMAS PROGRAMAÇÃO INTEIRA

Designação

Mochila

(3)

i

j

x

ij

Variáveis de Decisão

X

ij

= Quantidade transportada do nó i para o nó j.

x

i j

Origem

(fábrica)

Destino

(mercado)

1

2

x

22

1

2

x

21

x

12

x

11

Variáveis de Decisão

X

= Quantidade transportada da fábrica i para o mercado j.

(4)

1

2

x

22

1

2

x

21

x

12

x

11

=

=

=

n

j

j

m

i

i

d

f

1

1

n = no. de mercados

m = no. de fábricas

Restrição (implícita): tudo o que for produzido nas

fábricas (f

i

) deve ser consumido pelos mercados (d

i

).

Transporte

=

=

=

n

j

j

m

i

i

d

f

1

1

Modelo anterior supõe implicitamente

que tudo que é produzido será

consumido. Neste caso, o modelo de

transporte é dito balanceado.

Existem, porém, 2 casos nos quais esta restrição não é satisfeita:

Caso 1

Capacidade >

Demanda

Caso 2

Capacidade <

Demanda

m

i

f

x

n

j

i

ij

,

1

,

,

1

L

=

=

n

j

d

x

m

j

ij

=

,

=

1

,

L

,

=

m

i

f

x

n

j

i

ij

,

1

,

,

1

L

=

=

=

n

j

d

x

m

j

ij

,

=

1

,

L

,

=

Não precisa

transportar tudo !

(5)

1

2

x

22

1

2

x

21

x

12

x

11

3

mercado “fantasma”

Caso 1

Transporte

1

2

1

2

x

11

3

x

21

+ x

22

+ x

23

+ x

24

= f

2

4

x

12

x

13

x

14

x

21

x

22

x

23

x

24

3

x

31

x

32

x

33

x

34

x

11

+ x

12

+ x

13

+ x

14

= f

1

x

31

+ x

32

+ x

33

+ x

34

= f

3

(6)

1

2

1

2

11

3

x

12

+ x

22

+ x

32

= d

2

4

x

12

x

13

x

14

x

21

x

22

x

23

x

24

3

x

31

x

32

x

33

x

34

x

11

+ x

21

+ x

31

= d

1

x

14

+ x

24

+ x

34

= d

4

x

13

+ x

23

+ x

33

= d

3

Capacidade - Demanda

S.a.:

x

11

+ x

12

+ x

13

+ x

14

= 2.000

x

21

+ x

22

+ x

23

+ x

24

= 3.000

x

31

+ x

32

+ x

33

+ x

34

= 1.500

x

11

+ x

21

+ x

31

= 2.000

x

12

+ x

22

+ x

32

= 2.000

x

13

+ x

23

+ x

33

= 1.000

x

14

+ x

24

+ x

34

= 1.500

MODELO COMPLETO DETALHADO

Transporte

Min

25x

11

+ 20x

12

+ 30x

13

+

30x

21

+ 25x

22

+ 25x

23

+

20x

31

+ 15x

32

+ 23x

33

Cap. fábrica

Cap. mercado

(7)

1

2

x

22

1

2

x

21

x

12

x

11

3

fábrica “fantasma”

x

32

x

31

Caso 2

Min

S.a.:

MODELO COMPLETO GERAL

Transporte

m

i

f

x

n

j

i

ij

,

1

,

,

1

L

=

=

n

j

d

x

m

i

j

ij

,

1

,

,

1

L

=

=

∑∑

=

=

m

i

n

j

ij

ij

x

c

1

1

n = no. de mercados

m = no. de fábricas

Cap. fábrica

Cap. mercado

(8)

Min

S.a.:

MODELO COMPLETO GERAL

m

i

f

x

x

n

j

i

in

ij

,

1

,

,

1

1

=

=

L

+

=

+

n

j

d

x

x

m

i

j

j

m

ij

,

1

,

,

1

1

=

=

L

+

=

+

∑∑

=

=

m

i

n

j

ij

ij

x

c

1

1

Custo de transporte

Ax

b

Matriz A com elementos -1, 1 e 0 é

dita matriz unimodular.

Vetor só com

elementos

inteiros

X é solução inteira !!

(Bazaraa, 2nd, p.429)

i

j

x

ij

Variáveis de Decisão

X

ij

= 1 se operário i realiza a tarefa j e 0 caso contrário.

x

i j

Operário

Tarefa

(9)

1

2

x

22

1

2

x

21

x

12

x

11

n

m

=

n = no. de tarefas

m = no. operários

Restrições : todas as tarefas j devem ser alocadas a

pelo menos 1 operário e vice-versa.

1

1

2

x

12

x

11

Restrições : todas os

operários i

devem ser alocados a

pelo menos 1 tarefa

!

Problema de Designação

x

11

+ x

12

= 1

(10)

2

x

22

1

2

x

21

Restrições : todas os

operários i

devem ser alocados a

pelo menos 1 tarefa

!

x

21

+ x

22

= 1

Alocação do operário 2

1

2

1

x

21

x

11

Restrição : todas as

tarefas j

devem ser alocadas a

pelo menos 1 operário

!

Problema de Designação

x

11

+ x

21

= 1

(11)

1

2

x

22

2

x

12

Restrição : todas as

tarefas j

devem ser alocadas a

pelo menos 1 operário

!

x

12

+ x

22

= 1

Alocação para a tarefa 2

Min

S.a.:

MODELO COMPLETO GERAL

Problema de Designação

m

i

x

m

j

ij

1

,

1

,

,

1

L

=

=

=

m

j

x

m

i

ij

1

,

1

,

,

1

L

=

=

=

∑∑

=

=

m

i

m

j

ij

ij

x

c

1

1

custo para realizar a tarefa

m

j

i

x

ij

=

1

ou

0

,

,

=

1

,

L

,

Pelo menos 1

tarefa (j) para

cada operário(i)

Pelo menos 1

operário(i) para

(12)

Min

S.a.:

MODELO COMPLETO GERAL

m

i

x

m

j

ij

1

,

1

,

,

1

L

=

=

=

m

j

x

m

i

ij

1

,

1

,

,

1

L

=

=

=

∑∑

=

=

m

i

n

j

ij

ij

x

c

1

1

custo para realizar a tarefa

m

j

i

x

ij

=

1

ou

0

,

,

=

1

,

L

,

X é solução inteira !!

(Bazaraa, 2nd, p.429)

Caso particular do

modelo de transporte:

m = n e vetor b só com

elementos 1

i

j

x

i j

Máquina

Tarefa

(13)

i

j

x

ij

Variáveis de Decisão

X

ij

= 1 se a máquina i realiza a tarefa j e 0 caso contrário.

x

i j

Máquina

Tarefa

A Machine Company tem 4 máquinas e 4 tarefas

para serem realizadas. Cada máquina deve ser

designada para completar uma tarefa. O tempo

requerido para completar cada tarefa por cada

máquina é dado na tabela dada a seguir. A

Machine Company deseja minimizar o tempo total

de processamento para realizar as 4 tarefas.

Formule e resolva o problema de programação

linear correspondente.

Problema de Designação

(14)

Máquina

Tarefa 1

Tempo[h]

Tarefa 2

Tempo[h]

Tarefa 3

Tempo[h]

Tarefa 4

Tempo[h]

1

14

5

8

7

2

2

12

6

5

3

7

8

3

9

4

2

4

6

10

Tabela 1: Dados do problema de Designação

1

1

2

x

12

x

11

Restrições : todas os

operários i

devem ser alocados a

pelo menos 1 tarefa

!

Problema de Designação

x

11

+ x

12

= 1

(15)

1

2

1

x

21

x

11

Restrição : todas as

tarefas j

devem ser alocadas a

pelo menos 1 operário

!

x

11

+ x

21

= 1

Alocação para a tarefa 1

S.a.:

x

11

+ x

12

+ x

13

+ x

14

= 1

x

21

+ x

22

+ x

23

+ x

24

= 1

x

31

+ x

32

+ x

33

+ x

34

= 1

x

41

+ x

42

+ x

43

+ x

44

= 1

x

11

+ x

21

+ x

31

+ x

41

= 1

x

12

+ x

22

+ x

32

+ x

42

= 1

x

13

+ x

23

+ x

33

+ x

43

= 1

x

14

+ x

24

+ x

34

+ x

44

= 1

MODELO COMPLETO DETALHADO

Min

14x

11

+ 5x

12

+ 8x

13

+ 7x

14

+

2x

21

+ 12x

22

+ 6x

23

+ 5x

24

+

7x

31

+ 8x

32

+ 3x

33

+ 9x

34

+

2x

41

+ 4x

42

+ 6x

43

+ 10x

44

Restrições de

máquinas

Transporte

Restrições de

tarefas

(16)

Min

S.a.:

MODELO COMPLETO GERAL

m

i

x

m

j

ij

1

,

1

,

,

1

L

=

=

=

m

j

x

m

i

ij

1

,

1

,

,

1

L

=

=

=

∑∑

=

=

m

i

m

j

ij

ij

x

t

1

1

Tempo total

Restrições de

máquinas

Restrições de

tarefas

m

j

i

x

ij

0

,

,

=

1

,

L

,

GLPK Lab for Windows

# MODELO DO PROBLEMA DE DESIGNAÇÃO

# Este problema encontra o menor custo de transporte # que atende as requisões de demanda e produção.

set I; /* máquina */

set J; /* tarefa */

param a{i in I}; /* alocação das i máquinas */

param b{j in J}; /* alocação das j tarefas */

param d{i in I, j in J}; /* tempo de realização */ /* Tempo de realização em horas */

param c{i in I, j in J} := d[i,j];

#Parametros para impressao dos resultados do modelo em arquivos.

param file, symbolic, default "ResumoDesignacao.txt"; /* Alocação da máquina i para a tarefa j */

var x{i in I, j in J} >= 0;

/* Minimização do tempo total de processamento */

minimize cost: sum{i inI, j in J} c[i,j] * x[i,j]; /* Alocação da máquina i */

s.t. supply{i inI}: sum{j in J} x[i,j] = a[i]; /* Alocação da tarefa j */

s.t. demand{j inJ}: sum{i in I} x[i,j] = b[j];

PARTE 1 - FORMULAÇÃO

Índices das variáveis

Dados

do

modelo

Variáveis

(17)

solve;

/* RELATORIO */

printf '\n'

>> file;

printf '---\n'

>> file;

printf 'Solucao Encontrada \n'

>> file;

printf '---\n'

>> file;

printf ' \n'

>> file;

printf '---\n'

>> file;

printf " Máquina Tarefa Tempo \n"

>> file;

printf{i in I} " %8s %8d %10g\n", i, sum{j in J} j * x[i,j],

sum{j in J} c[i,j] * x[i,j] >> file;

printf '---\n'

>> file;

printf 'Custo total (z): ' >> file;

printf ' %10.2f \n', cost >> file;

printf '---\n'>> file;

printf '\n' >> file;

PARTE 2 - FORMULAÇÃO

Corresponde ao índice da

tarefa assinalada à máquina i

GLPK Lab for Windows

data;

set I := Maq1 Maq2 Maq3 Maq4;

set J := 1 2 3 4;

param a := Maq1 1 Maq2 1 Maq3 1 Maq4 1;

param b := 1 1 2 1 3 1 4 1;

param d : 1 2 3 4 := Maq1 14 5 8 7 Maq2 2 12 6 5 Maq3 7 8 3 9 Maq4 2 4 6 10;

(18)

data;

set I := Maq1 Maq2 Maq3 Maq4;

set J := 1 2 3 4;

param a := Maq1 1 Maq2 1 Maq3 1 Maq4 1;

param b := 1 1 2 1 3 1 4 1;

param d : 1 2 3 4 := Maq1 14 5 8 7 Maq2 2 12 6 5 Maq3 7 8 3 9 Maq4 2 4 6 10;

end;

PARTE 3 - FORMULAÇÃO

Dados do

Modelo

GLPK Lab for Windows

(19)

Máquina

Tarefa 1

Tempo[h]

Tarefa 2

Tempo[h]

Tarefa 3

Tempo[h]

Tarefa 4

Tempo[h]

1

14

5

8

7

2

2

12

6

5

3

7

8

3

9

4

2

4

6

10

Solução encontrada para o problema de Designação

TEMA 1:

Suponha que uma empresa de consultoria deseja alocar

n consultores para n projetos diferentes e que cada consultor tem

interesses e afinidades para cada projeto medidos de acordo com

a tabela dada abaixo. Otimizar a soma das preferências.

Problema de Designação

Cij

Proj1

Proj2

Proj3

Proj4

1

2

5

8

7

2

14

12

5

6

3

7

3

8

9

4

6

10

2

4

(20)

x

ij

1 tarefa – 1 operário e 1 operário – 1 ou mais tarefas (cap. bi)

Designação Generalizada

M – operários

N – Tarefas

(21)

x

ij

1 tarefa – 1 operário e 1 operário – 1 ou mais tarefas (cap. bi)

M – operários

N – Tarefas

x

ij

bi – capacidade de recursos

do operário i

x

ij

1 tarefa – 1 operário e 1 operário – 1 ou mais tarefas (cap. bi)

Designação Generalizada

M – operários

N – Tarefas

x

ij

(22)

1

1

2

x

12

x

11

Restrições : todas os

operários i

devem ser alocados a

pelo menos 1 tarefa

!

a

11

x

11

+a

12

x

12

≤≤≤≤

b

1

Alocação do operário 1

Capacidade do operário 1

E

1

2

1

x

21

x

11

Restrição : todas as

tarefas j

devem ser alocadas a

pelo menos 1 operário

!

x

11

+ x

21

= 1

Alocação para a tarefa 1

Designação Generalizada

(23)

Min

S.a.:

MODELO COMPLETO GERAL

m

i

b

x

a

n

j

i

ij

ij

,

1

,

,

1

L

=

=

n

j

x

m

i

ij

1

,

1

,

,

1

L

=

=

=

∑∑

=

=

m

i

n

j

ij

ij

x

c

1

1

Custo total

Capacidade e

recursos gastos

pelo operário i

Cada tarefa j tem

1 operário

n

j

m

i

x

ij

0

,

=

1

,

L

,

,

=

1

,

L

,

Min

S.a.:

MODELO COMPLETO GERAL

m

i

b

x

a

n

j

i

ij

ij

,

1

,

,

1

L

=

=

n

j

x

m

i

ij

1

,

1

,

,

1

L

=

=

=

∑∑

=

=

m

i

n

j

ij

ij

x

c

1

1

n

j

m

i

x

ij

0

,

=

1

,

L

,

,

=

1

,

L

,

Ax

Matriz A com

elementos -1, 1 e 0 é

dita matriz unimodular,

mas com aij isto não

acontece mais com A !!

(24)

Min

S.a.:

MODELO COMPLETO GERAL

m

i

b

x

a

n

j

i

ij

ij

,

1

,

,

1

L

=

=

n

j

x

m

i

ij

1

,

1

,

,

1

L

=

=

=

∑∑

=

=

m

i

n

j

ij

ij

x

c

1

1

n

j

m

i

x

ij

0

,

=

1

,

L

,

,

=

1

,

L

,

USAR MÉTODOS DE

PROGRAMAÇÃO

INTEIRA !!

A Compact Consulting Company tem 2 consultores

e 4 tarefas para serem realizadas. Cada consultor

deve ser designado para completar uma tarefa. Os

custos cij, os recursos necessários para cada

consultor realizar cada tarefa aij e a capacidade de

cada consultor bi são dados nas tabelas a seguir.

Formule e resolva o problema de programação

linear correspondente.

Problema de Designação

(25)

cij

T1

T2

T3

T4

1

15

61

3

94

2

21

28

76

48

aij

T1

T2

T3

T4

1

31

69

14

87

2

23

20

71

86

bi

Cap.

1

1000

2

1000

GLPK Lab for Windows

# MODELO DO PROBLEMA GERAL DE DESIGNAÇÃO

# Este problema encontra a alocação que produz menor custo total de realização das tarefas respeitando a capacidade de cada consultor e utilização de recursos.

set I; /* consultor */ set J; /* tarefa */

param b{i in I}; /* capacidade i consultores */ param d{j in J}; /* alocação das j tarefas */ param c{i in I, j in J}; /* custo de realização */ param a{i in I, j in J}; /* utilização de recursos */ #Parametros para impressao dos resultados do modelo em arquivos. param file, symbolic, default "ResumoDesignacaoGeral.txt";

/* Alocação da máquina i para a tarefa j */ var x{i in I, j in J} binary;

/* Minimização do tempo total de processamento */ minimize cost: sum{i in I, j in J} c[i,j] * x[i,j];

/* Alocação do consultor i */

s.t. supply{i in I}: sum{j in J} a[i,j] * x[i,j] <= b[i]; /* Alocação da tarefa j */

s.t. demand{j in J}: sum{i in I} x[i,j] = d[j];

Índices das variáveis

Dados

do

modelo

Variáveis

binárias

Modelo

(26)

solve;

/* RELATORIO */

printf '\n'

>> file;

printf '---\n'

>> file;

printf 'Solucao Encontrada \n'

>> file;

printf '---\n'

>> file;

printf ' \n'

>> file;

printf '---\n'

>> file;

printf " Consultor Tarefa Alocação(1-Sim/0-Não) \n"

>> file;

printf{i in I, j in J} " %8s %8d %10g\n", i, j, x[i,j] >> file;

printf '---\n'

>> file;

printf 'Custo total (z): ' >> file;

printf ' %10.2f \n', cost >> file;

printf '---\n'>> file;

printf '\n' >> file;

PARTE 2 - FORMULAÇÃO

Índice do consultor i

assinalada à tarefa j

GLPK Lab for Windows

data;

set I := C1 C2;

set J := 1 2 3 4;

param b := C1 1000 C2 1000;

param d := 1 1 2 1 3 1 4 1;

param c : 1 2 3 4 := C1 15 61 3 94 C2 21 28 76 48;

param a : 1 2 3 4 := C1 31 69 14 87 C2 23 20 71 86;

(27)

data;

set I := Maq1 Maq2 Maq3 Maq4;

set J := 1 2 3 4;

param a := Maq1 1 Maq2 1 Maq3 1 Maq4 1;

param b := 1 1 2 1 3 1 4 1;

param d : 1 2 3 4 := Maq1 14 5 8 7 Maq2 2 12 6 5 Maq3 7 8 3 9 Maq4 2 4 6 10;

end;

PARTE 3 - FORMULAÇÃO

Dados do

Modelo

GLPK Lab for Windows

(28)

TEMA 2:

Considere existem 3 agentes (m = 3) para realizar 8

tarefas (n = 8). Os custos (cij), os recursos necessários para

realizar a tarefa j pelo agente i (aij) e as capacidades i de cada um

dos agentes (bi) são dados pelas tabelas dadas a seguir.

cij

T1

T2

T3

T4

T5

T6

T7

T8

1

15

61

3

94

86

68

69

51

2

21

28

76

48

54

85

39

72

3

21

21

46

43

21

3

84

44

x

ij

TEMA 2:

Dados relativos à aij e bi.

aij

T1

T2

T3

T4

T5

T6

T7

T8

1

31

69

14

87

51

65

35

54

2

23

20

71

86

91

57

30

74

3

20

55

39

60

83

67

35

32

x

ij

bi

Cap.

1

100

2

100

3

100

(29)

Designação

Mochila

Caixeiro

Problema da Mochila

(30)

Utilidade

Volume

Fornecer uma nota para cada item

(subjetivo !)

Medir para cada item (objetivo,

mas dá muito trabalho !)

Para o trabalho:

Para o praia:

Criar lista:

Heurística Problema da Mochila

Utilidade(U)

Volume(V)

Razão U/V

Item

7

7

5

6

3

4

(31)

Utilidade(U)

Volume(V)

Razão U/V

Item

7

7

1.0

5

6

0.83

3

4

0.75

CAP. MAX = 10

CAP. USADA = 7

Heurística Problema da Mochila

Utilidade(U)

Volume(V)

Razão U/V

Item

7

7

1.0

5

6

0.83

3

4

0.75

MAS...

CAP. MAX = 10

(32)

Itens

Mochila

P1

P2

P3

P4

x

1

= 1

x

4

= 0

Variável de decisão:

Item i participa (1) ou

não (0) da Mochila

Itens

Mochila

P1

P2

P3

P4

x

1

= 1

x

4

= 0

Problema da Mochila

Máximo

de itens

na mochila

(33)

Max

S.a.:

MODELO COMPLETO GERAL

=

n

i

i

i

x

b

v

1

=

n

i

i

i

x

u

1

Utilidade total

Capacidade

da mochila

n

i

x

i

=

1

ou

0

,

=

1

,

L

,

Max

S.a.:

MODELO COMPLETO GERAL

Ax

Matriz A com

elementos -1, 1 e 0 é

dita matriz unimodular,

mas com vi isto não

acontece mais com A !!

Problema da Mochila

=

n

i

i

i

x

b

v

1

=

n

i

i

i

x

u

1

Utilidade total

n

i

(34)

# MODELO DO PROBLEMA DA MOCHILA #

# Este problema encontra a mochila com o maior utilidade, # respeitando a capacidade da mesma.

#

/* input data */

param n, integer, >= 1; # número de itens

param p, integer, >= 1; # capacidade da mochila

set E:={1..n}; # conjunto de itens

param u{E} >=0; # utilidade dos itens

param v{E} >=0; # volume dos itens

#Parametros para impressao dos resultados do modelo em arquivos.

param file, symbolic, default "ResumoMochila.txt"; /* Variável */

var x{E} binary; /* Função Objetivo */

maximize TotalUtility: sum{i in E} u[i]*x[i]; /* Capacidade da Mochila */

s.t. capacity: sum{i inE} v[i]*x[i] <= p;

solve;

PARTE 1 - FORMULAÇÃO

# MODELO DO PROBLEMA DA MOCHILA #

# Este problema encontra a mochila com o maior utilidade, # respeitando a capacidade da mesma.

#

/* input data */

param n, integer, >= 1; # número de itens

param p, integer, >= 1; # capacidade da mochila

set E:={1..n}; # conjunto de itens

param u{E} >=0; # utilidade dos itens

param v{E} >=0; # volume dos itens

#Parametros para impressao dos resultados do modelo em arquivos.

param file, symbolic, default "ResumoMochila.txt"; /* Variável */

var x{E} binary; /* Função Objetivo */

maximize TotalUtility: sum{i in E} u[i]*x[i]; /* Capacidade da Mochila */

s.t. capacity: sum{i inE} v[i]*x[i] <= p;

solve;

GLPK Lab for Windows

PARTE 1 - FORMULAÇÃO

Dados

do

modelo

(35)

/* RELATORIO */

printf '\n'

>> file;

printf '---\n'

>> file;

printf 'Solucao Encontrada \n'

>> file;

printf '---\n'

>> file;

printf ' \n'

>> file;

printf '---\n'

>> file;

printf " Item Alocação (1-Sim/0-Não) \n"

>> file;

printf{i in E} " %8s %8d \n", i, x[i] >> file;

printf '---\n'

>> file;

printf 'Utilidade total (z): ' >> file;

printf ' %10.2f \n', TotalUtility >> file;

printf '---\n' >> file;

printf '\n' >> file;

PARTE 2 - FORMULAÇÃO

Indica qual item foi alocado

ou não na mochila !

GLPK Lab for Windows

/* Data section */

data;

param n:=3;

param p:=10;

param u:=[1] 7 [2] 5 [3] 3;

param v:= 1 7 2 6 3 4;

end;

(36)

/* Data section */

data;

param n:=3;

param p:=10;

param u:=[1] 7 [2] 5 [3] 3;

param v:= 1 7 2 6 3 4;

end;

PARTE 3 - FORMULAÇÃO

Dados do

Modelo

GLPK Lab for Windows

(37)

TEMA 3:

Considere que existem 8 itens para armazenar em uma

mochila com uma capacidade de 100. Elaborar um programa para

resolver o problema com os dados abaixo.

1

2

3

4

5

6

7

8

u

41

33

14

25

32

32

9

19

v

47

40

17

27

34

23

5

44

x

i

Métodos de Solução

Força Bruta

Enumerar todas as possibilidades de solução e

escolher a melhor.

1

1

0

2 ...

1

I

Índice do Projeto

Alocação (1) ou não (0) no Portifólio

Um computador capaz de fazer 1 milhão de avaliações de

soluções por segundo levaria 36 anos !!!

Se I = 50, então, o número de soluções possíveis é de:

2

50

≅≅≅≅

1,1 x10

15

(38)

Métodos de Solução

A evolução da espécie está relacionada com a

seleção natural

dos indivíduos mais adaptados

ao seu meio

.

Algoritmos Genéticos

Avaliar o “fitness” do indivíduo através da função objetivo

Projeto

Alocação

1

1

0

2 ...

1

I

∑ ∑

∑ ∑

= = = = = =





+

=

J j K k L i i L i ij k j j I i i J j ij

j

c

x

w

d

S

c

x

w

V

1 1 1 1 1 1

))

(

(

Métodos de Solução

A evolução da espécie está relacionada com a

seleção natural dos indivíduos mais adaptados

ao seu meio.

Algoritmos Genéticos

Reprodução

Mutação

Seleção

Projeto

Alocação

1

1

0

2 ...

1

I

(39)

Métodos de Solução

A evolução da espécie está relacionada com a

seleção natural

dos indivíduos mais adaptados

ao seu meio

.

Algoritmos Genéticos

Projeto

Alocação

1

1

1

2

...

1

I

=

=

I

i

i

M

x

1

Como avaliar o “fitness”

de indivíduos infactíveis?

Métodos de Solução

A evolução da espécie está relacionada com a

seleção natural

dos indivíduos mais adaptados

ao seu meio

.

Algoritmos Genéticos

Estratégia de penalização da infactibilidade

Projeto

Alocação

1

1

1

2

...

1

I

2 1

=

= I i i

x

M

V

Q

ρ

Penalidade

(40)

Métodos de Solução

A evolução da espécie está relacionada com a

seleção natural dos indivíduos mais adaptados

ao seu meio.

Algoritmos Genéticos

Estratégia de factibilização da solução

Projeto

Alocação

1

1

1

2

...

1

I

Correção

1

0

Métodos de Solução

Beam Search

Enumeração através de árvore de busca e

eliminação de soluções infactíveis.

N1 P1

1

3

0

5

1

9

0

3

0

5

1

6

Nível 1

Alocação

Projeto 1

Alocação

Proj.

Função

Obj.

N2 P2

(41)

Métodos de Solução

Beam Search

Enumeração através de árvore de busca e

eliminação de soluções infactíveis.

N1 P1

1

3

0

5

1

9

0

3

0

5

1

6

N2 P2

Solução

infactível

Demais

soluções

não serão

analisadas

Imagem

Tabela 1: Dados do problema de  Designação

Referências

Documentos relacionados

“ Esta taxa, além de refletir a liquidez dos recursos financeiros no mercado monetário, tem a característica de juros remuneratórios ao investidor.

Portanto o programa j´a est´a pronto para trabalhar com qualquer potˆencia por convoluc¸˜ao, que deve estar definida no programa, como ´e o caso de f 4 que ´e a quarta potˆencia..

As explicações para as diferenças na forma como, para estes países, as variáveis taxa de juro, dívida, volatilidade das taxas de juro, risco específico da dívida das

Essa versão não altera nenhuma anterior Este medicamento é indicado quando se tem dificuldade para expectorar e há muita secreção densa e viscosa, tais como: bronquite crônica e

Prejuízo estético, em grau médio ou máximo, quando atingidos crânios, e/ou face, e/ou pescoço ou perda de dentes quando há também deformação da arcada

4 BOLETIM PET Cistite idiop áti Ca felina: aspe Ctos Clíni Cos, fisiop atológi Cos e

As categorias apresentadas retratam a difícil vivência de mães de crianças com câncer expressa a partir de seus relatos, os quais revelam o doloroso processo

O ser profissional de enfermagem se revela pouco preparado em sua formação profissional para cuidar de pacientes em cuidados paliativos e de sua família, remetendo para