788 research outputs found
Preference-Based Evolutionary Many-Objective Optimization for Agile Satellite Mission Planning
With the development of aerospace technologies, the mission planning of agile earth observation satellites has to consider several objectives simultaneously, such as profit, observation task number, image quality, resource balance, and observation timeliness. In this paper, a five-objective mixed-integer optimization problem is formulated for agile satellite mission planning. Preference-based multi-objective evolutionary algorithms, i.e., T-MOEA/D-TCH, T-MOEA/D-PBI, and T-NSGA-III are applied to solve the problem. Problem-specific coding and decoding approaches are proposed based on heuristic rules. Experiments have shown the advantage of integrating preferences in many-objective satellite mission planning. A comparative study is conducted with other state-of-the-art preference-based methods (T-NSGA-II, T-RVEA, and MOEA/D-c). Results have demonstrated that the proposed T-MOEA/D-TCH has the best performance with regard to IGD and elapsed runtime. An interactive framework is also proposed for the decision maker to adjust preferences during the search. We have exemplified that a more satisfactory solution could be gained through the interactive approach.Algorithms and the Foundations of Software technolog
Neuroevolution in Games: State of the Art and Open Challenges
This paper surveys research on applying neuroevolution (NE) to games. In
neuroevolution, artificial neural networks are trained through evolutionary
algorithms, taking inspiration from the way biological brains evolved. We
analyse the application of NE in games along five different axes, which are the
role NE is chosen to play in a game, the different types of neural networks
used, the way these networks are evolved, how the fitness is determined and
what type of input the network receives. The article also highlights important
open research challenges in the field.Comment: - Added more references - Corrected typos - Added an overview table
(Table 1
Recommended from our members
Innovative food recommendation systems: a machine learning approach
This thesis was submitted for the award of Doctor of Philosophy and was awarded by Brunel University LondonRecommendation systems employ users history data records to predict their preference,
and have been widely used in diverse fields including biology, e-commerce, and healthcare.
Traditional recommendation techniques include content-based, collaborative-based and
hybrid methods but not all real-world problems can be best addressed by these classical
recommendation techniques. Food recommendation is one such challenging problem where
there is an urgent need to use novel recommendation systems in assisting people to select
healthy, balanced and personalized food plans. In this thesis, we make several advances in
food recommendation systems using innovative machine learning methods. First, a novel
recommendation approach is proposed by transforming an original recommendation problem
into a many-objective optimisation one that contains several different objectives resulting in
more balanced recommendations. Second, a unified approach to designing sequence-based
personalised food recommendation systems is investigated to accommodate dynamic user
behaviours. Third, a new food recommendation approach is developed with a temporal
dependent graph neural network and data augmentation techniques leading to more accurate
and robust recommendations. The experimental results show that these proposed approaches
have not only provided a more balanced and accurate way of recommending food than the
traditional methods but also led to promising areas for future research
Metaheuristic models for decision support in the software construction process
En la actualidad, los ingenieros software no solo tienen la responsabilidad de construir
sistemas que desempe~nen una determinada funcionalidad, sino que cada vez
es más importante que dichos sistemas también cumplan con requisitos no funcionales
como alta disponibilidad, efciencia o seguridad, entre otros. Para lograrlo,
los ingenieros se enfrentan a un proceso continuo de decisión, pues deben estudiar
las necesidades del sistema a desarrollar y las alternativas tecnológicas existentes
para implementarlo. Todo este proceso debe estar encaminado a la obtención de
sistemas software de gran calidad, reutilizables y que faciliten su mantenimiento y
modificación en un escenario tan exigente y competitivo.
La ingeniería del software, como método sistemático para la construcción de software,
ha aportado una serie de pautas y tareas que, realizadas de forma disciplinada
y adaptadas al contexto de desarrollo, posibilitan la obtención de software de calidad.
En concreto, el proceso de análisis y diseño del software ha adquirido una gran
importancia, pues en ella se concibe la estructura del sistema, en términos de sus bloques
funcionales y las interacciones entre ellos. Es en este momento cuando se toman
las decisiones acerca de la arquitectura, incluyendo los componentes que la conforman,
que mejor se adapta a los requisitos, tanto funcionales como no funcionales,
que presenta el sistema y que claramente repercuten en su posterior desarrollo. Por
tanto, es necesario que el ingeniero analice rigurosamente las alternativas existentes,
sus implicaciones en los criterios de calidad impuestos y la necesidad de establecer
compromisos entre ellos. En este contexto, los ingenieros se guían principalmente
por sus habilidades y experiencia, por lo que dotarles de métodos de apoyo a la
decisión representaría un avance significativo en el área.
La aplicación de técnicas de inteligencia artificial en este ámbito ha despertado un
gran interés en los últimos años. En particular, la inteligencia artificial ha encontrado
en la ingeniería del software un ámbito de aplicación complejo, donde diferentes
técnicas pueden ayudar a conseguir la semi-automatización de tareas tradicionalmente
realizadas de forma manual. De la unión de ambas áreas surge la denominada
ingeniería del software basada en búsqueda, que propone la reformulación de las
actividades propias de la ingeniería del software como problemas de optimización.
A continuación, estos problemas podrían ser resueltos mediante técnicas de búsqueda
como las metaheurísticas. Este tipo de técnicas se caracterizan por explorar el
espacio de posibles soluciones de una manera \inteligente", a menudo simulando
procesos naturales como es el caso de los algoritmos evolutivos.
A pesar de ser un campo de investigación muy reciente, es posible encontrar propuestas
para automatizar una gran variedad de tareas dentro del ciclo de vida del software, como son la priorización de requisitos, la planifcación de recursos, la refactorización del código fuente o la generación de casos de prueba. En el ámbito del
análisis y diseño de software, cuyas tareas requieren de creatividad y experiencia,
conseguir una automatización completa resulta poco realista. Es por ello por lo que
la resolución de sus tareas mediante enfoques de búsqueda debe ser tratada desde la
perspectiva del ingeniero, promoviendo incluso la interacción con ellos. Además, el
alto grado de abstracción de algunas de sus tareas y la dificultad de evaluar cuantitativamente
la calidad de un diseño software, suponen grandes retos en la aplicación
de técnicas de búsqueda durante las fases tempranas del proceso de construcción de
software.
Esta tesis doctoral busca realizar aportaciones significativas al campo de la ingeniería
del software basada en búsqueda y, más concretamente, al área de la optimización
de arquitecturas software. Aunque se están realizando importantes avances en este
área, la mayoría de propuestas se centran en la obtención de arquitecturas de bajo
nivel o en la selección y despliegue de artefactos software ya desarrollados. Por tanto,
no existen propuestas que aborden el modelado arquitectónico a un nivel de abstracción elevado, donde aún no existe un conocimiento profundo sobre cómo será el
sistema y, por tanto, es más difícil asistir al ingeniero. Como problema de estudio,
se ha abordado principalmente la tarea del descubrimiento de arquitecturas software
basadas en componentes. El objetivo de este problema consiste en abstraer los bloques
arquitectónicos que mejor definen la estructura actual del software, así como
sus interacciones, con el fin de facilitar al ingeniero su posterior análisis y mejora.
Durante el desarrollo de esta tesis doctoral se ha explorado el uso de una gran variedad
de técnicas de búsqueda, estudiando su idoneidad y realizando las adaptaciones
necesarias para hacer frente a los retos mencionados anteriormente. La primera propuesta
se ha centrado en la formulación del descubrimiento de arquitecturas como
problema de optimización, abordando la representación computacional de los artefactos
software que deben ser modelados y definiendo medidas software para evaluar
su calidad durante el proceso de búsqueda. Además, se ha desarrollado un primer
modelo basado en algoritmos evolutivos mono-objetivo para su resolución, el cual ha
sido validado experimentalmente con sistemas software reales. Dicho modelo se caracteriza
por ser comprensible y
exible, pues sus componentes han sido diseñados
considerando estándares y herramientas del ámbito de la ingeniería del software,
siendo además configurable en función de las necesidades del ingeniero.
A continuación, el descubrimiento de arquitecturas ha sido tratado desde una perspectiva
multiobjetivo, donde varias medidas software, a menudo en con
icto, deben
ser simultáneamente optimizadas. En este caso, la resolución del problema se ha
llevado a cabo mediante ocho algoritmos del estado del arte, incluyendo propuestas recientes del ámbito de la optimización de muchos objetivos. Tras ser adaptados al
problema, estos algoritmos han sido comparados mediante un extenso estudio experimental
con el objetivo de analizar la ifnuencia que tiene el número y la elección
de las métricas a la hora de guiar el proceso de búsqueda. Además de realizar una
validación del rendimiento de estos algoritmos siguiendo las prácticas habituales
del área, este estudio aporta un análisis detallado de las implicaciones que supone
la optimización de múltiples objetivos en la obtención de modelos de soporte a la
decisión.
La última propuesta en el contexto del descubrimiento de arquitecturas software
se centra en la incorporación de la opinión del ingeniero al proceso de búsqueda.
Para ello se ha diseñado un mecanismo de interacción que permite al ingeniero indicar
tanto las características deseables en las soluciones arquitectónicas (preferencias
positivas) como aquellos aspectos que deben evitarse (preferencias negativas). Esta
información es combinada con las medidas software utilizadas hasta el momento,
permitiendo al algoritmo evolutivo adaptar la búsqueda conforme el ingeniero interactúe. Dadas las características del modelo, su validación se ha realizado con la
participación de ingenieros con distinta experiencia en desarrollo software, a fin de
demostrar la idoneidad y utilidad de la propuesta.
En el transcurso de la tesis doctoral, los conocimientos adquiridos y las técnicas
desarrolladas también han sido extrapolados a otros ámbitos de la ingeniería del
software basada en búsqueda mediante colaboraciones con investigadores del área.
Cabe destacar especialmente la formalización de una nueva disciplina transversal,
denominada ingeniería del software basada en búsqueda interactiva, cuyo fin es promover
la participación activa del ingeniero durante el proceso de búsqueda. Además,
se ha explorado la aplicación de algoritmos de muchos objetivos a un problema clásico
de la computación orientada a servicios, como es la composición de servicios web.Nowadays, software engineers have not only the responsibility of building systems that provide a particular functionality, but they also have to guarantee that these systems ful l demanding non-functional requirements like high availability, e ciency or security. To achieve this, software engineers face a continuous decision process, as they have to evaluate system needs and existing technological alternatives to implement it. All this process should be oriented towards obtaining high-quality and reusable systems, also making future modi cations and maintenance easier in such a competitive scenario. Software engineering, as a systematic method to build software, has provided a number of guidelines and tasks that, when done in a disciplinarily manner and properly adapted to the development context, allow the creation of high-quality software. More speci cally, software analysis and design has acquired great relevance, being the phase in which the software structure is conceived in terms of its functional blocks and their interactions. In this phase, engineers have to make decisions about the most suitable architecture, including its constituent components. Such decisions are made according to the system requirements, either functional or non-functional, and will have a great impact on its future development. Therefore, the engineer has to rigorously analyse existing alternatives, their implications on the imposed quality criteria and the need of establishing trade-o s among them. In this context, engineers are mostly guided by their own capabilities and experience, so providing them with decision support methods would represent a signi cant contribution. The application of arti cial intelligent techniques in this area has experienced a growing interest in the last years. Particularly, software engineering represents a complex application domain to arti cial intelligence, whose diverse techniques can help in the semi-automation of tasks traditionally performed manually. The union of both elds has led to the appearance of search-based software engineering, which proposes reformulating software engineering activities as optimisation problems. For their resolution, search techniques like metaheuristics can be then applied. This type of technique performs an \intelligent" exploration of the space of candidate solutions, often inspired by natural processes as happens with evolutionary algorithms. Despite the novelty of this research eld, there are proposals to automate a great variety of tasks within the software lifecycle, such as requirement prioritisation, resource planning, code refactoring or test case generation. Focusing on analysis and design, whose tasks require creativity and experience, trying to achieve full automation is not realistic. Therefore, solving design tasks by means of search approaches should be oriented towards the engineer's perspective, even promoting their interaction. Furthermore, design tasks are also characterised by a high level of abstraction and the di culty of quantitatively evaluating design quality. All these aspects represent key challenges for the application of search techniques in early phases of the software construction process. The aim of this Ph.D. Thesis is to make signi cant contributions in search-based software engineering and, specially, in the area of software architecture optimisation. Although it is an area in which signi cant progress is being done, most of the current proposals are focused on generating low-level architectures or selecting and deploying already developed artefacts. Therefore, there is a lack of proposals dealing with architectural modelling at a high level of abstraction. At this level, engineers do not have a deep understanding of the system yet, meaning that assisting them is even more di cult. As case study, the discovery of component-based software architectures has been primary addressed. The objective for this problem consists in the abstraction of the architectural blocks, and their interactions, that best de ne the current structure of a software system. This can be viewed as the rst step an engineer would perform in order to further analyse and improve the system architecture. In this Ph.D. Thesis, the use of a great variety of search techniques has been explored. The suitability of these techniques has been studied, also making the necessary adaptations to cope with the aforementioned challenges. A rst proposal has been focused on the formulation of software architecture discovery as an optimisation problem, which consists in the computational representation of its software artefacts and the de nition of software metrics to evaluate their quality during the search process. Moreover, a single-objective evolutionary algorithm has been designed for its resolution, which has been validated using real software systems. The resulting model is comprehensible and exible, since its components have been designed under software engineering standards and tools and are also con gurable according to engineer's needs. Next, the discovery of software architectures has been tackled from a multi-objective perspective, in which several software metrics, often in con ict, have to be simultaneously optimised. In this case, the problem is solved by applying eight state-of-theart algorithms, including some recent many-objective approaches. These algorithms have been adapted to the problem and compared in an extensive experimental study, whose purpose is to analyse the in uence of the number and combination of metrics when guiding the search process. Apart from the performance validation following usual practices within the eld, this study provides a detailed analysis of the practical
implications behind the optimisation of multiple objectives in the context of
decision support.
The last proposal is focused on interactively including the engineer's opinion in the
search-based architecture discovery process. To do this, an interaction mechanism
has been designed, which allows the engineer to express desired characteristics for
the solutions (positive preferences), as well as those aspects that should be avoided
(negative preferences). The gathered information is combined with the software
metrics used until the moment, thus making possible to adapt the search as the
engineer interacts. Due to the characteristics of the proposed model, engineers of
di erent expertise in software development have participated in its validation with
the aim of showing the suitability and utility of the approach.
The knowledge acquired along the development of the Thesis, as well as the proposed
approaches, have also been transferred to other search-based software engineering
areas as a result of research collaborations. In this sense, it is worth noting the
formalisation of interactive search-based software engineering as a cross-cutting discipline,
which aims at promoting the active participation of the engineer during the
search process. Furthermore, the use of many-objective algorithms has been explored
in the context of service-oriented computing to address the so-called web service
composition problem
Understanding Complexity in Multiobjective Optimization
This report documents the program and outcomes of the Dagstuhl Seminar 15031 Understanding Complexity in Multiobjective Optimization. This seminar carried on the series of four previous Dagstuhl Seminars (04461, 06501, 09041 and 12041) that were focused on Multiobjective Optimization, and strengthening the links between the Evolutionary Multiobjective Optimization (EMO) and Multiple Criteria Decision Making (MCDM) communities. The purpose of the seminar was to bring together researchers from the two communities to take part in a wide-ranging discussion about the different sources and impacts of complexity in multiobjective optimization. The outcome was a clarified viewpoint of complexity in the various facets of multiobjective optimization, leading to several research initiatives with innovative approaches for coping with complexity
Population-based algorithms for improved history matching and uncertainty quantification of Petroleum reservoirs
In modern field management practices, there are two important steps that shed light on a multimillion dollar investment. The first step is history matching where the simulation model is calibrated to reproduce the historical observations from the field. In this inverse problem, different geological and petrophysical properties may provide equally good history matches. Such diverse models are likely to show different production behaviors in future. This ties the history matching with the second step, uncertainty quantification of predictions. Multiple history matched models are essential for a realistic uncertainty estimate of the future field behavior. These two steps facilitate decision making and have a direct impact on technical and financial performance of oil and gas companies.
Population-based optimization algorithms have been recently enjoyed growing popularity for solving engineering problems. Population-based systems work with a group of individuals that cooperate and communicate to accomplish a task that is normally beyond the capabilities of each individual. These individuals are deployed with the aim to solve the problem with maximum efficiency.
This thesis introduces the application of two novel population-based algorithms for history matching and uncertainty quantification of petroleum reservoir models. Ant colony optimization and differential evolution algorithms are used to search the space of parameters to find multiple history matched models and, using a Bayesian framework, the posterior probability of the models are evaluated for prediction of reservoir performance.
It is demonstrated that by bringing latest developments in computer science such as ant colony, differential evolution and multiobjective optimization, we can improve the history matching and uncertainty quantification frameworks. This thesis provides insights into performance of these algorithms in history matching and prediction and develops an understanding of their tuning parameters. The research also brings a comparative study of these methods with a benchmark technique called Neighbourhood Algorithms. This comparison reveals the superiority of the proposed methodologies in various areas such as computational efficiency and match quality
Advances and applications in high-dimensional heuristic optimization
“Applicable to most real-world decision scenarios, multiobjective optimization is an area of multicriteria decision-making that seeks to simultaneously optimize two or more conflicting objectives. In contrast to single-objective scenarios, nontrivial multiobjective optimization problems are characterized by a set of Pareto optimal solutions wherein no solution unanimously optimizes all objectives. Evolutionary algorithms have emerged as a standard approach to determine a set of these Pareto optimal solutions, from which a decision-maker can select a vetted alternative. While easy to implement and having demonstrated great efficacy, these evolutionary approaches have been criticized for their runtime complexity when dealing with many alternatives or a high number of objectives, effectively limiting the range of scenarios to which they may be applied. This research introduces mechanisms to improve the runtime complexity of many multiobjective evolutionary algorithms, achieving state-of-the-art performance, as compared to many prominent methods from the literature. Further, the investigations here presented demonstrate the capability of multiobjective evolutionary algorithms in a complex, large-scale optimization scenario. Showcasing the approach’s ability to intelligently generate well-performing solutions to a meaningful optimization problem.
These investigations advance the concept of multiobjective evolutionary algorithms by addressing a key limitation and demonstrating their efficacy in a challenging real-world scenario. Through enhanced computational efficiency and exhibited specialized application, the utility of this powerful heuristic strategy is made more robust and evident”--Abstract, page iv
Entropy-driven global best selection in particle swarm optimization for many-objective software package restructuring
Many real-world optimization problems usually require a large number of conflicting objectives to be optimized simultaneously to obtain solution. It has been observed that these kinds of many-objective optimization problems (MaOPs) often pose several performance challenges to the traditional multi-objective optimization algorithms. To address the performance issue caused by the different types of MaOPs, recently, a variety of many-objective particle swarm optimization (MaOPSO) has been proposed. However, external archive maintenance and selection of leaders for designing the MaOPSO to real-world MaOPs are still challenging issues. This work presents a MaOPSO based on entropy-driven global best selection strategy (called EMPSO) to solve the many-objective software package restructuring (MaOSPR) problem. EMPSO makes use of the entropy and quality indicator for the selection of global best particle. To evaluate the performance of the proposed approach, we applied it over the five MaOSPR problems. We compared it with eight variants of MaOPSO, which are based on eight different global best selection strategies. The results indicate that the proposed EMPSO is competitive with respect to the existing global best selection strategies based on variants of MaOPSO approaches.publishedVersio
ENERGY EFFICIENT WIRED NETWORKING
This research proposes a new dynamic energy management framework for a backbone Internet Protocol over Dense Wavelength Division Multiplexing (IP over DWDM) network. Maintaining the logical IP-layer topology is a key constraint of our architecture whilst saving energy by infrastructure sleeping and virtual router migration.
The traffic demand in a Tier 2/3 network typically has a regular diurnal pattern based on people‟s activities, which is high in working hours and much lighter during hours associated with sleep. When the traffic demand is light, virtual router instances can be consolidated to a smaller set of physical platforms and the unneeded physical platforms can be put to sleep to save energy. As the traffic demand increases the sleeping physical platforms can be re-awoken in order to host virtual router instances and so maintain quality of service.
Since the IP-layer topology remains unchanged throughout virtual router migration in our framework, there is no network disruption or discontinuities when the physical platforms enter or leave hibernation. However, this migration places extra demands on the optical layer as additional connections are needed to preserve the logical IP-layer topology whilst forwarding traffic to the new virtual router location. Consequently, dynamic optical connection management is needed for the new framework.
Two important issues are considered in the framework, i.e. when to trigger the virtual router migration and where to move virtual router instances to? For the first issue, a reactive mechanism is used to trigger the virtual router migration by monitoring the network state. Then, a new evolutionary-based algorithm called VRM_MOEA is proposed for solving the destination physical platform selection problem, which chooses the appropriate location of virtual router instances as traffic demand varies. A novel hybrid simulation platform is developed to measure the performance of new framework, which is able to capture the functionality of the optical layer, the IP layer data-path and the IP/optical control plane. Simulation results show that the performance of network energy saving depends on many factors, such as network topology, quiet and busy thresholds, and traffic load; however, savings of around 30% are possible with typical medium-sized network topologies
- …