高级检索

    背包问题的一种自适应算法

    An Adaptive Algorithm for the Knapsack Problem

    • 摘要: 背包问题是经典的NP hard组合优化问题之一 ,由于其难解性 ,该问题在信息密码学和数论研究中具有极重要的应用 基于求解背包问题著名的二表算法和动态二表算法 ,利用归并原理和 4个非平衡的子表 ,提出一种求解该问题的自适应算法 ,算法可根据计算资源和问题实例规模的大小 ,允许使用O (2 n/ 2 -ε)的存储空间 (1≤ε≤n/ 4 ) ,在O(ε(2 n/ 2 ) )的时间内求解背包问题 对算法性能的理论分析和数值实验结果表明 ,自适应算法可显著扩大背包实例的求解规模 ,从时间和空间上改进背包问题现有算法的性能

       

      Abstract: The knapsack problem is a classic NP-hard problem in the combinational optimization. Because it is very hard for the solution,it is very important in the research on cryptosystem and number theory. Based on the famous two-list algorithm and the two-list four-table algorithm,a new adaptive algorithm for the solution of knapsack problem is proposed by adopting the principle of merging and four unbalanced sub-tables. To find the solution for the n -element knapsack problem,the proposed algorithm needs O(ε(2 n/?2 )) time,1≤ε≤n/4 ,and O(2 n/?2-ε ) memory. The value of parameter ε in the adaptive algorithm can be adjusted in the range from 1 to n/4 accordance with the scale of the knapsack instances and the available computation resource. The theoretic analysis and the computational experiments show that the proposed algorithm can solve the knapsack instances that can’t be solved before in the usual computational environments,thus gaining an improved result over the past researches.

       

    /

    返回文章
    返回