[发明专利]有约束条件排列组合编码生成算法及MATLAB实现方法在审
申请号: | 201710915691.1 | 申请日: | 2017-09-30 |
公开(公告)号: | CN107526903A | 公开(公告)日: | 2017-12-29 |
发明(设计)人: | 杜瑞卿;杜彦辉;顾妍;张征田;张新刚 | 申请(专利权)人: | 南阳师范学院 |
主分类号: | G06F17/50 | 分类号: | G06F17/50 |
代理公司: | 北京中恒高博知识产权代理有限公司11249 | 代理人: | 刘洪京 |
地址: | 473061 河南*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种有约束条件排列组合编码生成算法和MATLAB程序实现方法,有约束条件的排列生成方法从满足约束条件的最小全排列开始,按依次增大的方法生成下一个全排列;从满足约束条件的最小升序组合开始,按依次增大的方法生成下一个升序组合;本发明的方法,可以有效解决整数规划求解、有约束条件的信息编码、车辆调度、体育赛事、课程安排等涉及有约束条件要求的编码计算机程序实现,高效、快速、准确、经济地解决生产、科研等实际问题。 | ||
搜索关键词: | 约束条件 排列组合 编码 生成 算法 matlab 实现 方法 | ||
【主权项】:
一种有约束条件排列组合编码生成算法,包括有约束条件的排列生成方法和有约束条件的组合生成方法,其特征在于,有约束条件的排列生成方法:设排列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的生成,结束生成。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南阳师范学院,未经南阳师范学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710915691.1/,转载请声明来源钻瓜专利网。