Skip to content

EricZheng1024/EIE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Code for "Enhanced Ideal Objective Vector Estimation for Evolutionary Multi-Objective Optimization".

We use PlatEMO v3.5 to conduct experimental studies. The problems and algorithms involved in the experiments are located in "PlatEMO\Problems\MOPs" and "PlatEMO\Algorithms\MOEAs", respectively. Files unrelated to the experiments have been removed from PlatEMO.

The implementation of the BBOB test suite on PlatEMO can be found here.


Config

Warm starting method (GitHub repository) in our implemented method requires support from the Python interpreter, and Python needs to have numpy installed.

Please set the Python interpreter path in warm_start.m. Alternatively, you can set it directly in the MATLAB command window. Changes to pyenv will persist across different MATLAB sessions.

About warm_start.py

The following code is added at the end of _warm_start.py (Source code address):

def adapter4matlab(data: np.ndarray, gamma: float = 0.1, alpha: float = 0.1):
    source_solutions = []
    for i in range(data.shape[0]):
        source_solutions.append((data[i,:-1], data[i,-1]))

    ws_mean, ws_sigma, ws_cov = get_warm_start_mgd(source_solutions, gamma, alpha)
    return ws_mean, ws_sigma, ws_cov

It is then renamed to warm_start.py because MATLAB does not support calling functions from _name.py using py._name.


How to integrate EIE into MOEA?

  • Introduce the corresponding parameters tol and is_EIE:
[paras_of_MOEA, tol, is_EIE] = Algorithm.ParameterSet(values_of_paras, 0.05, 1);
  • Copy the code segments representing Init EIE, Generate offspring by EIE, and Update EIE into the corresponding positions.
  • Provide two variables, zmin and zmax.

Suggestions for integrating the algorithm of this project into PlatEMO with other algorithms: It is recommended to create a separate folder for each algorithm and copy the Utilities into each folder. This prevents function name conflicts between the functions in Utilities and those in other files.

About

No description or website provided.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors