2.845

2023影响因子

(CJCR)

  • 中文核心
  • EI
  • 中国科技核心
  • Scopus
  • CSCD
  • 英国科学文摘

留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

基于Biohashing的指纹模板保护算法

王慧珊 张雪锋

王慧珊, 张雪锋. 基于Biohashing的指纹模板保护算法. 自动化学报, 2018, 44(4): 760-768. doi: 10.16383/j.aas.2017.c170056
引用本文: 王慧珊, 张雪锋. 基于Biohashing的指纹模板保护算法. 自动化学报, 2018, 44(4): 760-768. doi: 10.16383/j.aas.2017.c170056
WANG Hui-Shan, ZHANG Xue-Feng. Improved Biohashing Fingerprint Template Protection Algorithms. ACTA AUTOMATICA SINICA, 2018, 44(4): 760-768. doi: 10.16383/j.aas.2017.c170056
Citation: WANG Hui-Shan, ZHANG Xue-Feng. Improved Biohashing Fingerprint Template Protection Algorithms. ACTA AUTOMATICA SINICA, 2018, 44(4): 760-768. doi: 10.16383/j.aas.2017.c170056

基于Biohashing的指纹模板保护算法

doi: 10.16383/j.aas.2017.c170056
基金项目: 

国家自然科学基金 61301091

详细信息
    作者简介:

    王慧珊  西安邮电大学通信与信息工程学院硕士研究生.主要研究方向为信息安全.E-mail:wanghuishan17@163.com

    通讯作者:

    张雪锋  博士, 西安邮电大学通信与信息工程学院教授.主要研究方向为信息安全.本文通信作者.E-mail:zhangxuefeng3@163.com

Improved Biohashing Fingerprint Template Protection Algorithms

Funds: 

National Natural Science Foundation of China 61301091

More Information
    Author Bio:

     Master student at the School of Communication and Information Engineering, Xi′an University of Posts and Telecommunications. Her main research interest is information security

    Corresponding author: ZHANG Xue-Feng  Ph. D., professor at the School of Communication and Information Engineering, Xi′an University of Posts and Telecommunications. His main research interest is information security. Corresponding author of this paper
  • 摘要: 针对Biohashing指纹模板保护算法存在用户令牌泄露时识别性能严重退化的问题,提出了两种改进的Biohashing指纹模板保护算法.该算法在指纹数据预处理的基础上,采用可变的步长参数和滑动窗口产生固定大小的二值特征矩阵,减少了指纹数据特征值之间的关联性,离散化的非线性处理过程能够获得更大的密钥空间,有效提高了算法的安全性.理论分析和实验结果表明,改进算法具有更好的安全和识别性能.
  • 经典资源受限项目调度问题(Resource-constrained project scheduling problem, RCPSP)假设任务在其紧前任务结束后即可开始, 但是这一假设与很多实际情形不符.在许多工程项目尤其是大型项目(例如飞机装配线生产)中, 因为各工位所处的位置不同, 当一些稀缺资源(例如高级技工或关键设备)在不同工位间转移时需要消耗一定的转移时间.本文以飞机装配线生产为研究背景, 将其抽象为资源受限项目调度问题, 同时考虑到飞机装配线生产问题中稀缺资源在不同的工位间转移需要消耗时间, 为了能够使理论模型处理这一实际情况, 本文研究带资源转移时间的资源受限项目调度问题, 分析转移时间对项目调度决策造成的影响, 并研究该类问题的建模与有效求解算法.

    对于资源受限项目调度问题, 目前的求解算法主要有精确算法、构造型启发式算法和元启发式算法.精确算法主要以分支定界法为主, 例如Brucker等[1]和Dorndorf等[2].虽然精确算法能够求得问题的精确解, 但是计算时间较长, 无法适用于大规模问题, 而构造型启发式算法和元启发式算法能在可接受时间内求得问题的相对较优解.构造型启发式算法以基于规则的启发式算法为主, 通常根据不同的任务优先规则确定任务优先级, 使用串行或并行调度生成机制获得调度结果, 例如Klein[3]和Buddhakulsomsiri等[4].元启发式算法方面, 多使用遗传算法和模拟退火算法等搜索算法, 采用任务优先级编码或任务列表编码, 通过搜索方法获取较优编码, 并使用串行或并行调度生成机制解码获取较优调度结果, 例如Valls等[5], Peteghem等[6], Cho[7]等.对于带资源转移时间的资源受限项目调度问题, 目前有极少文献进行了研究, Krüger等[8]最先提出了带资源转移时间的资源受限项目调度问题, 假设资源在任务间及多项目间转移都需要资源转移时间, 问题的求解中采用了基于规则的启发式方法. Krüger等[9]对资源传递过程中的资源进行了定义和分类, 分为被传递的资源和协助资源传递的辅助资源, 建立了带资源转移时间的资源受限项目调度问题的扩展模型.宗砚等[10]建立了一种考虑资源传递时间并以多项目总工期及各个项目工期的加权和最小为目标的多项目调度模型, 并提出一种基于三级启发式规则解码的改进遗传算法求解.在带资源转移时间的项目调度问题中, 资源转移时间与任务顺序两者互相耦合, 转移时间会随任务顺序的不同发生变化, 而这种变化又会影响任务执行顺序的决策, 因此在决策任务顺序的同时应进一步考虑资源转移时间造成的影响.虽然上述文献对带资源转移时间的问题进行了一些研究, 但是在求解问题时, 都只提出了简单的启发式思路, 未能对资源转移时间与作业顺序调度决策的相互影响做进一步分析, 仍然存在可以改进的空间.

    综上所述, 目前的求解算法中, 精确算法无法求解大规模问题, 构造型启发式算法虽然求解效率快, 但是单一的规则无法适用于不同的问题结构, 相对精确算法和元启发式算法而言, 这一类算法往往无法求得较优的任务顺序.而元启发式算法虽然通过搜索方法可以获得较优编码(任务顺序), 但是在解码时多使用启发式方法进行解码, 例如经典的串、并行调度生成机制, 在求解的精度上仍有欠缺.针对以上问题, 本文提出一种内嵌分支定界的遗传算法, 将遗传算法与分支定界法相结合, 使用遗传算法框架保证算法的广度搜索能力并避免枚举所有分支, 同时使用基于深度优先的分支定界法进行深度搜索, 有效提高解的质量.同时, 本文分析了资源转移时间对于问题解的影响, 并由此提出了相应的支配规则并应用于分支定界算法, 从而提升分支搜索的效率.

    带资源转移时间的资源受限项目调度问题可描述如下:项目包含$J$项任务, 记任务集合为$J= \{1, 2, \times s, n\}$, 其中任务1和任务$n$为虚拟资源, 任意任务$j\in J$需要使用$K$种不同的资源, 记资源种类集合为$K=\{1, 2, \times s, K\}$, 第$k\in K$种资源的供应量为$R_k$.时间离散化, 记时间集合为$T=\{0, 1, \times s, T\}, t\in T$为离散时间点.假定0时刻, 所有资源都存放在虚拟任务1处, 项目完成时资源存放至虚拟任务$n$处.任务间具有时序约束关系, 资源$k$从任务$i$转移到任务$j$需要一定的资源转移时间$\Delta_{ijk}$.设另一任务为$h$, 假设资源转移时间满足三角形原则$\Delta_{ijk}\leq \Delta_{ihk}+\Delta_{hjk}$, 即资源从任务$i$直接转移到任务$j$的时间最短.项目的目标是最小化项目总工期.

    数学模型具体如下:

    $ \mbox{目标函数:}~~\min F_n $

    (1)

    约束条件:

    $ \sum\limits_{t = 0}^{T-d_j} {f_{jt}}=1, ~~\forall{j\in J} $

    (2)

    $ F_j=\sum\limits_{t = 0}^{T-d_j} {{(t+d_j)}\times{f_{jt}}}, ~~\forall{j\in J} $

    (3)

    $ F_j-F_i\geq d_j, ~~\forall{j\in J}, ~\forall{i\in JP_j} $

    (4)

    $ F_i+\Delta_{ijk}+d_j\leq F_j+M\times(1-z_{ijk}), \\\quad\forall{j\in J}, ~\forall{i\in JP_j}, ~\forall{k\in K} $

    (5)

    $ x_{ijk}\leq z_{ijk}\times \min{\{r_{ik}, r_{jk}\}}, \\\qquad\qquad\qquad\ \forall{j\in J}, ~\forall{i\in JP_j}, ~\forall{k\in K} $

    (6)

    $ z_{ijk}\leq x_{ijk}, ~~\forall{j\in J}, ~\forall{i\in JP_j}, ~\forall{k\in K} $

    (7)

    $ \sum\limits_{i\in JP_j}{x_{ijk}}=r_{jk}, ~~\forall{j\in J}, ~\forall{k\in K} $

    (8)

    $ \sum\limits_{j\in JS_i}{x_{ijk}}=r_{ik}, ~~\forall{i\in J}, ~\forall{k\in K} $

    (9)

    $ \sum\limits_{j=1}^{n}{\sum\limits_{\tau=t}^{t+d_j}{r_{jk}\times f_{j\tau}}}\leq R_{k}, ~~\forall{t\in T}, ~\forall{k\in K} $

    (10)

    $ f_{jt}\in\{0, 1\}, ~z_{ijk}\in\{0, 1\}, ~x_{ijk}\geq0\nonumber\\ \qquad\qquad\qquad\ \ \forall{t\in T}, ~\forall{k\in K}, ~\forall{j\in J}, ~\forall{i\in J} $

    (11)

    式(1) $\sim$ (11)中的符号及变量定义如下: $J$是任务集合, $K$是资源集合, $R_k$是资源$k$的资源供应量, $T$是时间集合, $P_j$是任务$j$的直接紧前任务集合, $S_j^{\ast} $是任务$j$的直接与间接紧后任务集合, $A_j^{\ast} $是任务$j$的直接与间接紧前任务集合, $JP_j$是资源可供任务$j$使用的任务集合, $JP_j=J-\{j\}-S_j^{\ast}, JS_j$是需求任务$j$的资源的任务集合, $JS_j=J-\{j\}-A_j^{\ast}, \Delta_{ijk}$是资源$k$从任务$i$转移到任务$j$的转移时间, $F_j$是任务$j$的完成时间, $d_j$是任务$j$的作业时间, $r_{jk}$是任务$j$所需资源$k$的数量, $M$是无穷大的参数.

    $f_{jt}, z_{ijk}, x_{ijk}$是决策变量, 如果任务$j$在时刻$t$开始, $f_{jt}$为1, 否则为0;如果资源$k$从任务$i$转移至任务$j, z_{ijk}$为1, 否则为0; $x_{ijk}$为从任务$i$调配至任务$j$的资源$k$的数量.

    式(1)为目标函数, 表示项目工期最小化; 式(2)表示任务只能在一个时间点开始; 式(3)表示任务的完成时间与决策变量$f_{jt}$的关系; 式(4)表示任务间的紧前关系, 在任意任务完成前, 其紧后任务不可开始; 式(5)表示任务开始时间与资源转移时间的关系; 式(6)表示资源转移数量不得超出任务所需数量; 式(7)约束决策变量$x_{ijk}$与$z_{ijk}$之间的关系; 式(8)表示所有转入的资源总量等于任务所需资源数量; 式(9)表示所有转出的资源量等于任务所拥有的资源量; 式(10)表示任意时刻所有任务所使用的资源量不得超出资源的总供应量; 式(11)定义了决策变量的可行域.

    本文设计了一种内嵌分支定界的遗传算法求解问题, 将遗传算法与基于深度优先的分支定界算法相结合, 图 1给出了算法的具体流程图.分支定界算法可以求得问题的最优解, 但搜索时间过长, 无法在规定的时间内求解大规模问题.为解决该问题, 本文将分支定界法嵌入遗传算法框架, 因为遗传算法可以跳出局部搜索, 拥有很强的广度搜索能力.本文使用遗传算法进行全局搜索, 再使用分支定界算法进行深度搜索, 保证了算法的广度及深度双重搜索能力.在遗传算法编码方面, 本文提出了一种基于任务绝对执行顺序的编码方式, 不仅可用于遗传算法框架, 也可转化为分支定界法中的搜索树.该编码与传统任务列表编码的不同在于, 在任务列表编码中, 任务的顺序前后依次排列, 而本文提出的编码允许任务并行排列, 该编码方式可以使得编码结构更为紧凑, 从而提升算法搜索的效率.在此基础上, 进一步设计了相应的交叉和变异方法, 构建了启发式调度生成方法进行解码.同时, 在分支定界算法方面, 本文分析了搜索树各分支之间的结构关系, 提出与证明了相应的支配规则, 用于剪除多余分支, 提高算法的搜索效率.

    图 1  算法流程图
    Fig. 1  Flowchart of the algorithm

    本文使用遗传算法框架对问题进行初步求解, 遗传算法具有很强的全局搜索能力, 可以保证求解结果的相对质量.本节主要阐述一种适应本文算法结构的编码方式以及相应的交叉、变异方法和启发式解码方式.

    2.1.1   基于任务绝对顺序的编码方式

    本文设计了一种基于任务绝对顺序的编码方式, 将编码划分为多层, 编码需满足以下条件: 1)后一层中不得包含前一层任务的直接或间接紧前任务; 2)同一层中的任务不能有紧前关系; 3)同一层中所有任务的资源总使用量必须小于资源的总供应量.一个编码一旦完成, 其顺序代表了任务的绝对执行顺序, 只有前一层中的任务执行完后, 后一层中的任务才可开始.事实上, 这种编码可由项目网络图转化而来, 图 2给出了一个编码生成的例子.

    图 2  编码的生成方式
    Fig. 2  The generation of the coding

    图 2可以看出, 此编码第1层选择任务1, 此时第2层可选择的任务为2, 3, 4.假定任务所需资源量为$r_2=4, r_3=3, r_4=3$, 资源总上限$R=6$, 根据编码性质, 每层中的任务资源使用总和不得超过资源总上限, 因此此处可选择编码为$\{2\}, \{3\}, \{4\}$或$\{3, 4\}$.通过随机方式选择第2层编码为$\{3, 4\}$, 因此任务2延后且必须在任务3, 4之后执行, 需要为其添加虚拟约束.此时第3层可选择的任务为$\{2\}, \{6\}$或$\{2, 6\}$, 随机选择第3层编码为$\{2, 6\}$.剩余编码根据上述方法继续分层, 直至完成整体编码.

    图 3是对应上述项目网络图及编码的一个实例, 包括具体的任务所需资源量、作业时间及资源转移时间.为了便于理解, 此处假设该实例只有一种资源, 甘特图中灰色部分表示资源转移时间.同时, 由于任务2, 5及任务4, 6之间存在紧前约束关系, 因此资源无法从任务5转移至任务2, 也无法从任务6转移至任务4, 所以不存在资源转移时间$\Delta_{52}$和$\Delta_{64}$.

    图 3  带资源转移时间的资源受限项目调度问题实例
    Fig. 3  An example of the RCPSPTT
    2.1.2   交叉与变异

    为保证交叉后编码的可行性, 本文设计了一种单点交叉方法.随机选取交叉点, 子代中交叉点前的编码顺序遵循父代, 从母代中将已选取的任务剔除, 交叉点后的编码顺序遵循剔除任务后的母代, 图 4给出了一个单点交叉的例子.通过此交叉方式得到的编码仍然满足时序约束及资源约束.

    图 4  交叉方式
    Fig. 4  An example of crossover

    变异方法使用对换变异, 如果编码的前后两层之间的所有任务都无紧前约束, 则对换两层编码. 图 5给出了一个变异的例子, 通过此变异方法得到的编码仍然满足时序约束及资源约束.

    图 5  变异方式
    Fig. 5  An example of mutation
    2.1.3   启发式调度生成方法

    本文使用启发式调度生成方法对相应的染色体(编码)进行解码, 以获得对应该染色体的初始解.通过决策具体的资源分配方案, 确定任务所需的资源转移时间.具体决策方法是:按照层级从前往后选择任务, 对于每层编码中的任务, 按照任务编号从小到大选择, 按尽早开始原则决策资源从哪项任务转移而来, 并确定相应的转移量和资源转移时间.按此方法逐步确定每层中任务的开始时间, 获得完整的调度计划.具体的算法步骤如下:

    步骤1. 令$g=1$.

    步骤2. 读取第$g$层编码中的任务集合$A_g$.

    步骤3. 按照任务编号从小到大选择任务$j\in A_g$, 更新$A_g=A_g-\{j\}$.

    步骤4. 按尽早开始原则为任务$j$分配资源, 计算开始时间, 更新分配后的资源占有量.

    步骤5. 如果$A_g\neq \emptyset $, 转步骤3.

    步骤6. 如果调度计划未完成, $g=g+1$, 转步骤2;否则结束算法.

    本文设计了一种分支定界算法, 以遗传算法所得调度计划为起始, 将它视为在搜索树上进行深度搜索的一个初始分支, 通过回溯方法搜索其邻域解, 优化项目调度结果.以下主要阐述分支方法以及支配规则和定界规则.

    2.2.1   分支方法

    分支定界算法以深度优先, 搜索树的结构与遗传算法的编码结构相同, 只是将编码中的层级关系转化为了搜索树中的树节点关系.为控制分支定界算法的搜索时间和搜索精度, 本文设定了搜索终止条件, 经过数据实验确定终止条件为:对遗传算法每一条染色体的回溯层数达到5层或搜索时间达到0.5秒时, 停止算法.通过设定分支定界搜索终止条件, 间接设定了搜索的邻域, 即初始分支回溯5层范围内的节点.具体分支步骤如下:

    步骤1. 令$g=1$.

    步骤2. 确定节点$g$的满足资源约束的候选任务组合集合$C_g$.

    步骤3. 从$C_g$中随机选择任务集合$A_g$, 更新$C_g = C_g-A_g$.

    步骤4. 如果$n\notin A_g$, 则继续分支, $g=g+1$.否则回溯搜索树, 如果找到某节点$g$的$C_g\neq \emptyset $, 则从该节点开始分支, $g=g+1$.

    步骤5. 如果所有节点的$C_g=\emptyset $或回溯层数达到5层或搜索时间达到0.5秒, 则分支结束.

    图 6给出了一个搜索树的例子, 包括任务的具体资源量与资源总上限对应的项目网络图及编码如图 2所示.

    图 6  搜索树示例
    Fig. 6  An example of the search tree
    2.2.2   支配规则及定界规则

    本文提出三种不同的支配规则, 用以剪除多余分支, 提升分支定界算法的效率.

    定义1. 给定当前节点$g$, 如果节点$g$从节点$g' $分出, 则节点$g'$称为节点$g$的直接根节点, 节点$g$称为节点$g'$的子节点.

    记当前节点为$g$, 其直接根节点为$g' $, 直接根节点调度的任务集合为$A_{g'}$, 当前节点调度的任务集合为$A_g$, 所有任务$i\in A_{g'}$的资源$k$的使用量之和为$R_k^{g'}$, 所有任务$j\in A_g$的资源$k$的使用量之和为$R_k^g$, 资源$k$的总上限为$R_k$.

    规则1. 如果当前节点的所有任务均可以合并入其直接根节点, 且合并之后的调度计划与合并前相同, 则当前节点视为重复情况, 不再分支.

    为了提升算法效率, 避免计算完整调度计划, 本文对规则1所述的重复情况进行了分析并得出结论:当满足以下任意条件时, 上述重复情况不会发生, 即只要不满足以下所有条件, 则当前节点不再分支.

    条件1. 对于任意资源$k$, 如果满足条件$R_k^{g'}+ R_k^g >R_k$, 则当前节点不为重复情况.

    证明. 如果满足$R_k^{g'}+ R_k^g >R_k$, 则表明两节点中所有任务的资源使用总量大于资源的总供应量, 当前节点中的任务无法全部合并入其直接根节点, 因此当前节点不为重复情况.

    条件2. 如果任务$j\in A_g$与任意任务$i\in A_{g'}$存在时序约束关系, 则当前节点不为重复情况.

    证明. 如果两节点中的任务间存在时序约束关系, 则当前节点调度的任务无法全部合并入其根节点, 因此当前节点不为重复情况.

    条件3. 在不满足条件1和条件2的情况下, 如果对于任意任务$i\in A_{g'}$和$j\in A_g$满足$i>j$, 则当前节点不为重复情况.

    证明. 根据分支结构, 任务不合并时应该先为任务$i$分配资源; 任务合并后, 如果$i>j$, 根据启发式调度生成方法, 按照任务编号从小到大依次分配资源, 那么应该先为任务$j$分配资源, 因此两种情况的调度结果不同, 当前节点不为重复情况, 具体可参考图 7.

    图 7  条件3示例图
    Fig. 7  An example of condition 3

    图 7中, 任务5和6之间的关系不满足条件1和2, 即两者可放入同一节点执行.在最左侧的分支中, 先执行任务5后执行任务6, 资源分配顺序与最右侧的分支相同, 因此最终调度结果相同, 为重复节点; 而在中间的分支中, 按照分支的顺序, 先执行任务6后执行任务5, 因此与左侧和右侧的分支均不相同, 所以不为重复情况.

    条件4. 如果不满足条件1 $\sim$ 3, 计算任务$j \in A_g$的最早开始时间$EST_j$.如果对于任意任务$i \in A_{g'}$和任意资源$k$, 满足$F_i+\Delta_{ijk}\leq EST_j$, 则当前节点不为重复情况.

    证明. 如果不满足条件1和条件2, 则表明当前节点的所有任务都可合并入其根节点.任务不合并时, 任务$j$可使用任务$i$的资源, 如果对于任意任务$i \in A_{g'}$和任意资源$k$, 满足条件$F_i+\Delta_{ijk}\leq EST_j$, 则表明当任务$j$使用任务$i$的资源时, 调度结果最好.如果将两节点的任务合并, 任务$i$与任务$j$会变为并行关系, 任务$j$不使用任务$i$的资源, 其开始时间必将大于最早开始时间, 所以合并前和合并后的调度计划必不相同, 因此不为重复情况, 具体可参考图 8.

    图 8  条件4示例图
    Fig. 8  An example of condition 4

    图 8给出了一个条件4的示例, 图中任务$i\in A_{g'}$, 任务$j\in A_g$, 两者无紧前关系且满足$R_k^{g'}+R_k^g \leq R_k$, 图 8(a)表示任务未合并时的情形, 此时任务$j$的最早开始时间$EST_j=F_i+\Delta_{ijk}$, 满足$F_i + \Delta_{ijk} \leq EST_j$. 图 8(b)表示任务合并后的情景, 此时任务$i$和任务$j$属于同一节点, 任务$j$无法使用任务$i$的资源, 任务所需的资源需从任务$p$调配, 此时$ST_j>EST_j$, 合并前和合并后的调度计划不相同, 不为重复情况.

    规则2. 如果当前节点的任务的完成时间超过目前所得最好解, 则该节点不再分支.

    记目前所得的项目最短工期为$UB$.如果任务$j \in A_g$的完成时间$F_j>UB$, 则节点$g$不再分支.新的完整调度计划完成时, 如果当前$F_n<UB$, 则更新$UB=F_n$.

    规则3. 如果当前节点的下界$LB_g$大于目前所得最好解, 则当前节点不再分支, 下界$LB_g$的计算可使用式(12) $\sim$ (14).

    本文提出一种考虑时序约束和资源转移时间的动态下界, 以提升分支定界算法的效率.在计算下界时, 需要将未调度任务区分为当前节点可开始的候选任务及剩余未调度任务, 并分别计算其最早开始时间, 图 9给出了一个具体示例.

    图 9  任务区分示例
    Fig. 9  An example of the classifications of the activities

    图 9中, 任务1, 3, 4都已调度, 需要将未调度任务进行区分.根据图中的紧前约束可得, 当前节点可开始的候选任务为任务2, 6, 剩余未调度任务为任务5, 7.定义当前可提供资源的任务集合为$A$, 任务$j$的最早完成时间$EFT_j=EST_j+d_j$, 当前节点的下界为

    $ \begin{align} LB_g=EST_n \end{align} $

    (12)

    对于当前节点可开始的候选任务, 在计算其最早开始时间时考虑具体资源分配, 计算方式为

    $ \begin{align} EST_j=&\ \min\{\max\{F_i+\Delta_{ijk}| k\in K\}| i\in A\notag \\ &\ \mbox{且}~ \sum\limits_{i}x_{ijk}=r_{jk}\} \end{align} $

    (13)

    对于剩余未调度任务, 如果任务$j$及其直接紧前任务$i$满足条件$r_{ik}+r_{jk}>R_k$, 则表示任务$j$必须使用任务$i$的资源$k$, 资源转移时间$\Delta_{ijk}$必然存在, 具体可参考图 10.

    图 10  任务关系示例
    Fig. 10  An example of the relationship of the activities

    定义集合$P_j^\ast$为任务$j$必须使用的任务集合, 集合$K^\ast$为必须使用的资源集合.任务$j$的最早开始时间计算方式为

    $ \begin{align*} {EST_j=} \begin{cases} \max\{EFT_i+\Delta_{ijk}| i\in P_j^\ast \text{且} k\in K^\ast\}, \\ \qquad\qquad\ \hfill r_{ik}+r_{jk}> R_k \\ \max\{EFT_i| i\in P_j\}, \\ \qquad\hfill r_{ik}+r_{jk}\leq R_k \end{cases} \end{align*} $

    2.2.3   分支定界算法步骤

    分支定界算法的具体步骤如下:

    步骤1. 初始分支为遗传算法所得调度计划.

    步骤2. 回溯搜索树, 继续分支, $g=g+1$, 并更新已调度任务集合$S_g$.

    步骤3. 根据支配规则和定界规则判断当前节点是否能够剪除, 如果可以则转步骤5.

    步骤4. 调用启发式调度生成方法生成项目调度结果.

    步骤5. 如果$n\notin S_g$, 转步骤2;如果$n\in S_g$, 比较任务完成时间, 如果$F_n<UB$, 更新$UB=F_n, g =g+1$.

    步骤6. 满足终止条件则算法结束.

    本文使用Microsoft Visual Studio 2013进行编程, 通过实验的方式对上述算法的有效性进行检验.

    本文算法测试的基础算例随机选自PSPLIB算例库[11], 资源转移时间通过C#随机生成, 存储在算例文件中, 取值范围在$1 \sim 15$之间, 符合三角形规则.为了在遗传算法中选取合适的参数, 本文在不同参数设置情况下对不同规模的算例进行求解.分别选取交叉概率$pc$为0.8, 0.6及变异概率$pm$为0.2, 0.1进行数据测试. 表 1给出了不同规模下的实验结果对比, 其中每组包含30个算例, 平均值偏差表示的是每组算例所得结果的均值与本组最好均值之间的差值百分比.

    表 1  不同参数设置下的实验结果对比
    Table 1  Comparison of experimental results under different parameter settings
    算例规模平均值偏差(%)
    $pc=0.8$ $pc=0.6$ $pc=0.6$ $pc=0.8$
    $pm=0.2$ $pm=0.2$ $pm=0.1$ $pm=0.1$
    J300.890.991.440.00
    J601.110.000.080.13
    J900.660.000.130.24
    平均0.870.330.550.12
    下载: 导出CSV 
    | 显示表格

    表 1可知, 在参数设置为$pc=0.8, pm=0.1$的情况下, 其平均偏差与最好解相差最小, 且在不同算例情况下与最好解的差值都相差较小, 因此本文遗传算法最终选取交叉概率为0.8, 变异概率为0.1, 以下部分数据对比均使用本组参数设置.

    为了验证本文所提内嵌分支定界的遗传算法的有效性, 将算法的求解结果与CPLEX所求精确解以及无内嵌分支定界的遗传算法所得结果进行对比. 表 2给出不同算法对于小规模算例的求解结果, 每组均包含10个算例. 表 2中GAP栏表示算法所得解与CPLEX所得上界间的差值百分比, 设定CPLEX的最长计算时间为7 200 s.

    表 2  不同算法求解小规模算例的实验结果对比
    Table 2  Comparison of different algorithms in small-to-medium size problems
    算例规模组别CPLEX无分支定界的遗传算法内嵌分支定界的遗传算法
    上界均值下界均值时间均值(s)均值时间均值(s)GAP (%)均值时间均值(s)GAP (%)
    J10134.934.986.0035.81.442.5235.217.850.74
    223.423.419.0124.81.305.9823.625.970.85
    337.937.9102.3538.41.311.3238.116.140.53
    平均69.121.353.2719.990.71
    J12162.160.64 035.6064.11.723.2262.720.460.97
    241.339.33 233.4242.31.742.4241.719.100.97
    327.127.130.6928.11.683.6927.324.250.74
    平均2 429.901.713.1121.270.89
    J14162.849.05 898.8064.22.172.2361.735.70-1.75
    232.130.22 335.5433.42.214.0532.539.121.25
    347.146.2950.7348.62.673.1847.739.731.27
    平均3 061.692.353.1538.180.26
    J16178.753.67 200.0077.72.33-1.2775.744.38-3.81
    239.830.16 484.8443.63.089.5542.441.766.53
    359.946.16 509.6061.52.702.6759.856.31-0.17
    平均6 731.482.703.6547.480.85
    J20149.428.87 200.0048.33.12-2.2346.959.68-5.06
    264.441.07 200.0063.03.23-2.1761.159.80-5.12
    368.146.07 200.0067.83.09-0.4465.672.30-3.67
    平均7 200.003.15-1.6163.93-4.62
    下载: 导出CSV 
    | 显示表格

    表 2可知, 内嵌分支定界的遗传算法可以在可接受时间内求得较优结果, 相较无内嵌分支定界的遗传算法, 内嵌分支定界的遗传算法在求解所有小规模算例时均可优化2 %左右.对于J10和J12规模下的算例, CPLEX可以求得最优解, 内嵌分支定界的遗传算法所得解与最优解之间的GAP差值均在1%以下.对于J14 $\sim$ J20规模下的算例, 由于问题较为复杂, CPLEX有时无法求得最优解, 此处取CPLEX运行2小时所得上界为对比对象, 将本文算法所得结果与CPLEX所得最好解进行对比.对于J14和J16规模下的算例, 通过内嵌分支定界可以将遗传算法与最好解间的GAP均值从3%左右缩减至小于1%, 甚至在有些个别算例中可以将GAP从5.98%缩减至0.85%;对于J20规模下的算例, 相比上界, 内嵌分支定界的遗传算法能够使得解的质量提高5%左右.

    由于CPLEX无法求解大规模问题, 所以本文选取Krüger等[8]所提的基于规则的改进并行调度算法为对比对象, 验证本文所提算法的有效性.经数据实验分析, Krüger等[8]认为LFT规则和SLACK规则可以求得较优解, 因此此处选取运用LFT规则与SLACK规则所得的结果作为对比对象. 表 3给出不同算法对于大规模问题的实验结果对比, 其中每组包括10个算例, 表 3中的GAP栏表示不同算法所得解与本组最好解间的差值.

    表 3  不同算法求解大规模算例的实验结果对比
    Table 3  Comparison of different algorithms in large size problems
    算例规模组别启发式算法无分支定界的遗传算法内嵌分支定界的遗传算法
    LFT均值GAP (%)SLACK均值GAP (%)均值时间均值(s)GAP (%)均值时间均值(s)GAP (%)
    J301159.014.80156.913.29140.75.691.59138.563.650.00
    2157.616.65161.919.84136.76.271.18135.177.200.00
    3120.112.77119.312.02109.16.222.44106.5117.810.00
    平均14.7415.056.061.7486.220.00
    J601217.012.55216.012.03196.724.142.02192.8744.970.00
    2152.411.00151.09.98140.426.582.26137.3777.180.00
    3115.88.22114.97.38109.225.772.06107.0798.220.00
    平均10.599.8025.502.11773.460.00
    J901383.811.05386.311.78351.468.891.68345.61 191.980.00
    2199.29.15198.88.93186.868.182.36182.51 952.750.00
    3520.914.38515.913.29462.671.571.58455.41 755.120.00
    平均11.5311.3369.551.871 633.280.00
    下载: 导出CSV 
    | 显示表格

    表 3可知, 相较无内嵌分支定界的遗传算法, 内嵌分支定界的遗传算法在求解大规模算例时均可优化2%左右.遗传算法本身具有通过交叉迭代不断优化结果的特性, 因此其求解质量本身就已经可以达到一定精度, 虽然内嵌分支定界的遗传算法耗费时间相对较长, 但2%的改进仍具有意义.算法求解大规模算例时所用平均求解时间在30分钟左右, 在可接受的范围之内.同时, Krüger等[8]所提算法的求解结果与内嵌分支定界的遗传算法所得结果的偏差值为10%左右, 证明了本文所提算法的优越性.

    本文提出一种内嵌分支定界的遗传算法求解带有资源转移时间的资源受限项目调度问题, 算法使用遗传算法保证全局搜索能力, 同时使用基于深度优先的分支定界算法优化局部邻域搜索能力, 基于对问题结构的研究提出并证明了相应的支配规则, 并提出了问题的动态下界, 提升了分支定界算法的搜索效率.通过数据实验验证了本文所提内嵌分支定界的遗传算法的有效性.在求解小规模问题时, 算法所得解与最优解间的差值均在1%以下; 在求解大规模问题时, 相较现有文献的启发式算法, 内嵌分支定界的遗传算法可以提高解的精度近10%.


  • 本文责任编委 田捷
  • 图  1  Biohashing方法的基本流程

    Fig.  1  The basic process of the Biohashing method

    图  2  改进算法的基本流程

    Fig.  2  The basic process of the improved algorithm

    图  3  矩阵行向量比较的基本原理

    Fig.  3  The basic principle of the comparison of matrix row vectors

    图  4  滑动矩阵窗口的基本原理

    Fig.  4  The basic principle of the sliding matrix window

    图  5  实验选用的指纹图像示例

    Fig.  5  Examples of fingerprint images that used in experiments

    图  6  应用方法1的真假匹配汉明距离分布情况

    Fig.  6  The distribution of Hamming distance about the match for true-false with the first method

    图  7  应用方法2的真假匹配汉明距离分布情况

    Fig.  7  The distribution of Hamming distance about the match for true-false with the second method

    图  8  应用方法1的EER曲线

    Fig.  8  EER curve with the first method

    图  9  应用方法2的EER曲线

    Fig.  9  EER curve with the second method

    图  10  令牌泄露后三种方法的ROC曲线

    Fig.  10  ROC curves about three methods after tokens were leaked

    表  1  应用方法1的BioCode码计算结果

    Table  1  The results of BioCode calculations with the first method

    指纹BioCode码
    指纹1E1D2 BFED 5D33 C43B C57D 4C51 DC0E F29D 5B14 33B1 3872 68E7 03B5 0455 E91F F47C 5998 F273 4CE6 3C4C 4CD8 1E73 CF53 1127 631D 8E1E 162F 9C3F 1ECC 3BDA 88B9 2822
    指纹2E1C7 AFEB DC23 C439 C6A8 FF91 FE0C 70AD 19D4 23D1 B872 70EF 03B5 5C31 E915 E018 E1F8 62E3 5EE3 146E 4CB8 1E73 2D5D D054 66DF 8A32 1C6E 1C2F 3ECC BB9B 9CF0 62AE
    指纹3E1C7 AF0E 79DE F0AF 8B3A BE01 FC47 5FC0 3F2C 33BC 051C 827F 80A7 3502 F046 68CA B78C 79C2 E6E2 A5DD 6C46 7187 18C1 FD61 E352 A2A1 DB9D 5EA9 113A AD53 1C31 B1C6
    指纹4E1F6 3FCE 3F23 DC87 CC7F 8479 CE41 7F1D CB9E 23B8 0DF2 76E7 01F7 04C5 8F81 7D5E F999 E370 ACF3 9C46 1C9C 9A72 2F53 B563 F19D 8B3E 2E58 9C2B 6A8C BB99 A8F0 E3A6
    指纹5E1D2 8AA9 DC3B E039 C660 FE83 FC0C F0A9 53D5 3AF1 1523 E077 03BC 4611 F81C E118 C3D0 CEC7 5CE6 306C 4E38 1E30 AF11 D071 639F 8E37 1E3F 3C27 1EC4 BB83 8AF1 FA84
    下载: 导出CSV

    表  2  应用方法2的BioCode码计算结果

    Table  2  The results of BioCode calculations with the second method

    指纹BioCode码
    指纹1FD67 AAF1 5F72 8CD7 C86F 84DC 9B82 580B B077 78A5 1F42 EEE9 5232 55DD BBBA 661D 8857 E4F9 09CA 2C45 D802 8912 EFB0 6736 6C0E CBEC 11D9 3657 08DB 9639 BD21 476E
    指纹2FFA6 66CE E1F4 0CEC 9933 08C5 1992 3754 FA82 6644 DCD5 2FE8 8993 3365 539A 22E4 DB9A D766 CC99 9AF2 1F13 1626 66EA 910C64E8 9927 54C5 92F2 351B 8650 6383 445E
    指纹3FBEF EAFC 1774 8CE3 993F 84DD 9910 7C08 FB06 748C 9FF0 6EE8 99B3 957D 03BA 46F4 FA17 622E 69CB 5E45 9933 BA26 6EE6 6342 4D1C 9BA4 45FC 734F 118B B031 BD23 4458
    指纹4FDE6 2BFC 5FDC 8337 E92F D026 AC45 DE02 2799 A790 7739 AB22 02F7 B57D 60CC 98DB F81F C515 638A E811 7D46 5BCA 48E4 9999 0B76 B1EE 013F 445D D2B8 263F B266 17B8
    指纹5FB6F 6EE8 1772 8C55 D933 8594 9913 780E FB26 24CC 9DE2 6EC8 99BB 157D 1BB2 66AC F817 C26C 48CB 1E05 9813 AB35 6EF2 6326 5DCB 8BA2 49EC 34C7 39CB 9670 AC23 6452
    下载: 导出CSV

    表  3  指纹识别算法认证结果对比(%)

    Table  3  The comparison of authentication results of the fingerprint identification algorithm (%)

    方法FVC2002-DB1 FVC2002-DB2
    EEREER
    令牌安全令牌泄露 令牌安全令牌泄露
    文献[20]方法bfm016.9 019.1
    方法 1 bfh ($p=3$)02.84 03.38
    方法 2 bfc ($p=2$)03.44 03.93
    方法 2 bfc ($p=3$)02.85 03.18
    下载: 导出CSV
  • [1] 张宁, 臧亚丽, 田捷.生物特征与密码技术的融合——一种新的安全身份认证方案.密码学报, 2015, 2(2):159-176 http://www.cqvip.com/QK/72050X/201502/77778866504849534850484854.html

    Zhang Ning, Zang Ya-Li, Tian Jie. The integration of biometrics and cryptography——a new solution for secure identity authentication. Journal of Cryptologic Research, 2015, 2(2):159-176 http://www.cqvip.com/QK/72050X/201502/77778866504849534850484854.html
    [2] 许秋旺, 张雪锋.基于细节点邻域信息的可撤销指纹模板生成算法.自动化学报, 2017, 43(4):645-652 http://www.aas.net.cn/CN/abstract/abstract19042.shtml

    Xu Qiu-Wang, Zhang Xue-Feng. Generating cancelable fingerprint templates using minutiae local information. Acta Automatica Sinica, 2017, 43(4):645-652 http://www.aas.net.cn/CN/abstract/abstract19042.shtml
    [3] Cao K, Jain A K. Learning fingerprint reconstruction:from minutiae to image. IEEE Transactions on Information Forensics and Security, 2015, 10(1):104-117 doi: 10.1109/TIFS.2014.2363951
    [4] Davida G I, Frankel Y, Matt B J. On enabling secure applications through off-line biometric identification. In: Proceedings of the 1998 IEEE Symposium on Security and Privacy. Oakland, USA: IEEE, 1998. 148-157 http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=674831
    [5] Juels A, Wattenberg M. A fuzzy commitment scheme. In: Proceedings of the 6th ACM Conference on Computer and Communications Security. Kent Ridge Digital Labs, Singapore: ACM, 1999. 28-36
    [6] Feng H, Anderson R, Daugman J. Combining crypto with biometrics effectively. IEEE Transactions on Computers, 2006, 55(9):1081-1088 doi: 10.1109/TC.2006.138
    [7] Hartato B P, Adji T B, Bejo A. A review of chaff point generation methods for fuzzy vault scheme. In: Proceedings of the 2016 International Conference on Information Technology, Information Systems and Electrical Engineering (ICITISEE). Yogyakarta, Indonesia: IEEE, 2016. 180-185
    [8] You L, Yang L, Yu W K, Wu Z D. A cancelable fuzzy vault algorithm based on transformed fingerprint features. Chinese Journal of Electronics, 2017, 26(2):236-243 doi: 10.1049/cje.2017.01.009
    [9] Ratha N K, Connell J H, Bolle R M. Enhancing security and privacy in biometrics-based authentication systems. IBM Systems Journal, 2001, 40(3):614-634 http://www.researchgate.net/publication/220353130_Enhancing_security_and_privacy_in_biometrics-based_authentication_systems?ev=pub_cit
    [10] Ratha N K, Chikkerur S, Connell J H, Bolle R M. Generating cancelable fingerprint templates. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2007, 29(4):561-572 doi: 10.1109/TPAMI.2007.1004
    [11] Lee C, Choi J Y, Toh K A, Lee S. Alignment-free cancelable fingerprint templates based on local minutiae information. IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics), 2007, 37(4):980-992 doi: 10.1109/TSMCB.2007.896999
    [12] Ang R, Safavi-Naini R, McAven L. Cancelable key-based fingerprint templates. Information Security and Privacy. ACISP 2005. Lecture Notes in Computer Science. Berlin, Heidelberg, Germany: Springer, 2005. 242-252
    [13] Jin A T B, Ling D N C, Goh A. Biohashing:two factor authentication featuring fingerprint data and tokenised random number. Pattern Recognition, 2004, 37(11):2245-2255 doi: 10.1016/j.patcog.2004.04.011
    [14] Kong A, Cheung K H, Zhang D, Kamel M, You J. An analysis of Biohashing and its variants. Pattern Recognition, 2006, 39(7):1359-1368 doi: 10.1016/j.patcog.2005.10.025
    [15] Jin A T B, Ling D N C, Song O T. An efficient fingerprint verification system using integrated wavelet and Fourier-Mellin invariant transform. Image and Vision Computing, 2004, 22(6):503-513 doi: 10.1016/j.imavis.2003.12.002
    [16] Moon D, Yoo J H, Lee M K. Improved cancelable fingerprint templates using minutiae-based functional transform. Security and Communication Networks, 2014, 7(10):1543-1551 https://dl.acm.org/citation.cfm?id=2904939
    [17] Liu Y X, Hatzinakos D. BioHashing for human acoustic signature based on random projection. Canadian Journal of Electrical and Computer Engineering, 2015, 38(3):266-273 doi: 10.1109/CJECE.2015.2416200
    [18] Meetei T C, Begum S A. A variant of cancelable iris biometric based on BioHashing. In: Proceedings of the 2016 International Conference on Signal and Information Processing (IConSIP). Vishnupuri, India: IEEE, 2016. 1-5
    [19] 郭静, 徐江峰.一种基于BioHashing和洗牌算法的可撤销密钥绑定方案.计算机应用研究, 2014, 31(5):1511-1515 http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=jsjyyyj201405055

    Guo Jing, Xu Jiang-Feng. Cancellable key binding scheme based on BioHashing and shuffling algorithm. Application Research of Computers, 2014, 31(5):1511-1515 http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=jsjyyyj201405055
    [20] Liu E Y, Liang J M, Pang L J, Xie M, Tian J. Minutiae and modified Biocode fusion for fingerprint-based key generation. Journal of Network and Computer Applications, 2010, 33(3):221-235 doi: 10.1016/j.jnca.2009.12.002
    [21] Maio D, Maltoni D, Cappelli R, Wayman J L, Jain A K. FVC2002: second fingerprint verification competition. In: Proceedings of the 16th International Conference on Pattern Recognition. Quebec City, Canada: IEEE, 2002, 3: 811-814
  • 期刊类型引用(9)

    1. 黄樊晶,吴盘龙,李星秀,赵若涵,何山. 考虑执行能力约束的多机协同目标分配AEPSO算法. 宇航学报. 2024(06): 948-957 . 百度学术
    2. 胡雪君,梁盛,王建江,崔南方. 带转移时间的资源受限项目鲁棒调度优化. 计算机集成制造系统. 2023(12): 4191-4205 . 百度学术
    3. 张锦,江丽,郭钧,杜百岗,李益兵. 面向建材装备集团制造的分布式多项目资源调度. 控制与决策. 2021(09): 2133-2142 . 百度学术
    4. 胡雪君,王建江,谭跃进,徐培德,崔南方. 带有资源转移时间的RCPSP资源流模型及算法. 运筹与管理. 2021(12): 42-50 . 百度学术
    5. 项前,周亚云,吕志军. 资源约束项目的改进差分进化参数控制及双向调度算法. 自动化学报. 2020(02): 283-293 . 本站查看
    6. 杜永浩,邢立宁,蔡昭权. 无人飞行器集群智能调度技术综述. 自动化学报. 2020(02): 222-241 . 本站查看
    7. 贾兆红,王燕,张以文. 求解差异机器平行批调度的双目标协同蚁群算法. 自动化学报. 2020(06): 1121-1135 . 本站查看
    8. 朱兴动,孟杨凯,黄葵,范加利. 基于工作日志表的舰载机甲板作业优化调度算法. 舰船电子工程. 2020(12): 25-29+55 . 百度学术
    9. 李小鹏,李存斌,庞南生. 基于图的广度搜索的进度生成机制. 中国管理科学. 2018(09): 119-128 . 百度学术

    其他类型引用(18)

  • 加载中
  • 图(10) / 表(3)
    计量
    • 文章访问数:  2067
    • HTML全文浏览量:  202
    • PDF下载量:  671
    • 被引次数: 27
    出版历程
    • 收稿日期:  2017-01-21
    • 录用日期:  2017-04-21
    • 刊出日期:  2018-04-20

    目录

    /

    返回文章
    返回