[发明专利]有约束条件排列组合编码生成算法及MATLAB实现方法在审
申请号: | 201710915691.1 | 申请日: | 2017-09-30 |
公开(公告)号: | CN107526903A | 公开(公告)日: | 2017-12-29 |
发明(设计)人: | 杜瑞卿;杜彦辉;顾妍;张征田;张新刚 | 申请(专利权)人: | 南阳师范学院 |
主分类号: | G06F17/50 | 分类号: | G06F17/50 |
代理公司: | 北京中恒高博知识产权代理有限公司11249 | 代理人: | 刘洪京 |
地址: | 473061 河南*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 约束条件 排列组合 编码 生成 算法 matlab 实现 方法 | ||
1.一种有约束条件排列组合编码生成算法,包括有约束条件的排列生成方法和有约束条件的组合生成方法,其特征在于,
有约束条件的排列生成方法:
设排列a1a2…am,满足:0≤ai≤Ni,a1+a2+…+am=n,求所有a1a2…am的生成;
从满足约束条件的最小全排列开始,按依次增大的方法生成下一个全排列:
(1)从排列a1a2…am最右边开始向左边查找:at<Nt,t=max{i︱ai<Ni,i≠m},a1a2…at-1保持不变,at+1→at;
(2)计算:j=m,m-1,Λ,t+1;
(3)重新生成第t+1位到m位:
MjφNj时,令a′j=Nj,Mj-1=Mj-Nj;Mj≤Nj时,令a′j=Mj,a′j-1=a′j-2=Λ=a′t+1=0;
(4)形成新的排列:a1a2Λat-1(at+1)a′t+1Λa′j-1a′jΛa′m。
(5)重复(1)-(3),可生成全部排列,得到所有a1a2…am的生成,结束生成。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南阳师范学院,未经南阳师范学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710915691.1/1.html,转载请声明来源钻瓜专利网。