ant colonies using arc consistency techniques for the set partitioning problem broderick crawford...

46
Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile Dr. Carlos Castro Universidad Técnica Federico Santa María

Upload: angelina-angelica-fitzgerald

Post on 21-Jan-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile

Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem

Broderick CrawfordPontificia Universidad Católica de

Valparaíso - Chile

Dr. Carlos CastroUniversidad Técnica Federico

Santa María

Page 2: Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile

21/04/23 Accumulated Experience Ant Colony

2

Overview

• Introduction• SCP and SPP• Ant Colony Optimisation (ACO)• ACO for Set Covering and Set Partitioning Problems• ACO with Forward Checking and Full Lookahead Procedures• Experiments and Results• Conclusions and future work

Page 3: Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile

21/04/23 Accumulated Experience Ant Colony

3

Introduction

• Set Covering Problem (SCP) and Set Partitioning Problem (SPP) are two types of problems that can model different real life situations

• There exist problems for which pure ACO is of limited effectiveness: very strongly constrained problems like SPP

• We explore the addition of a lookahead mechanism to the ACO algorithm for solving SCP and SPP. Applying these algorithms for solving standard benchmarks from Beasley`s ORLIB

Page 4: Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile

21/04/23 Accumulated Experience Ant Colony

4

Set Partitioning Problem• SPP is the problem of partitioning a given set into mutually

independent subsets while minimizing a cost function defined as the sum of the costs associated to each of the eligible subsets.

• Its importance derives from the fact that many real life situations can be modeled as SPP, and in fact many combinatorial optimization problems (such as, crew scheduling, vehicle routing, project scheduling, and warehouse location problems, to name a few) can be modeled as SPP with maybe some additional constraints.

• In SPP we are given a m × n matrix A = (aij) in which all the matrix elements are either zero or one. Additionally, each column is given a non negative cost cj .

• We say that a column j covers a row i if aij = 1.

• Let xj denotes a binary variable which is one if column j is chosen and zero otherwise

Page 5: Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile

21/04/23 Accumulated Experience Ant Colony

5

Example 1

SPP Instance

Page 6: Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile

21/04/23 Accumulated Experience Ant Colony

6

x 1 x 2 x 3 x 41 1 1 0 12 0 1 0 03 0 0 1 1

1

1

1

40302010

43

2

421

4321

xx

x

xxx

to Subject

xxxx

Minimize

40

30

20

10

4

3

2

1

C

C

C

C

Where

Page 7: Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile

21/04/23 Accumulated Experience Ant Colony

7

Set Partitioning

1,0

1

j

n

1jjij

n

1jjj

xj

xai

:to Subject

xc (z) Min

Page 8: Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile

21/04/23 Accumulated Experience Ant Colony

8

Set Covering: A SPP relaxation

• SPP constraints enforce that each row is covered by exactly one column.

• The goal in the SCP is to choose a subset of the columns of minimal weight which covers every row. The SCP can be defined formally using constraints to enforce that each row is covered by at least one column as follows.

Page 9: Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile

21/04/23 Accumulated Experience Ant Colony

9

Set Covering: A SPP relaxation

1,0

1

j

n

1jjij

n

1jjj

xj

xai

:to Subject

xc (z) Min

Page 10: Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile

21/04/23 Accumulated Experience Ant Colony

10

Ant Colony Optimisation (ACO)

• A metaheuristic search process based on the foraging behaviour of ant colonies

– A number of agents, called (artificial) ants, build up solutions to the problem at hand

– They deposit pheromone on each element they choose/visit– At each step they choose from the available elements based on

their associated probabilities– Element probability is a function of heuristic information (eg,

estimated cost) and pheromone information (from other ants)– Pheromone biases search towards solution characteristics that

have proved valuable in the past

Page 11: Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile

21/04/23 Accumulated Experience Ant Colony

11

Page 12: Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile

21/04/23 Accumulated Experience Ant Colony

12

Ant Colony Optimisation (ACO)

ACO learns based on solutions encounteredin the past

Learning occurs through pheromone, so choosing an appropriate pheromone representation is crucial to the success of an ACO algorithm

Page 13: Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile

21/04/23 Accumulated Experience Ant Colony

13

Application of ACO

• Ant System (AS, the first ACO algorithm) associate pheromone and heuristic information with links

• High degree of similarity between real ants on the ground and artificial ants on a graph

• There are improved ways to apply ACO, like ACS (Ant Colony System)

pheromone

A solution:

Page 14: Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile

21/04/23 Accumulated Experience Ant Colony

14

Application of ACO

• Initial ACO applications on problems that could be modelled as graphs– pheromone associated with edges of these graphs

• ACO increasingly applied to problems that don’t have a natural graph representation– Assignment problems

– Subset problems item

resource

pheromone

Page 15: Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile

21/04/23 Accumulated Experience Ant Colony

15

An ACO Techniques Comparison

AS ACS

Pheromone Update

At the end of the solution, each ant perform an update of each column choosen by this ant.

Two phases: - Local Update: The pheromone of the

choosen column is modified. - Global Update: The pheromone level of the columns founded in the best solution

is modified.

Transition RuleIt is based in the probability of

each column.

Has two points of decision: - Use of a list of candidates, which

contains the best columns to be choosen according to some creterion.

- Use of a parameter q, which indicates if it is used the exploitation of the

knowledge or if it is used the exploration of the neighborhood.

Page 16: Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile

21/04/23 Accumulated Experience Ant Colony

16

ACO Procedure for SPP

1 Procedure ACO_for_SPP2 Begin3 initParameters();4 While (remain iterations) do5 For k := 1 to h := nants do6 While (solution have no completed) do7 Choose next Column j with Transition Rule Probability8 addToTabuList(j);9 For each Row i covered by j do10 AddColumnToTabuList(j);11 EndFor12 EndWhile13 EndFor14 updateOptimum();15 updatePheromone();16 EndWhile17 return best_solution_founded18 End.

Page 17: Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile

21/04/23 Accumulated Experience Ant Colony

17

Transition Rule in ACO (Example using Ant Colony System)

If there is a column j candidate List which can be chosen Choose the next column j, where from the candidate list, using

where represents the heuristic information and is chosen using

where is the neighborhood of the ant Else

Choose the column j with the lower cost.

kiJj

otherwise J

q q siJj 0uu

kju

maxarg

u k

iJj

otherwise

Nj if p

k

n

nkj lkNl l

jj

0*

*

kN

Element probability based on pheromone and element cost

Page 18: Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile

21/04/23 Accumulated Experience Ant Colony

18

Pheromone Update

• Update when ant chooses element i

• Update at end of iteration for best solution

where is the frequency of the column i in the solutions of the ants

0)1( jj

jjj )1(

j

)(

Page 19: Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile

21/04/23 Accumulated Experience Ant Colony

19

Heuristic Information

• To use the actual knowledge (as a transition rule), it is used a dynamic heuristic information that depends on the partial solution of an ant. It is defined as

• Where is the number of additional rows covered adding a column j and is the cost of column j.

j

jj c

e

jejc

jc

)(

Page 20: Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile

21/04/23 Accumulated Experience Ant Colony

20

ACO for SCP and SPP

• ACO can be applied in a very straightforward way to the SCP. The columns are chosen as the solution components and have associated a cost and a pheromone trail.

• Constraints say that each column can be visited by an ant once and only once and that a final solution has to cover all rows.

• A walk of an ant over the graph representation corresponds to the iterative addition of columns to the partial solution obtained so far.

• Each ant starts with an empty solution and adds columns until all rows are covered. A column to be added is chosen with a probability that depends of pheromone trail and the heuristic information.

Page 21: Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile

21/04/23 Accumulated Experience Ant Colony

21

Constraint Programming (CP)

• CP is used in the variable selection process. It means that now, the column to be added in the solution, will be chosen only if doesn't cause a conflict with the next column to select.

• Two ways for implement CP in ACO are studied:

– Forward Checking– Full Look Ahead

Page 22: Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile

21/04/23 Accumulated Experience Ant Colony

22

Constraint Programming (CP)

1 Procedure ACO+CP_for_SPP2 Begin3 initParameters();4 While (remain iterations) do5 For k := 1 to h := nants do6 While (solution have no completed) do7 Choose next Column j with Transition Rule Probability8 For each Row i covered by j do /*Constraint with j*/9 feasible(i):=Posting(j); /*Constraint

Propagation*/10 EndFor11 If feasible(i) for all i then12 AddColumnToSolution(j)13 Else14 Backtracking(j) /*Set j unistantiated*/15 AddColumnToTabuList(j);16 EndWhile17 EndFor18 updateOptimum();19 updatePheromone();20 EndWhile21 return best_solution_founded22 End.

Page 23: Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile

21/04/23 Accumulated Experience Ant Colony

23

ACO with FC and FLA

• Some efforts have been done in order to integrate CP techniques to ACO algorithms.

• Forward Checking (FC) seems to be the easiest way to prevent future conflicts.

• Adding Forward Checking to ACO means that columns are chosen if they do not produce any conflict with respect to the next column to be chosen.

• Forward checking checks only the constraints between the current variable and the future variables: Arc consistency to the not yet instantiated variables.

Page 24: Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile

21/04/23 Accumulated Experience Ant Colony

24

1 Procedure forward_checking(election)2 Begin3 For each row i do 4 If (Row i is covered by column “election”) then5 For each column j do6 Check if any column j cover the “i” row. In this 7 case, add it to the Tabu List;8 EndFor9 EndIf10 EndFor11 If(There is no row to cover) then12 Return OK;13 else14 For each column that is not include at the Tabu_list do15 If exist any column j then16 Return OK;17 else18 Is necessary to replace the column selected by 19 another one20 Return FAIL;21 EndIf22 EndIf23 End.

Procedure Forward Checking for ACO

Page 25: Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile

21/04/23 Accumulated Experience Ant Colony

25

ACO with FC and FLA

• Why not to perform full arc consistency that will further reduces the domains and removes possible conflicts.

• This approach is called Full Lookahead (FLA) or maintaining arc consistency. The advantage of look ahead is that it detects also the conflicts between future variables and therefore allows branches of the search tree that will lead to failure to be pruned earlier than with Forward Checking.

• Adding Full Lookahead to ACO means that columns are chosen using recursively the same ideas that Forward Checking and so we detect conflicts before a solution is completed.

Page 26: Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile

21/04/23 Accumulated Experience Ant Colony

26

1 Procedure full_look_ahead(){2 Begin3 While (Be possible to select a column) do4 For each row i do5 If (Row i is still not covered) then6 If (row I in covered by only one column, which doesn´t belong to the Tabu_List) then7 Select column j (which cover the row i)8 If (forward_checking(j)) then9 Add column j to the partial solution of the ant10 If several columns fulfill with the condition, choose one in a randomly way11 EndIf12 EndIf13 EndIf14 EndFor15 EndWhile16 Return OK;17 End.

Procedure Full Look Ahead for ACO

Page 27: Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile

21/04/23 Accumulated Experience Ant Colony

27

Example 2

Creating a Solution

Page 28: Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile

21/04/23 Accumulated Experience Ant Colony

28

A pairing is a sequence of flights to be covered by a single crew over a 2 to 3 day period

Pairing j Flight Sequence Cost $1 101-203-406-308 29002 101-203-407 27003 101-204-305-407 26004 101-204-308 30005 203-406-310 26006 203-407-109 31507 204-305-407-109 25508 204-308-109 25009 305-407-109-212 2600

10 209-109-212 205011 402-204-305 240012 402-204-310-211 360013 406-308-109-211 255014 406-310-211 265015 407-109-211 2350

Page 29: Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile

21/04/23 Accumulated Experience Ant Colony

29

Defining the decision variable equal to 1 if paring j is chosen and 0 otherwise. Each flight must be covered.

jx

Minimize 2900x1 + 2700x2 + 2600x3 + 3000x4 + 2600x5 + 3150x6 + 2550x7 + 2500x8 + 2600x9 + 2050x10 + 2400x11 + 3600x12 + 2550x13 + 2650x14 + 2350x15

1,...,15j 1; or x

407) (flight xxxxxx

406) (flight xxxx

402) (flight xx

310) (flight xxx

308) (flight xxxxx

305) (flight xxxx

212) (flight xx

211) (flight xxxx

204) (flight xxxxxx

203) (flight xxxx

109) (flight xxxxxxx

101) (flight xxxx

to Subject

j

1597632

141351

1211

14125

1310841

11973

109

15141312

12118743

6521

1513109876

4321

0

1

1

1

1

1

1

1

1

1

1

1

1

Page 30: Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile

21/04/23 Accumulated Experience Ant Colony

30

Example

• Level of Pheromone

- +

where

• 2 ants start with an empty solution.

60 101 x

Page 31: Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile

21/04/23 Accumulated Experience Ant Colony

31

Initial Step

1 2

6

11 12

7 8

13

3 4

9

14

10

5

15

Page 32: Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile

21/04/23 Accumulated Experience Ant Colony

32

Before finishing a solution

k

n

nkj N j i sp

lkNl l

jj

*

*

0)1( jj

Each ant k chooses the next column j using the probability given by

And updates the chosen columns, according to the Evaporation Rule

Page 33: Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile

21/04/23 Accumulated Experience Ant Colony

33

After some Steps

1 2

6

11 12

7 8

13

3 4

9

14

10

5

15

Page 34: Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile

21/04/23 Accumulated Experience Ant Colony

34

When a solution is completed

jjj )1(

The pheromone level of the best solution is updated following

Page 35: Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile

21/04/23 Accumulated Experience Ant Colony

35

After some Iterations

1 2

6

11 12

7 8

13

3 4

9

14

10

5

15

Page 36: Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile

21/04/23 Accumulated Experience Ant Colony

36

Final Solution

• The columns belonging to the optimal solution will show the largest level of pheromone.

• In this case, an optimal solution of this problem, at cost of $9100 is:

0 x other all and 1xxx j 1291

Page 37: Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile

21/04/23 Accumulated Experience Ant Colony

37

Example 3

Use of Constraint Programming

Page 38: Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile

21/04/23 Accumulated Experience Ant Colony

38

x 1 x 2 x 3 x 41 1 1 0 12 0 1 0 03 0 0 1 1 1

1

1

43

2

421

xx

x

xxx

sConstraint

Page 39: Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile

21/04/23 Accumulated Experience Ant Colony

39

Using CP

• 1st try.

x1 = 1 x2 = 0

x4 = 0

• 2nd try.

x2 = 1 x1 and x4 = 0 (applying constraint 1)

x3 = 1 (applying constraint 3)

Solution Found : x1 = 0

x2 = 1

x3 = 1

x4 = 0

Doesn’t respect Constraint 2

Solution cannot be completed

Page 40: Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile

21/04/23 Accumulated Experience Ant Colony

40

Experiments and Results

• Adding FC and FLA techniques to the basic ACO algorithms for solving standard benchmarks taken from the Beasley`s ORLIB.

• Considering several tests and published experimental results we use the following parameters for the algorithms: ρ = 0.4, number of iterations = 160, number of ants = 120, β = 0.5, for ACS Qo = 0.5

• Algorithms were implemented using ANSI C, GCC 3.3.6, under Microsoft Windows XP Professional version 2002.

Page 41: Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile

21/04/23 Accumulated Experience Ant Colony

41

Experiments and Results

Page 42: Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile

21/04/23 Accumulated Experience Ant Colony

42

Experiments and Results

Problem Rows Columns Optimum Density Beasley Levine Kotecha AS ACS AS+FC ACS+FCsppnw06 50 6774 7810 18.17 7810 - - 9200 9788 8160 8038sppnw08 24 434 35894 22.39 35894 37078 36068 X X 35894 36682sppnw09 40 3103 67760 16.20 67760 - - 70462 X 70222 69332sppnw10 24 853 68271 21.18 68271 X 68271 X X X X sppnw12 27 626 14118 20.00 14118 15110 14474 15406 16060 14466 14252sppnw15 31 467 67743 19.55 67743 - - 67755 67746 67743 67743sppnw19 40 2879 10898 21.88 10898 11060 11944 11678 12350 11060 11858sppnw23 19 711 12534 24.80 12534 12534 12534 14304 14604 13932 12880sppnw26 23 771 6796 23.77 6796 6796 6804 6976 6956 6880 6880sppnw32 19 294 14877 24.29 14877 14877 14877 14877 14886 14877 14877sppnw34 20 899 10488 28.06 10488 10488 10488 13341 11289 10713 10797sppnw39 25 677 10080 26.55 10080 10080 10080 11670 10758 11322 10545sppnw41 17 197 11307 22.10 11307 11307 11307 11307 11307 11307 11307

Table 2. ACO with Forward Checking

Page 43: Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile

21/04/23 Accumulated Experience Ant Colony

43

Experiments and Results

• The effectiveness of hybridization is showed to the SPP and in some instances of SCP solving with AS+FC.

• Strongly constrained problem characteristic of SPP does the stochastic behavior of ACO improved with FC techniques in the construction phase, so that almost only feasible solutions are induced.

• In the original ACO implementation the SPP solving derives in a lot of unfeasible labeling of variables, and many ants can not complete solutions.

• For SCP, the huge size of the search space and the relaxation of the constraints do original ACO algorithms work better than ACO with Constraint Programming considering the same execution conditions.

Page 44: Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile

21/04/23 Accumulated Experience Ant Colony

44

Conclusions

• Performance of ACO is possible to improve with some classes of hybridization.

• Using only the transition rule of pure ACO doesn't allow, in some problems, to complete feasible solutions.

• In a restricted problem like SPP, ACO with Lookahead techniques showed an interesting performance, we demonstrated that this integration improves the process, mainly with respect to success costs instead running times. But the trade off in all cases is very convenient.

Page 45: Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile

21/04/23 Accumulated Experience Ant Colony

45

Future Work

• To study the pheromone representation and will try to incorporate it into Lookahead techniques.

• Considering that the ant´s solutions may contain redundant components which can be eliminated by a fine tuning after the solution, then we will explore Post Processing procedures, which consist in the identification and replacement of the columns of the ACO solution in each iteration by more effective columns.

• To study available local search techniques in order to reduce the input problem and improve the solutions given by the ants.

Page 46: Ant Colonies using Arc Consistency Techniques for the Set Partitioning Problem Broderick Crawford Pontificia Universidad Católica de Valparaíso - Chile

21/04/23 Accumulated Experience Ant Colony

46

Questions?