[發明專利]有約束條件排列組合編碼生成算法及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.szxzyx.cn/pat/books/201710915691.1/1.html,轉載請聲明來源鉆瓜專利網。





