maro
MARO(Multi-Agent Resource Optimization)是一个专为现实世界资源优化问题打造的强化学习服务平台。它旨在解决物流、云计算等工业场景中复杂的资源调度难题,例如集装箱库存管理、共享单车重新分配以及虚拟机动态调度等。在这些场景中,传统算法往往难以应对大规模、动态变化的环境,而 MARO 通过多智能体强化学习技术,让多个决策主体协同工作,从而找到更高效的资源分配策略。
这款平台非常适合人工智能研究人员、算法工程师以及需要优化资源调度系统的开发者使用。无论是希望验证新算法的学术界人士,还是致力于提升运营效率的企业技术团队,都能从中受益。MARO 的独特亮点在于其“强化学习即服务”(RaaS)的设计理念,提供了标准化的场景接口和完整的训练评估流程,让用户无需从零构建仿真环境即可快速上手。此外,它还支持 Docker 部署和多种主流 Python 版本,具备良好的可扩展性与易用性,帮助用户将前沿的 AI 理论迅速转化为解决实际问题的生产力。
使用场景
某大型物流企业在全球港口网络中面临集装箱动态调配难题,需实时决定数千个集装箱在不同港口间的调运以平衡供需。
没有 maro 时
- 依赖人工经验或静态规则制定调运计划,无法应对突发的港口拥堵或需求波动,导致局部严重缺箱或空箱积压。
- 传统优化算法难以处理海量状态空间,计算耗时过长,无法在分钟级内生成次日的全局最优调度方案。
- 缺乏统一的多智能体仿真环境,难以评估不同调度策略在复杂连锁反应下的长期收益,试错成本极高。
- 各港口数据孤岛严重,调度系统无法协同学习,往往陷入“头痛医头”的局部最优陷阱,整体运营成本高企。
使用 maro 后
- 基于强化学习构建多智能体协作模型,自动感知全局供需变化,动态生成抗干扰能力极强的实时调运策略。
- 利用 MARO 内置的高效仿真引擎,将原本数小时的规划计算压缩至秒级,迅速输出覆盖全网络的精准调度指令。
- 在安全的沙盒环境中大规模预训练智能体,提前模拟极端天气或罢工等场景,显著降低实际部署后的决策风险。
- 打通各港口数据壁垒,通过多智能体协同进化实现全局资源最优配置,大幅降低空箱调运率和闲置等待时间。
MARO 将复杂的资源调度转化为可落地的强化学习服务,帮助物流企业从“被动响应”转型为“主动预测”,显著降本增效。
运行环境要求
- Linux
- macOS
- Windows
未说明
未说明

快速开始
多智能体资源优化(MARO)平台是面向现实世界资源优化的强化学习即服务(RaaS)实例。它可以应用于许多重要的工业领域,例如物流中的集装箱库存管理、交通领域的共享单车调度、数据中心的虚拟机调度以及金融领域的资产管理等。除了强化学习之外,它还支持其他规划/决策机制,如运筹学。
MARO的主要组件:
- 模拟工具包:提供一些预定义场景,并包含用于构建新场景的可重用模块。
- 强化学习工具包:为强化学习提供全栈抽象,包括智能体管理器、智能体、强化学习算法、学习者、执行者以及各种策略调整器。
- 分布式工具包:提供分布式通信组件、用户自定义函数接口以实现消息自动处理、集群部署和作业编排等功能。
目录
| 文件/文件夹 | 描述 |
|---|---|
maro |
MARO源代码。 |
docs |
MARO文档,托管在readthedocs上。 |
examples |
MARO示例展示。 |
notebooks |
MARO快速入门笔记本。 |
尝试MARO游乐场,快速体验一下吧。
从PyPI安装MARO
注:CLI命令(包括可视化工具)并未包含在pymaro软件包中。若需启用这些功能,需从源码安装。
Mac OS / Linux
pip install pymaroWindows
# 如果尚未安装,请先安装torch。 pip install torch===1.6.0 torchvision===0.7.0 -f https://download.pytorch.org/whl/torch_stable.html pip install pymaro
从源代码安装 MARO
注:如果您想使用 CLI 命令(包括可视化工具),请从源代码安装。
先决条件
- C++ 编译器
- Linux 或 Mac OS X:
gcc - Windows:适用于 Visual Studio 2017 的构建工具
- Linux 或 Mac OS X:
- C++ 编译器
启用虚拟环境
Mac OS / Linux
# 如果您的环境不干净,请先创建一个虚拟环境。 python -m venv maro_venv source ./maro_venv/bin/activateWindows
# 如果您的环境不干净,请先创建一个虚拟环境。 python -m venv maro_venv # 在 PowerShell 中可能会遇到 SecurityError,您可能需要执行以下命令。 Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted # 激活虚拟环境。 .\maro_venv\Scripts\activate
安装 MARO
# 使用 Git 克隆整个源代码。 git clone https://github.com/microsoft/maro.gitMac OS / Linux
# 从源代码安装 MARO。 bash scripts/install_maro.sh; pip install -r ./requirements.dev.txt;Windows
# 从源代码安装 MARO。 .\scripts\install_maro.bat; pip install -r ./requirements.dev.txt;
注:如果找不到您的包,请记得设置 PYTHONPATH
- Mac OS / Linux
export PYTHONPATH=MARO路径- Windows
$Env:PYTHONPATH=MARO路径
快速示例
from maro.simulator import Env
env = Env(scenario="cim", topology="toy.5p_ssddd_l0.0", start_tick=0, durations=100)
metrics, decision_event, is_done = env.step(None)
while not is_done:
metrics, decision_event, is_done = env.step(None)
print(f"environment metrics: {env.metrics}")
环境可视化
# 在初始化环境实例时启用环境转储功能
env = Env(scenario="cim",
topology="toy.5p_ssddd_l0.0",
start_tick=0,
durations=100,
options={"enable-dump-snapshot": "./dump_data"})
# 使用转储数据检查环境
maro inspector dashboard --source_path ./dump_data/您的快照转储文件夹
案例展示
案例 I - 集装箱库存管理

案例 II - Citi Bike

运行 Playground
从 Docker Hub 拉取镜像
# 从 Docker Hub 拉取镜像 docker pull maro2020/playground # 运行 Playground 容器。 # Redis commander(Redis 的 GUI)-> http://127.0.0.1:40009 # 带有 MARO 的 Jupyter Lab -> http://127.0.0.1:40010 docker run -p 40009:40009 -p 40010:40010 maro2020/playground从源代码构建
Mac OS / Linux
# 构建 Playground 镜像。 bash ./scripts/build_playground.sh # 运行 Playground 容器。 # Redis commander(Redis 的 GUI)-> http://127.0.0.1:40009 # 带有 MARO 的 Jupyter Lab -> http://127.0.0.1:40010 docker run -p 40009:40009 -p 40010:40010 maro2020/playgroundWindows
# 构建 Playground 镜像。 .\scripts\build_playground.bat # 运行 Playground 容器。 # Redis commander(Redis 的 GUI)-> http://127.0.0.1:40009 # 带有 MARO 的 Jupyter Lab -> http://127.0.0.1:40010 docker run -p 40009:40009 -p 40010:40010 maro2020/playground
贡献
本项目欢迎贡献和建议。大多数贡献都需要您同意贡献者许可协议 (CLA),声明您有权并确实授予我们使用您贡献的权利。有关详细信息,请访问 https://cla.opensource.microsoft.com。
当您提交拉取请求时,CLA 机器人会自动确定您是否需要提供 CLA,并相应地标记 PR(例如状态检查、评论)。只需按照机器人提供的指示操作即可。对于使用我们 CLA 的所有仓库,您只需执行一次此操作。
该项目已采用 微软开源行为准则。 更多信息请参阅 行为准则常见问题解答 或发送电子邮件至 opencode@microsoft.com 以获取更多问题或意见。
相关论文
集装箱库存管理

Wenlei Shi, Xinran Wei, Jia Zhang, Xiaoyuan Ni, Arthur Jiang, Jiang Bian, Tie-Yan Liu. “具有预训练异构观测表示的协作策略学习”。AAMAS 2021
Xihan Li, Jia Zhang, Jiang Bian, Yunhai Tong, Tie-Yan Liu. “用于复杂物流网络中资源平衡的协作式多智能体强化学习框架”。AAMAS 2019
相关新闻
引用我们
许可证
版权所有 © 微软公司。保留所有权利。
根据 MIT 许可证授权。
版本历史
maro-0.3.2a42023/10/27maro-0.3.2a32023/05/15maro-0.3.2a12023/03/30maro-0.3.1a22023/03/15maro-0.3.1a12022/12/27maro-0.3.0a12022/06/14maro-0.2.4a12021/09/27maro-0.2.3a42021/08/26maro-0.2.3a32021/08/19maro-0.2.3a22021/07/13maro-0.2.3a12021/07/09maro-0.2.2a32021/05/31maro-0.2.2a22021/05/14maro-0.2.2a12021/04/15maro-0.2.1a12021/03/22maro-0.2.0a12021/01/04maro-0.1.2a22020/11/05maro-0.1.1a112020/10/13maro-0.1.1a102020/10/08maro-0.1.1a92020/09/30常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
gemini-cli
gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器
