CN106682788A - 一种拣选顺序确定的方法及装置 - Google Patents
一种拣选顺序确定的方法及装置 Download PDFInfo
- Publication number
- CN106682788A CN106682788A CN201710012887.XA CN201710012887A CN106682788A CN 106682788 A CN106682788 A CN 106682788A CN 201710012887 A CN201710012887 A CN 201710012887A CN 106682788 A CN106682788 A CN 106682788A
- Authority
- CN
- China
- Prior art keywords
- particle
- filial generation
- fitness
- population
- parent population
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/087—Inventory or stock management, e.g. order filling, procurement or balancing against orders
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- General Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- Bioinformatics & Computational Biology (AREA)
- Operations Research (AREA)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Development Economics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Genetics & Genomics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Game Theory and Decision Science (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Physiology (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种拣选顺序确定方法及装置,根据优化目标,建立拣选顺序问题的目标函数,利用粒子群算法对目标函数进行初始化,生成父代粒子群,通过进行适应度比较,确定出每个粒子对应的个体极值,以及父代粒子群的局部极值。通过依据所述个体极值和所述局部极值,对所述父代粒子群进行交叉变异操作,生成子代粒子群,将所述子代粒子群作为下一次迭代的父代粒子群,重复执行上述操作,直到迭代次数达到预设的最大迭代次数,则停止重复执行上述操作,输出拣选顺序问题的结果。上述技术方案可以有效的避免粒子群算法接近最优解时带来的早熟问题,从而有效避免最优解为局部最优的情况,从而可以确定出一种花费时间最少的拣选顺序。
Description
技术领域
本发明涉及仓储管理技术领域,特别是涉及一种基于遗传思想粒子群算法的拣选顺序确定的方法及装置。
背景技术
仓储管理是指对仓库和仓库中的存储的物资进行管理,由于现代仓储的作用不仅是保管,更多的是物资流转中心,对仓储管理的重点不仅仅是着眼于物资保管的安全性,更多关注的是如何运用现代技术,如信息技术、自动化技术来提高仓储运作的速度和效益。
仓储管理的基本内容包括货物的出库作业和入库作业等,巷道堆垛机是仓储管理中常用的工具,可以完成货物在货架范围内的纵向和横向移动,将位于巷道口的货物存入货格,或者取出货格内的货物运送到巷道口,实现货物的三维立体拣选。固定货架中货物的货位点相对固定,利用巷道堆垛机进行固定货架中货物拣选,一般情况下,拣选货物的数量较多,不同的拣选顺序所花费的拣选时间往往不同,若能够确定出拣选时间最少的一种拣选顺序,将极大的节省拣选货物花费的时间,从而提高拣选的工作效率。
传统方式中,采用粒子群算法对拣选顺序进行优化,以期望确定出最优解即最优的拣选顺序,依照该拣选顺序,使得巷道堆垛机拣选货物花费的时间最少。但是粒子群算法初期收敛速度非常快,当粒子接近最优解时,速度几乎变为零,导致收敛速度变慢,使得粒子群出现趋同性,带来早熟,也即确定出的最优解出现局部最优的情况。
因此,如何改善粒子群算法的早熟问题,从而确定出最优的拣选顺序,是本领域技术人员亟待解决的技术问题。
发明内容
本发明的目的是提供一种基于遗传思想粒子群算法的拣选顺序确定的方法及装置,可以有效改善粒子群算法的早熟问题,从而确定出一种最优的拣选顺序即花费时间最少的拣选顺序。
为解决上述技术问题,本发明提供一种基于遗传思想粒子群算法的拣选顺序确定的方法包括:
S1、根据优化目标,建立拣选顺序问题的目标函数;
S2、利用粒子群算法对目标函数进行初始化,生成父代粒子群;
S3、计算所述父代粒子群中各个粒子的适应度;
S4、比较所述父代粒子群中目标粒子的适应度和所述目标粒子的个体最优位置的适应度,将适应度最优值作为所述目标粒子的个体极值;所述目标粒子为所述父代粒子群中的任意一个粒子;
S5、比较所述父代粒子群中各个粒子的适应度和所述父代粒子群的群体最优位置的适应度,将适应度最优值作为所述父代粒子群的局部极值;
S6、依据所述个体极值和所述局部极值,对所述父代粒子群进行交叉变异操作,生成子代粒子群;
S7、将所述子代粒子群作为下一次迭代的父代粒子群;
S8、判断迭代次数是否达到预设的最大迭代次数,若是,输出拣选顺序问题的结果;若否则返回所述S3。
可选的,所述目标函数具体为:
其中,T表示拣选顺序花费的时间,n表示货位点个数,xi表示货位点i的列号,zi表示货位点i的行号,b为货格宽度,h为货格高度;vx为水平运动速度,vz为垂直运动速度。
可选的,在所述S6中:
S61:将所述目标粒子与所述目标粒子相对应的个体极值进行交叉操作,产生第一子代粒子,比较所述目标粒子的适应度和所述第一子代粒子的适应度;将适应度最优的粒子作为第二子代粒子,产生第二子代粒子群;所述第二子代粒子群由所述至少一个第二子代粒子构成;
S62、将所述第二子代粒子与所述局部极值进行交叉操作,产生第三子代粒子,比较所述第二子代粒子的适应度和所述第三子代粒子的适应度;将适应度最优的粒子作为第四子代粒子,产生第四子代粒子群;所述第四子代粒子群由所述至少一个第四子代粒子构成;
S63、将所述第四子代粒子进行变异操作,产生第五子代粒子,比较所述第四子代粒子的适应度和所述第五子代粒子的适应度;将适应度最优的粒子群作为第六子代粒子,产生第六子代粒子群;所述第六子代粒子群由所述至少一个第六子代粒子构成;
所述将所述子代粒子群作为下一次迭代的父代粒子群,包括:将所述第六子代粒子群作为下一次迭代的父代粒子群。
可选的,在所述S61中:
将所述目标粒子与所述目标粒子相对应的个体极值采用部分映射交叉算子进行交叉操作,产生第一子代粒子。
可选的,在所述S62中:
将所述第二子代粒子与所述局部极值采用部分映射交叉算子进行交叉操作,产生第三子代粒子。
可选的,在所述S63中:
将所述第四子代粒子采用换序变异方式进行变异操作,产生第五子代粒子。
本发明还提供一种基于遗传思想粒子群算法的拣选顺序确定装置包括,所述拣选顺序确定装置包括建立单元、生成单元、计算单元、比较单元、交叉变异单元、替换单元和判断单元:
所述建立单元,用于根据优化目标,建立拣选顺序问题的目标函数;
所述生成单元,用于利用粒子群算法对目标函数进行初始化,生成父代粒子群;
所述计算单元,用于计算所述父代粒子群中各个粒子的适应度;
所述比较单元,用于比较所述父代粒子群中目标粒子的适应度和所述目标粒子的个体最优位置的适应度,将适应度最优值作为所述目标粒子的个体极值;所述目标粒子为所述父代粒子群中的任意一个粒子;
所述比较单元还用于比较所述父代粒子群中各个粒子的适应度和所述父代粒子群的群体最优位置的适应度,将适应度最优值作为所述父代粒子群的局部极值;
所述交叉变异单元,用于依据所述个体极值和所述局部极值,对所述父代粒子群进行交叉变异操作,生成子代粒子群;
所述替换单元,用于将所述子代粒子群作为下一次迭代的父代粒子群;
所述判断单元,用于判断迭代次数是否达到预设的最大迭代次数,若是,输出拣选顺序问题的结果;若否则触发所述计算单元。
可选的,所述目标函数具体为:
其中,T表示拣选顺序花费的时间,n表示货位点个数,xi表示货位点i的列号,zi表示货位点i的行号,b为货格宽度,h为货格高度;vx为水平运动速度,vz为垂直运动速度。
可选的,所述交叉变异单元包括交叉子单元和变异子单元:
所述交叉子单元,用于将所述目标粒子与所述目标粒子相对应的个体极值进行交叉操作,产生第一子代粒子,比较所述目标粒子的适应度和所述第一子代粒子的适应度;将适应度最优的粒子作为第二子代粒子,产生第二子代粒子群;所述第二子代粒子群由所述至少一个第二子代粒子构成;
所述交叉子单元还用于将所述第二子代粒子与所述局部极值进行交叉操作,产生第三子代粒子,比较所述第二子代粒子的适应度和所述第三子代粒子的适应度;将适应度最优的粒子作为第四子代粒子,产生第四子代粒子群;所述第四子代粒子群由所述至少一个第四子代粒子构成;
所述变异子单元,用于将所述第四子代粒子进行变异操作,产生第五子代粒子,比较所述第四子代粒子的适应度和所述第五子代粒子的适应度;将适应度最优的粒子群作为第六子代粒子,产生第六子代粒子群;所述第六子代粒子群由所述至少一个第六子代粒子构成;
所述替换单元具体用于将所述第六子代粒子群作为下一次迭代的父代粒子群。
由上述技术方案可以看出,根据优化目标,建立拣选顺序问题的目标函数,利用粒子群算法对目标函数进行初始化,生成父代粒子群,通过将父代粒子群中各个粒子与其对应的个体最优位置进行适应度的比较,确定出每个粒子对应的个体极值,并将父代粒子群中各个粒子与群体最优位置进行适应度的比较,确定出父代粒子群的局部极值。通过依据所述个体极值和所述局部极值,对所述父代粒子群进行交叉变异操作,生成子代粒子群,将所述子代粒子群作为下一次迭代的父代粒子群,重复执行上述操作,直到迭代次数达到预设的最大迭代次数,则停止重复执行上述操作,输出拣选顺序问题的结果。上述技术方案可以有效的避免粒子群算法接近最优解时带来的早熟问题,从而有效避免最优解为局部最优的情况,从而可以确定出一种花费时间最少的拣选顺序。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于遗传思想粒子群算法的拣选顺序确定方法的流程图;
图2为本发明实施例提供的一种交叉变异操作方法的流程图;
图3为本发明实施例提供的一种基于遗传思想粒子群算法的拣选顺序确定装置的装置结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
接下来,详细介绍本发明实施例所提供的一种基于遗传思想粒子群算法的拣选顺序确定方法。本发明实施例提供的方法,可以应用于对货物拣选时,确定出一种拣选代价最小的拣选顺序。拣选代价具体可以是依照拣选顺序拣选货物时花费的时间。
图1为本发明实施例提供的一种基于遗传思想粒子群算法的拣选顺序确定方法的流程图,所述拣选顺序确定方法包括:
S1、根据优化目标,建立拣选顺序问题的目标函数。
在实际应用中,利用巷道堆垛机对货物进行拣选时,每个或每类货物有其固定的存放位置即货位点,本发明实施例中,拣选顺序可以是拣选货物时经过的货位点的顺序。在本发明实施例中,可以采用顺序编码的方式,来表示拣选顺序,例如,有9个货位点,可以用1-9这9个不重复的自然数来表示。
不同的拣选顺序,其花费的时间不尽相同。优化目标可以是确定出一种花费时间最少的拣选顺序。
根据优化目标可以建立相对应的目标函数,该目标函数可以是能够实现该优化目标的一个函数。因为优化目标是关于花费时间最少,因此建立的目标函数可以是一个与时间相关的函数,该目标函数具体可以为:
其中,T表示拣选顺序花费的时间,n表示货位点个数,xi表示货位点i的列号,zi表示货位点i的行号,xi+1表示货位点i+1的列号,zi+1表示货位点i+1的行号,b为货格宽度,h为货格高度;vx为水平运动速度,vz为垂直运动速度。
在本发明实施例中,拣选顺序花费的时间,可以是巷道堆垛机从原点例如巷道口出发遍历各个货位点一次且仅一次,完成拣选货物任务最后回到原点所使用的时间。
S2、利用粒子群算法对目标函数进行初始化,生成父代粒子群。
父代粒子群可以是一次迭代过程中,最初生成的粒子群。
利用粒子群算法对目标函数进行初始化,可以在n维解空间中随机生成m个粒子,在本发明实施例中,可将生成的m个粒子作为父代粒子群,父代粒子群中的每个粒子都有其对应的位置和速度。
n维解空间可以是一个n列m行的二维矩阵,每个粒子占用一行。n的具体取值可以是拣选货物的货位点个数。本发明实施例,对于m的具体数值不做限定,可以是根据优化的具体要求确定,或者是参考n的取值确定,例如m的取值可以是n取值的倍数。
S3、计算所述父代粒子群中各个粒子的适应度。
每个粒子可以代表一种拣选顺序,粒子的适应度可以反映出花费时间的长短。
可以根据适应度函数计算每个粒子的适应度,在本发明实施例中,适应度函数可以是与目标函数相同的函数,即适应度函数可以是:
在本发明实施例中,需要确定出花费时间最少的拣选顺序,故此,每个粒子的适应度越小,说明该粒子代表的拣选顺序花费的时间越少。
S4、比较所述父代粒子群中目标粒子的适应度和所述目标粒子的个体最优位置的适应度,将适应度最优值作为所述目标粒子的个体极值;所述目标粒子为所述父代粒子群中的任意一个粒子。
每个粒子都有其对应的一个个体极值,个体极值可以是该粒子在最优位置得到的适应度值,即当前发现的最优解。
利用粒子群算法,生成父代粒子群时,每个粒子都会有其对应的一个个体最优位置,在上述过程中随机产生m个粒子,则这m个粒子其对应的有m个个体最优位置。在初始化时,将粒子对应的个体最优位置的适应度值默认为该粒子对应的个体极值。
为了进一步明确默认的粒子对应的个体极值是否为该粒子在最优位置得到的适应度值,可以将每个粒子的适应度与其对应的个体最优位置的适应度进行比较,从而选取出每个粒子对应的个体极值。
以一个粒子为例,当该粒子的适应度小于其对应的个体最优位置的适应度时,则可以将该粒子的适应度值作为该粒子的个体极值;同理,当该粒子的适应度大于其对应的个体最优位置的适应度时,则可以仍将该个体最优位置的适应度值作为该粒子的个体极值。对于该粒子的适应度等于其对应的个体最优位置的适应度的情况,则可以选取其中的任意一个作为个体极值,例如,可以是将该粒子的适应度值作为该粒子的个体极值,或者是仍将该个体最优位置的适应度值作为该粒子的个体极值。
S5、比较所述父代粒子群中各个粒子的适应度和所述父代粒子群的群体最优位置的适应度,将适应度最优值作为所述父代粒子群的局部极值。
在一个粒子群中会其对应的一个局部极值,局部极值可以是该粒子群中最优位置的粒子的适应度值,即该粒子群中发现的全局最优解。
利用粒子群算法,生成父代粒子群时,该父代粒子群会有对应的一个群体最优位置。在初始化时,将粒子群的群体最优位置的适应度值默认为该粒子群对应的局部极值。
为了进一步明确默认的粒子群对应的局部极值是否为该粒子群中最优位置的粒子的适应度值,可以将每个粒子的适应度与该群体最优位置的适应度进行比较,从而选取出该粒子群对应的局部极值。
本发明实施例中,对于比较每个粒子的适应度与该群体最优位置的适应度的方式不做限定,可以将该粒子群中的每个粒子依次与该群体最优位置进行适应度的比较,最终确定出该粒子群的局部极值,例如,一个粒子群中包含有30个粒子,分别为粒子1-粒子30,该粒子群对应有一个群体最优位置,将粒子1与该群体最优位置的适应度进行比较,选择出适应度较小的作为新的群体最优位置,再将粒子2与该新的群体最优位置的适应度进行比较,选择出适应度较小的作为新的群体最优位置,依次类推,直到将该粒子群所有的粒子比较完毕,则最终得到的新的群体最优位置的适应度值即为该粒子群的局部极值。
也可以是先将该粒子群中的各个粒子的适应度进行比较,选出适应度最小的粒子,再将该粒子与该群体最优位置进行适应度的比较,若该粒子的适应度小于该群体最优位置的适应度值,则将该粒子的适应度值作为该粒子群的局部极值,若该粒子的适应度大于该群体最优位置的适应度值,则可以仍将该群体最优位置的适应度值作为该粒子群的局部极值。对于该粒子的适应度等于该群体最优位置的适应度值的情况,则可以选取其中的任意一个作为局部极值,例如,可以是将该粒子的适应度值作为该粒子群的局部极值,或者是仍将该个体最优位置的适应度值作为该粒子群的局部极值。
通过将粒子群体中每个粒子的适应度值与该群体最优位置的适应度值进行比较,可以确定出一个最优的适应度值作为该粒子群体的局部极值。
S6、依据所述个体极值和所述局部极值,对所述父代粒子群进行交叉变异操作,生成子代粒子群。
利用粒子群算法进行优化时,当粒子接近最优位置时,该最优位置可以用于标识花费时间最少的一种拣选顺序,收敛速度会变慢,导致粒子群出现趋同性,带来早熟,为了降低该早熟造成的影响,本发明实施例中,可以采用遗传算法中的交叉变异操作,对该粒子群进行处理,生成子代粒子群。相比于父代粒子群,该子代粒子群中的粒子接近最优位置时,可以有效避免产生局部最优解。
以一个粒子群P={p1,p2,...,pN}为例,其中p代表单个粒子,N表示群体规模,即粒子群中包含的粒子的个数。每个粒子通过所在的位置和速度来描述,不同位置的粒子其适应度值不同。粒子pi在d维解空间的位置表示为Xi=[xi1,xi2,...,xid]T,而速度表示为Vi=[vi1,vi2,...,vid]T。粒子pi的个体极值表示为pbesti,即pbesti是粒子pi当前发现的最优解。pi的局部极值表示为gbesti,即gbesti是粒子pi所在粒子群发现的全局最优解。
假设第i个粒子在第n代的位置和速度为Xi (n)和Vi (n),则第n+1代粒子的信息为:
Vi (n+1)=w·Vi (n)+c1·rand()·(pbesti-Xi (n))+c2·rand()·(gbesti-Xi (n)) (4)
其中,w是一个正常数,称为惯性权重系数,c1、c2分别表示粒子自身加速度权重和全局加速度权重,rand()是在[0,1]中服从均匀分布的随机数。
融入遗传思想的粒子群算法是将公式(4)中的w·Vi (n)项看作是一种变异操作,c1·rand()·(pbesti-Xi (n))+c2·rand()·(gbesti-Xi (n))项看作是一种交叉操作。
S7、将所述子代粒子群作为下一次迭代的父代粒子群。
S8、判断迭代次数是否达到预设的最大迭代次数,若是,输出拣选顺序问题的结果;若否则返回所述S3。
在上述操作中粒子群中包含有m个粒子,每个粒子可以用于标识一种拣选顺序,通过将粒子的位置不断进行优化,即将该粒子不断接近最优位置。通过迭代操作,该粒子群中的每个粒子最终会趋向于同一个最优位置,即拣选顺序问题的结果。
预设的最大迭代次数,可以根据实际操作的需求进行设置。当迭代次数达到预设的最大迭代次数后,可以输出拣选顺序问题的结果,该结果即为标识花费时间最少的一种拣选顺序。
需要说明的是,在每一次迭代过程中都有其对应的父代粒子群和子代粒子群,每次迭代过程中父代粒子群与上一次迭代过程中的父代粒子群可以不同,每次迭代过程得到的子代粒子群与上一次迭代过程得到的子代粒子群可以不同。
接下来,将对该父代粒子群进行交叉变异操作的具体操作过程展开介绍,如图2所示,为一种可行的交叉变异操作的方式,具体操作如下:
S61:将所述目标粒子与所述目标粒子相对应的个体极值进行交叉操作,产生第一子代粒子,比较所述目标粒子的适应度和所述第一子代粒子的适应度;将适应度最优的粒子作为第二子代粒子,产生第二子代粒子群;所述第二子代粒子群由所述至少一个第二子代粒子构成。
在本发明实施例中,每个粒子可以用于标识一种拣选顺序,该拣选顺序可以通过一个编码串来表示,例如,有9个货位点,分别用自然数1-9表示这9个货位点,编码串123456789表示一种从货位点1依次到货位点9的拣选顺序。
将目标粒子与所述目标粒子相对应的个体极值进行交叉操作,具体可以是将该目标粒子对应的编码串与该个体极值对应的编码串采用部分映射交叉(Partially MappedCrossover,PMX)进行交叉操作。例如
A=1 2|3 4 5 6|7 8 9
B=9 8|7 6 5 4|3 2 1
其中,A可以是父代粒子群中的一个粒子对应的编码串,可以称作父代编码串,B可以是与该粒子对应的个体极值对应的编码串。
首先在父代编码串上随机选择两个交叉点,例如X=3,Y=6,按照对应的映射关系交换A、B中的3到6的基因串,然后对A、B进行修复,若交叉区域中的基因与未交换的基因有重复,则根据基因串的映射关系进行替换。本例的映射关系为:
映射关系:3-7,4-6,5-5
利用PMX计算结束后,可以得到新编码串为:
A'=1 2|7 6 5 4|3 8 9
B'=9 8|3 4 5 6|7 2 1
其中,A'表示的编码串所对应的粒子即为得到的第一子代粒子,将该第一子代粒子与A表示的编码串所对应的粒子的适应度进行比较,当该粒子的适应度小于第一子代粒子的适应度时,则可以将该粒子作为第二子代粒子;当该粒子的适应度大于第一子代粒子的适应度时,则可以将该第一子代粒子作为第二子代粒子。对于该粒子的适应度等于第一子代粒子的适应度的情况,则可以选取其中的任意一个作为第二子代粒子。
以此类推,可以将每个粒子与其对应的第一子代粒子的适应度进行比较,选择适应度较小的粒子作为第二子代粒子,从而完成对粒子位置的更新,使得粒子群中的每个粒子都可以更加接近最优位置。
在上述S4中可以得到父代粒子群中每个粒子对应的个体极值,将每个粒子与该粒子相对应的个体极值采用部分映射交叉进行计算,可以产生第一子代粒子,在父代粒子群中包含有m个粒子,对应的可以产生m个第一子代粒子,将每个粒子与其对应的第一子代粒子的适应度进行比较,选择适应度较小的粒子作为第二子代粒子,对应的可以产生m个第二子代粒子,该m个第二子代粒子可以构成一个第二子代粒子群。
其中粒子的适应度的计算方式与上述S3中计算粒子的适应度的计算方式类似,在此不再赘述。
S62、将所述第二子代粒子与所述局部极值进行交叉操作,产生第三子代粒子,比较所述第二子代粒子的适应度和所述第三子代粒子的适应度;将适应度最优的粒子作为第四子代粒子,产生第四子代粒子群;所述第四子代粒子群由所述至少一个第四子代粒子构成。
该步骤中的交叉操作与上述S61中交叉操作的方式类似,在此不再赘述。
通过将第二子代粒子群中每个第二子代粒子与上述S5中得到的局部极值的适应度进行交叉操作,产生第三子代粒子。第二子代粒子群中每一个第二子代粒子都有其对应的一个第三子代粒子。
通过将第二子代粒子与第三子代粒子的适应度进行比较,选择适应度较小的粒子作为第四子代粒子,从而完成对粒子位置的更新,使得粒子群中的每个粒子都可以更加接近最优位置。
其中粒子的适应度的计算方式与上述S3中计算粒子的适应度的计算方式类似,在此不再赘述。
在上述S61中可以得到m个第二子代粒子,可以构成一个第二子代粒子群。通过S62的操作可以将m个第二子代粒子的位置进行进一步的优化,得到m个第四子代粒子,可以构成一个第四子代粒子群。与第二子代粒子群相比,该第四子代粒子群中的粒子更加接近最优位置。
S63、将所述第四子代粒子进行变异操作,产生第五子代粒子,比较所述第四子代粒子的适应度和所述第五子代粒子的适应度;将适应度最优的粒子群作为第六子代粒子,产生第六子代粒子群;所述第六子代粒子群由所述至少一个第六子代粒子构成。
本发明实施例中可以采用换序变异的方式进行变异操作,随机在编码串上选择两个位置,倒置其间的数字,这样就可以避免非法解的产生。举例说明如下:
假设有一个粒子的编码串为:
L=1 3 5 7 2 4 6 8 9
其中,L可以是第四子代粒子群中的一个粒子对应的编码串。
随机选择编码串中的第3位和第5位进行换序变异,新的编码串为:
N=1 3 2 7 5 4 6 8 9
其中,N表示的编码串所对应的粒子即为得到的第五子代粒子。
通过将第四子代粒子与第五子代粒子的适应度进行比较,选择适应度较小的粒子作为第六子代粒子,从而完成对粒子位置的更新,使得粒子群中的每个粒子都可以更加接近最优位置。
其中粒子的适应度的计算方式与上述S3中计算粒子的适应度的计算方式类似,在此不再赘述。
通过S63的操作可以将m个第四子代粒子的位置进行进一步的优化,得到m个第六子代粒子,可以构成一个第六子代粒子群。与第四子代粒子群相比,该第六子代粒子群中的粒子更加接近最优位置。
本发明实施例中,对于S63和S61-S62的执行顺序不做限定,可以是先执行S61和S62,再执行S63,也可以是先执行S63,再执行S61和S62。
上述过程S61-S63是对S6中交叉变异操作的具体介绍,由此产生第六子代粒子群即为S6中所述的子代粒子群,故此,将所述子代粒子群作为下一次迭代的父代粒子群包括:将所述第六子代粒子群作为下一次迭代的父代粒子群。
由上述技术方案可以看出,根据优化目标,建立拣选顺序问题的目标函数,利用粒子群算法对目标函数进行初始化,生成父代粒子群,通过将父代粒子群中各个粒子与其对应的个体最优位置进行适应度的比较,确定出每个粒子对应的个体极值,并将父代粒子群中各个粒子与群体最优位置进行适应度的比较,确定出父代粒子群的局部极值。通过依据所述个体极值和所述局部极值,对所述父代粒子群进行交叉变异操作,生成子代粒子群,将所述子代粒子群作为下一次迭代的父代粒子群,重复执行上述操作,直到迭代次数达到预设的最大迭代次数,则停止重复执行上述操作,输出拣选顺序问题的结果。上述技术方案可以有效的避免粒子群算法接近最优解时带来的早熟问题,从而有效避免最优解为局部最优的情况,从而可以确定出一种花费时间最少的拣选顺序。
图3为本发明实施例提供的一种基于遗传思想粒子群算法的拣选顺序确定装置的装置结构图,所述拣选顺序确定装置包括建立单元31、生成单元32、计算单元33、比较单元34、交叉变异单元35、替换单元36和判断单元37:
所述建立单元31,用于根据优化目标,建立拣选顺序问题的目标函数。
所述生成单元32,用于利用粒子群算法对目标函数进行初始化,生成父代粒子群。
所述计算单元33,用于计算所述父代粒子群中各个粒子的适应度。
所述比较单元34,用于比较所述父代粒子群中目标粒子的适应度和所述目标粒子的个体最优位置的适应度,将适应度最优值作为所述目标粒子的个体极值;所述目标粒子为所述父代粒子群中的任意一个粒子。
所述比较单元34还用于比较所述父代粒子群中各个粒子的适应度和所述父代粒子群的群体最优位置的适应度,将适应度最优值作为所述父代粒子群的局部极值。
所述交叉变异单元35,用于依据所述个体极值和所述局部极值,对所述父代粒子群进行交叉变异操作,生成子代粒子群。
所述替换单元36,用于将所述子代粒子群作为下一次迭代的父代粒子群。
所述判断单元37,用于判断迭代次数是否达到预设的最大迭代次数,若是,输出拣选顺序问题的结果;若否则触发所述计算单元。
可选的,所述目标函数具体为:
其中,T表示拣选顺序花费的时间,n表示货位点个数,xi表示货位点i的列号,zi表示货位点i的行号,xi+1表示货位点i+1的列号,zi+1表示货位点i+1的行号,b为货格宽度,h为货格高度;vx为水平运动速度,vz为垂直运动速度。
可选的,所述交叉变异单元包括交叉子单元和变异子单元:
所述交叉子单元,用于将所述目标粒子与所述目标粒子相对应的个体极值进行交叉操作,产生第一子代粒子,比较所述目标粒子的适应度和所述第一子代粒子的适应度;将适应度最优的粒子作为第二子代粒子,产生第二子代粒子群;所述第二子代粒子群由所述至少一个第二子代粒子构成;
所述交叉子单元还用于将所述第二子代粒子与所述局部极值进行交叉操作,产生第三子代粒子,比较所述第二子代粒子的适应度和所述第三子代粒子的适应度;将适应度最优的粒子作为第四子代粒子,产生第四子代粒子群;所述第四子代粒子群由所述至少一个第四子代粒子构成;
所述变异子单元,用于将所述第四子代粒子进行变异操作,产生第五子代粒子,比较所述第四子代粒子的适应度和所述第五子代粒子的适应度;将适应度最优的粒子群作为第六子代粒子,产生第六子代粒子群;所述第六子代粒子群由所述至少一个第六子代粒子构成;
所述替换单元具体用于将所述第六子代粒子群作为下一次迭代的父代粒子群。
图3所对应实施例中特征的说明可以参见图1、图2所对应实施例的相关说明,这里不再一一赘述。
由上述技术方案可以看出,根据优化目标,建立拣选顺序问题的目标函数,利用粒子群算法对目标函数进行初始化,生成父代粒子群,通过将父代粒子群中各个粒子与其对应的个体最优位置进行适应度的比较,确定出每个粒子对应的个体极值,并将父代粒子群中各个粒子与群体最优位置进行适应度的比较,确定出父代粒子群的局部极值。通过依据所述个体极值和所述局部极值,对所述父代粒子群进行交叉变异操作,生成子代粒子群,将所述子代粒子群作为下一次迭代的父代粒子群,重复执行上述操作,直到迭代次数达到预设的最大迭代次数,则停止重复执行上述操作,输出拣选顺序问题的结果。上述技术方案可以有效的避免粒子群算法接近最优解时带来的早熟问题,从而有效避免最优解为局部最优的情况,从而可以确定出一种花费时间最少的拣选顺序。
以上对本发明所提供的基于遗传思想粒子群算法的拣选顺序确定方法及装置进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
Claims (9)
1.一种基于遗传思想粒子群算法的拣选顺序确定方法,其特征在于,所述拣选顺序确定方法包括:
S1、根据优化目标,建立拣选顺序问题的目标函数;
S2、利用粒子群算法对目标函数进行初始化,生成父代粒子群;
S3、计算所述父代粒子群中各个粒子的适应度;
S4、比较所述父代粒子群中目标粒子的适应度和所述目标粒子的个体最优位置的适应度,将适应度最优值作为所述目标粒子的个体极值;所述目标粒子为所述父代粒子群中的任意一个粒子;
S5、比较所述父代粒子群中各个粒子的适应度和所述父代粒子群的群体最优位置的适应度,将适应度最优值作为所述父代粒子群的局部极值;
S6、依据所述个体极值和所述局部极值,对所述父代粒子群进行交叉变异操作,生成子代粒子群;
S7、将所述子代粒子群作为下一次迭代的父代粒子群;
S8、判断迭代次数是否达到预设的最大迭代次数,若是,输出拣选顺序问题的结果;若否则返回所述S3。
2.根据权利要求1所述的拣选顺序确定方法,其特征在于,所述目标函数具体为:
其中,T表示拣选顺序花费的时间,n表示货位点个数,xi表示货位点i的列号,zi表示货位点i的行号,b为货格宽度,h为货格高度;vx为水平运动速度,vz为垂直运动速度。
3.根据权利要求2所述的拣选顺序确定方法,其特征在于,在所述S6中:
S61:将所述目标粒子与所述目标粒子相对应的个体极值进行交叉操作,产生第一子代粒子,比较所述目标粒子的适应度和所述第一子代粒子的适应度;将适应度最优的粒子作为第二子代粒子,产生第二子代粒子群;所述第二子代粒子群由所述至少一个第二子代粒子构成;
S62、将所述第二子代粒子与所述局部极值进行交叉操作,产生第三子代粒子,比较所述第二子代粒子的适应度和所述第三子代粒子的适应度;将适应度最优的粒子作为第四子代粒子,产生第四子代粒子群;所述第四子代粒子群由所述至少一个第四子代粒子构成;
S63、将所述第四子代粒子进行变异操作,产生第五子代粒子,比较所述第四子代粒子的适应度和所述第五子代粒子的适应度;将适应度最优的粒子群作为第六子代粒子,产生第六子代粒子群;所述第六子代粒子群由所述至少一个第六子代粒子构成;
所述将所述子代粒子群作为下一次迭代的父代粒子群,包括:将所述第六子代粒子群作为下一次迭代的父代粒子群。
4.根据权利要求3所述的拣选顺序确定方法,其特征在于,在所述S61中:
将所述目标粒子与所述目标粒子相对应的个体极值采用部分映射交叉算子进行交叉操作,产生第一子代粒子。
5.根据权利要求3所述的拣选顺序确定方法,其特征在于,在所述S62中:
将所述第二子代粒子与所述局部极值采用部分映射交叉算子进行交叉操作,产生第三子代粒子。
6.根据权利要求3所述的拣选顺序确定方法,其特征在于,在所述S63中:
将所述第四子代粒子采用换序变异方式进行变异操作,产生第五子代粒子。
7.一种基于遗传思想粒子群算法的拣选顺序确定装置,其特征在于,所述拣选顺序确定装置包括建立单元、生成单元、计算单元、比较单元、交叉变异单元、替换单元和判断单元:
所述建立单元,用于根据优化目标,建立拣选顺序问题的目标函数;
所述生成单元,用于利用粒子群算法对目标函数进行初始化,生成父代粒子群;
所述计算单元,用于计算所述父代粒子群中各个粒子的适应度;
所述比较单元,用于比较所述父代粒子群中目标粒子的适应度和所述目标粒子的个体最优位置的适应度,将适应度最优值作为所述目标粒子的个体极值;所述目标粒子为所述父代粒子群中的任意一个粒子;
所述比较单元还用于比较所述父代粒子群中各个粒子的适应度和所述父代粒子群的群体最优位置的适应度,将适应度最优值作为所述父代粒子群的局部极值;
所述交叉变异单元,用于依据所述个体极值和所述局部极值,对所述父代粒子群进行交叉变异操作,生成子代粒子群;
所述替换单元,用于将所述子代粒子群作为下一次迭代的父代粒子群;
所述判断单元,用于判断迭代次数是否达到预设的最大迭代次数,若是,输出拣选顺序问题的结果;若否则触发所述计算单元。
8.根据权利要求7所述的拣选顺序确定装置,其特征在于,所述目标函数具体为:
其中,T表示拣选顺序花费的时间,n表示货位点个数,xi表示货位点i的列号,zi表示货位点i的行号,b为货格宽度,h为货格高度;vx为水平运动速度,vz为垂直运动速度。
9.根据权利要求8所述的拣选顺序确定装置,其特征在于,所述交叉变异单元包括交叉子单元和变异子单元:
所述交叉子单元,用于将所述目标粒子与所述目标粒子相对应的个体极值进行交叉操作,产生第一子代粒子,比较所述目标粒子的适应度和所述第一子代粒子的适应度;将适应度最优的粒子作为第二子代粒子,产生第二子代粒子群;所述第二子代粒子群由所述至少一个第二子代粒子构成;
所述交叉子单元还用于将所述第二子代粒子与所述局部极值进行交叉操作,产生第三子代粒子,比较所述第二子代粒子的适应度和所述第三子代粒子的适应度;将适应度最优的粒子作为第四子代粒子,产生第四子代粒子群;所述第四子代粒子群由所述至少一个第四子代粒子构成;
所述变异子单元,用于将所述第四子代粒子进行变异操作,产生第五子代粒子,比较所述第四子代粒子的适应度和所述第五子代粒子的适应度;将适应度最优的粒子群作为第六子代粒子,产生第六子代粒子群;所述第六子代粒子群由所述至少一个第六子代粒子构成;
所述替换单元具体用于将所述第六子代粒子群作为下一次迭代的父代粒子群。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710012887.XA CN106682788A (zh) | 2017-01-09 | 2017-01-09 | 一种拣选顺序确定的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710012887.XA CN106682788A (zh) | 2017-01-09 | 2017-01-09 | 一种拣选顺序确定的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106682788A true CN106682788A (zh) | 2017-05-17 |
Family
ID=58850266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710012887.XA Pending CN106682788A (zh) | 2017-01-09 | 2017-01-09 | 一种拣选顺序确定的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106682788A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019120158A1 (zh) * | 2017-12-22 | 2019-06-27 | 菜鸟智能物流控股有限公司 | 物品拣选方法及相关设备 |
CN113269426A (zh) * | 2021-05-18 | 2021-08-17 | 哈尔滨工程大学 | 一种基于启发式改进粒子群算法的宿舍分配方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101807900A (zh) * | 2010-03-10 | 2010-08-18 | 北京航空航天大学 | 基于并行遗传重采样的粒子滤波技术 |
US20120130929A1 (en) * | 2010-11-24 | 2012-05-24 | International Business Machines Corporation | Controlling quarantining and biasing in cataclysms for optimization simulations |
CN105469145A (zh) * | 2016-01-15 | 2016-04-06 | 清华大学 | 一种基于遗传粒子群算法的智能组卷方法 |
CN105574231A (zh) * | 2015-11-27 | 2016-05-11 | 上海交通大学 | 一种蓄电池剩余容量检测方法 |
-
2017
- 2017-01-09 CN CN201710012887.XA patent/CN106682788A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101807900A (zh) * | 2010-03-10 | 2010-08-18 | 北京航空航天大学 | 基于并行遗传重采样的粒子滤波技术 |
US20120130929A1 (en) * | 2010-11-24 | 2012-05-24 | International Business Machines Corporation | Controlling quarantining and biasing in cataclysms for optimization simulations |
CN105574231A (zh) * | 2015-11-27 | 2016-05-11 | 上海交通大学 | 一种蓄电池剩余容量检测方法 |
CN105469145A (zh) * | 2016-01-15 | 2016-04-06 | 清华大学 | 一种基于遗传粒子群算法的智能组卷方法 |
Non-Patent Citations (3)
Title |
---|
KAO YI-TUNG等: "A hybrid genetic algorithm and particle swarm optimization for multimodal functions", 《APPLIED SOFT COMPUTING》 * |
於世为等: "基于粒子群遗传的混合优化算法", 《系统工程与电子技 术》 * |
黄慧: "基于改进粒子群算法的车间作业排序的优化及仿真研究", 《中国优秀硕士学位论文全文数据库工程科技辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019120158A1 (zh) * | 2017-12-22 | 2019-06-27 | 菜鸟智能物流控股有限公司 | 物品拣选方法及相关设备 |
CN113269426A (zh) * | 2021-05-18 | 2021-08-17 | 哈尔滨工程大学 | 一种基于启发式改进粒子群算法的宿舍分配方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Shi et al. | A modified particle swarm optimizer | |
Williams et al. | The effects of design changes and delays on project costs | |
CN102653801B (zh) | 基于遗传算法建立的无料钟高炉炉顶布料控制方法 | |
Lo et al. | A genetic algorithm with new local operators for multiple traveling salesman problems | |
CN106682788A (zh) | 一种拣选顺序确定的方法及装置 | |
JP2023536693A (ja) | 階層マッピングに基づくCephストレージシステムの自動均等化ストレージ方法 | |
CN108074004A (zh) | 一种基于网格法的地理信息系统短期负荷预测方法 | |
CN108803332A (zh) | 基于改进生物地理学的路径规划方法 | |
CN101989336A (zh) | 一种用于电力系统的输变电工程进度管理系统和方法 | |
CN104504627A (zh) | 一种利用遗传算法的自动组卷方法 | |
CN108171268A (zh) | 一种图像处理方法及电子设备 | |
CN112562078A (zh) | 一种三维地质分析预测模型构建方法 | |
CN103544109B (zh) | 一种组合测试用例生成方法 | |
CN113688488B (zh) | 基于改进的人工鱼群算法的电网线路规划方法 | |
Jiang et al. | An improved adaptive genetic algorithm for mobile robot path planning analogous to the ordered clustered TSP | |
CN110298517A (zh) | 一种基于并行计算的物流运输调度方法、装置及设备 | |
WO2024007840A1 (zh) | 水平定向钻进扩孔扭矩预测方法、装置、设备及存储介质 | |
CN110502505A (zh) | 一种数据迁移方法及装置 | |
Shahangian et al. | A review of the conceptual framework of the interactive cycle and modeling process used in urban water management | |
CN110097361A (zh) | 一种基于x11算法的区块链动态算力共识方法及计算机系统 | |
CN108460074A (zh) | 基于BloomFilter的多列索引在列存数据库中的创建及使用方法 | |
Honiden | Tree structure modeling and genetic algorithm-based approach to unequal-area facility layout problem | |
Chompu-Inwai et al. | Optimal cost driver selection in activity-based costing using Shuffled frog leaping algorithm | |
CN107608913A (zh) | 一种cpu寻址方法、装置及其使用的cpu寻址设备 | |
CN107862036A (zh) | 一种基于遗传算法的岸桥载荷状态检测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170517 |