一文了解经典报童模型的扩展问题

2024-06-03 05:20

本文主要是介绍一文了解经典报童模型的扩展问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 1 引言
  • 2 经典报童模型
  • 3 综述文章
  • 4 模型扩展
    • 4.1 扩展目标函数
    • 4.2 增加约束条件
    • 4.3 增加优化变量
    • 4.4 扩展模型参数
    • 4.5 扩展问题场景
  • 5 总结
  • 6 相关阅读

1 引言

时间过的真快呀,已经6月份了。距离上一篇文章发表,已经过去了将近一个月,要不是偶尔还有新关注的提醒,我可能都忘记提醒自己该继续学习和总结了。

看了一眼今年已经发表的文章数量,才5篇,很忧心自己原定的2024学习计划该如何完成。所以,为了对得起朋友们的陪伴和支持,为了保证后续学习计划的顺利推进,后续努力每2周更新一篇,底线是不超过3周更新一篇。

本篇回到不确定优化专题,继续研究报童模型。

此前在随机规划:求解报童问题期望值模型的算法方案中,已经详细研究了经典报童模型的求解方案,推导出了解析最优解。该模型虽然简单,但在实际场景问题中却大有用处,比如最近就在某个业务的技术分享会上,了解到其补货算法用的就是经典报童模型的求解算法。

显然,我们不能满足于经典报童问题的学习,毕竟还有很多更复杂的报童问题需要解决。幸运的是,学界已经针对经典报童问题的很多扩展类型进行了研究,并设计了对应的解决方案;不幸的是,我并没有那么多精力去逐一调研。所以我的研究思路是:先了解清楚有哪些已经被广泛研究的扩展模型,然后基于自己目前遇到的问题、匹配到对应的扩展模型,再详细研究这类扩展模型的求解算法。

本文先把第一项内容搞清楚:当前有哪些已经被广泛研究的基于经典报童模型的扩展问题

2 经典报童模型

在调研扩展问题前,再回顾一下经典报童模型。

经典报童模型可以描述为:报童每天从供应商处采购一定数量的报纸用于当天的销售。已知每份报纸的成本价 c c c,销售价 p p p,需求量 d d d是个不确定参数,通过历史的数据可知其概率分布函数,如果当天卖不完,会按回收价 s s s将未卖完的报纸卖给回收站。

该模型的核心诉求是:确定报童的最佳订购量 x x x,使得报童的净收入 θ ( x ) \theta(x) θ(x)最大化。
其中 θ ( x ) \theta(x) θ(x)的表达式为
θ ( x ) = p ⋅ E [ min ⁡ ( x , d ) ] + s ⋅ E [ max ⁡ ( x − d , 0 ) ] − c x \theta(x)=p·E[\min(x,d)]+s·E[\max(x-d,0)]-cx θ(x)=pE[min(x,d)]+sE[max(xd,0)]cx
第一项是售卖报纸的收益,第二项是回收报纸的收益,第三项是购买报纸的成本。

3 综述文章

在上述经典报童模型的基础上,目前已经衍生出了非常多的新问题。我简单调研了一下相关的综述文章,如下图所示。

早在1999年的时候,国外就有综述文章了,在2010年前后,国内又相继刊发了几篇。需要说明的是:这里国内和国外指的是中国人和外国人,不是指中文和英文。这里面被引用次数最多的是1999年和2011年的两篇文章,文章标题已经标注在图片中,感兴趣的朋友可以自行下载和学习。

4 模型扩展

如果仔细看已有的综述文章,会发现作者的分类扩展标准都不同,比如1999年文章把扩展问题划分成了11种,而2011综述文章则将其划分成了3种。

很多人看论文都会遇到一个问题:文章看了很多,但知识点却难以记忆。所以接下来我将换个角度去梳理这些扩展的报童问题。

首先,从优化模型本身出发,经典报童模型可以理解为:目标函数为最大化 θ ( x ) \theta(x) θ(x);无约束;优化变量数为 x x x;输入参数包括需求量 d d d、成本价 c c c、和回收价 s s s和销售价 p p p。所以第一大类扩展就是分别针对目标函数、约束、优化变量和输入参数进行扩展。

其次,跳出优化模型,在问题的描述上进行扩展,本文将其定义为第二大类扩展:扩展问题场景。

4.1 扩展目标函数

首先看目标函数的扩展。

从最朴素的认知来看,在问题有了不确定性后,收益和风险就是并存的,而且一般来说,收益越高,风险越大。相比只关注收益最大化,更恰当的方案应该是,通过一定的策略,达到收益和风险的平衡。

要实现该目标,可以通过目标函数的扩展来实现。最常用的扩展目标函数是:设定某个预期收益,最大化达到该收益的概率。

更完备的收益和风险平衡的方案,可以去金融投资领域取取经,包括:均值-方差模型、风险估值(Value at Risk ,VaR)、条件风险估值(Conditional Value at Risk, CVaR)。这些模型在报童模型的扩展文献中也已经有很多研究,有兴趣的可以自行调研。

4.2 增加约束条件

然后看报童模型中可以增加哪些约束。

第一种是增加预算约束 B B B,即
c ∗ x ≤ B c*x ≤ B cxB

第二种是增加库存约束或产能约束 W W W,即
x ≤ W x ≤ W xW

除此之外,约束条件这里几乎就没啥可扩展的空间了。

4.3 增加优化变量

从前两节看,如果只是修改了目标函数或者增加了约束条件,好像问题的求解难度也没啥显著变化。

本小节来看一个真正可以增加问题求解难度的扩展方式:增加优化变量。

最常见的增加优化变量的方式是增加报纸类型的数量,即多产品。举个例子,报童可以采购的报纸类型有多种,每一种类型的报纸成本、销售价、需求量和回收价均不同。

当然,如果问题只有这个变化,那么求解复杂度并没有显著增加,因为每一种报纸的最优解计算都是相互独立的,可以分别按照经典报童模型来计算;但是在叠加了约束条件后,例如总预算上限有约束,再想求解就真的变难了。

另一种增加优化变量的方式是引入其他类型的优化变量。此处举个额外引入广告预算变量的例子:报童可以给予报纸一定的广告投入,投入广告后,会改变(大概率是增加)原有的需求,为了最大化收益,就需要在决策订购量的同时,再决策投入的广告预算。

4.4 扩展模型参数

(1)需求量 d d d

上文中广告预算决策的实例,可以说是增加了优化变量,但也可以认为是扩展了需求分布。经典报童模型中,需求分布是个独立于优化变量的函数,但在这个实例中,需求分布函数中还包含了广告预算这个优化变量。

除了需求分布函数变复杂的情况,另一种扩展需求分布的方式是减少对需求分布的认知,例如只知道需求分布的部分信息,如均值、方差等,这类的实例可以参考此前的文章:不确定优化入门:用简单实例讲明白随机规划、鲁棒优化和分布鲁棒优化。

(2)成本价 c c c

以往的成本价 c c c都是固定值,但在很多场景中,如果报童订购量比较大,供应商是愿意给予一定的折扣的,如超过100份报纸打8折等。

(3)回收价 s s s

回收价 s s s的扩展一般也与供应商有关。为了鼓励报童多订购报纸,供应商可能会愿意承诺以原价买回报童未卖掉的报纸,此种情况下,相当于供应商分担了需求不确定性带来的风险。

(4)销售价 p p p

单独针对销售价 p p p的扩展比较少见,通常会结合问题场景的扩展,一并扩展。

4.5 扩展问题场景

问题场景扩展的类型特别多,这里选择几个(不全面)比较常见的类型来描述。

(1)增加频次

先举个增加销售频次的例子,接上此前所说的销售价扩展:假设商品(如服装产品)为一次订货,并用于两个周期(如春、秋)的售卖。第一个周期可以正常售卖,但第二个周期需要决策销售价格(往往是折扣价),目标还是使得总收益达到最大化。

另一个增加频次的方式是:增加订购频次。在允许两次订购的场景中,第二次的成本价往往会高于第一次。

(2)两层报童问题

经典报童问题是仅站在报童视角去分析问题的,但实际上报童和供应商都有提升收益的诉求,他们之间既有合作也有竞争,将他们内部的层次递进关系和决策的相互影响都引入到模型中去,也是一个扩展方向。

(3)供应商不确定性

经典报童问题中,不确定性只存在于需求 d d d中,但供应商处往往也存在不确定性,如供应商的产量具有不确定性、有一部分货品是次品等。

5 总结

综上,基于经典报童模型的扩展问题介绍就到这里了。

本篇文章的文字比较多,此处简单总结一下:

(1)经典报童模型的扩展问题比较多,本文按以下顺序进行了分类:扩展目标函数、增加约束变量、增加决策变量、扩展模型参数和扩展问题场景。

(2)针对自己遇到的问题,可以先找到对应的报童问题类型,然后再借鉴其具体的求解方案。

6 相关阅读

【1】The single-period (news-vendor) problem: literature review and suggestions for future research:https://www.sciencedirect.com/science/article/abs/pii/S0305048399000171

【2】报童模型的研究进展综述:https://www.cnki.com.cn/Article/CJFDTotal-TJJC200817006.htm

【3】报童问题的扩展模型:https://www.cnki.com.cn/Article/CJFDTotal-WHDY200803001.htm

【4】The newsvendor problem: Review and directions for future research:https://www.sciencedirect.com/science/article/abs/pii/S0377221710008040

【5】多产品报童模型的研究综述:https://www.cnki.com.cn/Article/CJFDTotal-LTKJ201503009.htm

【6】A Review of Behavioral Decision Making in the Newsvendor Problem:https://www.journal.oscm-forum.org/journal/journal/download/20180819023347_Paper_3_Vol.11_No._4,2018_Final.pdf

这篇关于一文了解经典报童模型的扩展问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1026110

相关文章

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

关于数据埋点,你需要了解这些基本知识

产品汪每天都在和数据打交道,你知道数据来自哪里吗? 移动app端内的用户行为数据大多来自埋点,了解一些埋点知识,能和数据分析师、技术侃大山,参与到前期的数据采集,更重要是让最终的埋点数据能为我所用,否则可怜巴巴等上几个月是常有的事。   埋点类型 根据埋点方式,可以区分为: 手动埋点半自动埋点全自动埋点 秉承“任何事物都有两面性”的道理:自动程度高的,能解决通用统计,便于统一化管理,但个性化定

好题——hdu2522(小数问题:求1/n的第一个循环节)

好喜欢这题,第一次做小数问题,一开始真心没思路,然后参考了网上的一些资料。 知识点***********************************无限不循环小数即无理数,不能写作两整数之比*****************************(一开始没想到,小学没学好) 此题1/n肯定是一个有限循环小数,了解这些后就能做此题了。 按照除法的机制,用一个函数表示出来就可以了,代码如下

hdu1043(八数码问题,广搜 + hash(实现状态压缩) )

利用康拓展开将一个排列映射成一个自然数,然后就变成了普通的广搜题。 #include<iostream>#include<algorithm>#include<string>#include<stack>#include<queue>#include<map>#include<stdio.h>#include<stdlib.h>#include<ctype.h>#inclu

csu 1446 Problem J Modified LCS (扩展欧几里得算法的简单应用)

这是一道扩展欧几里得算法的简单应用题,这题是在湖南多校训练赛中队友ac的一道题,在比赛之后请教了队友,然后自己把它a掉 这也是自己独自做扩展欧几里得算法的题目 题意:把题意转变下就变成了:求d1*x - d2*y = f2 - f1的解,很明显用exgcd来解 下面介绍一下exgcd的一些知识点:求ax + by = c的解 一、首先求ax + by = gcd(a,b)的解 这个

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

Retrieval-based-Voice-Conversion-WebUI模型构建指南

一、模型介绍 Retrieval-based-Voice-Conversion-WebUI(简称 RVC)模型是一个基于 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的简单易用的语音转换框架。 具有以下特点 简单易用:RVC 模型通过简单易用的网页界面,使得用户无需深入了

购买磨轮平衡机时应该注意什么问题和技巧

在购买磨轮平衡机时,您应该注意以下几个关键点: 平衡精度 平衡精度是衡量平衡机性能的核心指标,直接影响到不平衡量的检测与校准的准确性,从而决定磨轮的振动和噪声水平。高精度的平衡机能显著减少振动和噪声,提高磨削加工的精度。 转速范围 宽广的转速范围意味着平衡机能够处理更多种类的磨轮,适应不同的工作条件和规格要求。 振动监测能力 振动监测能力是评估平衡机性能的重要因素。通过传感器实时监

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验