Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

MiaoRong-Lab/PWDCMO

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PWDCMO

DOI MATLAB PlatEMO

MATLAB code for the paper:

D. Gong, M. Rong, N. Hu, Y. Wang, W. Pedrycz, and S. Yang, "A Prediction and Weak Coevolution-Based Dynamic Constrained Multiobjective Optimization," IEEE Transactions on Evolutionary Computation, 2025, 29(4): 1328-1342. DOI: 10.1109/TEVC.2024.3418470.

Repository: https://github.com/MiaoRong-Lab/PWDCMO

This repository contains two entry points:

  • Standalone/: standalone reproduction code derived from the original experiment scripts.
  • scripts/run_paper_experiment.m: standalone reproduction script based on the original experiment code.
  • PlatEMO/: a PlatEMO-style adapter containing the PWDCMO algorithm and PWDCMO_DCMOP dynamic constrained test problem.

Requirements

  • MATLAB R2018a or later.
  • For the PlatEMO adapter: PlatEMO v4.x or later.

The standalone path no longer requires normrnd or pdist2; the refactor replaced those calls with base MATLAB equivalents. The hypervolume helper still contains a Monte Carlo branch for four or more objectives, but the provided DCMOP instances are bi-objective.

Repository Layout

PWDCMO/
  Standalone/   Original-style code for reproducing the paper experiments
  PlatEMO/      Files that can be copied into or added alongside PlatEMO
  scripts/      Small entry scripts for smoke tests and experiments
  README.md
  CITATION.cff

Standalone Usage

Run a quick check:

run('scripts/run_smoke_test.m')

Run the full standalone experiment:

run('scripts/run_paper_experiment.m')

The full script defaults to DCMOP1, N = 200, pps = 100, 20 independent runs, and time points 0:0.25:20. Results are saved under results/.

PlatEMO Usage

Copy or add the repository's PlatEMO folder to the MATLAB path together with PlatEMO:

addpath(genpath('path/to/PlatEMO/PlatEMO'));
addpath(genpath('path/to/PWDCMO/PlatEMO'));

Problem   = PWDCMO_DCMOP('N',100,'D',10,'maxFE',20000,'parameter',{1,20,4});
Algorithm = PWDCMO('save',1,'metName',{'IGD','HV'});
Algorithm.Solve(Problem);

PWDCMO_DCMOP parameters are:

  • instance: DCMOP instance number from 1 to 8.
  • taut: number of generations for one environment.
  • nt: number of time steps per unit time. The default nt = 4 gives time increments of 0.25.

Files

  • Standalone/main.m: standalone experiment loop.
  • Standalone/NSGA2_1.m: static optimizer with constrained and diversity archives.
  • Standalone/dynamic_response_1.m: prediction-based response after an environmental change.
  • Standalone/variable_move.m: infeasible solution movement toward feasible nondominated guidance solutions.
  • PlatEMO/Algorithms/Multi-objective optimization/PWDCMO/PWDCMO.m: PlatEMO-compatible algorithm class.
  • PlatEMO/Problems/Multi-objective optimization/PWDCMO-DCMOP/PWDCMO_DCMOP.m: PlatEMO-compatible dynamic constrained problem class.

License

This repository is released under the research-use license in LICENSE, following the research and educational use spirit of PlatEMO. Commercial use requires separate permission from the copyright holders.

Notes Before Public Release

  • Validate the PlatEMO adapter against the final paper tables before submitting it upstream.
  • If this code or the PlatEMO adapter is used with PlatEMO, acknowledge and cite PlatEMO as required by the PlatEMO project.

Citation

@article{Gong2025PWDCMO,
  title   = {A Prediction and Weak Coevolution-Based Dynamic Constrained Multiobjective Optimization},
  author  = {Gong, Dunwei and Rong, Miao and Hu, Na and Wang, Yan and Pedrycz, Witold and Yang, Shengxiang},
  journal = {IEEE Transactions on Evolutionary Computation},
  volume  = {29},
  number  = {4},
  pages   = {1328--1342},
  year    = {2025},
  doi     = {10.1109/TEVC.2024.3418470}
}

When using PlatEMO, also cite:

@article{PlatEMO,
  title   = {{PlatEMO}: A {MATLAB} platform for evolutionary multi-objective optimization},
  author  = {Tian, Ye and Cheng, Ran and Zhang, Xingyi and Jin, Yaochu},
  journal = {IEEE Computational Intelligence Magazine},
  volume  = {12},
  number  = {4},
  pages   = {73--87},
  year    = {2017}
}

About

MATLAB code for the PWDCMO dynamic constrained multiobjective optimization algorithm

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.