155 research outputs found

    Ant colony optimization for resource-constrained project scheduling

    Get PDF
    An ant colony optimization (ACO) approach for the resource-constrained project scheduling problem (RCPSP) is presented. Several new features that are interesting for ACO in general are proposed and evaluated. In particular, the use of a combination of two pheromone evaluation methods by the ants to find new solutions, a change of the influence of the heuristic on the decisions of the ants during the run of the algorithm, and the option that an elitist ant forgets the best-found solution are studied. We tested the ACO algorithm on a set of large benchmark problems from the Project Scheduling Library. Compared to several other heuristics for the RCPSP, including genetic algorithms, simulated annealing, tabu search, and different sampling methods, our algorithm performed best on average. For nearly one-third of all benchmark problems, which were not known to be solved optimally before, the algorithm was able to find new best solutions

    Comparative study of pheromone control heuristics in ACO algorithms for solving RCPSP problems

    Get PDF
    Constraint Satisfaction Problems (CSP) belong to a kind of traditional NP-hard problems with a high impact on both research and industrial domains. The goal of these problems is to find a feasible assignment for a group of variables where a set of imposed restrictions is satisfied. This family of NP-hard problems demands a huge amount of computational resources even for their simplest cases. For this reason, different heuristic methods have been studied so far in order to discover feasible solutions at an affordable complexity level. This paper elaborates on the application of Ant Colony Optimization (ACO) algorithms with a novel CSP-graph based model to solve Resource-Constrained Project Scheduling Problems (RCPSP). The main drawback of this ACO-based model is related to the high number of pheromones created in the system. To overcome this issue we propose two adaptive Oblivion Rate heuristics to control the number of pheromones: the first one, called Dynamic Oblivion Rate, takes into account the overall number of pheromones produced in the system, whereas the second one inspires from the recently contributed Coral Reef Optimization (CRO) solver. A thorough experimental analysis has been carried out using the public PSPLIB library, and the obtained results have been compared to those of the most relevant contributions from the related literature. The performed experiments reveal that the Oblivion Rate heuristic removes at least 79% of the pheromones in the system, whereas the ACO algorithm renders statistically better results than other algorithmic counterparts from the literature

    Quantitative Analysis and Performance Study of Ant Colony Optimization Models Applied to Multi-Mode Resource Constraint Project Scheduling Problem

    Get PDF
    Constraint Satisfaction Problems (CSP) belongs to this kind of traditional NP-hard problems with a high impact in both, research and industrial domains. However, due to the complexity that CSP problems exhibit, researchers are forced to use heuristic algorithms for solving the problems in a reasonable time. One of the most famous heuristic al- gorithms is Ant Colony Optimization (ACO) algorithm. The possible utilization of ACO algorithms to solve CSP problems requires the de- sign of a decision graph where the ACO is executed. Nevertheless, the classical approaches build a graph where the nodes represent the vari- able/value pairs and the edges connect those nodes whose variables are different. In order to solve this problem, a novel ACO model have been recently designed. The goal of this paper is to analyze the performance of this novelty algorithm when solving Multi-Mode Resource-Constraint Satisfaction Problems. Experimental results reveals that the new ACO model provides competitive results whereas the number of pheromones created in the system is drastically reduced

    Effective and efficient estimation of distribution algorithms for permutation and scheduling problems.

    Get PDF
    Estimation of Distribution Algorithm (EDA) is a branch of evolutionary computation that learn a probabilistic model of good solutions. Probabilistic models are used to represent relationships between solution variables which may give useful, human-understandable insights into real-world problems. Also, developing an effective PM has been shown to significantly reduce function evaluations needed to reach good solutions. This is also useful for real-world problems because their representations are often complex needing more computation to arrive at good solutions. In particular, many real-world problems are naturally represented as permutations and have expensive evaluation functions. EDAs can, however, be computationally expensive when models are too complex. There has therefore been much recent work on developing suitable EDAs for permutation representation. EDAs can now produce state-of-the-art performance on some permutation benchmark problems. However, models are still complex and computationally expensive making them hard to apply to real-world problems. This study investigates some limitations of EDAs in solving permutation and scheduling problems. The focus of this thesis is on addressing redundancies in the Random Key representation, preserving diversity in EDA, simplifying the complexity attributed to the use of multiple local improvement procedures and transferring knowledge from solving a benchmark project scheduling problem to a similar real-world problem. In this thesis, we achieve state-of-the-art performance on the Permutation Flowshop Scheduling Problem benchmarks as well as significantly reducing both the computational effort required to build the probabilistic model and the number of function evaluations. We also achieve competitive results on project scheduling benchmarks. Methods adapted for solving a real-world project scheduling problem presents significant improvements

    A new ant colony optimization model for complex graph-based problems

    Full text link
    Tesis doctoral inédita leída en la Universidad Autónoma de Madrid. Escuela Politécnica Superior, Departamento de Ingeniería Informática. Fecha de lectura: julio de 2014Nowadays, there is a huge number of problems that due to their complexity have employed heuristic-based algorithms to search for near-to-optimal (or even optimal) solutions. These problems are usually NP-complete, so classical algorithms are not the best candidates to address these problems because they need a large amount of computational resources, or they simply cannot find any solution when the problem grows. Some classical examples of these kind of problems are the Travelling Salesman Problem (TSP) or the N-Queens problem. It is also possible to find examples in real and industrial domains related to the optimization of complex problems, like planning, scheduling, Vehicle Routing Problems (VRP), WiFi network Design Problem (WiFiDP) or behavioural pattern identification, among others. Regarding to heuristic-based algorithms, two well-known paradigms are Swarm Intelligence and Evolutionary Computation. Both paradigms belongs to a subfield from Artificial Intelligence, named Computational Intelligence that also contains Fuzzy Systems, Artificial Neural Networks and Artificial Immune Systems areas. Swarm Intelligence (SI) algorithms are focused on the collective behaviour of selforganizing systems. These algorithms are characterized by the generation of collective intelligence from non-complex individual behaviour and the communication schemes amongst them. Some examples of SI algorithms are particle swarm optimization, ant colony optimization (ACO), bee colony optimization o bird flocking. Ant Colony Optimization (ACO) are based on the foraging behaviour of these insects. In these kind of algorithms, the ants take different decisions during their execution that allows them to build their own solution to the problem. Once any ant has finished its execution, the ant goes back through the followed path and it deposits, in the environment, pheromones that contains information about the built solution. These pheromones will influence the decision of future ants, so there is an indirect communication through the environment called stigmergy. When an ACO algorithm is applied to any of the optimization problems just described, the problem is usually modelled into a graph. Nevertheless, the classical graph-based representation is not the best one for the execution of ACO algorithms because it presents some important pitfalls. The first one is related to the polynomial, or even exponential, growth of the resulting graph. The second pitfall is related to those problems that needs from real variables because these problems cannot be modelled using the classical graph-based representation. On the other hand, Evolutionary Computation (EC) are a set of population-based algorithms based in the Darwinian evolutionary process. In this kind of algorithms there is one (or more) population composed by different individuals that represent a possible solution to the problem. For each iteration, the population evolves by the use of evolutionary procedures which means that better individuals (i.e. better solutions) are generated along the execution of the algorithm. Both kind of algorithms, EC and SI, have been traditionally applied in previous NP-hard problems. Different population-based strategies have been developed, compared and even combined to design hybrid algorithms. This thesis has been focused on the analysis of classical graph-based representations and its application in ACO algorithms into complex problems, and the development of a new ACO model that tries to take a step forward in this kind of algorithms. In this new model, the problem is represented using a reduced graph that affects to the ants behaviour, which becomes more complex. Also, this size reduction generates a fast growth in the number of pheromones created. For this reason, a new metaheuristic (called Oblivion Rate) has been designed to control the number of pheromones stored in the graph. In this thesis different metaheuristics have been designed for the proposed system and their performance have been compared. One of these metaheuristics is the Oblivion Rate, based on an exponential function that takes into account the number of pheromones created in the system. Other Oblivion Rate function is based on a bioinspired swarm algorithm that uses some concepts extracted from the evolutionary algorithms. This bio-inspired swarm algorithm is called Coral Reef Opmization (CRO) algorithm and it is based on the behaviour of the corals in a reef. Finally, to test and validate the proposed model, different domains have been used such as the N-Queens Problem, the Resource-Constraint Project Scheduling Problem, the Path Finding problem in Video Games, or the Behavioural Pattern Identification in users. In some of these domains, the performance of the proposed model has been compared against a classical Genetic Algorithm to provide a comparative study and perform an analytical comparison between both approaches.En la actualidad, existen un gran número de problemas que debido a su complejidad necesitan algoritmos basados en heurísticas para la búsqueda de solucionas subóptimas (o incluso óptimas). Normalmente, estos problemas presentan una complejidad NP-completa, por lo que los algoritmos clásicos de búsqueda de soluciones no son apropiados ya que necesitan una gran cantidad de recursos computacionales, o simplemente, no son capaces de encontrar alguna solución cuando el problema crece. Ejemplos clásicos de este tipo de problemas son el problema del vendedor viajero (o TSP del inglés Travelling Salesman Problem) o el problema de las N-reinas. También se pueden encontrar ejemplos en dominios reales o industriales que generalmente están ligados a temas de optimización de sistemas complejos, como pueden ser problemas de planificación, scheduling, problemas de enrutamiento de vehículos (o VRP del inglés Vehicle Routing Problem), el diseño de redes Wifi abiertas (o WiFiDP del inglés WiFi network Design Problem), o la identificación de patrones de comportamiento, entre otros. En lo referente a los algoritmos basados en heuristicas, dos paradigmas muy conocidos son los algoritmos de enjambre (Swarm Intelligence) y la computación evolutiva (Evolutionary Computation). Ambos paradigmas pertencen al subárea de la Inteligencia Artificial denominada Inteligencia Computacional, que además contiene los sistemas difusos, redes neuronales y sistemas inmunológicos artificiales. Los algoritmos de inteligencia de enjambre, o Swarm Intelligence, se centran en el comportamiento colectivo de sistemas auto-organizativos. Estos algoritmos se caracterizan por la generación de inteligencia colectiva a partir del comportamiento, no muy complejo, de los individuos y los esquemas de comunicación entre ellos. Algunos ejemplos son particle swarm optimization, ant colony optimization (ACO), bee colony optimization o bird flocking. Los algoritmos de colonias de hormigas (o ACO del inglés Ant Colony Optimization) se basan en el comportamiento de estos insectos en el proceso de recolección de comida. En este tipo de algoritmos, las hormigas van tomando decisiones a lo largo de la simulación que les permiten construir su propia solución al problema. Una vez que una hormiga termina su ejecución, deshace el camino andado depositando en el entorno feronomas que contienen información sobre la solución construida. Estas feromonas influirán en las decisiones de futuras hormigas, por lo que produce una comunicación indirecta utilizando el entorno. A este proceso se le llama estigmergia. Cuando un algoritmo de hormigas se aplica a alguno de los problemas de optimización descritos anteriormente, se suele modelar el problema como un grafo sobre el cual se ejecutarán las hormigas. Sin embargo, la representación basada en grafos clásica no parece ser la mejor para la ejecución de algoritmos de hormigas porque presenta algunos problemas importantes. El primer problema está relacionado con el crecimiento polinómico, o incluso expnomencial, del grafo resultante. El segundo problema tiene que ver con los problemas que necesitan de variables reales, o de coma flotante, porque estos problemas, con la representación tradicional basada en grafos, no pueden ser modelados. Por otro lado, los algoritmos evolutivos (o EC del inglés Evolutionary Computation) son un tipo de algoritmos basados en población que están inspirados en el proceso evolutivo propuesto por Darwin. En este tipo de algoritmos, hay una, o varias, poblaciones compuestas por individuos diferentes que representan problems solutiones al problema modelado. Por cada iteración, la población evoluciona mediante el uso de procedimientos evolutivos, lo que significa que mejores individuos (mejores soluciones) son creados a lo largo de la ejecución del algoritmo. Ambos tipos de algorithmos, EC y SI, han sido tradicionalmente aplicados a los problemas NPcompletos descritos anteriormente. Diferentes estrategias basadas en población han sido desarrolladas, comparadas e incluso combinadas para el diseño de algoritmos híbridos. Esta tesis se ha centrado en el análisis de los modelos clásicos de representación basada en grafos de problemas complejos para la posterior ejecución de algoritmos de colonias de hormigas y el desarrollo de un nuevo modelo de hormigas que pretende suponer un avance en este tipo de algoritmos. En este nuevo modelo, los problemas son representados en un grafo más compacto que afecta al comportamiento de las hormigas, el cual se vuelve más complejo. Además, esta reducción en el tamaño del grafo genera un rápido crecimiento en el número de feronomas creadas. Por esta razón, una nueva metaheurística (llamada Oblivion Rate) ha sido diseñada para controlar el número de feromonas almacenadas en el grafo. En esta tesis, varias metaheuristicas han sido diseñadas para el sistema propuesto y sus rendimientos han sido comparados. Una de estas metaheurísticas es la Oblivion Rate basada en una función exponencial que tiene en cuenta el número de feromonas creadas en el sistema. Otra Oblivion Rate está basada en un algoritmo de enjambre bio-inspirado que usa algunos conceptos extraídos de la computación evolutiva. Este algoritmo de enjambre bio-inspirado se llama Optimización de arrecifes de corales (o CRO del inglés Coral Reef Optimization) y está basado en el comportamiento de los corales en el arrecife. Finalmente, para validar y testear el modelo propuesto, se han utilizado diversos dominios de aplicación como son el problema de las N-reinas, problemas de planificación de proyectos con restricciones de recursos, problemas de búsqueda de caminos en entornos de videojuegos y la identificación de patrones de comportamiento de usuarios. En algunos de estos dominios, el rendimiento del modelo propuesto ha sido comparado contra un algoritmo genético clásico para realizar un estudio comparativo, y analítico, entre ambos enfoques

    Optimization Algorithms in Project Scheduling

    Get PDF
    Scheduling, or planning in a general perspective, is the backbone of project management; thus, the successful implementation of project scheduling is a key factor to projects’ success. Due to its complexity and challenging nature, scheduling has become one of the most famous research topics within the operational research context, and it has been widely researched in practical applications within various industries, especially manufacturing, construction, and computer engineering. Accordingly, the literature is rich with many implementations of different optimization algorithms and their extensions within the project scheduling problem (PSP) analysis field. This study is intended to exhibit the general modelling of the PSP, and to survey the implementations of various optimization algorithms adopted for solving the different types of the PSP
    corecore