Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Metaheuristic Implementations

Implementation of various metaheuristics using Python. Not all may be completed, so double check before using.

Requirements are listed in the requirements.txt file.

CMODE

A cooperative multi-objective differential evolution algorithm, as explained in:

Wang, Jiahai, Weiwei Zhang, and Jun Zhang. "Cooperative differential evolution with multiple populations for multiobjective optimization." IEEE Transactions on Cybernetics 46.12 (2015): 2848-2861.

Note: improvements might still be made around the storage of solutions within the archive.

MOPSO

A multi-objective particle swarm optimizer, as explained in:

Coello, CA Coello, and Maximino Salazar Lechuga. "MOPSO: A proposal for multiple objective particle swarm optimization." Proceedings of the 2002 Congress on Evolutionary Computation. CEC'02 (Cat. No. 02TH8600). Vol. 2. IEEE, 2002.

NSCCDE

A multi-objective differential evolution algorithm, as explained in:

Zhang, Zi-Hui, et al. "A non-dominated sorting cooperative co-evolutionary differential evolution algorithm for multi-objective layout optimization." IEEE Access 5 (2017): 14468-14477.

CMOPSO (INCOMPLETE)

An attempted implementation of a competitive multi-objective particle swarm optimizer, as explained in:

Zhang, Xingyi, et al. "A competitive mechanism based multi-objective particle swarm optimizer with fast convergence." Information Sciences 427 (2018): 63-76.

The paper itself is vague on the implementation of the polynomial mutation operator. Several papers are listed, each of which has a different mutation, making it difficult to determine the correct one. After testing with PyMoo it doesn't appear like I've done this correctly. Results express the population has a similar shape of pareto front to the known optimal, but is far from it.

CMOPSO Pareto

PlatEMO has their CMOPSO working, and I attempted to copy it, but cannot receive the results that they get.

Releases

Packages

Contributors

Languages