Ant Colony Optimisation for Constraint-based Configuration Patrick Albert 2 , Laurent Henocque 1 , and Mathias Kleiner 1 1 Laboratoire LSIS, Universit´ e de Saint-J´ erˆ ome, Avenue Escadrille Normandie-Niemen, 13397 Marseille, France 2 ILOG S.A, 9 rue de Verdun, 94253 Gentilly, France palbert@ilog.fr,{mathias.kleiner,laurent.henocque}@lsis.org 1 Introduction An inherent difficulty in enumerative search constraint-based algorithms for optimisation is the combinato- rial explosion that occurs when increasing the size of the input. Among incomplete algorithms that address this issue, Ant Colony Optimization (ACO) uses a combination of random and heuristic methods plus re- inforcement learning, which proved efficient on a wide range of Constraint Satisfaction Problems (CSPs). This paper presents results in applying an ACO-based algorithm to constraint-based configuration, which to the best of our knowledge was never investigated before. The search space of such problems grows very quickly with the number of components. In the general case, they may accept infinitely many finite models, thus showing the limits of exhaustive search methods. We describe how the nature of unbounded configuration problems impacts the ACO approach due to the presence of set-variables with open domains. We propose an ACO framework able to deal with those issues through an original pheromone model and algorithm. Finally, we provide early experimental results which make use of Particle Swarm Optimization (PSO) to converge towards good parameter sets. 1.1 Brief introduction to constraint-based configuration A configuration task consists in building (a simulation of) a complex product from components picked from a catalog of types. In the general context, neither the number nor the actual types of the required components are known beforehand. Components are subject to relations, and their types are subject to inheritance. Constraints generically define all the valid products. This first-order logic problem is semi-decidable in the general case. The reader can refer to [3] for a deeper introduction to configuration. Configuration approaches based on extensions of CSPs, such as Generative CSPs [5, 2], consist in as- signing values to different types of variables: instantiation of a component’s type and attributes is modeled through classical CSP variables whereas instantiation of a component’s port, which requires to dynamically generate new components to meet cardinality constraints on ports, is modeled with a set-variable having an open domain. 2 ACO for configuration Since configuration search algorithms involve (set-)variables with open domains, problems do not comply with the standard ACO approach [1] nor can they be solved using the ACO application to CSPs described in [4]. In particular, it is not possible to exhibit beforehand an ACO construction graph since the number of components is unbounded. In our framework, the construction graph of ACO for configuration is therefore created dynamically during search by superimposition of all created configuration instances. Artificial ants, guided by pheromones, may explore and extend this graph ( i.e add existing components or create new ones) in order to create potential solutions. We thus introduce an original pattern for an artificial ant probabilistic choice that allows for simulating the choice of a value from an unbounded set through an evolving finite set called simu-finite set. A simu- finite set contains some domain values plus a wild card value representing all other potential values. The set evolves (i.e is increased for the next ACO iteration) each time an ant selects the wild card value. 2.1 Pheromone model We propose a pheromone model that exploits simu-finite sets to deal with ports cardinalities and targets whereas other variables are assigned using the standard ACO approach. We also propose an original re- stricted evaporation which takes into account that some existing components have not been selected in the current best instance: pheromones related to the choice of a left-apart component are evaporated, but its own pheromones (related to its type, attributes and ports variables) are left unchanged.