编码机

锂电池立库堆垛机模型遗传算法设计及编码方

发布时间:2024/12/6 11:12:34   

一、染色体编码设计:模型采用实数编码方式,染色体信息包括货位编码、存取货需求以及货位操作顺序。编码由两层组成,上层表示需要存取货物的货位编号,下层采用0-1编码,编号0表示需要存入货物的货位,编号1表示需要取出货物的货位。

二、编码方式如下:

1、一条染色体表示一种堆垛机完成一次任务所有货物存取的路径。

2、一条染色体可分为n段,每段代表一个基因,每个基因表示堆垛机一次作业存取货的路径,其中n表示染色体中堆垛机从出库台取货存入仓库,再从仓库取出货物到出库台的作业次数。

3、每段基因由上下两层组成,上层表示货位编号,下层表示所对应的货位存取货需求,0表示需要存货,1表示需要取货。

4、每段基因长度为1-4,最多存在两个存两个取,也就是下层编码最多两个1,两个0;且存在两个存货时,第一个编码必为0,存在两个取货时,最后一个编码必为1。

5、堆垛机从出入库台搬货依次进入4号货位存货,12号货位取货,7号货位存货,5号货位取货,最后将所取货物搬回出入库台运出立体仓库,完成一次作业。然后重新搬取货物依次进入9号货位存货,3号货位存货,6号货位取货,1号货位取货,完成第二次作业。整条染色体表示一批货物存取货路径方案。

三、货位编码方式

种群初始化:初始化种群时,先设置种群规模为M,然后采用随机配的方法产生种群,将需要作业的货位随机分配,为了避免产生不可行解,需保证每个基因片段中最多存在两个存取货位,且存在两个存货货位时第一个必须为存货货位,存在两个取货货位时最后一个货位必须为取货货位。

四、定义适应度函数:适应度函数用来区分种群中个体好坏的标准,在这里所说的目标是求堆垛机总路程S最小值,因此把函数值的倒数作为个体适应度值,函数值越小,适应度值越大,个体越优秀。

五、选择操作:选择操作就是按照优胜劣汰的原则对种群中的基因进行筛选,适应度越高的个体被选中的几率越大,保证优秀基因的延续。在这里所说的是采用轮盘赌法,从旧群体中以一定的概率选择优良个体组成新的群体,每个染色体被选中的概率为一个群体。

六、交叉操作:采用部分映射杂交,确定交叉操作的父代,将父代样本两两分组,

1、每组进行以下过程:每隔4个货位划分一个基因片段,再从待交配的2个父代中随机选择一个基因片段进行交叉,剩余基因片段不变。

2、交叉后同一个个体中有重复的货位编号,用*号表示,有冲突的货位采用部分映射的方法消除冲突,也就是利用交换片段的货位码值对应关系进行映射。

3、变异操作:变异操作是模拟自然界生物进化中的个体基因突变,目的是为了保持种群多样性。在这里所说的变异策略为随机选择染色体中两个货位码值相同的位置进行对换,如选择货位码值均为1的12和6两个货位的位置进行对换,得到变异后的染色体。



转载请注明:http://www.aideyishus.com/lkgx/7328.html
------分隔线----------------------------