当前位置: 首页 > article >正文

基于强化学习的多码头集卡路径优化

基于强化学习的多码头集卡路径优化

  • Problem Description
  • Proposed method
    • 状态设计
    • 动作设计
    • 奖励函数
    • 深度Q网络
  • Experimental Results
  • Multi-Agent
    • Agent1 设计
    • Agent2 设计
      • State Representation
      • Actions
      • Rewards
  • 结论
  • 参考文献

Problem Description

问题定义:

  • 问题类型: 同型车辆取送货问题(Homogeneous Vehicle Pickup and Delivery Problem, ITTRP)
  • 考虑因素:
    • 集卡工作时间的最大可用性
    • 延迟订单的罚款
    • 地点的时间窗
    • 运输订单的截止日期

实验设置:

  • 不包括外集卡: 提出的ITTRP版本不考虑外部集卡。
  • 实验范围: 釜山新港(Busan New Port,BNP),拥有五个集装箱码头(PNIT、PNC、HJNC、HPNT、BNCT),决策期:24小时,即1440分钟

符号定义:

  • 节点集合: L L L
  • 集卡集合: T T T
  • 客户集合: C C C
  • 客户k的订单集合: R k R^k Rk,其中 k k k 是客户的索引。
  • 所有订单集合: O = ∪ k ∈ C R k \displaystyle O = \cup_{k \in C} R^k O=kCRk
  • 订单的起始码头: o ( j i k ) ∈ L o(j_i^k) \in L o(jik)L
  • 订单的目标码头: d ( j i k ) ∈ L d(j_i^k) \in L d(jik)L
  • 起始码头集合: L s L^s Ls
  • 目标码头集合: L d L^d Ld
  • 服务时间: 取货点 S j i k , o ( j i k ) S_{j_i^k,o(j_i^k)} Sjik,o(jik) 和送货点 S j i k , d ( j i k ) S_{j_i^k, d(j_i^k)} Sjik,d(jik)的服务时间。
  • 订单罚款: p n j i k \displaystyle pn_{j^k_i} pnjik
  • 截止日期: d d j i k dd_{j^k_i} ddjik
  • 集卡初始位置: i p t ip_t ipt
  • 集卡最大工作时间: m x t mx_t mxt
  • 集卡使用成本: c s t cs_t cst
  • 集卡小时成本: h r t hr_t hrt

目标函数:

  • 最小化成本: 使用集卡的成本 min ⁡ ( ∑ t ∈ T x t c s t + ∑ t ∈ T t m t h r t + ∑ o ∈ O y o p n o ) \displaystyle \min \left( \sum_{t\in T} x_t cs_t + \sum_{t\in T} tm_t hr_t + \sum_{o \in O} y_o pn_o\right) min(tTxtcst+tTtmthrt+oOyopno)
  • 成本组成部分:
    • 集卡使用成本: ∑ t ∈ T x t c s t \displaystyle \sum_{t \in T} x_t cs_t tTxtcst
    • 集卡工作时间成本: ∑ t ∈ T t m t h r t \displaystyle \sum_{t \in T} tm_t hr_t tTtmthrt
    • 订单延迟罚款: ∑ o ∈ O y o p n o \displaystyle \sum_{o \in O} y_o pn_o oOyopno

变量定义:

  • 集卡是否被雇佣: x t = 1 x_t = 1 xt=1 如果集卡 t t t 被雇佣,否则为 0 0

http://www.kler.cn/a/355320.html

相关文章:

  • YOLOv9-0.1部分代码阅读笔记-lion.py
  • 数据结构之线性表之顺序表
  • B树的实现
  • 《Cocos Creator游戏实战》非固定摇杆实现原理
  • 一文掌握如何编写可重复执行的SQL
  • Node Version Manager (nvm) -管理不同版本的 Node.js
  • SQL进阶技巧:如何删除第N次连续出现NULL值所存在的行?
  • linux git submodule 需要输入密码的问题
  • 计算PSNR, SSIM, VAMF工具
  • 网络攻击的新趋势:勒索软件与零日漏洞
  • 单例模式(自动加载)
  • 手机在网状态接口的使用和注意事项
  • Android常用界面控件——ImageView
  • 新员工入职流程指南_完整入职流程解析
  • 文心智能体:我的旅游小助手
  • 代理IP在爬虫中的作用是什么?
  • 机器学习导论
  • ORACLE 批量插入更新删除sql
  • FreeRTOS - 任务管理
  • 解决 burp 抓取 无用包的 困扰
  • 设计模式之委托模式
  • 提高EDM广告发送率和到达率_实用技巧揭秘
  • GIT batch的支持中文的方法和系统建议
  • react项目,通过自定义 separator 属性来修改日期选择器中间的分隔符:
  • I.MX6U 的 EPIT 定时器详解
  • Scrapy的Lambda函数用法:简化数据提取与处理的技巧