35 research outputs found

    Accelerating supply chains with Ant Colony Optimization across range of hardware solutions

    Get PDF
    This pre-print, arXiv:2001.08102v1 [cs.NE], was published subsequently by Elsevier in Computers and Industrial Engineering, vol. 147, 106610, pp. 1-14 on 29 Jun 2020 and is available at https://doi.org/10.1016/j.cie.2020.106610Ant Colony algorithm has been applied to various optimization problems, however most of the previous work on scaling and parallelism focuses on Travelling Salesman Problems (TSPs). Although, useful for benchmarks and new idea comparison, the algorithmic dynamics does not always transfer to complex real-life problems, where additional meta-data is required during solution construction. This paper looks at real-life outbound supply chain problem using Ant Colony Optimization (ACO) and its scaling dynamics with two parallel ACO architectures - Independent Ant Colonies (IAC) and Parallel Ants (PA). Results showed that PA was able to reach a higher solution quality in fewer iterations as the number of parallel instances increased. Furthermore, speed performance was measured across three different hardware solutions - 16 core CPU, 68 core Xeon Phi and up to 4 Geforce GPUs. State of the art, ACO vectorization techniques such as SS-Roulette were implemented using C++ and CUDA. Although excellent for TSP, it was concluded that for the given supply chain problem GPUs are not suitable due to meta-data access footprint required. Furthermore, compared to their sequential counterpart, vectorized CPU AVX2 implementation achieved 25.4x speedup on CPU while Xeon Phi with its AVX512 instruction set reached 148x on PA with Vectorized (PAwV). PAwV is therefore able to scale at least up to 1024 parallel instances on the supply chain network problem solved

    Optimización de algoritmos bioinspirados en sistemas heterogéneos CPU-GPU.

    Get PDF
    Los retos científicos del siglo XXI precisan del tratamiento y análisis de una ingente cantidad de información en la conocida como la era del Big Data. Los futuros avances en distintos sectores de la sociedad como la medicina, la ingeniería o la producción eficiente de energía, por mencionar sólo unos ejemplos, están supeditados al crecimiento continuo en la potencia computacional de los computadores modernos. Sin embargo, la estela de este crecimiento computacional, guiado tradicionalmente por la conocida “Ley de Moore”, se ha visto comprometido en las últimas décadas debido, principalmente, a las limitaciones físicas del silicio. Los arquitectos de computadores han desarrollado numerosas contribuciones multicore, manycore, heterogeneidad, dark silicon, etc, para tratar de paliar esta ralentización computacional, dejando en segundo plano otros factores fundamentales en la resolución de problemas como la programabilidad, la fiabilidad, la precisión, etc. El desarrollo de software, sin embargo, ha seguido un camino totalmente opuesto, donde la facilidad de programación a través de modelos de abstracción, la depuración automática de código para evitar efectos no deseados y la puesta en producción son claves para una viabilidad económica y eficiencia del sector empresarial digital. Esta vía compromete, en muchas ocasiones, el rendimiento de las propias aplicaciones; consecuencia totalmente inadmisible en el contexto científico. En esta tesis doctoral tiene como hipótesis de partida reducir las distancias entre los campos hardware y software para contribuir a solucionar los retos científicos del siglo XXI. El desarrollo de hardware está marcado por la consolidación de los procesadores orientados al paralelismo masivo de datos, principalmente GPUs Graphic Processing Unit y procesadores vectoriales, que se combinan entre sí para construir procesadores o computadores heterogéneos HSA. En concreto, nos centramos en la utilización de GPUs para acelerar aplicaciones científicas. Las GPUs se han situado como una de las plataformas con mayor proyección para la implementación de algoritmos que simulan problemas científicos complejos. Desde su nacimiento, la trayectoria y la historia de las tarjetas gráficas ha estado marcada por el mundo de los videojuegos, alcanzando altísimas cotas de popularidad según se conseguía más realismo en este área. Un hito importante ocurrió en 2006, cuando NVIDIA (empresa líder en la fabricación de tarjetas gráficas) lograba hacerse con un hueco en el mundo de la computación de altas prestaciones y en el mundo de la investigación con el desarrollo de CUDA “Compute Unified Device Arquitecture. Esta arquitectura posibilita el uso de la GPU para el desarrollo de aplicaciones científicas de manera versátil. A pesar de la importancia de la GPU, es interesante la mejora que se puede producir mediante su utilización conjunta con la CPU, lo que nos lleva a introducir los sistemas heterogéneos tal y como detalla el título de este trabajo. Es en entornos heterogéneos CPU-GPU donde estos rendimientos alcanzan sus cotas máximas, ya que no sólo las GPUs soportan el cómputo científico de los investigadores, sino que es en un sistema heterogéneo combinando diferentes tipos de procesadores donde podemos alcanzar mayor rendimiento. En este entorno no se pretende competir entre procesadores, sino al contrario, cada arquitectura se especializa en aquella parte donde puede explotar mejor sus capacidades. Donde mayor rendimiento se alcanza es en estos clústeres heterogéneos, donde múltiples nodos son interconectados entre sí, pudiendo dichos nodos diferenciarse no sólo entre arquitecturas CPU-GPU, sino también en las capacidades computacionales dentro de estas arquitecturas. Con este tipo de escenarios en mente, se presentan nuevos retos en los que lograr que el software que hemos elegido como candidato se ejecuten de la manera más eficiente y obteniendo los mejores resultados posibles. Estas nuevas plataformas hacen necesario un rediseño del software para aprovechar al máximo los recursos computacionales disponibles. Se debe por tanto rediseñar y optimizar los algoritmos existentes para conseguir que las aportaciones en este campo sean relevantes, y encontrar algoritmos que, por su propia naturaleza sean candidatos para que su ejecución en dichas plataformas de alto rendimiento sea óptima. Encontramos en este punto una familia de algoritmos denominados bioinspirados, que utilizan la inteligencia colectiva como núcleo para la resolución de problemas. Precisamente esta inteligencia colectiva es la que les hace candidatos perfectos para su implementación en estas plataformas bajo el nuevo paradigma de computación paralela, puesto que las soluciones pueden ser construidas en base a individuos que mediante alguna forma de comunicación son capaces de construir conjuntamente una solución común. Esta tesis se centrará especialmente en uno de estos algoritmos bioinspirados que se engloba dentro del término metaheurísticas bajo el paradigma del Soft Computing, el Ant Colony Optimization “ACO”. Se realizará una contextualización, estudio y análisis del algoritmo. Se detectarán las partes más críticas y serán rediseñadas buscando su optimización y paralelización, manteniendo o mejorando la calidad de sus soluciones. Posteriormente se pasará a implementar y testear las posibles alternativas sobre diversas plataformas de alto rendimiento. Se utilizará el conocimiento adquirido en el estudio teórico-práctico anterior para su aplicación a casos reales, más en concreto se mostrará su aplicación sobre el plegado de proteínas. Todo este análisis es trasladado a su aplicación a un caso concreto. En este trabajo, aunamos las nuevas plataformas hardware de alto rendimiento junto al rediseño e implementación software de un algoritmo bioinspirado aplicado a un problema científico de gran complejidad como es el caso del plegado de proteínas. Es necesario cuando se implementa una solución a un problema real, realizar un estudio previo que permita la comprensión del problema en profundidad, ya que se encontrará nueva terminología y problemática para cualquier neófito en la materia, en este caso, se hablará de aminoácidos, moléculas o modelos de simulación que son desconocidos para los individuos que no sean de un perfil biomédico.Ingeniería, Industria y Construcció

    Parallelised and vectorised ant colony optimization

    Get PDF
    Ant Colony Optimisation (ACO) is a versatile population-based optimisation metaheuristic based on the foraging behaviour of certain species of ant, and is part of the Evolutionary Computation family of algorithms. While ACO generally provides good quality solutions to the problems it is applied to, two key limitations prevent it from being truly viable on large-scale problems: A high memory requirement that grows quadratically with instance size, and high execution time. This thesis presents a parallelised and vectorised implementation of ACO using OpenMP and AVX SIMD instructions; while this alone is enough to improve upon the execution time of the algorithm, this implementation also features an alternative memory structure and a novel candidate set approach, the use of which significantly reduces the memory requirement of ACO. This parallelism is enabled through the use of Max-Min Ant System, an ACO variant that only utilises local memory during the solution process and therefore risks no synchronisation issues, and an adaptation of vRoulette, a vector-compatible variant of the common roulette wheel selection method. Through the use of these techniques ACO is also able to find good quality solutions for the very large Art TSPs, a problem set that has traditionally been unfeasible to solve with ACO due to high memory requirements and execution time. These techniques can also benefit ACO when it comes to solving other problems. In this case the Virtual Machine Placement problem, in which Virtual Machines have to be efficiently allocated to Physical Machines in a cloud environment, is used as a benchmark, with significant improvements to execution time

    A comprehensive survey on cultural algorithms

    Get PDF
    Peer reviewedPostprin

    Math, Minds, Machines

    Get PDF

    Comprehensive Taxonomies of Nature- and Bio-inspired Optimization: Inspiration versus Algorithmic Behavior, Critical Analysis and Recommendations

    Full text link
    In recent years, a great variety of nature- and bio-inspired algorithms has been reported in the literature. This algorithmic family simulates different biological processes observed in Nature in order to efficiently address complex optimization problems. In the last years the number of bio-inspired optimization approaches in literature has grown considerably, reaching unprecedented levels that dark the future prospects of this field of research. This paper addresses this problem by proposing two comprehensive, principle-based taxonomies that allow researchers to organize existing and future algorithmic developments into well-defined categories, considering two different criteria: the source of inspiration and the behavior of each algorithm. Using these taxonomies we review more than three hundred publications dealing with nature-inspired and bio-inspired algorithms, and proposals falling within each of these categories are examined, leading to a critical summary of design trends and similarities between them, and the identification of the most similar classical algorithm for each reviewed paper. From our analysis we conclude that a poor relationship is often found between the natural inspiration of an algorithm and its behavior. Furthermore, similarities in terms of behavior between different algorithms are greater than what is claimed in their public disclosure: specifically, we show that more than one-third of the reviewed bio-inspired solvers are versions of classical algorithms. Grounded on the conclusions of our critical analysis, we give several recommendations and points of improvement for better methodological practices in this active and growing research field.Comment: 76 pages, 6 figure

    Evolutionary Computation

    Get PDF
    This book presents several recent advances on Evolutionary Computation, specially evolution-based optimization methods and hybrid algorithms for several applications, from optimization and learning to pattern recognition and bioinformatics. This book also presents new algorithms based on several analogies and metafores, where one of them is based on philosophy, specifically on the philosophy of praxis and dialectics. In this book it is also presented interesting applications on bioinformatics, specially the use of particle swarms to discover gene expression patterns in DNA microarrays. Therefore, this book features representative work on the field of evolutionary computation and applied sciences. The intended audience is graduate, undergraduate, researchers, and anyone who wishes to become familiar with the latest research work on this field

    Determining Additional Modulus of Subgarde Reaction Based on Tolerable Settlement for the Nailed-slab System Resting on Soft Clay.

    Get PDF
    Abstract—Nailed-slab System is a proposed alternative solution for rigid pavement problem on soft soils. Equivalent modulus of subgrade reaction (k’) can be used in designing of nailed-slab system. This modular is the cumulative of modulus of subgrade reaction from plate load test (k) and additional modulus of subgrade reaction due to pile installing (∆∆∆∆k). A recent method has used reduction of pile resistance approach in determining ∆∆∆∆k. The relative displacement between pile and soils, and reduction of pile resistance has been identified. In fact, determining of reduction of pile resistance is difficult. This paper proposes an approach by considering tolerable settlement of rigid pavement. Validation is carried out with respect to a loading test of nailed-slab models. The models are presented as strip section of rigid pavement. The theory of beams on elastic foundation is used to calculate the slab deflection by using k’. Proposed approach can results in deflection prediction close to observed one. In practice, the Nailed-slab System would be constructed by multiple-row piles. Designing this system based on one-pile row analysis will give more safety design and will consume less time

    Point Cloud-based Deep Learning and UAV Path Planning for Surface Defect Detection of Concrete Bridges

    Get PDF
    Over the past decades, several bridges have collapsed, causing many losses due to the lack of proper monitoring and inspection. Although several new techniques have been developed to detect bridge defects, annual visual inspection remains the main approach. Visual inspection, using naked eyes, is time-consuming and subjective because of human errors. Light Detection and Ranging (LiDAR) scanning is a new technology to collect 3D point clouds. The main strength of point clouds over 2D images is collecting the third dimension of the scanned objects. Deep Learning (DL)-based methods have attracted the researchers’ attention for concrete surface defect detection. However, no point cloud-based DL method is currently available for semantic segmentation of bridge surface defects without converting the raw point cloud dataset into other representations, which results in increasing the size of the dataset and leads to some challenges regarding storage capacity, cost, and training time. Some promising point cloud-based semantic segmentation methods (i.e., PointNet and PointNet++) have been applied in segmenting bridge components (i.e., slabs, piers), but not for segmenting surface defects (i.e., cracks, spalls). Moreover, most of the current point cloud-based concrete surface defect detection methods focus on only one type of defects. On the other hand, in DL, a dataset plays a key role in terms of variety, diversity, accuracy, and size. The lack of publicly available point cloud datasets for bridge surface defects is one of the reasons of the lack of studies in the area of point cloud-based methods. Furthermore, compared with terrestrial LiDAR scanning, LiDAR-equipped Unmanned Aerial Vehicle (UAV) is capable of scanning the inaccessible surfaces of the bridges at a closer distance with higher safety. Although the UAV flying path can be controlled using remote controllers, automating and optimizing UAV path planning is preferable for being able to trace a collision-free path with minimum flight time. To increase the efficiency and accuracy of this approach, it is crucial to scan all parts of the bridge with a near perpendicular view. However, in the case of obstacle existence (e.g., bridge piers), achieving full coverage with near perpendicular view may not be possible. To provide more accurate results, using overlapping views is recommended. However, this method could result in increasing the inspection cost and time. Therefore, overlapping views should be considered only for surface areas where defects are expected. Addressing the above issues, this research aims to: (1) create a publicly available point cloud dataset for concrete bridge surface defect semantic segmentation, (2) develop a point cloud-based semantic segmentation DL method to detect different types of concrete surface defects, and (3) propose a novel near-optimal path planning method for LiDAR-equipped UAV with respect to the minimum path length and maximum coverage considering the potential locations of defects. On this premise, a point cloud-based DL method for semantic segmentation of concrete bridge surface defects (i.e., cracks and spalls), called SNEPointNet++, is developed. To have a network with high-performance, SNEPointNet++ focuses on two main characteristics related to surface defects (i.e., normal vector and depth) and takes into account the issues related to the point cloud dataset (i.e., small size and imbalanced dataset). Sensitivity analysis is applied to capture the best combination of hyperparameters and investigate their effects on network performance. The dataset, which was collected from four concrete bridges, was annotated, augmented, and classified into three classes: cracks, spalls, and no defect. This dataset is made available for other researchers. The model was trained and evaluated using 60% and 20% of the dataset, respectively. Testing on the remaining part of the dataset resulted in 93% recall (69% IoU) and 92% recall (82.5% IoU) for cracks and spalls, respectively. Moreover, the results show that the spalls of the segments deeper than 7 cm (severe spalls) can be detected with 99% recall. On the other hand, this research proposes a 3D path planning method for using a UAV equipped with a LiDAR for bridge inspection to have efficient data collection. The method integrates a Genetic Algorithm (GA) and A* algorithm to solve the Traveling Salesman Problem (TSP), considering the potential locations of bridge surface defects such as cracks. The objective is to minimize the time of flight while achieving maximum visibility. The method provides the potential locations of surface defects to efficiently achieve perpendicular and overlapping views for sampling the viewpoints. Calculating the visibility with respect to the level of criticality leads to giving the priority to covering the areas with higher risk levels. Applying the proposed method on a 3-span bridge in Alberta, the results reveal that considering overlapping views based on the level of criticality of the zones and perpendicular views for all viewpoints leads to accurate and time-efficient data collection
    corecore