# nsga2-kit **Repository Path**: Hmount/nsga2-kit ## Basic Information - **Project Name**: nsga2-kit - **Description**: 轻量级多目标优化框架,支持可扩展的NSGA-II/CNSGA实现,适配ZDT3、MW7等问题,提供完整运行范例与可视化,适合教学、科研与快速原型开发。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-04-09 - **Last Updated**: 2025-05-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: Python, 进化算法, MOO, CNSGA, nsga-ii ## README # nsga2-kit **nsga2-kit** 是一个轻量级、多目标优化框架,支持可扩展的 NSGA-II 与 CNSGA-II 实现,适配 ZDT3、Crashworthiness Design、MW7 等典型问题,提供完整运行流程、参数自定义与可视化功能。 为教学与研究打造的可拓展多目标优化工具集。 --- ## ✨ 特性亮点 - ✅ 标准 NSGA-II 与带约束处理的 CNSGA-II 实现 - ✅ 支持多个经典 benchmark 问题(ZDT3、Crashworthiness、MW7) - ✅ 支持可视化输出(2D / 3D 图像) - ✅ SBX 交叉、多项式变异、自定义选择机制 - ✅ 模块化结构,便于扩展和重用 - ✅ 教学、实验与科研均适用 --- ## 📦 安装方式 建议使用开发模式安装: ```bash git clone https://gitee.com/Hmount/nsga2-kit.git cd nsga2-kit pip install -e . ``` --- ## 🚀 快速开始 ### 示例:运行 ZDT3 问题 ```bash python examples/run_zdt3.py ``` ### 示例:Crashworthiness Design(3 目标) ```bash python examples/run_crash.py ``` ### 示例:带约束的 MW7 问题 ```bash python examples/run_mw7.py ``` --- ## 📁 项目结构 ```text nsga2-kit/ ├── nsga2/ # 核心算法模块 │ ├── nsga2.py # 标准 NSGA-II │ ├── cnsga2.py # CNSGA-II(带约束处理) ├── problems/ # 多目标优化问题定义 │ ├── zdt3.py │ ├── crashworthiness.py │ ├── mw7.py │ └── rcm21.py ├── examples/ # 运行脚本 + 可视化 │ ├── run_zdt3.py │ ├── run_crash.py │ ├── run_rcm21.py │ └── run_mw7.py ├── tests/ # 可选单元测试 ├── docs/ # 示例图表 ├── README.md ├── setup.py └── LICENSE ``` --- ## 📈 示例输出 建议您将运行结果图保存在 `docs/` 文件夹: ### ZDT3 二维 Pareto 前沿 ![ZDT3 Pareto Front](docs/zdt3_plot.png) ### Crashworthiness 三维优化结果 ![Crash 3D Pareto](docs/crash_plot.png) --- ## 🧩 已支持问题列表 ``` | 问题名称 | 目标数 | 约束数 | 类型 | | ZDT3 | 2 | 0 | Benchmark | | Crashworthiness Design | 3 | 0 | 工程问题 | | MW7 | 2 | 2 | Benchmark | | RCM21 | 2 | 4 | 真实约束问题 | ... ... ``` --- ## 🙋 关于本项目 本工具包最初作为 NUS-CEG5302 的团队项目开发,并在此基础上整理成完整的开源优化框架。适合对多目标优化、进化计算、Pareto 前沿建模感兴趣的研究者与学习者。