Choice functions for autonomous search in constraint programming: GA vs. PSO

Translated title of the contribution: Choice functions for autonomous search in constraint programming: GA vs. PSO

Ricardo Soto, Broderick Crawford, Sanjay Misra, Wenceslao Palma, Eric Monfroy, Carlos Castro, Fernando Paredes

Research output: Contribution to journalArticlepeer-review

13 Scopus citations

Abstract

The variable and value ordering heuristics are a key element in Constraint Programming. Known together as the enumeration strategy they may have important consequences on the solving process. However, a suitable selection of heuristics is quite hard as their behaviour is complicated to predict. Autonomous search has been recently proposed to handle this concern. The idea is to dynamically replace strategies that exhibit poor performances by more promising ones during the solving process. This replacement is carried out by a choice function, which evaluates a given strategy in a given amount of time via quality indicators. An important phase of this process is performed by an optimizer, which aims at finely tuning the choice function in order to guarantee a precise evaluation of strategies. In this paper we evaluate the performance of two powerful choice functions: the first one supported by a genetic algorithm and the second one by a particle swarm optimizer. We present interesting results and we demonstrate the feasibility of using those optimization techniques for Autonomous Search in a Constraint Programming context.

Translated title of the contributionChoice functions for autonomous search in constraint programming: GA vs. PSO
Original languageEnglish
Pages (from-to)621-627
Number of pages7
JournalTehnicki Vjesnik
Volume20
Issue number4
StatePublished - Aug 2013

Keywords

  • Artificial intelligence
  • Autonomous search
  • Constraint Programming

Fingerprint

Dive into the research topics of 'Choice functions for autonomous search in constraint programming: GA vs. PSO'. Together they form a unique fingerprint.

Cite this