排列约束条件下的快速生成算法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
排 列 为第 1 排 列 0 2 。 号 4 3
对算 法 的要 求是输 入其 中 的任 何一个 排列 ,算法按 字典 排序法 自动生成 下一个排列 。例如输入第 7 号排列 2 2 ,则 32 应输 出第 8 号排列 2 0 。 4 3 算法分为 以下几个步骤 : () 输入排列 a a ,并检验该排列是否满足约束要求。 1 t a
1 问题 的 引入
这一类 问题是在讨论 整数 规划 中如何 处理 大量矩 阵搜 索 时遇到 ,诸如 :课程安 排算法 的求 解。数学 软件 Ma a 1强 t b[ l J 大的矩 阵功能 ,可以很容 易地生成 相关 阵来表示 所有 约束 的 排列 。由于所涉及 的整数规 划 问题 约束条 件过 多 ,在 对可行 解 做优化搜 索时不得 不生成 众多 的这种矩 阵 ,计 算机 的 内存 无 法容 纳如 此 “ 海量 ”个矩 阵 ,从 而大 大影 响 了计 算 速度 。 设 想能否 给出可行解 的一个 种排序 ,在搜 索时按 照排序 依次 生成 下一个可行解 ,而无需 在已生成的可行解 集 (海量 ”个 “ 矩阵) 中去 搜索 。将 这个 问题 简化 为摘要 中所 提 出 的问题 。 文献 日中关于排列生成算法 ,也给我们一些启示。
a+ … M,其 中 M和 . . … 埘 给定的正整数 。在 此解决对于给定的一 个约束排 列 a a ,按照 字典排序 l + a= a Ⅳ是 l… m a 给 出下一个约束排 列的生成算法 ,并对查找位 置的确 定给 出新思路 。
关 键 词 : 典 序排 列 ;排 列 约 束 ;快速 生 成 算 法 字
0 4 一 23 1 … 3 2 3 一l 一2
进位都要进行判断 ,P进制数 的规则是 固定 的。所不 同的是各
个位 上的进制 不同 ,并有约束条件 :a+2… m Mo l + a ̄ a 上述所有 的约束排 列记为 ( 【 M,Ⅳ ,…』 ,其 中的 2 、 ,
g n rt g ag r h a d b n s o tan w meh d i o ai g e e a i lo t m n r g u e t o n l c t . n i i n
K e o ds y w r :Le i o r p c Ara ge n ,Con tane r n me ,Fa tGe e a i g rtm x c g a hi r n me t sr i d Ara ge nt s n r tngAl o h i
it es w ihsbet t a d . o adaepsien m es U d r h o s a e o dt n ti at l f d u ne r hc ujc g , so n B t n r oiv u b r. n e ec nt i dcn io,hs r c n sot h t t rn i i ei a
最 大排 列 记 为 m x ( , . …』 a I, N 、 , 、最 小 排 列 记 为 mn ( i 【
ⅣJ , … 】 , ,
,二 者是在 字典 序意义 下定义 的 。一 般来
说 ,不认 为序列是 可以 比较 的,即 ( 【 3423】 , 9)大于序 列 ( 【 0423】, o右边 的数据 表是 一个具体 的约束 排列 9 ( [ 3423】 , 9) 的所 有结果 ,它们是按字典排序 法依次给 出的 ,其 中最后一 列是按 照各个排 列 的次序 由小到 大所 给 出 的标 号 。显然 ,表 中的最 大排列为第 1"号排列 3 2 ;最小 9 40
14 13 …
14 一 22 2 2 … 23 2 3 3 一 l
2 322 一
T e F s n r t g Al o i m n e o sr i e r n e n h a tGe e ai g r h u d rC n tan d Ara g me t n t
CLeabharlann BaiduU a Xio
( hn nvri f e si cs ( e ig Sh o o fr t nE gneig e i 0 0 3 C iaU iesyo oc n e B in ) c o l f nomai n i r ,B in 1 0 8 ) t G e j I o e n jg
Ab ta t s r c :A pe ii o sr i d a r ng m e twilb ic s d a s cfc c n tane ra e n l e d s us e s ̄ lo d:The e i n a a g me wih m on e a ie l we r s a r n e nt t n n g tv
() 从 排 列 a a 最 右 边 的 个 位 向 左 依 次 判 断 a .I 2 l… m a .I a I 是 否 为约 束 排 列 ( [ , ,… , 的 最 大 排 列 ,其 中 蛑=
M (+ 2… j) _ - a a+ a1 l — ,jm,m— … ., 1 I 2 o
SFW R EEOM N N EI 0 r A E V LPE T DDS N D A G
软件开发与设计
排 列约束条件 下的快 速生成算 法
初 晓
( 中国地质大学 ( 北京)信息工程学院 ,北京 1 0 8 ) 0 0 3 摘 要 :所述 的约束排列是指 :m个非 负整数 所构成 的排 列 a 2 a ,满足 约束条件 a≤Ⅳ ,a≤N… . m l… a 。 J 2 2 ,a ≤N 及
相关文档
最新文档