2021年北京高校数学建模校际联赛题目出版社图书印制策略解题论文及程序

A题出版社图书印制策略
1.原题重述:
  某出版社出版发行与初等教育相关的图书, 在运营过程中, 遇到了图书印量、图书销售量和图书库存之间如何协调的问题。在印制图书的时候,除了根据印量会产生纸张费、印刷费、装订费、封面工艺费等印刷成本外,每一次印刷都有一笔数千元的上版费,因此出版社自然希望一次开机尽量多印一些,但是图书销售量通常是不确定的,如果印多了,图书库存加大,会导致与库房结算的发货费率*(见注1中定义)提升,增大发货费用;滞销图书等待报废,其印刷成本的投入会全部损失殆尽。因此,一本书印几次,每次印多少,是这个出版社希望解决的问题。为此,请你们小组为该出版社出谋划策,仅考虑印刷成本和库房发货费用。针对不同类型的图书提供最优的印刷方案,以期获得尽可能大的销售收益。
  该出版社出版发行的图书主要分A、B、C三类。
  A类图书属于政府采购类(如经国家审批出版的教材教辅),不面向市场公开销售。这类图书定价低(销售折扣约48% 折),订单数量大且相对稳定,但图书更新快,当年的滞销书成为库存,等待报废。现有问题是:订单上报时间不集中,且收到订单后通常需要迅速发货,在征订后期经常有几百册的增补订单,导致印次能多达7-8次。
  B类图书是直销类图书,主要用于高考复习使用,直接进校推广。这类图书定价高,销售折扣低(销售折扣约18% 折),图书更新快,当年不能销售的书成为滞销库存,等待报废。现有问题是:这类图书因定价高,滞销库存总体码洋*(见注1中定义)较大,对发货费率影响较大。
  C类是市场零售类图书,走实体书店和网上渠道销售,没有特别集中的订量,销售不可控。这类图书销售折扣约45% 折,定位于长销,销售时间可延续若干年,但通常图书上市2年以后,热度就会减弱,如果处于滞销状态,就会等待报废。现有问题是:该类图书的首印通常在3000-5000册,如果能够实现全部销售,则一定处于盈利状态,当某本图书库存不足500册时,会考虑重印,出版社希望能根据上一次印刷后的销售情况,并结合热度衰减因素,来规划下一次的印刷数量,使其实现盈利增加。
  出版社与库房结算的发货费率每年调整一次,取值范围如注1名词解释中表格所示。可以假设发货费率在近几年保持不变,而当前的发货费率为2.73%。
  请建立数学模型,完成下面的任务:
  1. 研究A类图书的需求和订单规律(附件1),对每本书给出2021年秋或者2022年春的最优印刷方案。有没有可能将总印次控制在3次以内?
  2. 对B类图书,根据往年的销售情况(附件2),在降低库存的前提下,对每本书给出下一年度的最优印刷方案。
  3. 对C类图书,对附件3中的9本图书,考虑未来可能的销售情况,给出每本书的重印方案(是否需要重印,如需重印,最优重印数量),并判断出版社之前的重印策略是不是最优的。
  4. 给该出版社写一个企划书,对图书的印刷方案给出你们的建议。

  【注 1】 名词解释
  码洋:图书的定价×数量
  滞销库存码洋:图书的定价×滞销库存数量
  上版费:指印刷开机前,需要将图书文件上机制版产生的费用,上版费与图书的印张有关,可利用附件4的《图书印制成本计算表》计算。
  销售率:(发货数量-退货数量)/印刷数量
  发货费率:用于和库房结算库租物流费用(又称库房发货费用)的一项指标, 与出版社所有图书全年发货码洋和每个月的平均库存有关,也即和图书的周转情况有关。图书周转越快,库存图书码洋越少, 发货费率越低;反之,图书周转越慢,库存图书码洋越多, 发货费率越高。每年的发货费率对所有图书都是一个固定的常数,部分取值如下表所示:

  发货费率 3.42% 3.12% 2.91% 2.73% 2.60% 2.48% 2.40% 2.32% 2.25% 2.19%

  目前该出版社所有图书的发货费率结算标准是2.73%。
  库房发货费用:即库租物流费用,计算公式是:
  发货费用=发货数量×定价×发货费率
  (注:发货数量+滞销库存数量=印刷数量)

  【注 2】 行业约定
  当印刷数量低于2000册时,因印刷开机成本问题,印刷企业会按照2000册印量进行计费。所以,低于1500册时,通常会采用数码印刷,数码印刷费用会较传统印刷费用上浮15%。

  【注3】 附件说明
  附件1:A类图书的相关数据,一共有5本书(A1 ~ A5)。
  附件2:B类图书的相关数据,分为两类,第一类高考备考用书选择了5个学科共5本书(B1-1 B1-5);第二类高考冲刺用书选择了同样的5个学科共5本书(B2-1~B2-5)。
  附件3:C类图书相关数据,一共9本书(C1 ~ C9)。
  附件4:图书印制成本计算表,可用于计算首印或重印所需的印刷成本。

2.模型的建立与求解:

  题目要求优化出版社印刷策略增大收益。结合 A B C 三类书籍的不同特征,我们把问题的关键分别转化为控制印刷次数、降低图书库存、预测未来销量,以给出下一年度的最优印刷方案,对已知数据特征的充分提取以及经济学的理论支持将有望使得我们的方案收益最大。

  针对问题一,我们在分析 A 类图书的需求与订单规律的基础上,建立交易动机数量模型判断何时开始印刷,建立预防动机数量模型判断每次印刷数量。通过对次年订单报数总量给出预测,明确了何时首次印刷、何时后续印刷以及每次印刷多少。然后把我们的方案应用到往期年份中,都可以印刷总次数在三次以内。灵敏度分析表明该模型稳健性良好。

  针对问题二,我们建立再印刷点模型分析出版社的最低库存水平,并参照经济订货批量模型,以总成本最小化为目标推导出单次最优印刷量,明确了何时印刷、印刷多少。通过确定性因素分解模型预测下一年度销售数据,据此得到 B 类每本图书的启动印刷的时机以及印刷量,给出了每本书的最优印刷方案。灵敏度分析表明该模型稳健性良好。

  针对问题三,我们采用 ARMA 模型对销售量进行预测,得到不进行重印的情况下未来一年库存情况的预测值。接下来构建出重印时的预期收益函数,求解使预期收益大于等于零的重印数临界值,进而确定 C 类所有图书次年都不需重印。最后,我们参照前三问得到的结果给出版社做出企划书,对 A B C 三类中的每本图书提出具体的印刷计划,并进行效果预测。
在这里插入图片描述
  1. 提前期为 4 天。
  分析:这里的“提前期”被定义为印刷所需要的时间。不同于 A 类的教材类图书不考虑印刷时间,B 类图书印张大、定价高,且无“快速发货”的限制,需要一定的印刷时间。参照普华永道咨询公司的教辅图书备货咨询方案,教辅类图书印制周期平均值为 4 天,即
取提前期为 4 天。
  2. 在分析与预测 B 类图书销售规律时,只考虑 B1 类图书的一个销售周期为当年三月到当年九月,B2 类图书的一个销售周期为当年十月到次年四月。分析:这是由 B 类图书自身的特点决定。在销售周期内,B 类图书年与年之间的销量之间具有一定的相似性。这是由学生的高考复习时间规律决定的,在不同年份之间保持一致。而在销售周期之外的销售量在年与年之间具有极大的不确定性。分析意义不大。
  3. 采用 B1 类图书当年三月到当年九月销售数据、B2 类图书当年十月到次年四月销售数据求平均销量作为提前期日平均销量,采用 B1 类图书当年三月到当年九月销售数据、B2 类图书当年十月到次年四月销售标准差作为提前期内销量标准差。分析:关于月份选择的考虑同假设 4,另外,提前期在一年中的具体时间不固定,采用多个月份数据可以更加客观的描述销量情况。
  4. 对于处在销售周期内而未给出数值的数据,我们以附近一或两月数据的均值代替,灵活处理。
  5. 进行年需求总量的预测时,处于销售周期以外月份的预测值以过去年份的均值代替。
  6. 对于 B1 类书籍,“一年”起止月份的选择从当年 1 月到 12 月;对于 B2 类书籍,“一年”起止月份的选择从当年 9 月到次年 9 月。分析:这是由 B 类书籍的性质决定的。B1 类书作为高考复习类书,B2 类书作为高考冲刺类书,两者具有不同的销售周期。当以“年”为单位衡量两者的周期性变化时,起止月份的选择应将其销售周期包含在内。
  7. 假设经济订货批量模型中的前提条件在此问题情景下仍然适用。分析:经济订货批量模型中假设“维持库存费是库存量”的线性函数,由此以库存数2计算库存平均值,得到再订货点公式。虽然问题情境中不要求考虑书籍的库存费用,但依据实际情况假设书籍的库存费用是库存量的线性函数是合理的。而经济批量订货模型中的其他假设显然都是此背景下适用的,不再赘述。
  8. 假设求得单次印刷量为负值时表示该次印刷不进行。
在这里插入图片描述
在这里插入图片描述

程序代码

sum_A = [ 1 4 5 0 0 0 , 1 4 5 0 0 0 , 2 0 0 0 0 , 1 5 0 0 0 0 , 1 6 5 0 0 0 ] ; %
预 测 总 量:A1−145000; A2−145000; A3−20000;
A4−150000; A5−165000;
d = [ 1 3 , 1 2 , 1 4 , 9 , 4 ] ; %预 测 印 刷 临 界 天 数:A1−13;
A2−12; A3−14; A4−9; A5−4;
a = 0 . 9 ; %阈 值 比 例
%以A1,2020 秋 为 例;
A= [ 1 4 9 0 0 0 , 1 0 0 0 , 7 0 0 , 1 0 0 0 , 6 0 0 ] ; %上 报 订 单 数
day_A = [ 0 , 2 5 , 1 5 , 7 , 9 ] ; %订 单 间 隔
len_A=length (A) ;
P=1400; %P=MC_new/MC_old ;
n=1;
sum=0;
day =0;
fprintf ( ’ 阈 值:%g\n ’ ,sum_A ( 1 ) ∗a ) ;
while ( n<=len_A )
sum=sum+A( n ) ;
day=day+day_A ( n ) ;
i f (sum >= sum_A ( 1 ) ∗a ) | | ( day >= d ( 1 ) )
p r t=sum+P ;
fprintf ( ’ 第 1 次 印 刷, ’ ) ;
fprintf ( ’ 印 刷 量 为:%g\n ’ , p r t ) ;
break ;
34
end
n=n+1;
i f ( n==len_A +1)
fprintf ( ’ 总 印 刷 量 次 数 仅 1 次, 印 刷 量 为:%
g\n ’ ,sum) ;
break ;
end
end

猜你喜欢

转载自blog.csdn.net/weixin_43292788/article/details/126429291