ICDE 2024最新论文分享|BEEP:容量约束下能够对抗异常干扰的航运动态定价系统

论文简介

本推文详细介绍了上海交通大学高晓沨教授和陈贵海教授团队发表在顶级学术会议ICDE 2024上发表的最新论文《Corruption Robust Dynamic Pricing in Liner Shipping under Capacity Constraint》,该论文的学生作者为胡永祎、李雪嫣、魏熙锴,合作者为山东大学时阳光教授,通讯作者为高晓沨教授。

本文聚焦于航运业中的集装箱定价问题,旨在通过设计动态定价策略来最大化收益。通过对中国远洋运输公司(COSCO)的业务进行深入研究,本文总结了两大关键要素:(1) 每种类型的集装箱在班轮上的容量有限,并且航运公司会采取超售策略;(2) 销售量偶尔会因罕见的不可控因素(如COVID-19)而出现剧烈波动。基于这两点以及班轮运输的周期性特点,本文将动态定价问题建模为一个结合容量约束和对抗性干扰的MDP模型,称为C3-MDP

为了在C3-MDP模型中最大化累积收益,本文提出了一种基于奖励探索的规划求解框架BEEP,该框架能够直接适应线性规划算法,形成BEEP-LP算法。此外,本文还提供了详细的遗憾分析,表明BEEP-LP的遗憾随着售卖周期的增加呈次线性增长。针对BEEP-LP的大规模状态-动作空间问题,本文结合深度强化学习技术,提出了相应的近似算法BEEP-DQN,以在运行时间和性能之间取得更好的平衡。基于实际集装箱销售数据的大量实验,验证了C3-MDP模型的合理性以及BEEP框架的有效性。

本推文由胡永祎撰写,审校为高晓沨老师。

论文链接:https://ieeexplore.ieee.org/abstract/document/10598030

一、会议介绍

国际数据工程大会(International Conference on Data Engineering,ICDE)由IEEE主办,是数据挖掘领域的顶级国际学术会议之一,并且被中国计算机学会(CCF)推荐为A类会议。该会议每年举行一次,涵盖数据管理、数据库系统、分布式系统、大数据处理、数据挖掘、数据分析、数据隐私与安全等相关主题。

二、研究背景及主要贡献

由于航运业具备成本低、运输量大的优势,当前全球贸易中超过80%的货物依赖于班轮运输。然而,如何设计一个适用于航运产业的动态定价系统以最大化整体收益,仍然是一个亟待解决的问题。

本文基于班轮集装箱运输的实际场景,得出了一些关键结论:(1) 班轮使用的集装箱已实现国际标准化,最常见的类型为20英尺(1 TEU)和40英尺(2 TEU)集装箱。(2) 每艘货船在出发前,航运公司会固定销售周期,并在此期间为不同类型的集装箱动态定价,以最大化收益。(3) 航运公司通常会采用超售策略,以吸引潜在的高价值客户,但必须谨慎管理,以避免因容量不足产生订单违约,从而损害公司的声誉。(4) 航运公司的销售业绩偶尔会受到罕见的不可控因素(如COVID-19)的影响。

现有的一些强化学习定价模型不能直接应用于这样的班轮定价场景。具体来说,它们要么忽视了容量限制建模,要么没有考虑到罕见的分布外市场波动的影响。最常见的容量建模做法是将最大容量设置为停止标志,即当集装箱售罄时立即结束销售。然而,这种做法的主要问题在于,模型忽略了班轮公司在现实情况下允许的少量超售,导致丢失估值更高的后期客户,影响了整体销售业绩。同时,其缺乏对罕见且不可预测的因素(本文称为对抗性破坏)的考量。因此,模型必须提高探索能力,以确保能够应对这些突发状况。

图1 基于COSCO公司真实数据分析,2020年4月14日由于COVID19集装箱销售量出现异常离群点

本文主要贡献包括:

(1)问题建模:本文是第一篇将航运定价问题建模到在线强化学习框架 C3-MDP 中的工作,该框架结合了容量约束和对抗性干扰。

(2)算法框架:本文提出了一种基于奖励机制的新颖框架 BEEP,该机制鼓励模型探索更多未知的状态-动作对,并可以有效处理超售问题。

(3)理论证明:详细的理论证明表明算法 BEEP-LP 的遗憾值随着周期数呈现次线性增长。本文进一步分析了算法的时间复杂度,以阐明其计算效率。

(4)实验评估:本文针对大型航运公司的真实集装箱销售数据进行了实验验证,并证明了 BEEP 的表现优于现有基线方法。

三、方法

(1)C3-MDP模型

本文将动态定价问题建模为在线强化学习模型,提出了容量约束下的对抗性破坏马尔可夫决策过程(Capacity Constrained Markov Decision Process under Corruptions, C3-MDP)。其对MDP进行了以下调整:

首先,新增参数 K 和 H 分别表示训练中的周期数和步数,从而将周期性设定融入模型,即每个销售周期结束后,定价系统将返回初始状态。

其次,本文定义了一个常量向量 ξ 以表示各种集装箱类型的最大容量。同时本文在状态-动作空间内定义了资源消耗函数 c(s,a),用于表示每一步进行调价后产生的销售量。

此外,本文还引入了参数\widetilde{q}来表示可能受到对抗性破坏影响的最大周期数,从而为系统抵御对抗性攻击的能力设定了阈值。

在C3-MDP中,目标函数旨在满足售卖限制的同时最大化累计收益,其被定义为:

与此同时,为了衡量提出算法与最佳策略之间的差距,本文还根据最大化收益和满足容量限制两个目标分别定义了两个遗憾函数:

另外,本文的一大亮点是给出了完整的理论分析。本文详细证明了在存在对抗性破坏的场景下,REVREG 和 INVREG 两个遗憾函数仍然在累积贝尔曼误差约束内,进而证明模型关于售卖周期保留次线性遗憾。

2BEEP算法框架

针对C3-MDP模型,本文设计了基于奖励探索的周期性规划求解框架 (Bonus-Exploration based Episodic Programming, BEEP)。这是因为在面对容量限制和对抗性破坏时,传统强化学习智能体往往会由于担心超出容量限制而采取过于保守的策略,并可能被分布外数据误导,从而做出次优决策。为解决这一问题,BEEP融合了奖励机制,使智能体在探索访问频率较低的状态-动作对时,能够消耗更少的资源并获得更多奖励。一方面,这允许模型更有效地探索超售行为;另一方面,强化学习智能体能够获得更多真实样本,从而更准确地估计环境参数。奖励函数如下所示:

BEEP模型能够与线性规划求解器兼容,因此本文验证了可以通过BEEP-LP 的线性规划算法来寻找最优解。然而,由于航运定价场景涉及大量的状态-动作空间,BEEP-LP 给计算能力带来挑战。因此,为了平衡计算效率和性能,本文使用拉格朗日松弛将深度强化学习集成到 BEEP 框架中,形成了 BEEP-DQN 近似算法。

算法1 基于C3-MDP的BEEP-DQN算法

模型概览:C3-MDP, BEEP和BEEP-DQN

四、实验及结果

首先,本文通过消融实验证明了容量限制和对抗干扰两个模块的有效性。

1)BEEP-DQN w/o CC (容量限制): 此基线保持奖励函数不变,使得模型在达到容量上限时即停止售卖。

2)BEEP-DQN w/o AC (对抗干扰):此基线忽略模型中的奖励机制,不鼓励模型探索分布外数据点。

图3 消融实验,纵轴为平均收益,横轴为不同对抗性干扰最大周期参数设置

此外,本文还通过Prophet 动态规划算法获得最优策略,并据此证明了BEEP-DQN的遗憾是关于周期呈次线性的

图4 BEEP-DQN and Q-learning两个算法,当对抗性干扰最大周期为10时,在YIK-QZH 数据集上的遗憾

最后,本文在真实数据集上测试了BEEP-DQN的有效性,证明在不同对抗性破坏最大周期数设置下,模型效果都优于其他算法

预训练数据集的统计信息

五、总结与展望

针对航运业集装箱定价的两个难点:(1)集装箱库存有限的同时公司会采取超售策略。(2)定价收入会受到罕见的外部因素的影响,从而出现离群值。本文提出了C3-MDP模型,该模型同时考虑了容量限制和对抗性干扰。为了重新平衡探索与利用的关系,本文引入了基于奖励机制的BEEP算法框架。同时,本文详细证明了BEEP-LP 线性规划算法能够保证亚线性遗憾。此外,为了在庞大的状态-动作空间上加速算法,本文结合深度强化学习技术,提出了 BEEP-DQN近似算法,并在真实数据集上验证了其有效性。本论文的研究对深度强化学习的应用和定价领域发展有着重要意义。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/444583.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Midjourney零基础学习

Midjourney学习笔记TOP04 Midjourney的各种参数设置 Midjourney的用户操作界面没有醒目的工具栏、属性栏,所有的操作都是通过调用各种指令和参数进行的。 【MJ Version】 Midjourney在2023年3月份就已经更新到了V5版本,V5版本除了画质有所提升外&#…

MacOS 同时配置github、gitee和gitlab密钥

MacOS 同时配置github、gitee和gitlab密钥 1 在终端中新建 ~/.ssh目录 1.1 生成GitHub、Gitee和Gitlab的SSH密钥对 ssh-keygen -t ed25519 -C "xxxxxxxxxxx.com" -f ~/.ssh/id_ed25519_gitee ssh-keygen -t ed25519 -C "xxxxxxxxxxx.com" -f ~/.ssh/id_…

TikTok代理IP全面使用指南

对于那些希望通过社交媒体打造个人品牌的人来说,TikTok是现在热门的平台,他的流量与曝光不可小觑,相信很多跨境营销会选择他进行多账号营销。问题是,TikTok多账号很容易遇到封禁问题,那么如何解决? 一、什么…

无人机集群路径规划:5种优化算法(SFOA、APO、GOOSE、CO、PIO)求解无人机集群路径规划,提供MATLAB代码

一、单个无人机路径规划模型介绍 无人机三维路径规划是指在三维空间中为无人机规划一条合理的飞行路径,使其能够安全、高效地完成任务。路径规划是无人机自主飞行的关键技术之一,它可以通过算法和模型来确定无人机的航迹,以避开障碍物、优化…

pytest:4种方法实现 - 重复执行用例 - 展示迭代次数

简介:在软件测试中,我们经常需要重复执行测试用例,以确保代码的稳定性和可靠性。在本文中,我们将介绍四种方法来实现重复执行测试用例,并显示当前迭代次数和剩余执行次数。这些方法将帮助你更好地追踪测试执行过程&…

Python | Leetcode Python题解之第468题验证IP地址

题目: 题解: class Solution:def validIPAddress(self, queryIP: str) -> str:if queryIP.find(".") ! -1:# IPv4last -1for i in range(4):cur (len(queryIP) if i 3 else queryIP.find(".", last 1))if cur -1:return &q…

Jupyter的使用分享

文章目录 碎碎念安装方法1.安装Anaconda方法2.通过库的安装方式 启动使用教程1.指定目录打开2.启动后的简单使用 小结 碎碎念 前情提示 之前与许多小伙伴交流的时候,发现大家对于pycharm更容易上手(可能是比较好设置中文的原因),在…

【MySQL】-- 表的操作

文章目录 1. 查看所有表1.1 语法 2. 创建表2.1 语法2.2 示例2.3 表在磁盘上对应的文件 3. 查看表结构3.1 语法3.2 示例 4. 查看创建表的语句5. 修改表5.1 语法5.2 示例5.2.1 向表中添加一列5.2.2 修改某列的长度5.2.3 重命名某列5.2.4 删除某个字段5.2.5 修改表名 6. 删除表6.1…

CANoe_调用C#控件的方法_DEMO方法演示

1、DEMO存放位置 D:\Users\Public\Documents\Vector\CANoe\Sample Configurations 11.0.96\CAN\MoreExamples\ActiveX_DotNET_Panels 每个人的电脑因为有区别存放位置不一样 2、控件制作--使用C#控件可以直接制作 3、控件代码 using System; using System.Collections; usi…

Java调用WebService接口实践案例

最终效果 在网上找了一个免费的webservice接口简单做个测试,可以正常返回结果 public static void main(String[] args) {String url = "http://www.webxml.com.cn/WebServices/WeatherWebService.asmx";String xmlData = "<soapenv:Envelope xmlns:soapen…

springboot 整合spring ai实现 基于知识库的客服问答

rag 需求产生的背景介绍&#xff1a; 在使用大模型时&#xff0c;常遇到的问题之一是模型可能产生幻觉&#xff0c;即生成的内容缺乏准确性。此外&#xff0c;由于大模型不直接访问企业的专有数据&#xff0c;其响应可能会显得泛泛而谈&#xff0c;不够精准或具体&#xff0c;…

onnx代码解读

一、定义 torch.jit.trace 相关代码解读onnx 内部实现 3 查看是否为aten 算子aten 算子实现torch.autograd.Functions 算子实现自定义算子实现查找未实现的节点一次性发现所有的未实现 aten 算子 二、实现 torch.jit.trace 相关代码解读 1. torch.jit.script() : 将其转换为…

CSD(computational storage devices)架构介绍

CSD&#xff08;computational storage devices&#xff09;架构介绍 前言一、CSD与传统SSD的架构对比二、为什么要采用FPGA三、FPGA缺点四、个人总结reference 前言 虽然一直有接触CSD&#xff0c;但一直对其原理和架构知之甚少&#xff0c;半知不解。今天&#xff0c;趁着我还…

CSS计数器

CSS 中的计数器类似于变量&#xff0c;可以实现简单的计数功能&#xff0c;并将结果显示在页面上&#xff0c;在早期的网站上应用比较广泛。要实现计数器需要用到以下几个属性&#xff1a; counter-reset&#xff1a;创建或者重置计数器&#xff1b;counter-increment&#xf…

机器学习框架(含实例说明)

机器学习框架是用于开发和部署机器学习模型的软件库和工具集。它们提供了一系列的算法、工具和基础设施&#xff0c;帮助开发者更高效地构建、训练和部署机器学习模型。以下是一些主要的机器学习框架及其详细介绍&#xff1a; 1. TensorFlow TensorFlow 是由Google开发的开源…

盘点2024年双十一最值得入手的好物,双十一必买清单大汇总

随着科技的飞速发展&#xff0c;数码产品已成为我们生活中不可或缺的伙伴。2024年双十一购物狂欢节即将来临&#xff0c;众多消费者早已摩拳擦掌&#xff0c;准备在这个年度盛事中淘到心仪的数码好物。在这个信息爆炸的时代&#xff0c;如何从琳琅满目的商品中挑选出性价比高、…

C# WPF 仿 Android Toast 效果

转载请注明出处: https://blog.csdn.net/hx7013/article/details/142860084 主职Android, 最近需要写一些WPF的程序作为上位机&#xff0c;目前WPF的MessageBox过于臃肿&#xff0c;且想找一个内置的非阻塞的简单提示一直找不到&#xff0c;想到了Android的Toast所以写了这个扩…

如何实现C#和Python之间实时视频数据交互

我们在做RTSP|RTMP播放的时候&#xff0c;遇到好多开发者&#xff0c;他们的视觉算法大多运行在python下&#xff0c;需要高效率的实现C#和Python的视频数据交互&#xff0c;常用的方法如下&#xff1a; 方法一&#xff1a;通过HTTP请求传输视频数据 服务器端&#xff08;Pyth…

浙江省发规院产业发展研究所调研组莅临迪捷软件考察调研

2024年10月10日下午&#xff0c;浙江省发展与规划院产业发展研究所调研组一行莅临迪捷软件考察调研&#xff0c;绍兴市府办、区发改、区经信、迪荡街道等相关领导陪同。 调研组一行参观了迪捷软件的展厅与办公区&#xff0c;深入了解了迪捷软件的公司发展历程、运营状况、产品…

『网络游戏』数据库表格转储【25】

避免勿删数据库表格&#xff0c;可以将表格存储 放到桌面即可 现在将表格删除后点击 浏览桌面表格保存即可 修改客户端脚本&#xff1a;NetSvc.cs 目的是在数据库更新异常时弹出提示以便修改 本章结束