规划求解法,excel 批量“规划求解”(其它方法也行)解四元一次方程组

时尚网,时尚女装,时尚杂志

excel 批量“规划求解”(其它方法也行)解四元一次方程组

Subtest()

DimMaxRowAsInteger,iAsInteger

DimStrFormula1AsString,StrFormula2AsString

MaxRow=Range("A65536").End(xlUp).Row

Fori=2ToMaxRow

Range("I2")="=SUMPRODUCT(E2:G2,OFFSET(J1:L1,"&i-1&",))"

Range("I3")="=SUMPRODUCT(E3:G3,OFFSET(J1:L1,"&i-1&",))"

Range("I4")="=SUM(OFFSET(J1:L1,"&i-1&",))"

SolverReset

SolverOkSetCell:="$I$4",MaxMinVal:=3,ValueOf:="1",byChange:=Replace("$J$2:$L$2","2",i)

SolverAddCellRef:="$I$2",Relation:=2,formulaText:="$A$"&i

SolverAddCellRef:="$I$3",Relation:=2,formulaText:="$B$"&i

SolverSolve

Next

EndSub

先在模块中引用 规划求解 工具 引用 点选 SOLVER

EXCEL关于规划求解方法显示所有解的问题,举最简单的列子但足以说明

规划求解只是求出一个解就结束的!你可以改变一下B1的值=4(初值),再去求解试一试!

视频的例子给一个你!

http://www.tudou.com/programs/view/B5mmR5Ux7Ew

求EXCELl中的已知数总和,数值,求变量范围数值,使用规划求解方法?

在得到精确解的前提下,用更短的小数位数来完成解答。我们把上下限都放大10的n次方倍去求整数解除。目标是让n的值尽量地小。得到的最终结果是:332.5*14.7378+52.98*12.1525+333*2.0365+52.98*4.9=6478.23

后面我用Mathematica来求解,在这样的放大倍数下有361742种不同的解,上面的方法只求得其中的一种。Mathematica求解数的源代码如下:

n = 10000;

Solve[{33225/100*x1/n + 5298/100*x2/n + 333*x3/n + 5298/100*x4/n ==

647823/100, 144 n/10 <= x1 <= 15 n, 12 n <= x2 <= 122 n/10,

2 n <= x3 <= 21 n/10, 47 n/10 <= x4 <= 49 n/10}, {x1, x2, x3, x4},

Integers] // Length

求助:利用Excel自动规划求解,要用哪种函数或方法呢?

可以办到

1.在A1:J1分别输入100,115,130,150,170,190,215,240,270,300这几个数字

2.在K1,L1输入你的两个变量

3.在M1输入=SUMPRODUCT(A1:J1,A2:J2)+K1+L1

4.在M2输入=SUM(A2:J2)

5.进入规划求解.

目标单元格引用M1

选择"值为",输入965(你的固定量)

可变单元格引用A2:J2

约束条件有4个.

1.A2:J2>=1

2.A2:J2<=0

3.A2:J2=INT

4.M2=3

最后一步按"求解"

然后在A2:J2会出现三个1.1所对应的上一行的单元格就是你要求的数字.

用excel2007线性规划求解,公式方法都没问题,就是点求解键后运算时间好久不出结果...

如果没有问题,很有可能是计算量很大,需要迭代很久

如果有问题,那就另当别说了,你最好贴出来你的题目

>>>>全文在线阅读<<<<

标签: 方程组 也行

相关阅读