[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-esa--pagmo2":3,"tool-esa--pagmo2":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",150720,2,"2026-04-11T11:33:10",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":76,"owner_email":76,"owner_twitter":76,"owner_website":77,"owner_url":78,"languages":79,"stars":88,"forks":89,"last_commit_at":90,"license":91,"difficulty_score":92,"env_os":93,"env_gpu":93,"env_ram":93,"env_deps":94,"category_tags":99,"github_topics":100,"view_count":32,"oss_zip_url":76,"oss_zip_packed_at":76,"status":17,"created_at":117,"updated_at":118,"faqs":119,"releases":148},6604,"esa\u002Fpagmo2","pagmo2","A C++ platform to perform parallel computations of optimisation tasks (global and local) via the asynchronous generalized island model.","pagmo2 是一款由欧洲航天局（ESA）开发的 C++ 科学库，专为大规模并行优化任务设计。它旨在解决复杂工程与科研中常见的全局及局部优化难题，特别是那些计算量巨大、需要高效利用多核处理器或集群资源的场景。\n\n传统优化方法在面对高维、非线性或多目标问题时，往往计算耗时过长且难以并行化。pagmo2 通过其核心的“异步广义岛屿模型”架构，巧妙地将不同的优化算法和问题实例分布在多个计算单元上并行运行，并允许它们之间异步交换信息。这种机制不仅显著提升了计算效率，还增强了算法跳出局部最优解、寻找全局最佳方案的能力。\n\n这款工具非常适合从事航空航天、机械设计、金融建模等领域的研究人员和开发者使用。如果你需要自定义优化算法，或者希望在高性能计算环境中部署复杂的优化流程，pagmo2 提供了统一且灵活的接口来简化这一过程。值得注意的是，虽然 pagmo2 本身是 C++ 库，但它拥有独立的 Python 绑定项目（pygmo2），方便不同偏好的用户调用。作为一个经过学术同行评审的开源项目，pagmo2 以其严谨的架构和强大的并行处理能力，成为解决棘手优化问题的得力助手。","pagmo\n=====\n\n[![Build Status](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fesa\u002Fpagmo2\u002Fmain.yml?branch=master&style=for-the-badge)](https:\u002F\u002Fgithub.com\u002Fesa\u002Fpagmo2\u002Factions?query=workflow%3A%22GitHub+CI%22)\n[![Code Coverage](https:\u002F\u002Fimg.shields.io\u002Fcodecov\u002Fc\u002Fgithub\u002Fesa\u002Fpagmo2.svg?style=for-the-badge)](https:\u002F\u002Fcodecov.io\u002Fgithub\u002Fesa\u002Fpagmo2?branch=master)\n\n[![Anaconda-Server Badge](https:\u002F\u002Fimg.shields.io\u002Fconda\u002Fvn\u002Fconda-forge\u002Fpagmo.svg?style=for-the-badge)](https:\u002F\u002Fanaconda.org\u002Fconda-forge\u002Fpagmo)\n\n[![Join the chat at https:\u002F\u002Fgitter.im\u002Fpagmo2\u002FLobby](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fgitter-join--chat-green.svg?logo=gitter-white&style=for-the-badge)](https:\u002F\u002Fgitter.im\u002Fpagmo2\u002FLobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)\n\n[![DOI](https:\u002F\u002Fjoss.theoj.org\u002Fpapers\u002F10.21105\u002Fjoss.02338\u002Fstatus.svg)](https:\u002F\u002Fdoi.org\u002F10.21105\u002Fjoss.02338)\n[![DOI](https:\u002F\u002Fzenodo.org\u002Fbadge\u002FDOI\u002F10.5281\u002Fzenodo.1045337.svg)](https:\u002F\u002Fdoi.org\u002F10.5281\u002Fzenodo.1045336)\n\n**IMPORTANT NOTICE**: pygmo, the Python bindings for pagmo, have been split off into a separate\nproject, hosted [here](https:\u002F\u002Fgithub.com\u002Fesa\u002Fpygmo2). Please update your bookmarks!\n\npagmo is a C++ scientific library for massively parallel optimization. It is built around the idea of providing\na unified interface to optimization algorithms and to optimization problems and to make their deployment in\nmassively parallel environments easy.\n\nIf you are using pagmo as part of your research, teaching, or other activities, we would be grateful if you could star\nthe repository and\u002For cite our work. For citation purposes, you can use the following BibTex entry, which refers\nto the [pagmo paper](https:\u002F\u002Fdoi.org\u002F10.21105\u002Fjoss.02338) in the Journal of Open Source Software:\n\n```bibtex\n@article{Biscani2020,\n  doi = {10.21105\u002Fjoss.02338},\n  url = {https:\u002F\u002Fdoi.org\u002F10.21105\u002Fjoss.02338},\n  year = {2020},\n  publisher = {The Open Journal},\n  volume = {5},\n  number = {53},\n  pages = {2338},\n  author = {Francesco Biscani and Dario Izzo},\n  title = {A parallel global multiobjective framework for optimization: pagmo},\n  journal = {Journal of Open Source Software}\n}\n```\n\nThe DOI of the latest version of the software is available at [this link](https:\u002F\u002Fdoi.org\u002F10.5281\u002Fzenodo.1045336).\n\nThe full documentation can be found [here](https:\u002F\u002Fesa.github.io\u002Fpagmo2\u002F).\n\nUpgrading from pagmo 1.x.x\n==========================\n\nIf you were using the old pagmo, have a look here on some technical data on what and why a completely\nnew API and code was developed: https:\u002F\u002Fgithub.com\u002Fesa\u002Fpagmo2\u002Fwiki\u002FFrom-1.x-to-2.x\n\nYou will find many tutorials in the documentation, we suggest to skim through them to\nrealize the differences. The new pagmo (version 2) should be considered (and is) as an entirely different code.\n","pagmo\n=====\n\n[![构建状态](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fesa\u002Fpagmo2\u002Fmain.yml?branch=master&style=for-the-badge)](https:\u002F\u002Fgithub.com\u002Fesa\u002Fpagmo2\u002Factions?query=workflow%3A%22GitHub+CI%22)\n[![代码覆盖率](https:\u002F\u002Fimg.shields.io\u002Fcodecov\u002Fc\u002Fgithub\u002Fesa\u002Fpagmo2.svg?style=for-the-badge)](https:\u002F\u002Fcodecov.io\u002Fgithub\u002Fesa\u002Fpagmo2?branch=master)\n\n[![Anaconda-Server 徽章](https:\u002F\u002Fimg.shields.io\u002Fconda\u002Fvn\u002Fconda-forge\u002Fpagmo.svg?style=for-the-badge)](https:\u002F\u002Fanaconda.org\u002Fconda-forge\u002Fpagmo)\n\n[![加入 https:\u002F\u002Fgitter.im\u002Fpagmo2\u002FLobby 的聊天](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fgitter-join--chat-green.svg?logo=gitter-white&style=for-the-badge)](https:\u002F\u002Fgitter.im\u002Fpagmo2\u002FLobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)\n\n[![DOI](https:\u002F\u002Fjoss.theoj.org\u002Fpapers\u002F10.21105\u002Fjoss.02338\u002Fstatus.svg)](https:\u002F\u002Fdoi.org\u002F10.21105\u002Fjoss.02338)\n[![DOI](https:\u002F\u002Fzenodo.org\u002Fbadge\u002FDOI\u002F10.5281\u002Fzenodo.1045337.svg)](https:\u002F\u002Fdoi.org\u002F10.5281\u002Fzenodo.1045336)\n\n**重要通知**：pygmo，即 pagmo 的 Python 绑定，已被拆分到一个独立的项目中，托管于 [这里](https:\u002F\u002Fgithub.com\u002Fesa\u002Fpygmo2)。请更新您的书签！\n\npagmo 是一个用于大规模并行优化的 C++ 科学库。它围绕着为优化算法和优化问题提供统一接口的理念构建，旨在简化这些工具在大规模并行环境中的部署。\n\n如果您在研究、教学或其他活动中使用 pagmo，我们非常感谢您为本仓库点赞和\u002F或引用我们的工作。为了便于引用，您可以使用以下 BibTeX 条目，该条目指向《开源软件期刊》中的 [pagmo 论文](https:\u002F\u002Fdoi.org\u002F10.21105\u002Fjoss.02338)：\n\n```bibtex\n@article{Biscani2020,\n  doi = {10.21105\u002Fjoss.02338},\n  url = {https:\u002F\u002Fdoi.org\u002F10.21105\u002Fjoss.02338},\n  year = {2020},\n  publisher = {The Open Journal},\n  volume = {5},\n  number = {53},\n  pages = {2338},\n  author = {Francesco Biscani 和 Dario Izzo},\n  title = {一种用于优化的并行全局多目标框架：pagmo},\n  journal = {Journal of Open Source Software}\n}\n```\n\n最新版本软件的 DOI 可通过 [此链接](https:\u002F\u002Fdoi.org\u002F10.5281\u002Fzenodo.1045336) 获取。\n\n完整的文档可以在这里找到：[https:\u002F\u002Fesa.github.io\u002Fpagmo2\u002F](https:\u002F\u002Fesa.github.io\u002Fpagmo2\u002F)。\n\n从 pagmo 1.x.x 升级\n==========================\n\n如果您之前使用的是旧版 pagmo，请参阅此处的技术说明，了解为何以及如何开发了一个全新的 API 和代码：https:\u002F\u002Fgithub.com\u002Fesa\u002Fpagmo2\u002Fwiki\u002FFrom-1.x-to-2.x\n\n您可以在文档中找到许多教程，建议先浏览一遍，以了解其中的差异。新版 pagmo（版本 2）应被视为完全不同的代码，并且实际上也是如此。","# pagmo2 快速上手指南\n\npagmo2 是一个用于大规模并行优化的 C++ 科学库。它提供了统一的接口来定义优化算法和优化问题，旨在简化在大规模并行环境中的部署。\n\n> **注意**：如果您需要 Python 版本，请使用独立项目 [pygmo2](https:\u002F\u002Fgithub.com\u002Fesa\u002Fpygmo2)。本指南仅针对 C++ 核心库 pagmo2。\n\n## 环境准备\n\n### 系统要求\n- **操作系统**：Linux, macOS, Windows (需配合 MSVC 或 MinGW)\n- **编译器**：支持 C++11 标准的现代编译器（如 GCC >= 4.8, Clang, MSVC >= 2015）\n- **构建工具**：CMake (版本 3.4 或更高)\n\n### 前置依赖\npagmo2 的核心功能依赖较少，但为了使用部分高级算法或并行特性，建议安装以下库：\n- **Boost** (必需)：特别是 `boost_serialization`, `boost_system`, `boost_thread`, `boost_chrono` 等组件。\n- **TBB** (可选但推荐)：用于多线程并行支持。\n- **IPOPT**, **NLopt**, **SNOPT** 等 (可选)：用于集成特定的第三方优化算法。\n\n## 安装步骤\n\n推荐使用包管理器进行安装，也可通过源码编译。\n\n### 方法一：使用 Conda 安装（推荐）\nConda 能自动处理复杂的依赖关系，适合快速开始。\n\n```bash\nconda install -c conda-forge pagmo\n```\n\n### 方法二：源码编译安装\n如果需要自定义配置或使用最新开发版，请从 GitHub 克隆源码并编译。\n\n1. 克隆仓库：\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fesa\u002Fpagmo2.git\ncd pagmo2\nmkdir build && cd build\n```\n\n2. 配置构建（使用 CMake）：\n```bash\ncmake .. -DCMAKE_BUILD_TYPE=Release\n```\n*提示：若需指定 Boost 路径或启用特定算法，可在此步添加 `-D` 参数，例如 `-DPAGMO_WITH_IPOPT=yes`。*\n\n3. 编译并安装：\n```bash\ncmake --build . --target install\n```\n*注：在 Linux\u002FmacOS 上可能需要 `sudo` 权限，或在配置时指定 `-DCMAKE_INSTALL_PREFIX` 到用户目录。*\n\n## 基本使用\n\n以下是一个最简单的 C++ 示例，演示如何定义一个优化问题（最小化 $f(x) = x^2$）并使用默认算法求解。\n\n```cpp\n#include \u003Cpagmo\u002Fpagmo.hpp>\n\n\u002F\u002F 1. 定义优化问题\nstruct quadratic_problem {\n    \u002F\u002F 返回决策变量的维度\n    pagmo::vector_double get_bounds() const {\n        return {-10., 10.};\n    }\n\n    \u002F\u002F 计算目标函数值\n    pagmo::vector_double fitness(const pagmo::vector_double &x) const {\n        return {x[0] * x[0]};\n    }\n};\n\nint main() {\n    using namespace pagmo;\n\n    \u002F\u002F 2. 实例化问题\n    problem prob{quadratic_problem{}};\n\n    \u002F\u002F 3. 选择算法 (这里使用默认的 cmaes 或 de)\n    algorithm algo{de{}}; \n\n    \u002F\u002F 4. 创建种群并初始化\n    population pop{prob, 20}; \n\n    \u002F\u002F 5. 执行优化 (演化 100 代)\n    pop = algo.evolve(pop);\n\n    \u002F\u002F 6. 输出最佳结果\n    std::cout \u003C\u003C \"Best fitness: \" \u003C\u003C pop.champion_f()[0] \u003C\u003C std::endl;\n    std::cout \u003C\u003C \"Best vector: \" \u003C\u003C pop.champion_x()[0] \u003C\u003C std::endl;\n\n    return 0;\n}\n```\n\n### 编译示例代码\n假设上述代码保存为 `main.cpp`，且 pagmo2 已安装在系统路径中：\n\n```bash\ng++ -std=c++11 main.cpp -lpagmo -lboost_system -lboost_serialization -o my_optimizer\n.\u002Fmy_optimizer\n```","某航天工程团队正在利用多目标优化算法设计深空探测器的飞行轨道，需要在极短时间内从数亿种可能性中筛选出燃料最省且时间最短的最佳路径。\n\n### 没有 pagmo2 时\n- 团队只能串行运行不同的优化算法（如遗传算法、差分进化），每次测试需耗时数天，严重拖慢研发进度。\n- 难以同时协调全局搜索与局部精细调整，往往陷入局部最优解，导致轨道设计方案不够理想。\n- 自行编写并行代码不仅开发周期长，还极易出现线程同步错误，维护成本极高。\n- 缺乏统一的接口标准，更换算法或问题定义时需要重写大量底层代码，灵活性极差。\n\n### 使用 pagmo2 后\n- 借助异步广义岛屿模型，pagmo2 自动在集群上并行调度成千上万个优化任务，将计算时间从数天缩短至几小时。\n- 内置的多种算法可协同工作，既保证了全局搜索的广度，又通过局部搜索提升了精度，轻松找到更优轨道。\n- 开发者无需关心底层并行细节，只需通过统一 C++ 接口定义问题和算法，大幅降低编码难度和出错率。\n- 架构高度模块化，团队能像搭积木一样快速组合不同算法策略，灵活应对各种复杂的轨道约束条件。\n\npagmo2 通过高效的并行计算框架，将原本耗时漫长的轨道优化过程转变为即时可得的决策支持，极大提升了航天任务设计的效率与质量。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fesa_pagmo2_dac02e3f.png","esa","European Space Agency","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fesa_666aab8b.png","The European Space Agency (ESA) is Europe’s gateway to space. Its mission is to shape the development of Europe’s space capability.",null,"http:\u002F\u002Fwww.esa.int","https:\u002F\u002Fgithub.com\u002Fesa",[80,84],{"name":81,"color":82,"percentage":83},"C++","#f34b7d",99.9,{"name":85,"color":86,"percentage":87},"CMake","#DA3434",0.1,916,179,"2026-04-10T17:14:00","GPL-3.0",4,"未说明",{"notes":95,"python":96,"dependencies":97},"pagmo2 是一个用于大规模并行优化的 C++ 科学库。重要的注意事项是：其 Python 绑定 (pygmo) 已分离为一个独立的名为 pygmo2 的项目，不再包含在此仓库中。如需使用 Python 接口，请访问单独的 pygmo2 仓库。完整文档需查阅外部链接。","未说明 (注：Python 绑定已分离至 pygmo2 项目)",[98],"未说明 (核心为 C++ 库)",[14],[101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116],"optimization","optimization-algorithms","optimization-methods","optimization-tools","parallel-computing","parallel-processing","evolutionary-algorithms","multi-objective-optimization","stochastic-optimizers","genetic-algorithm","metaheuristics","evolutionary-strategy","artificial-intelligence","pagmo","python3","python","2026-03-27T02:49:30.150509","2026-04-11T21:48:08.837739",[120,125,130,135,140,144],{"id":121,"question_zh":122,"answer_zh":123,"source_url":124},29831,"如何在自定义 UDP（用户定义问题）中设置多目标优化？","在自定义 UDP 类中，你需要实现 `get_nobj()` 方法并返回目标函数的数量（例如返回 2 表示双目标）。同时，`fitness` 方法必须返回一个包含对应数量目标值的列表（例如 `[f1, f2]`）。如果没有定义 `get_nobj`，pygmo 默认会假设为单目标优化。你可以参考官方教程中的简单 UDP 示例，只需添加多目标相关的逻辑即可。","https:\u002F\u002Fgithub.com\u002Fesa\u002Fpagmo2\u002Fissues\u002F149",{"id":126,"question_zh":127,"answer_zh":128,"source_url":129},29832,"为什么在使用包含不可序列化对象（如 Pyomo 模型）的 UDP 时会报错 'Uncopyable field encountered'？","这是因为 pagmo\u002Fpygmo 在内部会对 UDP 对象进行深拷贝（deepcopy）以用于并行计算或岛屿模型，而某些第三方对象（如 Pyomo 模型）默认不支持深拷贝。解决方法包括：1. 避免在 UDP 类属性中直接存储不可序列化的对象，改为在 `fitness` 函数内部动态创建或加载；2. 尝试使用 `cloudpickle` 替代标准 `pickle`，但需注意如果对象本身完全不可拷贝，仍需重构代码逻辑；3. 将复杂对象的状态提取为可序列化的数据（如字典或数组），在需要时再重建对象。","https:\u002F\u002Fgithub.com\u002Fesa\u002Fpagmo2\u002Fissues\u002F152",{"id":131,"question_zh":132,"answer_zh":133,"source_url":134},29833,"PSO 算法的参数边界限制太严格（如惯性权重不能为负），能否修改或禁用这些限制？","Pagmo 对 PSO 参数（如惯性权重、eta 参数）设有严格的边界检查（例如惯性权重必须在 [0,1] 之间），这是基于已发表的同行评审研究设定的策略。目前官方不支持直接禁用这些检查。如果你确信某些超出边界的参数（如负值）在你的特定场景下有效，你可以：1. 提交 Pull Request (PR) 并提供相应的性能测试数据证明其有效性；2. 或者自行修改源码编译版本（需找到 `pso.hpp` 文件修改边界逻辑），但这不被官方推荐且可能失去稳定性保证。维护者强调只遵循经过验证的研究成果。","https:\u002F\u002Fgithub.com\u002Fesa\u002Fpagmo2\u002Fissues\u002F210",{"id":136,"question_zh":137,"answer_zh":138,"source_url":139},29834,"在使用 MHACO 算法进化群岛时遇到段错误（Segfault）怎么办？","该段错误通常是由于计算超体积（hypervolume）时输入的数据中包含 NaN（非数字）值导致的。解决方案是确保你的适应度函数不会产生 NaN 值。在新版本中，如果开启了验证模式（m_verify，Python 中默认开启），当检测到 NaN 时会抛出异常而不是崩溃，这有助于定位问题。请检查你的问题定义（UDP）逻辑，确保所有计算路径都能产生有效的数值。如果问题依旧，请升级到包含修复补丁（PR #383）的最新版本。","https:\u002F\u002Fgithub.com\u002Fesa\u002Fpagmo2\u002Fissues\u002F382",{"id":141,"question_zh":142,"answer_zh":143,"source_url":134},29835,"文档难以查找，如何快速访问完整的 API 手册和详细教程？","许多用户反馈在网站上难以找到完整文档，因为默认显示的是 \"Quickstart\"。请访问官网文档页面后，点击标有 \"ALL\" 的按钮（建议将其视为 \"Manual\" 或 \"完整文档\"），这将展开所有章节。此外，强烈建议直接访问 Python 详细教程页面：https:\u002F\u002Fesa.github.io\u002Fpagmo2\u002Fdocs\u002Fpython\u002Ftutorials\u002Fpython_tut.html，那里比快速入门指南包含了更丰富的示例和说明。",{"id":145,"question_zh":146,"answer_zh":147,"source_url":134},29836,"错误信息晦涩难懂，充斥着 C++ 回调堆栈，如何定位 Python 代码中的具体问题？","由于底层 C++ 库的回调机制，Python 端的错误信息有时不够直观。当遇到此类问题时：1. 仔细阅读错误信息中的 `what:` 部分，它通常描述了具体的逻辑错误（如参数范围违规）；2. 检查你的 `fitness` 函数返回值是否符合预期（类型、维度、是否包含 NaN\u002FInf）；3. 确保 UDP 中定义的边界、约束数量与 `fitness` 返回的实际数据一致；4. 如果是自定义算法或问题，尝试在单线程、小种群规模下复现问题，以便更容易捕捉异常。",[149,154,159,164,169,174,179,184,189,194,199,204,209,214,219,224,229,234,239,244],{"id":150,"version":151,"summary_zh":152,"released_at":153},206413,"v2.19.1","这是一个维护版本，包含多项修复。完整的变更日志一如既往地在此处提供：\n\nhttps:\u002F\u002Fesa.github.io\u002Fpagmo2\u002Fchangelog.html","2024-08-09T18:47:03",{"id":155,"version":156,"summary_zh":157,"released_at":158},206414,"v2.19.0","本次 pagmo 新版本发布了多项修复、新增了几项功能，并针对高度并行的工作负载进行了性能优化。\n\n完整的变更日志一如既往地在此处提供：\n\nhttps:\u002F\u002Fesa.github.io\u002Fpagmo2\u002Fchangelog.html","2023-01-21T08:46:55",{"id":160,"version":161,"summary_zh":162,"released_at":163},206415,"v2.18.0","完整更新日志：https:\u002F\u002Fesa.github.io\u002Fpagmo2\u002Fchangelog.html\n\n对非 x86 CPU 的支持\n---------\n\npagmo 2.18.0 新增了对非 x86 处理器的官方支持，具体包括 64 位 ARM 和 PowerPC 架构。在 Travis CI 和 CircleCI 的协助下，这些架构的自动化构建已集成到持续集成流水线中。\n\n序列化变更\n-----\n\n此版本对主要类的序列化进行了多项调整。尽管这些变更属于内部实现，不会影响公共 API，但会改变序列化存档的数据格式。因此，在 pagmo 2.18.0 中无法加载由早期版本 pagmo 生成的存档文件。\n\n构建系统修复与改进\n-----\n\npagmo 的构建系统现在会在 Linux 系统上遵循 `CMAKE_INSTALL_LIBDIR` 设置来确定库文件的安装路径。","2021-08-03T07:33:24",{"id":165,"version":166,"summary_zh":167,"released_at":168},206416,"v2.17.0","这是一个小版本更新，用于修复 pagmo 与最新 TBB 版本（即 oneTBB）的兼容性问题。\n\n完整的变更日志一如既往地在此处提供：\n\nhttps:\u002F\u002Fesa.github.io\u002Fpagmo2\u002Fchangelog.html","2021-03-05T12:55:38",{"id":170,"version":171,"summary_zh":172,"released_at":173},206417,"v2.16.1","这是一个次要版本，修复了近期用户报告的几个构建问题。由于这些修复，从源代码编译 pagmo 时，现在要求 CMake 版本不低于 3.8。\n\n此外，请注意，得益于 conda-forge 近期提供了 Ipopt 的 Windows 安装包，pagmo 的 Windows conda 包现已在启用 Ipopt 支持的情况下构建。\n\n与往常一样，完整的变更日志请参见以下链接：\n\nhttps:\u002F\u002Fesa.github.io\u002Fpagmo2\u002Fchangelog.html","2020-12-22T10:42:04",{"id":175,"version":176,"summary_zh":177,"released_at":178},206418,"v2.16.0","本次新版本主要聚焦于代码优化和缺陷修复。具体包括：\n\n- 修复了并行谱优化器（PSO）和遗传算法中的几个重要问题；\n- 向种群中添加个体的速度显著提升；\n- 解决了影响 pagmo 依赖库较新版本的各类构建问题。\n\n其他变更：\n\n- pagmo 现在要求使用支持 C++17 的编译器；\n- pagmo 库现在也可以作为静态库进行构建；\n- pagmo 现在可以在启用链接时优化的情况下进行构建。\n\n完整的变更日志一如既往地在此处提供：\n\nhttps:\u002F\u002Fesa.github.io\u002Fpagmo2\u002Fchangelog.html","2020-09-25T09:08:13",{"id":180,"version":181,"summary_zh":182,"released_at":183},206419,"v2.15.0","本次 pagmo 新版本对拓扑 API 进行了多项增强，并为所有类型擦除类增加了额外的运行时自省功能。\n\n此外，还修复了一个严重问题：在某些编译器与平台的组合下，`dynamic_cast` 无法跨由 `dlopen()` 加载的共享库使用。另一个重要的修复是解决了与最新版 CMake 一起编译时的问题。\n\n完整的变更日志照例在此处提供：\n\nhttps:\u002F\u002Fesa.github.io\u002Fpagmo2\u002Fchangelog.html","2020-04-02T14:19:28",{"id":185,"version":186,"summary_zh":187,"released_at":188},206420,"v2.14.0","本次 pagmo 新版本发布带来了项目内部的两项重要变更：\n\n- Python 绑定库（pygmo）已被拆分至一个独立的项目中（https:\u002F\u002Fgithub.com\u002Fesa\u002Fpygmo2）。尽管 pagmo 和 pygmo 早已在 pagmo 源码树中分别位于不同的目录，但它们曾被捆绑在同一代码仓库内，这给构建系统、打包流程以及新贡献者理解项目关系带来了诸多复杂性与困惑。如今的新架构更清晰地阐明了 pagmo 与 pygmo 之间的关系：pygmo 是一个依赖于 pagmo C++ 库的 Python 扩展模块。\n- 我们还借此次项目拆分之机，将 pygmo 的绑定从 Boost.Python 迁移到更为现代的 pybind11（https:\u002F\u002Fgithub.com\u002Fpybind\u002Fpybind11）。这一迁移预计将带来多方面的好处，包括编译时的 CPU 和内存占用降低、运行时性能提升、与 NumPy 更好的集成，以及对一个维护更为活跃的项目的依赖。\n\n迁移到 pybind11 对 pygmo 代码库进行了大规模重构，但我们相信这对 pygmo 用户的影响应较小。pygmo 的 API **并未** 发生变化，不过一些细节确实有所调整（例如，pybind11 在将 C++ 异常转换为 Python 异常时，有时会与 Boost.Python 略有不同）。我们已对本次 pygmo 版本进行了极为 thorough 的测试，但由于改动范围较大，仍有可能遗漏某些问题。如果您发现任何问题，请务必提交至我们的 bug 跟踪器：\n\nhttps:\u002F\u002Fgithub.com\u002Fesa\u002Fpygmo2\u002Fissues\n\n此外，本次发布还引入了几项新功能，并包含一如既往的修复与优化。完整的变更日志如下：\n\nhttps:\u002F\u002Fesa.github.io\u002Fpagmo2\u002Fchangelog.html\nhttps:\u002F\u002Fesa.github.io\u002Fpygmo2\u002Fchangelog.html","2020-03-04T19:57:39",{"id":190,"version":191,"summary_zh":192,"released_at":193},206421,"v2.13.0","在本次 pagmo 发布中，Python 端的批量适应度评估框架已经完成。这意味着现在即使对于用 Python 实现的用户自定义问题，也可以利用细粒度并行化（例如并行初始化种群\u002F岛屿\u002F群岛、并行化某些算法的内层循环等）。目前提供了两个符合 Python 风格的批量适应度评估器：一个基于 multiprocessing，另一个则使用 ipyparallel（从而可以在集群上进行并行的目标函数评估）。\n\n此外，本次发布还包含若干重要的错误修复，其中之一修复了超体积工具中因 NaN 值处理不当而导致的程序崩溃问题。\n\n**注意**：正如之前预告的，此版本的 pygmo 已经不再支持 Python 2.7。pygmo 现在至少需要 Python 3.4。\n\n完整的变更日志一如既往地在此处提供：\n\nhttps:\u002F\u002Fesa.github.io\u002Fpagmo2\u002Fchangelog.html","2020-01-10T08:30:14",{"id":195,"version":196,"summary_zh":197,"released_at":198},206422,"v2.12.0","本次 pagmo\u002Fpygmo 新版本引入了 2 种全新算法（NSPSO 和 MHACO），并为 GPSO 增加了一项重要功能：现在它可以使用批处理适应度评估方案。\n\n在 Python 方面，``ipyparallel_island`` 的 API 发生了一些破坏性变更，这些变更应能解决我们在 CI 配置中间歇性遇到的各类问题。\n\n此外，本次发布还包括常规的构建系统和文档改进与维护，以及一系列小修复。\n\n在此向广大用户公告：这将是 pygmo 官方支持 Python 2.7 的**最后**一个版本。正如大家所知，Python 2.7 即将进入生命周期的尾声（https:\u002F\u002Fpythonclock.org\u002F）。\n\n我们目前不打算主动移除 pygmo 中现有的 Python 2 支持代码（至少短期内不会），但今后将不再保证 pygmo 能够在 Python 2 上正常运行，新代码将仅针对 Python 3 开发。同时，我们将停止为 Python 2 构建二进制包，无论是通过 pip 还是 conda（请注意，conda-forge 也将很快取消对 Python 2 的支持）。\n\n如果 pygmo 社区中有开发者愿意接手维护 Python 2 的支持工作，我们非常欢迎就此展开讨论，请前往我们的 Gitter 频道：https:\u002F\u002Fgitter.im\u002Fpagmo2\u002FLobby。\n\n完整的变更日志一如既往地在此提供：\n\nhttps:\u002F\u002Fesa.github.io\u002Fpagmo2\u002Fchangelog.html","2019-12-18T12:55:54",{"id":200,"version":201,"summary_zh":202,"released_at":203},206423,"v2.11.4","This point release contains a couple of important bugfixes:\r\n\r\n- various sorting\u002Franking utilities should now be more robust if the input data contains NaNs,\r\n- a critical bug in the generational PSO algorithm was discovered and fixed by @Sceki.\r\n\r\nAs usual, the full changelog is available here:\r\n\r\nhttps:\u002F\u002Fesa.github.io\u002Fpagmo2\u002Fchangelog.html","2019-09-29T18:07:04",{"id":205,"version":206,"summary_zh":207,"released_at":208},206424,"v2.11.3","This new release fixes a few issues involving archipelagos containing multi-objective optimisation problems. It also features improved install docs and various internal fixes\u002Fimprovements for the Python bindings.\r\n\r\nThe full changelog, as usual, is available here:\r\n\r\nhttps:\u002F\u002Fesa.github.io\u002Fpagmo2\u002Fchangelog.html","2019-09-09T10:37:55",{"id":210,"version":211,"summary_zh":212,"released_at":213},206425,"v2.11.2","Another quick release fixing a couple of issues:\r\n\r\n- the MinGW pip builds have been fixed,\r\n- a small inconsistency in the exposition of the NSGA2 algorithm was also corrected.\r\n\r\nThe full changelog is available at the usual place:\r\n\r\nhttps:\u002F\u002Fesa.github.io\u002Fpagmo2\u002Fchangelog.html","2019-08-21T09:50:49",{"id":215,"version":216,"summary_zh":217,"released_at":218},206426,"v2.11.1","This is a quick bugfix release that corrects an issue in the migration framework when multi-objective problems are involved. A few Python docstrings were fixed as well.\r\n\r\nAs usual, the full changelog is available here:\r\n\r\nhttps:\u002F\u002Fesa.github.io\u002Fpagmo2\u002Fchangelog.html","2019-08-09T11:32:49",{"id":220,"version":221,"summary_zh":222,"released_at":223},206427,"v2.11","This is the largest pagmo2 release so far, coming after 7 months of hard work by the development team.\r\n\r\nTo start off, we have new algorithms contributed by @Sceki and @michiboo, the Extended Ant Colony Optimization (gaco) and the Grey Wolf Optimizer (gwo). @Sceki is our ESA SOCIS (summer of code in space) student and he's working hard on various new algorithmic developments. You'll hear more from him!\r\n\r\nSecondly, two large developer-oriented improvements:\r\n\r\n* pagmo is now a compiled library, instead of a header-only library. This results in much shorter compilation times for typical testing\u002Fdevelopment workflows, and it makes the ``pagmo.hpp`` header usable again;\r\n* we switched from Cereal to Boost for the serialization backend. Cereal's development unfortunately seems to have stalled. Additionally, because the library is header-only, it was causing noticeable compilation slowdowns, and it was not playing well with our associated packages API, requiring various hacks that now have been removed.\r\n\r\nThen, we have the first version of two new features that have been often requested by the users:\r\n\r\n* a *batch fitness evaluation framework* (bfe), which, among others, allows to parallelise the initialisation of populations, islands and archipelagos. The bfe also allows to accelerate via GPU\u002FSIMD vectorisation the  simultaneous computation of the objective function for many decision vectors in batch mode, which can be exploited by population-based algorithms (currently, our implementations of ACO and NSGA2 take advantage of this feature, more algorithms will in the future);\r\n* the migration feature has finally been implemented! This is an improved version of the migration framework which was available in pagmo1, and it allows to implement both topologies and replacement\u002Fselection policies directly from Python (whereas in pagmo1 the migration classes could only be coded in C++).\r\n\r\nAlthough these two features are fully functional, there still remains work to be done (e.g., we need to port most of the actual topologies from pagmo1, implement Python-oriented bfes, write proper introductory tutorials\u002Fdocs, etc.). We expect in the next few weeks to release regularly and often new pagmo versions which will gradually fill in the missing bits.\r\n\r\npagmo 2.12 also features a new problem test suite (WFG) and the usual host of fixes and docs improvements.\r\n\r\nAs usual, the full changelog is available here:\r\n\r\nhttps:\u002F\u002Fesa.github.io\u002Fpagmo2\u002Fchangelog.html","2019-08-07T21:26:14",{"id":225,"version":226,"summary_zh":227,"released_at":228},206428,"v2.10","This release includes a few new features - mostly quality-of-life improvements - and build system fixes.\r\n\r\nAs usual, the full changelog is available at the following page:\r\n\r\nhttps:\u002F\u002Fesa.github.io\u002Fpagmo2\u002Fchangelog.html","2019-01-01T23:35:55",{"id":230,"version":231,"summary_zh":232,"released_at":233},206429,"v2.9","This release features two new main features: the python ``decorator_problem`` problem, which allows to customise at runtime the behaviour of an existing problem (e.g., for adding logging), and the ``fork_island`` island, which enables in C++ the parallelisation of thread-unsafe problems and\u002For algorithms (such as IPOPT).\r\n\r\nThere is, as usual, an assortment of smaller new features, bug fixes, and documentation and build system improvements. The full changelog is available, as usual, here:\r\n\r\nhttps:\u002F\u002Fesa.github.io\u002Fpagmo2\u002Fchangelog.html.","2018-08-31T06:40:13",{"id":235,"version":236,"summary_zh":237,"released_at":238},206430,"v2.8","This release features various bugfixes and a few enhancements. All users are encouraged to upgrade.\r\n\r\nThe full changelog is available, as usual, here: https:\u002F\u002Fesa.github.io\u002Fpagmo2\u002Fchangelog.html.","2018-07-12T20:00:45",{"id":240,"version":241,"summary_zh":242,"released_at":243},206431,"v2.7","This release adds 3 new algorithms:\r\n\r\n- particle swarm optimization generational (GPSO),\r\n- exponential natural evolution strategies (xNES),\r\n- improved harmony search (IHS).\r\n\r\nThe full changelog is available, as usual, here: https:\u002F\u002Fesa.github.io\u002Fpagmo2\u002Fchangelog.html","2018-04-13T08:48:41",{"id":245,"version":246,"summary_zh":247,"released_at":248},206432,"v2.6","This release fixes a bug in the NSGA2 code (see #139).\r\n\r\nThe full changelog is available here:\r\n\r\nhttps:\u002F\u002Fesa.github.io\u002Fpagmo2\u002Fchangelog.html.\r\n","2017-11-17T15:43:26"]