Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

SFA/DE: Scalarization Function Approximation-based Differential Evolution algorithm

SFA/DE is a surrogate-assisted multiobjective evolutionary algorithm for high-dimensional expensive multiobjective optimization problems. This repository provides implementations of SFA/DE for:

How to use

MATLAB version

  1. Download this repository and PlatEMO.
  2. Copy the MATLAB implementation (PlatEMO)/SFADE directory in this repository to the Algorithms/Multi-objective optimization directory of PlatEMO.
  3. Run platemo.m and select "SFADE" as the algorithm on the GUI.
  4. Specify the problem and experimental settings and click the "Start" button.

You can also execute SFA/DE from the MATLAB command window, for example:

platemo('algorithm', @SFADE, 'problem', @MaF1, 'N', 100, 'M', 3, 'D', 100, 'maxFE', 500);

Please see the PlatEMO documentation for more details.

Python version

  1. Download this repository and EvoMO.
  2. Copy the Python implementation (EvoMO)/sfade.py file in this repository to the evomo/algorithms directory of PlatEMO.
  3. Install EvoMO in editable mode: py -m pip install -e.
  4. Add the import and export entries for SFADE to evomo/algorithms/__init__.py.
  5. Import SFADE from evoemo.algirithms and run it through the EvoX workflow.

Please see the EvoMO and EvoX documentations for more details.

Algorithm Overview

SFA/DE consists of the following main steps:

  1. Generate a set of weight vectors and initialize the population.
  2. Evaluate the initial solutions and store them in an archive set.
  3. For each subproblem:
    • Select promising evaluated solutions and construct an RBF model for the scalarization function with them.
    • Apply a differential evolution (DE) algorithm with the help of the RBF model.
    • Evaluate the most promising candidate solution, which has the minimum predicted scalarization function value.
    • Update the population and ideal point following the MOEA/D framework.
  4. Repeat Step 3 until the maximum number of function evaluations is reached.

Reference

Please cite the following paper if you use SFA/DE in your research.

Y. Horaguchi, K. Nishihara, and M. Nakata, "Evolutionary multiobjective optimization assisted by scalarization function approximation for high-dimensional expensive problems," Swarm and Evolutionary Computation, vol. 86, Article No. 101516 (19 pages), April 2024, DOI = 10.1016/j.swevo.2024.101516.

@article{horaguchi2024evolutionary,
  title={{Evolutionary multiobjective optimization assisted by scalarization function approximation for high-dimensional expensive problems}},
  author={Horaguchi, Yuma and Nishihara, Kei and Nakata, Masaya},
  journal={Swarm and Evolutionary Computation},
  volume={86},
  pages={101516},
  month={April},
  year={2024},
  publisher={Elsevier},
  doi={10.1016/j.swevo.2024.101516}
}

License

Copyright (c) 2024 YNU Nakata Lab.

SFA/DE is licensed under the GNU General Public License v3.0 only (GPL-3.0-only). The MATLAB version is intended for use with PlatEMO, and the Python version is intended for use with EvoMO. Please also check the licenses of these projects when using the code.

About

Evolutionary multiobjective optimization assisted by scalarization function approximation for high-dimensional expensive problems

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages