遗传算法 粒子群 人工蜂群 案例合集
案例1:栅格土地优化,考虑土地连续性(2022.GA23)link
案例2:vrp 充电 返回仓库取货 时间窗(2022.GA29) link
1、概述
考虑充电/返回仓库取货的vrp问题
1、考虑车辆载重、容积、工作时长等约束
2、考虑返回仓库补货(或者返回充电桩充电、加油),补完货物可以继续执行配送任务
3、硬时间窗、软时间窗
4、考虑多车辆类型
2、关键技术
1)针对大数据集,采用并行计算加速处理速度
2)定义解码方法
3、代码
plt.figure()
for i, v in enumerate(path):
print('第%d辆车路径:' % (i + 1), v)
x, y = [], []
for j in v:
x.append(data.loc[j, 'lng'])
y.append(data.loc[j, 'lat'])
# 画路径及客户点
plt.plot(x, y, 'o', color='%s' % color[i % len(color)])
# 画箭头
for k in range(1, len(x)):
plt.annotate('', xy=(x[k], y[k]), xytext=(x[k - 1], y[k - 1]),
arrowprops=dict(color='%s' % color[i % len(color)], headwidth=6, headlength=6, width=1), )
# 画物流中心
plt.plot(data.loc[0, 'lng'], data.loc[0, 'lat'], '*', color='m', markersize=33) # 物流中心
# 画充电桩
# plt.plot(data.loc[10:20,'x坐标'].values, data.loc[10:20,'y坐标'].values, 'Pm', markersize=15) # 4个充电桩
plt.xlabel('经度', fontproperties=font_songti)
plt.ylabel('维度', fontproperties=font_songti)
plt.grid(True)