39
Optimal Target Assignment and Path Finding for Teams of Agents Hang Ma Sven Koenig University of Southern California May 12, 2016 AAMAS, Singapore

Optimal Target Assignment and Path Finding for Teams …hangma/pub/aamas16_slides.pdf · Optimal Target Assignment and Path Finding for Teams of Agents ... Target Assignment and Path

Embed Size (px)

Citation preview

Page 1: Optimal Target Assignment and Path Finding for Teams …hangma/pub/aamas16_slides.pdf · Optimal Target Assignment and Path Finding for Teams of Agents ... Target Assignment and Path

Optimal Target Assignment and Path Findingfor Teams of Agents

Hang Ma Sven KoenigUniversity of Southern California

May 12, 2016AAMAS, Singapore

Page 2: Optimal Target Assignment and Path Finding for Teams …hangma/pub/aamas16_slides.pdf · Optimal Target Assignment and Path Finding for Teams of Agents ... Target Assignment and Path

Multi-Agent Path Finding (MAPF)

Find collision-free paths for all agents from their start vertices totheir targets.

Page 3: Optimal Target Assignment and Path Finding for Teams …hangma/pub/aamas16_slides.pdf · Optimal Target Assignment and Path Finding for Teams of Agents ... Target Assignment and Path

Time Step 0

Page 4: Optimal Target Assignment and Path Finding for Teams …hangma/pub/aamas16_slides.pdf · Optimal Target Assignment and Path Finding for Teams of Agents ... Target Assignment and Path

Time Step 1

Page 5: Optimal Target Assignment and Path Finding for Teams …hangma/pub/aamas16_slides.pdf · Optimal Target Assignment and Path Finding for Teams of Agents ... Target Assignment and Path

Time Step 2

Page 6: Optimal Target Assignment and Path Finding for Teams …hangma/pub/aamas16_slides.pdf · Optimal Target Assignment and Path Finding for Teams of Agents ... Target Assignment and Path

Time Step 3

Page 7: Optimal Target Assignment and Path Finding for Teams …hangma/pub/aamas16_slides.pdf · Optimal Target Assignment and Path Finding for Teams of Agents ... Target Assignment and Path

Target Assignment and Path Finding (TAPF)

TAPF — A mix of non-anonymous MAPF and anonymousMAPF.

Non-Anonymous MAPF

NP-HardAnonymous MAPF

P

TAPF +

=

Page 8: Optimal Target Assignment and Path Finding for Teams …hangma/pub/aamas16_slides.pdf · Optimal Target Assignment and Path Finding for Teams of Agents ... Target Assignment and Path

An Example of TAPFTeam0: Agents that move from the stations to the storage locations.Team1: Agents that move from the storage locations to Station 1.Team2: Agents that move from the storage locations to Station 2.Team3: Agents that move from the storage locations to Station 3.. . .

Figure 3: A small region of a Kiva layout. The green cells represent pod storage locations, the orange ovals the robots (withpods not pictured), and the purple and pink regions the queues around the inventory stations.

Figure 2: A Kiva drive unit and storage pod.

used to move the inventory pods with the correct bins fromtheir storage locations to the inventory stations where a pickworker removes the desired products from the desired bin.Note that the pod has four faces, and the drive unit may needto rotate the pod in order to present the correct face. When apicker is done with a pod, the drive unit stores it in an emptystorage location.

Each station is equipped with a desktop computer thatcontrols pick lights, barcode scanners, and laser pointers thatare used to identify the pick and put locations. Because ev-ery product is scanned in and out of the system, overall pick-ing errors go down, which potentially eliminates the needfor post-picking quality control. In general, every station iscapable of being either a picking station or a replenishmentstation. In practice, pick stations will be located near out-bound conveyors, and replenishment stations will be locatednear pallet drop off points.

The power of the Kiva solution comes from the fact thatit allows every worker to have random access to any inven-tory in the warehouse. Moreover, inventory can be retrievedin parallel. When the picker is filling several boxes at thesame time, the parallel, random access ensures that she isnot waiting on pods to arrive. In fact, by keeping a smallqueue of work at the station, the Kiva system delivers a newpod face every six seconds, which sets a baseline pickingrate of 600 lines per hour.2 Peak rates can exceed 600 linesper hour when the operator can pick more than one item offa pod.3

For a large warehouse, the savings in personnel can besignificant. Consider, for example, what a Kiva implemen-tation of the book warehouse would involve. A busy book-seller may ship 100,000 boxes a day. With existing automa-tion, this level of output would employ perhaps 75 workers

2This statistic is based on single unit picks and has been repro-duced for extended periods in the Kiva test facility.

3This statistic was verified when a small Kiva demonstrationsystem was brought to a drugstore distribution center where opera-tors picked at nearly 700 lines per hour.

1755

Figure: Kiva (Amazon Robotics) Automated Warehouse System1.

1P. R. Wurman, R. D’Andrea, and M. Mountz. “Coordinating Hundreds ofCooperative, Autonomous Vehicles in Warehouses”. In: AI Magazine 29.1(2008), pp. 9–20.

Page 9: Optimal Target Assignment and Path Finding for Teams …hangma/pub/aamas16_slides.pdf · Optimal Target Assignment and Path Finding for Teams of Agents ... Target Assignment and Path

Task of TAPF

Find the target assignments and collision-free paths thatminimize the makespan.The makespan = the earliest time step when all agents havereached their targets.

Page 10: Optimal Target Assignment and Path Finding for Teams …hangma/pub/aamas16_slides.pdf · Optimal Target Assignment and Path Finding for Teams of Agents ... Target Assignment and Path

How to Solve TAPF?

Ideas from:I Conflict-Based Search (CBS)2 for solving

non-anonymous MAPF (NP-hard).I Max-flow algorithm3 for solving anonymous MAPF (P).

2G. Sharon et al. “Conflict-based search for optimal multi-agentpathfinding”. In: Artificial Intelligence 219 (2015), pp. 40–66.

3J. Yu and S. M. LaValle. “Multi-agent Path Planning and Network Flow”.In: Algorithmic Foundations of Robotics X, Springer Tracts in AdvancedRobotics. Vol. 86. 2013, pp. 157–173.

Page 11: Optimal Target Assignment and Path Finding for Teams …hangma/pub/aamas16_slides.pdf · Optimal Target Assignment and Path Finding for Teams of Agents ... Target Assignment and Path

Conflict-Based Min-Cost Flow (CBM) for TAPF

Our algorithm — Conflict-Based Min-Cost Flow (CBM) =Conflict-Based Search (CBS) + (min-cost) max flow

Page 12: Optimal Target Assignment and Path Finding for Teams …hangma/pub/aamas16_slides.pdf · Optimal Target Assignment and Path Finding for Teams of Agents ... Target Assignment and Path

CBS for Non-Anonymous MAPF

CBS:1. Find paths for each single agent separately.2. Look for collisions in paths.3. If there is a collision between a1 and a2:

Option 1 or Option 2 to avoid collision.

I Collision: 〈Agent a1,Agent a2,Location x ,Time t〉I Constraint:〈Agent ,Location,Time〉Option 1: a1 cannot stay in x at time step t .Option 2: a2 cannot stay in x at time step t .

Page 13: Optimal Target Assignment and Path Finding for Teams …hangma/pub/aamas16_slides.pdf · Optimal Target Assignment and Path Finding for Teams of Agents ... Target Assignment and Path

Conflict-Based Min-Cost Flow (CBM) for TAPF

Our algorithm:Conflict-Based Min-Cost Flow (CBM) considers each team tobe a meta-agent.A best-search on a search tree, nodes stored in a priorityqueue.The key of each tree node is the makespan of the paths storedin the node.For every tree node:

1. Find paths for a single team separately.2. Look for collisions in paths.3. If there is a collision between team1 and team2:

Option 1 or Option 2 to avoid collision.

Page 14: Optimal Target Assignment and Path Finding for Teams …hangma/pub/aamas16_slides.pdf · Optimal Target Assignment and Path Finding for Teams of Agents ... Target Assignment and Path

Conflict-Based Min-Cost Flow (CBM) for TAPF

I Collision: 〈Team team1,Team team2,Location x ,Time t〉I Constraint:〈Team,Location,Time〉Option 1: agents in team1 cannot stay in x at time step t .Option 2: agents in team2 cannot stay in x at time step t .

Page 15: Optimal Target Assignment and Path Finding for Teams …hangma/pub/aamas16_slides.pdf · Optimal Target Assignment and Path Finding for Teams of Agents ... Target Assignment and Path

Finding Paths for Single Teams

“Find paths for each single team teami separately” =1. Assign agents in teami to targets given to teamiAND2. Find paths for teami that have no collisions among agents inteami , according to the target assignment.Use a polynomial-time min-cost max-flow algorithm on atime-expanded network.

Page 16: Optimal Target Assignment and Path Finding for Teams …hangma/pub/aamas16_slides.pdf · Optimal Target Assignment and Path Finding for Teams of Agents ... Target Assignment and Path

An Example

a b d f

c

e

b d f

e

c

a

Page 17: Optimal Target Assignment and Path Finding for Teams …hangma/pub/aamas16_slides.pdf · Optimal Target Assignment and Path Finding for Teams of Agents ... Target Assignment and Path

Finding Paths for Single Teams Separately

a b d f

c

e

s22

g22 g

21

0 out

1 in

1 out

2 in

2 out

g11

s11

s21 s

22 s

11 g

22 g

11 g

21

s21

a b c d e f

0 out

1 in

1 out

2 in

2 out

s21 s

22 s

11 g

22 g

11 g

21

a b c d e f

team1 team2

team1

{c,d,e}

team2

{a,b,d}

{b,d,f}

Page 18: Optimal Target Assignment and Path Finding for Teams …hangma/pub/aamas16_slides.pdf · Optimal Target Assignment and Path Finding for Teams of Agents ... Target Assignment and Path

Storing Paths and Key

Root

key = 2

Page 19: Optimal Target Assignment and Path Finding for Teams …hangma/pub/aamas16_slides.pdf · Optimal Target Assignment and Path Finding for Teams of Agents ... Target Assignment and Path

Looking for Collisions in Paths

a b d f

c

e

s22

g22 g

21

0 out

1 in

1 out

2 in

2 out

g11

s11

s21 s

22 s

11 g

22 g

11 g

21

s21

a b c d e f

0 out

1 in

1 out

2 in

2 out

s21 s

22 s

11 g

22 g

11 g

21

a b c d e f

team1 team2

team1

{c,d,e}

team2

{a,b,d}

{b,d,f}

Page 20: Optimal Target Assignment and Path Finding for Teams …hangma/pub/aamas16_slides.pdf · Optimal Target Assignment and Path Finding for Teams of Agents ... Target Assignment and Path

Storing Colliding Teams

Root

key = 2

Colliding Teams

(team1, team2)

Page 21: Optimal Target Assignment and Path Finding for Teams …hangma/pub/aamas16_slides.pdf · Optimal Target Assignment and Path Finding for Teams of Agents ... Target Assignment and Path

Poping a Tree Node

Root

key = 2

Colliding Teams

(team1, team2)

Earliest Collision

(team1, team2, d,1)

Page 22: Optimal Target Assignment and Path Finding for Teams …hangma/pub/aamas16_slides.pdf · Optimal Target Assignment and Path Finding for Teams of Agents ... Target Assignment and Path

Two Options

Root

key = 2

Colliding Teams

(team1, team2)

Earliest Collision

(team1, team2, d,1)

(team2, d,1)

Page 23: Optimal Target Assignment and Path Finding for Teams …hangma/pub/aamas16_slides.pdf · Optimal Target Assignment and Path Finding for Teams of Agents ... Target Assignment and Path

Option 1: Find New Paths for team1

a b d f

c

e

s22

g22 g

21

0 out

1 in

1 out

2 in

2 out

g11

s11

s21 s

22 s

11 g

22 g

11 g

21

3 in

3 out

s21

a b c d e f

team1 team2

team1

{c,c,d,e}

team2

{a,b,d}

{b,d,f}

0 out

1 in

1 out

2 in

2 out

s21 s

22 s

11 g

22 g

11 g

21

a b c d e f

Constraints

(team1,d,1)

Page 24: Optimal Target Assignment and Path Finding for Teams …hangma/pub/aamas16_slides.pdf · Optimal Target Assignment and Path Finding for Teams of Agents ... Target Assignment and Path

Storing Paths and Key

Root

key = 2

Colliding Teams

(team1, team2)

Earliest Collision

(team1, team2, d,1)

(team2, d,1)

team1

key = 3

Page 25: Optimal Target Assignment and Path Finding for Teams …hangma/pub/aamas16_slides.pdf · Optimal Target Assignment and Path Finding for Teams of Agents ... Target Assignment and Path

Looking for Collisions in Paths

a b d f

c

e

s22

g22 g

21

0 out

1 in

1 out

2 in

2 out

g11

s11

s21 s

22 s

11 g

22 g

11 g

21

3 in

3 out

s21

a b c d e f

team1 team2

team1

{c,c,d,e}

team2

{a,b,d}

{b,d,f}

0 out

1 in

1 out

2 in

2 out

s21 s

22 s

11 g

22 g

11 g

21

a b c d e f

Constraints

(team1,d,1)

Page 26: Optimal Target Assignment and Path Finding for Teams …hangma/pub/aamas16_slides.pdf · Optimal Target Assignment and Path Finding for Teams of Agents ... Target Assignment and Path

Storing Colliding Teams

Root

key = 2

Colliding Teams

(team1, team2)

Earliest Collision

(team1, team2, d,1)

(team2, d,1)

team1

key = 3

Colliding Teams

(team1, team2)

Page 27: Optimal Target Assignment and Path Finding for Teams …hangma/pub/aamas16_slides.pdf · Optimal Target Assignment and Path Finding for Teams of Agents ... Target Assignment and Path

Option 2: Find New Paths for team2

a b d f

c

e

s22

g22 g

21

g11

s11

s21

0 out

1 in

1 out

2 in

2 out

s21 s

22 s

11 g

22 g

11 g

21

3 in

3 out

a b c d e f

team1 team2

team1

{c,d,e}

team2

{a,a,b,d}

{b,b,d,f}

Constraints

(team2,d,1)

0 out

1 in

1 out

2 in

2 out

s21 s

22 s

11 g

22 g

11 g

21

a b c d e f

Page 28: Optimal Target Assignment and Path Finding for Teams …hangma/pub/aamas16_slides.pdf · Optimal Target Assignment and Path Finding for Teams of Agents ... Target Assignment and Path

Storing Paths and Key

Root

key = 2

Colliding Teams

(team1, team2)

Earliest Collision

(team1, team2, d,1)

team1

key = 3

Colliding Teams

(team1, team2)

team2

key = 3

Page 29: Optimal Target Assignment and Path Finding for Teams …hangma/pub/aamas16_slides.pdf · Optimal Target Assignment and Path Finding for Teams of Agents ... Target Assignment and Path

Looking for Collisions in Paths

a b d f

c

e

s22

g22 g

21

g11

s11

s21

0 out

1 in

1 out

2 in

2 out

s21 s

22 s

11 g

22 g

11 g

21

3 in

3 out

a b c d e f

team1 team2

team1

{c,d,e}

team2

{a,a,b,d}

{b,b,d,f}

Constraints

(team2,d,1)

0 out

1 in

1 out

2 in

2 out

s21 s

22 s

11 g

22 g

11 g

21

a b c d e f

Page 30: Optimal Target Assignment and Path Finding for Teams …hangma/pub/aamas16_slides.pdf · Optimal Target Assignment and Path Finding for Teams of Agents ... Target Assignment and Path

Storing Colliding Teams

Root

key = 2

Colliding Teams

(team1, team2)

Earliest Collision

(team1, team2, d,1)

team1

key = 3

Colliding Teams

(team1, team2)

team2

key = 3

Colliding Teams

None

Page 31: Optimal Target Assignment and Path Finding for Teams …hangma/pub/aamas16_slides.pdf · Optimal Target Assignment and Path Finding for Teams of Agents ... Target Assignment and Path

Poping a Tree Node

Ties are broken to favor nodes with fewest colliding pairs.

Root

key = 2

Colliding Teams

(team1, team2)

Earliest Collision

(team1, team2, d,1)

(team2, d,1)

team1

key = 3

Colliding Teams

(team1, team2)

team2

key = 3

Colliding Teams

None

BINGO!

Page 32: Optimal Target Assignment and Path Finding for Teams …hangma/pub/aamas16_slides.pdf · Optimal Target Assignment and Path Finding for Teams of Agents ... Target Assignment and Path

Edge Weights — Reducing Possible Collisions

Idea: Choose paths that have fewest collisions with otherteams, when finding paths for a single team.

I Take into account the paths of other teams.I Bias the search using a min-cost max-flow algorithm

that finds a max flow with minimal total edge weights.

Page 33: Optimal Target Assignment and Path Finding for Teams …hangma/pub/aamas16_slides.pdf · Optimal Target Assignment and Path Finding for Teams of Agents ... Target Assignment and Path

Edge Weights are Crucial

Setups:I 30×30 4-neighbor grids with 10% randomly blocked cells.I 5 agents per team.I 5-minute time limits.

CBM Unweighted CBMagents time success time success

10 0.34 1 0.41 0.7215 0.57 1 1.06 0.4420 0.78 1 2.06 0.2225 1.07 1 1.58 0.0830 1.71 1 6.73 0.0235 1.92 1 - 040 2.95 1 - 045 3.66 1 - 050 5.32 1 - 0

Page 34: Optimal Target Assignment and Path Finding for Teams …hangma/pub/aamas16_slides.pdf · Optimal Target Assignment and Path Finding for Teams of Agents ... Target Assignment and Path

Guarantees

CBM is optimal and complete.

Page 35: Optimal Target Assignment and Path Finding for Teams …hangma/pub/aamas16_slides.pdf · Optimal Target Assignment and Path Finding for Teams of Agents ... Target Assignment and Path

Comparisons

Setups:I 30×30 4-neighbor grids with 10% randomly blocked cells.I 5-minute time limits.

Page 36: Optimal Target Assignment and Path Finding for Teams …hangma/pub/aamas16_slides.pdf · Optimal Target Assignment and Path Finding for Teams of Agents ... Target Assignment and Path

CBM is Faster

CBM: Specialized solver.versusILP (Integer Linear Program): Useful tool and easy to model.

CBM ILPagents time success time (over solved instances) success

10 0.34 1 18.24 115 0.57 1 35.44 120 0.78 1 62.85 0.9425 1.07 1 88.55 0.8230 1.71 1 108.75 0.6635 1.92 1 121.99 0.4640 2.95 1 152.98 0.1445 3.66 1 161.52 0.1450 5.32 1 161.95 0.04

Page 37: Optimal Target Assignment and Path Finding for Teams …hangma/pub/aamas16_slides.pdf · Optimal Target Assignment and Path Finding for Teams of Agents ... Target Assignment and Path

Spectrum: Anonymous←→Non-Anonymous

Fixed 100 agents in total, 2 to 50 teams.

0

2

4

6

8

10

12

14

0

5

10

15

20

25

30

35

40

45

2 4 5 10 20 25 50

Time

Makespan

Number of Teams

Makespan

Time

[2 teams, 50 agents per team]←→ [50 teams, 2 agents per team]Anonymous ←→ Non-Anonymous

P←→ NP-hard

Page 38: Optimal Target Assignment and Path Finding for Teams …hangma/pub/aamas16_slides.pdf · Optimal Target Assignment and Path Finding for Teams of Agents ... Target Assignment and Path

Scalibility: Simulated Warehouse System

I Each instance has 420 agents: 210 “incoming” and 210“outgoing”.

I CBM solves 40 out of the 50 Kiva instances within a timelimit of 5 minutes each.

I Average running time over solved instances is 91.61seconds.

Page 39: Optimal Target Assignment and Path Finding for Teams …hangma/pub/aamas16_slides.pdf · Optimal Target Assignment and Path Finding for Teams of Agents ... Target Assignment and Path

Takeaways

TAPF: A mix of non-anonymous MAPF and anonymous MAPF.CBM: Guarantees optimality and completeness.

Non-Anonymous MAPF

NP-HardAnonymous MAPF

P

TAPF +

=