Project Icon

Online-3D-BPP-DRL

深度强化学习解决在线三维装箱问题的高效算法

Online-3D-BPP-DRL项目开发了一种基于约束深度强化学习的在线三维装箱算法。该算法结合深度神经网络和蒙特卡洛树搜索,在优化装箱策略的同时考虑了稳定性约束。算法不仅适用于随机序列,还能解决实际场景中的三维装箱问题。项目提供完整代码实现,包含训练、测试和用户研究功能,为复杂三维装箱问题提供了创新解决方案。

基于约束深度强化学习的在线3D装箱问题

示意图

在线3D装箱问题深度强化学习

项目视频链接:YouTube哔哩哔哩

本仓库包含论文《基于约束深度强化学习的在线3D装箱问题》的实现。

安装

要使该项目正常运行,你需要做两件事:
* 安装'requirements.py'中的Python包(通过'pip install -r requirements.txt')。
*(此代码适用于Python 3.7)

运行

我们在'main.py'中提供了统一的接口。以下是运行我们项目的示例。

训练:

示例:在随机生成的序列上训练新模型。
你可以运行'python main.py --mode train --use-cuda --item-seq rs'。
大约需要一天时间来获得性能令人满意的模型。

你可以运行'python main.py --help'来获取常用参数的一些信息。
我们的项目在'arguments.py'中还有许多其他参数,它们都有默认值。你可以根据需要进行更改。

测试:

示例:
如果你想测试在CUT-2算法生成的序列上训练的模型(详情请参阅我们的文章)。
你可以运行'python main.py --mode test --load-model --use-cuda --data-name cut_2.pt --load-name default_cut_2.pt'。

如果你想在预览设置中查看模型的工作情况,
你可以运行'python main.py --mode test --load-model --use-cuda --data-name cut_2.pt --load-name default_cut_2.pt --preview x',x是预览数量。

我们还提供了用户研究应用、多箱算法和用于比较的MCTS的代码,
请查看'user_study/'、'multi_bin/'、'MCTS/'以了解详情。

提示

* 不同的输入状态大小需要不同类型的CNN进行编码,你可以在./acktr/model.py中调整网络架构以满足你的需求。

* 预测掩码主要用于减少MCTS的计算成本。如果你只需要BPP-1模型,可以在训练过程中用真实掩码替换预测掩码,这样训练会更容易。

* 如果放宽稳定性规则的约束,你可能会得到更好的结果,但在实践中可能会有危险。

* 我们实现的计算开销对网络层的长度敏感,你应该避免在网络架构中出现大型网络层。

* 装箱问题的难度与其物品集有关。训练模型的性能也会受到影响。

声明

赵航和佘琪瑾是本仓库的共同作者。

部分代码修改自开源项目'pytorch-a2c-ppo-acktr-gail'(https://github.com/ikostrikov/pytorch-a2c-ppo-acktr-gail)。

许可

请注意,此源代码仅供学术使用。未经作者授权,请勿用于商业目的。该方法正在申请专利保护。如需商业使用,请联系徐凯(kevin.kai.xu@gmail.com)。

引用

如果你感兴趣,请引用以下论文:

@inproceedings{DBLP:conf/aaai/ZhaoS0Y021,
  author    = {Hang Zhao and
               Qijin She and
               Chenyang Zhu and
               Yin Yang and
               Kai Xu},
  title     = {Online 3D Bin Packing with Constrained Deep Reinforcement Learning},
  booktitle = {Thirty-Fifth {AAAI} Conference on Artificial Intelligence, {AAAI}
               2021, Thirty-Third Conference on Innovative Applications of Artificial
               Intelligence, {IAAI} 2021, The Eleventh Symposium on Educational Advances
               in Artificial Intelligence, {EAAI} 2021, Virtual Event, February 2-9,
               2021},
  pages     = {741--749},
  publisher = {{AAAI} Press},
  year      = {2021},
  url       = {https://ojs.aaai.org/index.php/AAAI/article/view/16155},
  timestamp = {Wed, 02 Jun 2021 18:09:11 +0200},
  biburl    = {https://dblp.org/rec/conf/aaai/ZhaoS0Y021.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}
项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号