XLEMOO (Explainable Learnable Multiobjective Optimization) is a Python framework for evolutionary multiobjective optimization integrated with machine learning. The key concept is to blend Darwinian-inspired evolutionary algorithms with interpretable machine learning models to discover a population of near-Pareto optimal solutions for multiobjective optimization problems. The combination of evolutionary algorithms and machine learning leads to two modes: the Darwinian mode and the learning mode. The framework enables explainability by building an understanding of what characterizes good solutions in a population.
- Python version 3.9 or 3.10
- git
- Poetry
-
Clone the XLEMOO repository:
git clone https://github.com/gialmisi/XLEMOO cd XLEMOO
-
Create and activate a new virtual environment with Poetry:
poetry shell
-
Install the framework:
poetry install
To include development dependencies, use:
poetry install --with dev
-
XLEMOO utilizes pytest for unit testing. Make sure development dependencies are installed:
poetry install --with dev
-
Run the unit tests:
pytest --reruns 5
The main main documentation of the XLEMOO framework is hosted on readthedocs and can be found on Read The Docs.
Alternatively, you can build the documentation manually. First, make sure the development dependencies are installed with poetry. Then, run the following command from the root directory of the project:
cd docs
make html
This should build the documentation in a html format in the docs/_build
directory. You can open the documentation with your favorite web browser by issuing the command (example with Firefox):
firefox _build/html/index.html
- For a usage example, refer to the Notebooks section in the main documentation.
- To use and start modifying the framework, refer to the Basic Usage section in the main documentation.
- To reproduce the numerical experiments, refer to the Reproducibility section in the main documentation.
- The API documentation provides more information on the specific parts of the code in the framework.
If you utilize the XLEMOO framework in your research, please cite the following publication:
Giovanni Misitano. 2024. Exploring the Explainable Aspects and Performance of a Learnable Evolutionary Multiobjective Optimization Method. ACM Transactions on Evolutionary Learning Optimization. 4 (1). https://doi.org/10.1145/3626104