问题:
问题 1
蔬菜类商品不同品类或不同单品之间可能存在一定的关联关系,请分析蔬菜各
品类及单品销售量的分布规律及相互关系。
问题 2
考虑商超以品类为单位做补货计划,请分析各蔬菜品类的销售总量与成本加成 定价的关系,并给出各蔬菜品类未来一周(2023 年 7 月 1-7 日)的日补货总量和定价策略,使得商超收益最大。
问题 3
因蔬菜类商品的销售空间有限,商超希望进一步制定单品的补货计划,要求可 售单品总数控制在 27-33 个,且各单品订购量满足最小陈列量 2.5 千克的要求。根据2023年 6 月 24-30 日的可售品种,给出 7 月 1 日的单品补货量和定价策略,在尽量满足市场对各品类蔬菜商品需求的前提下,使得商超收益最大。
问题 4
为了更好地制定蔬菜商品的补货和定价决策,商超还需要采集哪些相关数据,
这些数据对解决上述问题有何帮助,请给出你们的意见和理由。
整体分析:
需要运用统计分析方法处理历史数据,并建立线性规划数学模型,以收益最大化为目标,综合考虑各种业务约束,求解最优的补货和定价策略。同时,需要思考额外的数据对确定最优决策的作用。
对问题 1,使用统计分析方法,分析不同蔬菜品类和单品之间的销量分布规律和关联关系。这可以帮助后续确定重点品类和单品。
对问题 2,建立优化模型, 以最大化商超收益为目标,综合考虑销量、成本、定价等因素,给出一个星期内每个品类的最佳日补货量和定价策略。
对问题 3,将添加限制条件,使售卖的单品总数和最小陈列量在给定范围内。在此基础上给出单品层面的补货量和定价计划, 以最大化收益。
对问题 4,考虑需要补充获取的信息, 比如客户购买习惯、促销效果等数据,分析这些数据如何帮助建立更准确的预测模型,从而制定更好的决策方案。文章来源:https://www.toymoban.com/news/detail-709183.html
问题一 详细思路分析+求解代码
文章来源地址https://www.toymoban.com/news/detail-709183.html
求解代码
python import pandas as pdimport numpy as npimport prop lot as ppltimport seaborn as snsfrom scipy.stats import pearsonrimport matplotlib.pyplot as pltfrom matplotlib.ticker import FormatStrFormatter
import numpy as np# 导入销量数据
X = pd.read_excel('附件 2.xlsx')# 计算协方差矩阵
S = np.cov(X)
# 计算相关系数矩阵
R = np.corrcoef(X)
# 分析相关系数大小判断相关性
from scipy.stats import pearsonr
pvals = heatmap_data.corr (method=lambda x, y: pearsonr (x, y)[1]) -
np.eye(len (heatmap_data.columns))
#转换 P 值为星号 def convert_pvalue_to_asterisks(pvalue) :
if pvalue <= 0.001:
return "***"
elif pvalue <= 0.01:
return "**"
elif pvalue <= 0.05:
return "*"
return ""
pval_star = pvals.applymap (lambda x :convert_pvalue_to_asterisks(x))
# 转换成 numpy 类型
corr_star_annot = pval_star.to_numpy ()
# a)seaborn 相关性矩阵热力图 p 值绘制示例一
import matplotlib.pyplot as pltfrom colormaps import parulafrom matplotlib.ticker import FormatStrFormatter
fig,ax = plt.subplots(fig size= (4,3.5),dpi=100,facecolor="w")
sns.heatmap (heatmap_data.corr (),annot=corr_star_annot,fmt='',cmap=parula,vmin=-1, vmax=1,
annot_kws= {"size":13,"fontweight":"bold"},linecolor="k",linewidths=.2
,
cbar_kws= {"aspect":13},ax=ax)
ax.tick_params(bottom=False,
labelbottom=True,labeltop=False,left=False,pad=1,labelsize=12)
ax.yaxis.set_tick_params(labelrotation=0)# 使用 matplotlib.colorbar.Colorbar object
cbar = ax.collections[0].colorbar #分享群:810589811
cbar.ax.tick_params(direction="in",width=.5,labelsize=10)
cbar.ax.yaxis.set_major_formatter (FormatStrFormatter ('%.2f'))
cbar.outline.set_visible(True)
cbar.outline.set_linewidth(.5)
问题二求解代码
python
from pulp import *
# 构建模型
model = LpProblem()
# 定义决策变量
x = {}
p = {}
for i in brands:
for j in days:
x[i,j] = LpVariable()
p[i,j] = LpVariable()
# 添加目标函数和约束条件
model += lpSum((p[i,j] - c [i])*x[i,j]) # 最大化收益
for i in brands:
for j in days:
model += a [i] - b[i]*p[i,j] <= x[i,j] <= a [i] + b[i]*p[i,j] # 销量与价格约束
python
# 在问题 2 代码基础上添加:
# 定义单品售卖变量 y
y = {}
for i in products:
for j in days:
y[i,j] = LpVariable(cat='Binary')
# 添加单品数量限制
model += lpSum(y[i,j] for i in products for j in days) >= 27
model += lpSum(y[i,j] for i in products for j in days) <= 33
# 添加最小展示量限制
for i in products:
for j in days:
model += x[i,j]>=2.5 *y[i,j
问题三 求解代码
python
# 在问题 2 代码基础上添加:
# 定义单品售卖变量 y
y = {}
for i in products:
for j in days:
y[i,j] = LpVariable(cat='Binary')
# 添加单品数量限制
model += lpSum(y[i,j] for i in products for j in days) >= 27
model += lpSum(y[i,j] for i in products for j in days) <= 33
# 添加最小展示量限制
for i in products:
for j in days:
model += x[i,j] >= 2.5 * y[i,j]
问题四 语文建模
到了这里,关于2023高教社数学建模国赛C题 - 蔬菜类商品的自动定价与补货决策【思路分析(1)+代码】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!