欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-12-31 20:25:04
自学编程一年多了,结合自己在供应链工作的经验做的,希望大家喜欢,本人QQ 394601344,有兴趣可以加我私聊,谢谢。 前端Web用的Three.js,BootStrap ,后端用的Django,用的遗传算法。 遗传算法: 其实弄明白了也就那么回事,不明白的时候想破脑袋,遗传算法参考的这篇文章 h ......

自学编程一年多了,结合自己在供应链工作的经验做的,希望大家喜欢,本人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导入数据

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

功能2: 容器自定义,角件自定义

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

功能3:3d可视化,逐步显示装载过程

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

功能4:一键保存分享,别的电脑不需要安装软件。

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

 

软件链接:https://pan.baidu.com/s/1zyfhbdcngmkmordevzrfya 提取码: 93mk

按照现在欧线的市场价door to door 2500欧/40hq,一个公司一年1000个40hq集装箱出口,如果装载率提高5%,那么理论上一年可以节省50个40hq,也就是可以帮公司省2500*50=12.5万欧,折合人民币上百万。

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

 

上一篇:

下一篇: