供应链 | POMS解读:新鲜农产品的动态定价与信息披露:一种人工智能方法

本文主要是介绍供应链 | POMS解读:新鲜农产品的动态定价与信息披露:一种人工智能方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述

问题简介​

本文主要研究了动态定价和信息披露对于生鲜产品销售的影响。在传统的销售模式中,生鲜产品的价格通常是固定的,而且很难根据实际情况进行调整。这种模式容易导致浪费和损失,同时也无法满足消费者对于品质和价格的需求。因此,文章提出了一种基于质量的动态定价策略,并探讨了信息披露对于销售效果的影响。使用深度强化学习算法来优化定价和信息策略,可以使得销售商能够更好地满足消费者需求,提高利润并减少浪费。因此文章为生鲜产品销售提供了一种新思路,并为相关行业提供了有益的参考。

模型建立

该文章的模型是基于一个单一的垄断零售商销售新鲜农产品的情景。在此情景中,消费者对食品质量有不同的感知,而零售商需要根据消费者需求来制定价格策略和信息披露策略。

文章沿用 Gallego and Van Ryzin (1994) 构建的模型作为基本模型,并在其基础上考虑了产品质量的变化和信息披露的行为。假定初始时有 C C C 个单位的库存并且后续无法补货,产品质量根据 θ = Q e − y t + ϵ t \theta=Qe^{-yt} + \epsilon_t θ=Qeyt+ϵt, ϵ t ∼ N ( 0 , σ 2 ) \epsilon_t\sim\mathcal{N}(0,\sigma^2) ϵtN(0,σ2)指数速度下降。不同的消费者对于指数损耗率 γ \gamma γ有不同的感知 γ ^ \hat{\gamma} γ^. 消费者被分为三类

  • 认为损耗率高于实际损耗率,即 γ ^ > γ \hat{\gamma}>\gamma γ^>γ
  • 认知与实际相符,即 γ ^ = γ \hat{\gamma} = \gamma γ^=γ
  • 认为损耗率低于实际损耗率,即 γ ^ < γ \hat{\gamma}<\gamma γ^<γ

假设消费者的到达服从 Poisson 分布;消费者选择购买,如果商品的实际价格低于保留价格,并且实际质量高于保留质量。假设消费者的保留价格和保留质量的分布分别为 F ( ⋅ ) F(\cdot) F(), M ( ⋅ ) M(\cdot) M(), 于是消费者会发生购买行为的概率为 ( 1 − F ( p t ) ) M ( θ ^ t ) (1-F(p_t))M(\hat{\theta}_t) (1F(pt))M(θ^t). 于是,商家的决策可以建模成一个离散时间马尔可夫决策过程(MDP),状态空间由剩余库存和产品质量组成,行动由定价和是否吐露真实质量信息组成。在时刻 t t t,真实质量信息披露的被设置为一个以 m t ∈ [ 0 , 1 ] m_t\in[0,1] mt[0,1]为概率的随机行为。消费者分为三类( γ ^ ( > , = , > ) γ \hat{\gamma}(>,=,>)\gamma γ^(>,=,>)γ) 对产品损耗率 γ \gamma γ分别有先验分布 p 0 ( γ ^ i ) ∼ N ( μ i 0 , σ i 0 2 ) p_0(\hat{\gamma}_i)\sim\mathcal{N}(\mu_{i0},\sigma_{i0}^2) p0(γ^i)N(μi0,σi02), 在收到商家的信息披露之后,依照贝叶斯公式 p ( γ ^ i ∣ θ t ) = p ( θ t ∣ γ ^ i ) p ( γ ^ i ) p ( θ t ) p(\hat{\gamma}_i|\theta_t)=\frac{p(\theta_t|\hat{\gamma}_i)p(\hat{\gamma}_i)}{p(\theta_t)} p(γ^iθt)=p(θt)p(θtγ^i)p(γ^i)更新自己的信念。

为简化表述,设定包含产品质量和信息披露行为为模型2;为探究考虑产品质量和信息披露对利润的影响,文章将不考虑质量的情况作为benchmark,将考虑质量但是不考虑信息披露的情况作为模型1.

求解算法

本文使用的算法是经典的PPO (Proximal Policy Optimization) 算法。在PPO算法由策略网络、评价网络两个DNN (Deep Neural Network) 组成,其中策略网络用于生成定价、信息披露的策略,评价网络用于评价生成策略的表现。PPO算法的流程图如下图所示。

首先从仿真模型得到当前状态 S t S_t St, 将 S t S_t St输入到策略网络中,得到策略 a t a_t at, 然后将 a t a_t at带回仿真模型进行迭代,得到收益 r t r_t rt和下一阶段状态 S t + 1 S_{t+1} St+1. 收集到足够多的数据 { S t , a t , r t , S t + 1 } \{S_t,a_t,r_t,S_{t+1}\} {St,at,rt,St+1}后,策略网络将会计算损失函数,并根据损失函数的梯度对策略网络和评价网络的参数进行更新。

PPO算法有两个主要特点。第一,在强化学习中,“探索”和“利用” (Exploration and Exploitation) 的平衡是一个重要的问题。为了平衡“探索”和“利用”,PPO算法的策略网络输出不是一个具体的价格和信息披露,而是价格和信息披露的正态分布,然后从两个分布中随机抽样得到具体的决策。第二,在PPO算法中,使用了重要性采样 (Importance Sampling) 以有效利用历史数据。(由于篇幅限制,这里不展开讲解PPO算法,感兴趣的同学可自行查阅相关资料。)

仿真结果

首先,设置销售周期 T = 12 T=12 T=12天,库存为 C = 500 C=500 C=500个单位,单位成本为 q = 3 q=3 q=3, 顾客到达率服从参数为 λ = 70 \lambda=70 λ=70的参数分布,设置真是的腐败率 γ = 0.1 \gamma=0.1 γ=0.1以及三种消费者认知的腐败率为 γ ^ 1 = 0.15 \hat{\gamma}_1=0.15 γ^1=0.15, γ ^ 2 = 0.1 \hat{\gamma}_2=0.1 γ^2=0.1, γ ^ 3 = 0.05 \hat{\gamma}_3=0.05 γ^3=0.05. 最后,设置三种市场情况:

  • 三种消费者的比例分别为 [ 0.33 , 0.33 , 0.33 ] [0.33, 0.33, 0.33] [0.33,0.33,0.33]
  • 三种消费者的比例分别为 [ 0.5 , 0.25 , 0.25 ] [0.5, 0.25, 0.25] [0.5,0.25,0.25]
  • 三种消费者的比例分别为 [ 0.75 , 0.125 , 0.125 ] [0.75, 0.125, 0.125] [0.75,0.125,0.125]

从情况1到情况3,认为质量较低的消费者占比越来越高。

实施效果

我们主要通过利润以及残余库存两个指标去评价算法优劣,原文的表3和表4分别展示了三种模型在三种市场情况中的利润表现和残余库存表现。表3中,在三种市场中模型2的利润都显著高于模型1,模型1的利润也都高于基准模型。表4中,在三种市场中模型2的残余库存都显著低于模型1,模型1的残余库存也都显著低于基准模型。

结合两个指标综合分析,与基准模型相比,模型1以更低的价格实现了更大的利润,并且降低了期末的残余库存;与模型1相比,模型2实施了质量信息披露,这使得零售商可以定更高的价格(相对于模型1),同时实现了更大的需求。
在这里插入图片描述
在这里插入图片描述

策略比较

下面三幅图分别展示了三种模型在三种市场情况下的价格变化趋势,其中蓝线为基准模型,橙线为模型1,灰线为模型2。基准模型和模型1在三种市场中都是价格随着时间下降,但模型1的定价水平相对更低。模型2的定价策略是先降后升,再降再升,虽然有波动,整体价格更稳定,且期末的定价是三种模型中最高的,这主要是因为质量信息披露。

下图展示了模型2在三种市场情况的信息披露策略。在销售前期,由于产品质量高,所以进行信息披露;但在销售中后期,产品质量降低,进行信息披露的概率降低。此外,随着市场中认为产品低质量的顾客占比增大(从情况1到情况3),零售商越倾向于全程信息披露。
在这里插入图片描述

主要结论

1.基于质量的定价策略是三赢策略,提高了零售商利润,减少了社会浪费,并通过更低的价格,提升了消费者福利。​

2.当市场中低估产品质量的消费者占比较大时,信息披露可以进一步提升利润,并降低残余库存。此外还有利于消费前期和后期的价格相对稳定。​

3.当风险规避消费者占比较大/需求率较低时,基于质量的价格和信息披露联合决策能够产生最大的利润和最小的残余库存。​

4.本文将强化学习与运营管理问题的结合是一种创新。​

总体而言,本文为生鲜产品销售提供了一种新思路,并为相关行业提供了有益的参考。通过使用人工智能技术,销售商可以更好地了解消费者需求,并根据实际情况进行调整,从而提高销售效果和利润。同时,这种方法也有助于减少浪费和损失,促进可持续发展。

参考文献

Gallego, G., & Van Ryzin, G. (1994). Optimal dynamic pricing of inventories with stochastic demand over finite horizons. Management Science, 40(8), 999-1020.

这篇关于供应链 | POMS解读:新鲜农产品的动态定价与信息披露:一种人工智能方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/weixin_53463894/article/details/131526901
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/693583

相关文章

C#如何动态创建Label,及动态label事件

《C#如何动态创建Label,及动态label事件》:本文主要介绍C#如何动态创建Label,及动态label事件,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C#如何动态创建Label,及动态label事件第一点:switch中的生成我们的label事件接着,

SpringCloud动态配置注解@RefreshScope与@Component的深度解析

《SpringCloud动态配置注解@RefreshScope与@Component的深度解析》在现代微服务架构中,动态配置管理是一个关键需求,本文将为大家介绍SpringCloud中相关的注解@Re... 目录引言1. @RefreshScope 的作用与原理1.1 什么是 @RefreshScope1.

MyBatis 动态 SQL 优化之标签的实战与技巧(常见用法)

《MyBatis动态SQL优化之标签的实战与技巧(常见用法)》本文通过详细的示例和实际应用场景,介绍了如何有效利用这些标签来优化MyBatis配置,提升开发效率,确保SQL的高效执行和安全性,感... 目录动态SQL详解一、动态SQL的核心概念1.1 什么是动态SQL?1.2 动态SQL的优点1.3 动态S

macOS无效Launchpad图标轻松删除的4 种实用方法

《macOS无效Launchpad图标轻松删除的4种实用方法》mac中不在appstore上下载的应用经常在删除后它的图标还残留在launchpad中,并且长按图标也不会出现删除符号,下面解决这个问... 在 MACOS 上,Launchpad(也就是「启动台」)是一个便捷的 App 启动工具。但有时候,应

SpringBoot日志配置SLF4J和Logback的方法实现

《SpringBoot日志配置SLF4J和Logback的方法实现》日志记录是不可或缺的一部分,本文主要介绍了SpringBoot日志配置SLF4J和Logback的方法实现,文中通过示例代码介绍的非... 目录一、前言二、案例一:初识日志三、案例二:使用Lombok输出日志四、案例三:配置Logback一

java之Objects.nonNull用法代码解读

《java之Objects.nonNull用法代码解读》:本文主要介绍java之Objects.nonNull用法代码,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录Java之Objects.nonwww.chinasem.cnNull用法代码Objects.nonN

Python实现无痛修改第三方库源码的方法详解

《Python实现无痛修改第三方库源码的方法详解》很多时候,我们下载的第三方库是不会有需求不满足的情况,但也有极少的情况,第三方库没有兼顾到需求,本文将介绍几个修改源码的操作,大家可以根据需求进行选择... 目录需求不符合模拟示例 1. 修改源文件2. 继承修改3. 猴子补丁4. 追踪局部变量需求不符合很

mysql出现ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)的解决方法

《mysql出现ERROR2003(HY000):Can‘tconnecttoMySQLserveron‘localhost‘(10061)的解决方法》本文主要介绍了mysql出现... 目录前言:第一步:第二步:第三步:总结:前言:当你想通过命令窗口想打开mysql时候发现提http://www.cpp

Mysql删除几亿条数据表中的部分数据的方法实现

《Mysql删除几亿条数据表中的部分数据的方法实现》在MySQL中删除一个大表中的数据时,需要特别注意操作的性能和对系统的影响,本文主要介绍了Mysql删除几亿条数据表中的部分数据的方法实现,具有一定... 目录1、需求2、方案1. 使用 DELETE 语句分批删除2. 使用 INPLACE ALTER T

MySQL INSERT语句实现当记录不存在时插入的几种方法

《MySQLINSERT语句实现当记录不存在时插入的几种方法》MySQL的INSERT语句是用于向数据库表中插入新记录的关键命令,下面:本文主要介绍MySQLINSERT语句实现当记录不存在时... 目录使用 INSERT IGNORE使用 ON DUPLICATE KEY UPDATE使用 REPLACE