Evolutionary Computation
Evolutionary computation refers to a collective term for optimization methods inspired by the mechanisms of biological evolution. Representative methods include genetic algorithms, genetic programming, and evolutionary strategies. Organisms in the natural world evolve by undergoing survival selection and elimination across generations to adapt to their environment. In evolutionary computation, this mechanism of environmental adaptation is modeled on computers to discover individuals—optimal solutions—adapted to specific environments in the context of optimization problems.
User-Oriented Evolutionary Computation
When applying evolutionary computation in practice, users often face significant challenges in setting up problem formulations and preparing benchmark environments. Our laboratory is conducting research on frameworks that support users, with the aim of making evolutionary computation more accessible and easier to use.
Evolutionary Computation × Large Language Models
In recent years, large language models (LLMs) have achieved remarkable advances in the field of natural language processing, and research combining them with evolutionary computation is rapidly progressing. Our laboratory is exploring new methods to automatically generate diverse benchmark problems, which are essential for evaluating optimization algorithms including evolutionary computation. Specifically, we describe benchmark problems in the form of mathematical expressions or program code, and by integrating LLMs with evolutionary computation, we aim to develop algorithms capable of automatically creating diverse benchmark problems.
Evolutionary Computation for Understanding the Characteristics of Optimization Problems
Optimization algorithms, including evolutionary computation, operate within the problem settings defined by the user. However, if these settings are biased due to limited knowledge or preconceived assumptions, it may be difficult to identify solutions that truly meet the user’s needs. Based on the premise that the initial problem formulation provided by the user is often incomplete, our laboratory is developing evolutionary computation frameworks that help to understand the characteristics of the problem, refine the problem formulation, and facilitate an iterative process of problem adjustment and optimization. Specifically, we are working on analyzing constraint definitions in optimization problems and establishing evolutionary computation methods capable of exploring multiple optimal solutions simultaneously.
Efficient Evolutionary Computation
Our research lab focuses on addressing the issue of time escalation in evaluating solutions within the optimization process of evolutionary computation. Specifically, we are exploring approaches to resolve this issue, notably through parallel evolutionary computation and surrogate-based evolutionary computation.
Surrogate-assisted Evolutionary Computation
Evolutionary computation requires an enormous number of solution evaluations during the optimization process, which can significantly increase the total computation time. To address this issue, our laboratory is studying surrogate-assisted evolutionary computation, where machine learning models are used to estimate solution evaluations during optimization. Specifically, we are working on the development of new surrogate models and analyzing how the accuracy of these models affects the search performance of surrogate-assisted evolutionary computation.
Parallel Evolutionary Computation
To improve both computational efficiency and search performance in evolutionary computation, our laboratory is studying parallel evolutionary computation, where evolutionary algorithms are executed simultaneously on multiple computers. In particular, we have proposed semi-asynchronous parallel evolutionary computation methods to reduce idle waiting times in parallel systems, thereby addressing performance degradation caused by uneven evaluation times for individual solutions. We have also developed parent selection methods that take evaluation frequency into account. Furthermore, we are investigating techniques to optimize communication topologies among computing nodes, with the goal of reducing communication overhead in multi-objective evolutionary computation.
Energy-Efficient Evolutionary Computation
In recent years, large-scale AI systems, such as generative AI, have led to a dramatic increase in computational demand and power consumption. As a result, addressing the environmental impact of AI, including electricity use and even water consumption, has become an urgent challenge, and innovations toward energy-efficient AI are strongly required. Evolutionary computation is no exception: in real-world optimization problems where costly solution evaluations are necessary, reducing energy consumption is an important issue. To tackle this challenge, our laboratory is studying methods that utilize energy-efficient surrogate models to reduce power consumption in evolutionary computation, while maintaining strong search performance.
Machine Learning (Reinforcement Learning)
Cooperative Autonomous Driving using Reinforcement Learning
Envisioning the future prevalence of autonomous vehicles, we’ve devised a method to acquire appropriate control strategies for situations where only autonomous vehicles navigate roads. This method is achieved through reinforcement learning. We’ve confirmed that using only local information obtained from distance sensors and vehicle-to-vehicle communication, vehicles with different speeds can navigate roads without collisions.
Harada Laboratory