当前位置: 移动技术网 > IT编程>脚本编程>Python > 遗传算法集装箱优化算法Django+Three.js实现

遗传算法集装箱优化算法Django+Three.js实现

2019年05月29日  | 移动技术网IT编程  | 我要评论

桂东县人民政府,八木加奈耶,乳交之霸

自学编程一年多了,结合自己在供应链工作的经验做的,希望大家喜欢,本人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万欧,折合人民币上百万。

还有市场上物流公司帮客户拼柜出口的,也很有市场。

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网