A GRASP approach for the machine reassignment problem Michal Gabay - - PowerPoint PPT Presentation

a grasp approach for the machine reassignment problem
SMART_READER_LITE
LIVE PREVIEW

A GRASP approach for the machine reassignment problem Michal Gabay - - PowerPoint PPT Presentation

A GRASP approach for the machine reassignment problem A GRASP approach for the machine reassignment problem Michal Gabay Sofia Zaourar Laboratoire G-SCOP LJK - Inria Grenoble France Team J19 - Open source July 10, 2012 1 A GRASP


slide-1
SLIDE 1

A GRASP approach for the machine reassignment problem

A GRASP approach for the machine reassignment problem

Michaël Gabay Sofia Zaourar Laboratoire G-SCOP LJK - Inria Grenoble France Team J19 - Open source July 10, 2012

1

slide-2
SLIDE 2

A GRASP approach for the machine reassignment problem Summary

1 The problem Overview Constraints Costs 2 Our solution Scheme Vector bin packing Another approach Local search 3 Final solution Solution Results

2

slide-3
SLIDE 3

A GRASP approach for the machine reassignment problem The problem Overview 3

slide-4
SLIDE 4

A GRASP approach for the machine reassignment problem The problem Overview 3

slide-5
SLIDE 5

A GRASP approach for the machine reassignment problem The problem Overview 3

slide-6
SLIDE 6

A GRASP approach for the machine reassignment problem The problem Constraints

Constraints

Capacity constraints and transient usage constraints Conflict constraints Spread constraints Dependency constraints

4

slide-7
SLIDE 7

A GRASP approach for the machine reassignment problem The problem Constraints

Capacity constraints

R2 R1

5

slide-8
SLIDE 8

A GRASP approach for the machine reassignment problem The problem Constraints

Capacity constraints

R2 R1

5

slide-9
SLIDE 9

A GRASP approach for the machine reassignment problem The problem Constraints

Capacity constraints

R2 R1

5

slide-10
SLIDE 10

A GRASP approach for the machine reassignment problem The problem Constraints

Capacity constraints

R2 R1

5

slide-11
SLIDE 11

A GRASP approach for the machine reassignment problem The problem Constraints

Capacity constraints

R2 R1

5

slide-12
SLIDE 12

A GRASP approach for the machine reassignment problem The problem Constraints

Capacity constraints

Vector bin packing problem, Garey et al., 76

R2 R1

5

slide-13
SLIDE 13

A GRASP approach for the machine reassignment problem The problem Constraints

Dependency constraints

s1 depends on s2:

P1,s1 P2, s2

M1 M2 M3 M4

P3, s3 P4, s2 P5, s3

N1 N2 N3

6

slide-14
SLIDE 14

A GRASP approach for the machine reassignment problem The problem Constraints

Dependency constraints

s1 depends on s2:

P1,s1 P2, s2

M1 M2 M3 M4

P3, s3 P4, s2 P5, s3

N1 N2 N3

6

slide-15
SLIDE 15

A GRASP approach for the machine reassignment problem The problem Constraints

Dependency constraints

s1 depends on s2:

P1,s1 P2, s2

M1 M2 M3 M4

P3, s3 P4, s2 P5, s3

N1 N2 N3

6

slide-16
SLIDE 16

A GRASP approach for the machine reassignment problem The problem Constraints

Dependency constraints

Idea : break up the problem by neighborhoods

⇒ smaller subproblems with no dependency constraints.

Solvable using integer programming ⇒ Matheuristic approach.

7

slide-17
SLIDE 17

A GRASP approach for the machine reassignment problem The problem Costs

Costs

Process / Service / Machine move costs Load costs Balance costs

8

slide-18
SLIDE 18

A GRASP approach for the machine reassignment problem The problem Costs

Load costs

x

9

slide-19
SLIDE 19

A GRASP approach for the machine reassignment problem The problem Costs

Load costs Use load costs to guide search

x

9

slide-20
SLIDE 20

A GRASP approach for the machine reassignment problem Our solution Scheme

GRASP ?

GRASP = Greedy randomized adaptive search procedure Optimization scheme:

1

Create a solution using vector bin packing heuristic

2

Optimize it with a local search

3

Goto

10

slide-21
SLIDE 21

A GRASP approach for the machine reassignment problem Our solution Vector bin packing

Vector Bin Packing

11

∀m ∈ M ,∀p ∈ P, volume v:

v(m) = ∑

r∈R

C(m,r) C(r) , v(p) = ∑

r∈R

R(p,r) R(r)

slide-22
SLIDE 22

A GRASP approach for the machine reassignment problem Our solution Vector bin packing

Vector Bin Packing

11

∀m ∈ M ,∀p ∈ P, volume v:

v(m) = ∑

r∈R

C(m,r) C(r) , v(p) = ∑

r∈R

R(p,r) R(r) Greedy : First Fit Decreasing (FFD) FFD Bin-centric heuristic (Panigrahy et al., 2011):

1

Sort machines by increasing v(m), processes by decreasing v(p)

2

Pop the smallest remaining machine m

3

While some processes fit into m, place the largest remaining one

4

Goto

slide-23
SLIDE 23

A GRASP approach for the machine reassignment problem Our solution Vector bin packing

Vector Bin Packing

11

∀m ∈ M ,∀p ∈ P, volume v:

v(m) = ∑

r∈R

C(m,r) C(r) , v(p) = ∑

r∈R

R(p,r) R(r) Greedy : First Fit (FF) FF Bin-Balancing (item-centric) heuristic:

1

Sort machines by increasing v(m), processes by decreasing v(p), i = 1

2

Pop the largest remaining process p

3

While some machine can host p, place p on the smallest j ≥ i + 1 (with a cyclic order), i = j

4

Goto

slide-24
SLIDE 24

A GRASP approach for the machine reassignment problem Our solution Vector bin packing

Vector Bin Packing

11

∀m ∈ M ,∀p ∈ P, volume v:

v(m) = ∑

r∈R

C(m,r) C(r) , v(p) = ∑

r∈R

R(p,r) R(r) Greedy Random FF Mixed orderings heuristic:

1

Sort machines by increasing v(m), processes by decreasing v(p), or random sort both

2

Run FFD Bin-centric, run FF Bin-Balancing

3

Goto

slide-25
SLIDE 25

A GRASP approach for the machine reassignment problem Our solution Vector bin packing

Vector Bin Packing

Constraints verified ? Capacity and transient usage constraints Conflict constraints Spread constraints Dependency constraints

12

slide-26
SLIDE 26

A GRASP approach for the machine reassignment problem Our solution Vector bin packing

Vector Bin Packing

Constraints verified ? Capacity and transient usage constraints ⇒ YES Conflict constraints ⇒ YES Spread constraints Dependency constraints

12

slide-27
SLIDE 27

A GRASP approach for the machine reassignment problem Our solution Vector bin packing

Vector Bin Packing

Constraints verified ? Capacity and transient usage constraints ⇒ YES Conflict constraints ⇒ YES Spread constraints Dependency constraints ⇒ YES - Assign all processes of a neighborhood to the same neighborhood (possibly not the

  • riginal one)

12

slide-28
SLIDE 28

A GRASP approach for the machine reassignment problem Our solution Vector bin packing

Vector Bin Packing

Constraints verified ? Capacity and transient usage constraints ⇒ YES Conflict constraints ⇒ YES Spread constraints ⇒ REPAIR Dependency constraints ⇒ YES - Assign all processes of a neighborhood to the same neighborhood (possibly not the

  • riginal one)

12

slide-29
SLIDE 29

A GRASP approach for the machine reassignment problem Our solution Vector bin packing

GRASP

1

Use FF Mixed orderings to get a feasible solution

2

Local search on the solution

3

Goto

13

slide-30
SLIDE 30

A GRASP approach for the machine reassignment problem Our solution Vector bin packing

Problems with VBP

VBP heuristics are very fast but... Solutions’ costs are too high Not so interesting when processes do not change neighborhood,... nor when they all change... 10 B instances, 6 feasible,... all violate spread constraints Repairing may be too difficult / time consuming

14

slide-31
SLIDE 31

A GRASP approach for the machine reassignment problem Our solution Another approach

A matheuristic

Idea:

1

For each neighborhood, solve the assignment problem using an IP (smaller subproblem with no dependency constraints)

2

Optimize using local search

3

Goto (implemented using Coin-Osi/Clp/Cbc)

15

slide-32
SLIDE 32

A GRASP approach for the machine reassignment problem Our solution Another approach

A matheuristic: Problems

16

slide-33
SLIDE 33

A GRASP approach for the machine reassignment problem Our solution Another approach

A matheuristic: Problems

16

Subproblems are still too big

slide-34
SLIDE 34

A GRASP approach for the machine reassignment problem Our solution Another approach

A matheuristic: Problems

16

Subproblems are still too big

Solution: Divide into smaller subproblems Randomly / Guided by load cost (most expensive machines with cheapest w.r.t. load costs)

slide-35
SLIDE 35

A GRASP approach for the machine reassignment problem Our solution Another approach

A matheuristic: Problems

16

Tune size parameters:

Compromise between time consumption and feasibility

slide-36
SLIDE 36

A GRASP approach for the machine reassignment problem Our solution Another approach

A matheuristic: Problems

16

Tune size parameters:

Compromise between time consumption and feasibility Solution: Set maximum number of machines and processes to be considered at once Set maximum number of nodes

slide-37
SLIDE 37

A GRASP approach for the machine reassignment problem Our solution Another approach

A matheuristic: Problems

16

Pure local search is better

slide-38
SLIDE 38

A GRASP approach for the machine reassignment problem Our solution Another approach

A matheuristic: Problems

16

Pure local search is better (and deadline approaches)

slide-39
SLIDE 39

A GRASP approach for the machine reassignment problem Our solution Another approach

A matheuristic: Problems

16

Pure local search is better (and deadline approaches)

Solution: Forget about the Matheuristic :-(

slide-40
SLIDE 40

A GRASP approach for the machine reassignment problem Our solution Local search

Local search

Two simple moves: Move p from m1 to m2 Swap p1 and p2 on m1 and m2 Efficient Structures + randomization

17

slide-41
SLIDE 41

A GRASP approach for the machine reassignment problem Our solution Local search

Local search

Two simple moves: Move p from m1 to m2 Swap p1 and p2 on m1 and m2 Efficient Structures + randomization Hill Climbing: if a move is feasible and decreases the total cost, do it!

17

slide-42
SLIDE 42

A GRASP approach for the machine reassignment problem Our solution Local search

Local search

Two simple moves: Move p from m1 to m2 Swap p1 and p2 on m1 and m2 Efficient Structures + randomization Hill Climbing: if a move is feasible and decreases the total cost, do it! Guided first step: Move processes from the machines with the highest load costs to cheaper machines

17

slide-43
SLIDE 43

A GRASP approach for the machine reassignment problem Our solution Local search

Local search

Two simple moves: Move p from m1 to m2 Swap p1 and p2 on m1 and m2 Efficient Structures + randomization Hill Climbing: if a move is feasible and decreases the total cost, do it! Guided first step: Move processes from the machines with the highest load costs to cheaper machines Blocked ? Restart from a previous solution with a new seed

17

slide-44
SLIDE 44

A GRASP approach for the machine reassignment problem Final solution Solution

Final solution Local search

Two parallel local search with different strategies

18

slide-45
SLIDE 45

A GRASP approach for the machine reassignment problem Final solution Solution

Final solution Local search

Two parallel local search with different strategies Open source under LGPL v3 license, available at:

https://github.com/TeamJ19ROADEF2012

(Includes VBP and the matheuristic)

18

slide-46
SLIDE 46

A GRASP approach for the machine reassignment problem Final solution Results

Intel Core 2 duo P9400, RAM 4 Go Instance Cost Real time CPU time B 1 3 609 228 327 4m58.5s 9m53.4s B 2 1 017 459 868 4m58.5s 9m54.4s B 3 170 139 317 4m58.5s 9m53.4s B 4 4 677 960 720 4m58.5s 9m54.2s B 5 930 031 137 4m58.5s 9m53.8s B 6 9 525 886 513 4m58.5s 9m53.7s B 7 14 911 018 492 4m58.5s 9m52.4s B 8 1 217 854 951 4m58.5s 9m53.0s B 9 15 886 884 119 4m58.5s 9m54.1s B 10 18 391 528 354 4m58.5s 9m51.0s

19

slide-47
SLIDE 47

A GRASP approach for the machine reassignment problem Final solution Results

Questions ?

20