0 引言
1 问题描述与分级预测模型构建
1.1 问题描述
1.2 相关算法
1.3 对RFM模型的改进
1.4 客户分级预测模型构建
1.4.1 基于改进RFM与DBSCAN的客户分级
表1 部分聚类结果 |
| 序号 | F | M | T | 类 |
|---|---|---|---|---|
| 0 | 0.336 538 5 | 0.203 530 3 | 0.192 307 7 | 0 |
| 1 | 0.884 615 4 | 0.663 469 7 | 0.346 153 8 | 1 |
| 2 | 0.355 769 2 | 0.069 810 1 | 0.269 230 8 | 0 |
| 3 | 0.221 153 8 | 0.741 118 8 | 0.923 076 9 | 2 |
| 4 | 0.730 769 2 | 0.845 747 4 | 0.346 153 8 | 1 |
| 5 | 0.346 153 8 | 0.788 326 | 0.730 769 2 | 2 |
| 6 | 0.288 461 5 | 0.703 468 | 0.961 538 5 | 2 |
| 7 | 0.307 692 3 | 0.645 361 | 0.615 384 6 | 2 |
| 8 | 0.375 0000 | 0.818 961 8 | 0.769 230 8 | 2 |
| 9 | 0.846 153 8 | 0.693 329 9 | 0.846 153 8 | 3 |
| 10 | 0.240 384 6 | 0.731 610 9 | 0.538 461 5 | 2 |
1.4.2 聚类结果分析
1.4.3 模型测试及评估
2 客户分级优先的即时配送路径优化模型
2.1 参数定义
表2 参数定义 |
| 参数 | 定义 |
|---|---|
| 0-1变量,如果车辆k被使用,则值为1,否则值为0 | |
| 0-1变量,如果车辆k从客户i直接前往客户j, 则值为1,否则值为0 | |
| 0-1变量,如果车辆k从客户i直接前往客户h, 则值为1,否则值为0 | |
| 分别表示客户i的超时惩罚成本等级界定, 超时为1,否则为0 | |
| 分别对应不同的客户分级的超时惩罚成本 | |
| 表示客户点集合 中的第i,j个客户 | |
| 表示配送中心车辆集合K={1, 2,⋯, m}中的第k辆 | |
| 表示配送车辆实际到达客户i的时间 | |
| 表示车辆k从客户i到客户j所需的行驶时间, 可以通过距离除以车辆的平均速度得出 | |
| 表示车辆到达客户j的时间 | |
| 表示客户i的服务时间,即车辆在客户i处停留的时间 | |
| 客户预约送达的时间区间,最早时间为 , 最晚时间为 | |
| 车辆固定成本 | |
| 单位行驶里程运输成本 | |
| 第一级客户较大的固定超时惩罚成本 | |
| 第二级客户基础超时惩罚成本 | |
| 第三级客户较小固定超时惩罚成本 | |
| 运输过程中单位时间制冷成本 | |
| 卸货过程中单位时间制冷成本 | |
| 第二级客户超时惩罚成本的指数系数 | |
| 从客户i到客户j的距离,包括从配送中心出发和返回配送中心的距离 | |
| 客户i的需求量 | |
| 每辆车的最大载重量 | |
| 无限大的数 |
2.2 惩罚函数构建
2.3 即时配送路径规划模型构建
2.4 优化算法设计
3 案例分析
表3 客户信息、需求及分级结果 |
| 编号 | X坐标 /km | Y坐标 /km | 需求量 /kg | 客户可接受 时间窗 | 服务时间/min | 客户分级 |
|---|---|---|---|---|---|---|
| 0 | 0 | 0 | [08:00, 20:00] | |||
| 1 | -1.058 | -0.221 | 14 | [09:40, 11:20] | 5 | 3 |
| 2 | 0.708 | 0.998 | 16 | [09:10, 10:50] | 7 | 2 |
| 3 | 2.319 | -0.628 | 15 | [10:10, 11:50] | 3 | 2 |
| 4 | -0.841 | 1.223 | 9 | [10:10, 11:50] | 4 | 2 |
| 5 | -2.262 | -0.458 | 20 | [09:40, 10:50] | 7 | 3 |
| 6 | -2.229 | 0.533 | 19 | [09:40, 11:20] | 9 | 3 |
| 7 | -1.362 | -3.078 | 17 | [09:10, 10:50] | 8 | 1 |
| 8 | 0.278 | -2.006 | 11 | [09:10, 10:50] | 6 | 2 |
| 9 | 1.065 | 1.913 | 14 | [09:40, 11:20] | 9 | 1 |
| 10 | 1.382 | 0.567 | 13 | [10:10, 11:50] | 4 | 1 |
| 11 | 2.553 | -1.685 | 19 | [09:10, 10:50] | 8 | 2 |
| 12 | -2.813 | 1.168 | 11 | [09:40, 10:50] | 5 | 1 |
| 13 | -3.559 | -2.559 | 14 | [10:10, 11:50] | 7 | 1 |
| 14 | 1.300 | -0.429 | 12 | [09:40, 11:20] | 9 | 2 |
| 15 | 4.916 | 0.853 | 10 | [09:40, 11:20] | 9 | 2 |
| 16 | 5.164 | 1.186 | 7 | [10:10, 11:20] | 7 | 2 |
| 17 | -1.837 | 1.425 | 14 | [10:10, 11:50] | 6 | 2 |
| 18 | 3.433 | -1.357 | 18 | [09:10, 10:50] | 9 | 2 |
| 19 | 3.515 | -1.119 | 22 | [10:10, 11:20] | 8 | 1 |
| 20 | 3.118 | -0.017 | 14 | [09:40, 11:20] | 6 | 2 |
| 21 | 2.233 | 1.271 | 16 | [10:10, 11:50] | 7 | 2 |
| 22 | 2.494 | 1.649 | 12 | [09:10, 10:50] | 8 | 3 |
| 23 | -1.184 | 2.521 | 14 | [10:10, 11:50] | 5 | 3 |
| 24 | 1.607 | 3.757 | 11 | [09:40, 11:20] | 9 | 3 |
| 25 | 2.270 | 0.444 | 17 | [10:10, 11:50] | 5 | 3 |
| 26 | -0.339 | 2.216 | 10 | [09:40, 11:20] | 9 | 2 |
| 27 | 1.174 | -4.413 | 15 | [09:10, 10:50] | 9 | 2 |
| 28 | -1.143 | -1.479 | 7 | [09:10, 10:50] | 7 | 2 |
| 29 | 0.669 | -3.707 | 8 | [10:10, 11:50] | 6 | 3 |
| 30 | 3.813 | 1.407 | 18 | [09:40, 10:50] | 7 | 2 |
表4 模型参数 |
| 参数 | Ck/(元/车) | Cs/(元/km) | D/kg | V/(km/h) | Cm/元 | Cti/(元/h) | Cf/(元/h) | f1/(元/h) | f2/(元/h) | α |
|---|---|---|---|---|---|---|---|---|---|---|
| 取值 | 30 | 3 | 300 | 25 | 1000 | 360 | 100 | 1.2 | 2 | 1.2 |
表6 不考虑客户分级优先的方案 |
| 配送路径 | 总成本/元 | 超时客 户编号 | 超时时长/min | 超时客 户级别 |
|---|---|---|---|---|
| 0-6-5-23-24-26-1-28-3-11-14-0 | 298.98 | 9, 11 | -2.7, +4.8 | 2, 1 |
| 0-4-12-17-13-7-27-29-8-25-2-0 | 1, 10 | -10.8, +12 | 2, 1 | |
| 0-9-22-20-18-19-15-16-30-21-10-0 |
注:-表示提前送达,+表示延迟送达。 |
表7 是否考虑客户分级优先的方案对比 |
| 方案 | 总时长 /min | 总距离 /km | 总成本 /元 | 超时客户数量 | ||
|---|---|---|---|---|---|---|
| 级别1 | 级别2 | 级别3 | ||||
| 不考虑客户分级优先 | 168 | 57.60 | 298.98 | 2 | 2 | 0 |
| 考虑客户 分级优先 | 165 | 60.57 | 316.69 | 0 | 0 | 2 |
| 优化后的 变化幅度 | -1.8% | +5.2% | +5.9% | |||
表8 企业实际配送方案 |
| 配送路线 | 总成本/元 | 超时客 户编号 | 超时时长 /min | 超时客户级别 |
|---|---|---|---|---|
| 0-10-25-20-15-16-30-22-21-9-2-0 | 302.05 | 9 | +3 | 1 |
| 0-14-3-19-18-11-29-7-8-28-27-0 | 11, 28 | -5.1, +1.6 | 2, 2 | |
| 0-4-24-26-23-17-12-6-5-13-1-0 | 26, 5, 13 | -6.8, +3, +10.2 | 2, 3, 1 |
注:-表示提前送达,+表示延迟送达。 |