遗传算法集装箱优化算法Django+Three.js实现
自学编程一年多了,结合自己在供应链工作的经验做的,希望大家喜欢,本人qq 394601344,有兴趣可以加我私聊,谢谢。
前端web用的three.js,bootstrap ,后端用的django,用的遗传算法。
遗传算法:
其实弄明白了也就那么回事,不明白的时候想破脑袋,遗传算法参考的这篇文章 https://www.jianshu.com/p/ae5157c26af9 ,我就不多说了,主要说一下应用:
将集装箱装的不同尺寸的箱子作为dna,
比如箱子a,箱子b,箱子c,.......箱子z,一种装载顺序就是一种dna,例如 q1 = [a,c,b,....z] q2= [z,a,c,...b] 。。。qn= [c,z,a,....b]
随机生成n个不同的装载顺序的序列,这样就得到一个种群为n的种群[q1,q2,q3....qn],计算每个装载顺序的适应度(可装入的箱子体积/容器体积),然后轮盘选择法取n个dna,
得到种群大小为n的新的种群[q1,q1,q3,q5,q5,qn,....q5],设定交叉概率,映射交叉两种装载顺序,再加上变异概率,循环迭代,达到迭代次数后输出结果。
上述还没有考虑箱子的摆放,一个箱子有6种摆放方式,分别是[1,2,3,4,5,6],结合之后,dna序列可以改为
q1 = [a,c,b,....z,1,3,4,.....6] q2= [z,a,c,...b,5,2,3....2] 。。。qn= [c,z,a,....b,5,1,4....4]
加粗数字代表前面各箱子的摆放方式。
功能1: excel导入数据
功能2: 容器自定义,角件自定义
功能3:3d可视化,逐步显示装载过程
功能4:一键保存分享,别的电脑不需要安装软件。
软件链接:https://pan.baidu.com/s/1zyfhbdcngmkmordevzrfya 提取码: 93mk
按照现在欧线的市场价door to door 2500欧/40hq,一个公司一年1000个40hq集装箱出口,如果装载率提高5%,那么理论上一年可以节省50个40hq,也就是可以帮公司省2500*50=12.5万欧,折合人民币上百万。
还有市场上物流公司帮客户拼柜出口的,也很有市场。