本发明专利技术属于计算机应用领域,具体涉及一种解决了冰壶比赛对阵组合自动设计方法中难于找到最优解问题的基于多层遗传算法的冰壶比赛对阵组合设计方法。本发明专利技术包括:编码;初始种群生成;根据适应度函数计算种群内每个个体的适应度函数值。与此前的解决冰壶比赛方案自动设计的方法相比,本发明专利技术一定能找到问题的最优解,满足冰壶比赛复杂且相互关联的诸多约束条件,解决了此前方法中无法找到最优解或找到最优解效率低的问题。该方法实现简单,能够根据冰壶比赛的不同情况快速设计出满足其苛刻约束条件的对阵组合。执行效率能够满足现实要求。
【技术实现步骤摘要】
本专利技术属于计算机应用领域,具体涉及一种解决了冰壶比赛对阵组合自动设计方 法中难于找到最优解问题的基于多层遗传算法的冰壶比赛对阵组合设计方法。
技术介绍
在本专利技术之前已经尝试使用的技术方法包括: 传统的枚举法、贪心法 枚举法是利用计算机运算速度快、精确度高的特点,对要解决问题的所有可能情 况逐一检验,从中找出符合要求的答案,通过牺牲时间来换取答案的全面性。贪心算法是指 在对问题求解时,总是做出在当前看来是最好的选择,算法不从整体最优上加以考虑,寻找 的仅是在某种意义上的局部最优解。尝试使用枚举法结合贪心算法进行冰壶比赛对阵组合 的自动设计。在枚举的过程中,通过对各种限制条件做剪枝,根据剪枝后的结果使用贪心算 法找到在此基础上的最优解,最终得出一个相对较好的解。但是由于冰壶比赛对阵安排问 题的难度和算法自身的时间复杂度局限,该方法难以取得较优的比赛方案。其不足具体表 现在:1、当队数和赛道数略多的时候,跑不出可行结果,如12支队伍6赛道;2、自动编排的 轮数经常超出理论最佳轮数;3、深浅壶均衡分布效果不理想;4、同一队不在一个场地连续 使用2次同色壶的约束顾前顾不到后。这种枚举法结合贪心算法的对阵组合自动设计方法 不能满足现实要求。 基本遗传算法 遗传算法是计算数学中用于解决最优化问题的搜索算法,是进化算法的一种。对 于一个最优化问题,将一定数量的候选解(称为个体)组成的种群向更好的解进化。通常 进化从完全随机的个体组成的初始种群开始,之后不断迭代优化。在每一代中,整个种群 中的个体适应度被评价,从当前种群中基于适应度值按某种选择策略选择多个个体,通过 个体间的交叉和变异产生新的个体并形成新一代种群,在新一代种群中重复此前的优化过 程,直到满足算法终止条件。 在使用基本遗传算法实现冰壶对阵组合设计的过程中,构建了冰壶比赛方案编排 问题的数学模型,设计了染色体结构,明确了初始化种群的方法,构造了适应度函数,设计 了选择、交叉和变异三个遗传操作并提出了改进策略,确定了算法的终止条件。但该方法仍 存在一个致使的缺陷,即算法不是一定能找到最优解。由于遗传算法自身的特点和冰壶比 赛诸多约束的限制,导制该方法在最优解存在的情况下,也无法一定找到最优解。 目前为止,在冰壶比赛对阵组合的自动设计中仅尝试了以上二种方法,效果都不 理想,并且国内外并未有其它相关成果发表。
技术实现思路
本专利技术的目的是提出一种解决精典遗传算法在解决冰壶比赛对阵组合自动设计 中存在的难于找到最优解的不足的基于多层遗传算法的冰壶比赛对阵组合设计方法 本专利技术的目的是这样实现的: (1)编码:使用固定长度的十进制整数进行编码,表示群体中的个体;冰壶参数队 伍集合4={&1,32,33^111} ;赛道集合1?={1'1,1'2,1'3,~1' |11};比赛轮次集合1={1:1,1:2,1: 3,~ tk};其中a e N+,r e N+,t e N+;小组赛时小组集合H= {hl,h2,…hp},其中的元素如hi 也是一个集合,包含队伍集合A中的元素.队伍对阵集合C = {(X,y) |x e A, y e A, X乒y}; C中的元素称为基因,共有n*(n-l)/2个基因;个体Xi表现为一串长为Ien = nX (n-1)的 整数,包含C中的全部元素;每m个C中的元素称为一轮,共有k轮; (2)初始种群生成;在满足约束条件下随机生成包含popsize个个体的初始种群, 约束条件为包含C中的所有对阵对且仅包含一次;一个整数编码的个体就是由所有对阵组 合组成的一种冰壶比赛的对阵的完整方案;通过将C中所有的元素随机排列来生成个体 Xi, popsize个这样的初始个体组成初始种群,popsize为种群大小; (3)根据适应度函数计算种群内每个个体的适应度函数值Ht(X1);冰壶问题的每 一个约束条件都抽象为一个适应度函数分量Htj (X1),j e D,D为约束条件集合;多个约束 条件就有多个适应度函数分量,这些适应度函数分量通过加权求和的方式组成算法最后的 适应度函数 (4)在每一代中,根据适应度函数值的大小,分别对每一个个体 进行分层优化: 第一层优化使用靶向自交叉算子,逐个检查个体中的基因(X,y)是否满足一个队伍不能同时参加同一轮次中的两场比赛的约束;此约束记为B1; , b1 = antk,其中N是参赛队伍数,K是比赛轮次数; 如果该约束尚不满足,记录不满足的基因的位置,并将其值变异成当前轮中没出 现的队伍代表的整数,成为新的基因值;查找新基因值原来在个体中的基因位置,将原基因 值与新基因值原来所在的位置互换,实现确定位置的二个基因位的值之间的交换;同一时 间进行的比赛称为一轮比赛; 第二层优化使用定点-随机自交叉;逐个检查个体中的基因是否满足其他约束条 件,如果不满足,确定不满足的基因的位置及原因,找到经过同轮基因间交换可以满足约束 条件的基因及位置,随机选择其中的一个与原来不满足约束条件的基因值进行互换以实现 交叉;此时的其他约束条件包括: 平均分配场地,参赛队在赛道分配上具有相同的比例,记为B2;b2= a nrm其中M是赛道数量,N是所有参赛队伍数量,假设a n 所在的小组内有Ii1个参赛队伍; CN 105184428 A 说明书 3/12 页 参赛队不应在同一赛道连续比赛两场,以免形成某个队伍拥有主场优势,记为B3;b3= antklrmltk2,其中N是参赛队伍数量,K 是比赛轮次数,M是赛道数量; 各个小组的比赛场次在每个赛道均匀分布,记为M :hprm,其中P是小组个数,M是赛道数量,h/j、组内有n i个参赛队伍; 深浅壶次数均衡,记为B5 ;其中 M 是赛道数MG e CG d,Cl 格式为{(X,y 1),(X,y2)…(X,yn-1)} ;C2 格式为{(yl,x),(y2,x)…(yn-l,x)} ;rmCl表示Cl集合内的队伍对阵方式在!^赛道中的 个数;rmC2表示C2集合内的队伍对阵方式在:^赛道中的个数; 同一队伍不得在同一赛道连续使用同色壶,记为B6 ; CN 105184428 A ^ ^ Ij 4Λ2:贝 其中N是参赛队伍数量,M是赛道数量,K是比赛轮次数,C1G c,C 2e CC1格式为 {(X,y!),(X,y2)…(X,yn !)},C2格式为{(y !,X),(y2, X)…(yn !,X)}; (5)混合选择策略选择个体成为下一代;计算经过二层优化后产生的个体的适应 度值;根据适应度值,采用混合选择算子跨代选取个体进入下一代;混合选择算子是指将 精英选择与锦标赛选择相结合;将第4步中优化前的个体和优化后的个体放在一起,对于 所有个体,如果fit (Xi)〈gate,则称为精英个体将其保留,gate为算法指定的阈值;统计精 英个体的数目Num,使0彡Num彡popsize*3/5 ;对于剩下的没有精英保留的个体,则实行父 代与子代间的锦标赛跨代选择方式进行个体的保留;以此混合选择算子跨代选取个体进入 下一代; (6)判断算法是否满足预设条件;在新一代种群中,记录下最优个体的适应度函 数值,判断算法是否达到最大迭代次数或满足最优解的预设条件,如果满足最优解本文档来自技高网...
【技术保护点】
一种基于多层遗传算法的冰壶比赛对阵组合设计方法,其特征在于:(1)编码:使用固定长度的十进制整数进行编码,表示群体中的个体;冰壶参数队伍集合A={a1,a2,a3,…an};赛道集合R={r1,r2,r3,…rm};比赛轮次集合T={t1,t2,t3,…tk};其中a∈N+,r∈N+,t∈N+;小组赛时小组集合H={h1,h2,…hp},其中的元素如h1也是一个集合,包含队伍集合A中的元素.队伍对阵集合C={(x,y)|x∈A,y∈A,x≠y};C中的元素称为基因,共有n*(n‑1)/2个基因;个体Xi表现为一串长为len=n×(n‑1)的整数,包含C中的全部元素;每m个C中的元素称为一轮,共有k轮;(2)初始种群生成;在满足约束条件下随机生成包含popsize个个体的初始种群,约束条件为包含C中的所有对阵对且仅包含一次;一个整数编码的个体就是由所有对阵组合组成的一种冰壶比赛的对阵的完整方案;通过将C中所有的元素随机排列来生成个体Xi,popsize个这样的初始个体组成初始种群,popsize为种群大小;(3)根据适应度函数计算种群内每个个体的适应度函数值fit(Xi);冰壶问题的每一个约束条件都抽象为一个适应度函数分量fitj(Xi),j∈D,D为约束条件集合;多个约束条件就有多个适应度函数分量,这些适应度函数分量通过加权求和的方式组成算法最后的适应度函数fit(x)=Σi=17wifi(x);]]>(4)在每一代中,根据适应度函数值的大小,分别对每一个个体进行分层优化:第一层优化使用靶向自交叉算子,逐个检查个体中的基因(x,y)是否满足一个队伍不能同时参加同一轮次中的两场比赛的约束;此约束记为B1;b1=antk,其中N是参赛队伍数,K是比赛轮次数;如果该约束尚不满足,记录不满足的基因的位置,并将其值变异成当前轮中没出现的队伍代表的整数,成为新的基因值;查找新基因值原来在个体中的基因位置,将原基因值与新基因值原来所在的位置互换,实现确定位置的二个基因位的值之间的交换;同一时间进行的比赛称为一轮比赛;第二层优化使用定点‑随机自交叉;逐个检查个体中的基因是否满足其他约束条件,如果不满足,确定不满足的基因的位置及原因,找到经过同轮基因间交换可以满足约束条件的基因及位置,随机选择其中的一个与原来不满足约束条件的基因值进行互换以实现交叉;此时的其他约束条件包括:平均分配场地,参赛队在赛道分配上具有相同的比例,记为B2;b2=anrm其中M是赛道数量,N是所有参赛队伍数量,假设an所在的小组内有n1个参赛队伍;参赛队不应在同一赛道连续比赛两场,以免形成某个队伍拥有主场优势,记为B3;b3=antk1rm1tk2,其中N是参赛队伍数量,K是比赛轮次数,M是赛道数量;各个小组的比赛场次在每个赛道均匀分布,记为B4;b4=hprm,其中P是小组个数,M是赛道数量,hp小组内有n1个参赛队伍;深浅壶次数均衡,记为B5;f1(x)=Σm=1MrmC1;]]>f2(x)=Σm=1MrmC2]]>其中M是赛道数量,C1格式为{(x,y1),(x,y2)…(x,yn‑1)};C2格式为{(y1,x),(y2,x)…(yn‑1,x)};rmC1表示C1集合内的队伍对阵方式在rm赛道中的个数;rmC2表示C2集合内的队伍对阵方式在rm赛道中的个数;B5=Σn=1Nf1(an)f2(an)]]>其中N是参赛队伍数量;同一队伍不得在同一赛道连续使用同色壶,记为B6;B6=Σn=1NΣm=1MΣk1=1KΣk2=k1+1xb6,b6=anrmtk1tk2C1C2]]>其中N是参赛队伍数量,M是赛道数量,K是比赛轮次数,C1∈C,C2∈C,C1格式为{(x,y1),(x,y2)…(x,yn‑1)},C2格式为{(y1,x),(y2,x)…(yn‑1,x)};(5)混合选择策略选择个体成为下一代;计算经过二层优化后产生的个体的适应度值;根据适应度值,采用混合选择算子跨代选取个体进入下一代;混合选择算子是指将精英选择与锦标赛选择相结合;将第4步中优化前的个体和优化后的个体放在一起,对于所有个体,如果fit(Xi)<gate,则称为精英个体将其保留,gate为算法指定的阈值;统计精英个体的数目Num,使0≤Num≤popsize*3/5;对于剩下的没有精英保留的个体,则实行父代与子代间的锦标赛跨代选择方式进行个体的保留;以此混合选择算子跨代选取个体进入下一代;(6)判断算法是否满足预设条件;在新一代种群中,记录下最优个体的适应度函数值,判断算法是否达到最大迭代次数或满足最优解的预设条件,如果满足最优解的条件,则执行步骤7,如果达到最大迭代次数,则执行步骤8;如果算法没...
【技术特征摘要】
【专利技术属性】
技术研发人员:董红斌,丁蕊,张丹,邢薇,印桂生,孔飞,刘文杰,张万松,
申请(专利权)人:哈尔滨工程大学,
类型:发明
国别省市:黑龙江;23
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。