给出一组数,怎样快速凑出哪几个相加得到我要的总数

用规划求解……关于“规划求解”的具体介绍参考怎利用excel做多变量图表?如销售量,利润,提成,三个变量导致总利润不同,如何模拟各个点去计出利润最高?关于这个问题如何规划?要从数据源中筛选合适的数据出来,所以用源数据乘1,或0,实现替代选择或不选择的效果。将b列做为可变单元格,限制其取值为1或0c列作为选择的结果将c列求和后与目标值相减,设置规划求解的目标值为最小值,可实现等于或最接近的效果。如图,初始状态:给出一组数,怎样快速凑出哪几个相加得到我要的总数

规划求解参数设置:给出一组数,怎样快速凑出哪几个相加得到我要的总数

规划求解的结果给出一组数,怎样快速凑出哪几个相加得到我要的总数
【给出一组数,怎样快速凑出哪几个相加得到我要的总数】
以上。
■网友
对于第一个问题,即哪几个相加等于11102.89?这是Subset sum problem (http://zh.wikipedia.org/wiki/%E5%AD%90%E9%9B%86%E5%90%88%E5%8A%A0%E7%B8%BD%E5%95%8F%E9%A1%8C),此问题是NP完全问题,不能在多项式时间内解决。假设你有n个数字,每个数字取或者不取有两种可能,那么在不减枝的情况下有2^n种可能性。对于第二个问题,如果选择的是最接近的一组解,需要记录最优子集和与target值之差,也是NP完全问题。但是可以利用动态规划求近似解。


    推荐阅读