ZKX's LAB

规划求解求不出特定值 怎么规划求解 得到最接近目标值单元格数据之和

2021-04-26知识4

Excel规划求解求哪几个数字之和等于一个固定值 假设2113求A1:A10中的数字和等于100,在B11单元5261格输入=SUMPRODUCT(A1:A10,B1:B10)然后在“数据4102”选项下的“规划求解1653”中,以B11为目标单元格,固定值,100;添加B1:B10为可变单元格,不回约束条件为“二进制bin”,然后求解,即可。

怎么规划求解 得到最接近目标值单元格数据之和,本次介绍怎么在excel中使用规划求解获得几个单元格的求和,跟目标值最接近,应该使用什么公式才行呢?

我用规划求解在一堆数据求哪些数据之和等于特定值,一直求不出来 就是个01背包问题。输入格式是输入W,然后输入W个数字。输出那些加起来等于N的数字(不过顺序是反的,无伤大雅)程序里是5009。注:复杂度O(N^2),如果有多组解,输出的是”解里最后一个数最靠前“的那个解。例如1000 3999 2000 3000 9 10102000 3000 9和3999 1010都是解,由于9比1010靠前,输出2000 3000 9。如果没有解,程序返回-1。includeincludeincludeusing namespace std;int main(){freopen(\"5009.in\",\"r\",stdin);int W;int N=5009;scanf(\"%d\",&W);int a[W+1]={0};for(int i=1;i;i)scanf(\"%d\",a+i);int*dp=new int*[W+1];for(int i=0;i;i+)dp[i]=new int[N+1];初始化第一列为0for(int i=0;i;i+)dp[i][0]=0;for(int i=0;i;i+)dp[0][i]=0;for(int i=1;i;i+){for(int j=1;j;j+){if(j[i]){当背包的重量小于当前物品的重点时,则沿用上一行的value值dp[i][j]=dp[i-1][j];}else{否则便进行计算,分两种情况,不包含i和包含i,非一既零原则。计算两种情况中较大的值,物品数从少到多进行计算因为类似于斐波那契数列,前面会用到后面的值,故采用自底向上的计算方法计算公式:F[i][j]=max(F[i-1][j],F[i-1][j-w[i]]+v[i])dp[i][j]=max(dp[i。

#规划求解求不出特定值

qrcode
访问手机版