当前位置:首页 » 新媒体运营 » 正文

非线性规划grg,Excel规划求解:3个求解方法引擎

5048 人参与  2022年05月07日 09:55  分类 : 新媒体运营  评论

【已知】

在一个屋里有很多桌和一群人

如果一桌坐个人,就多个人

如果一桌坐个人,就多个人

如果一桌坐个人,就多个人

如果一桌坐个人,就多个人

如果一桌坐个人,就正好

【请问】

这个屋里有多少人

求解方法:演化

■ 数据准备

我们先将案例抽象出来,其中Mod是求余数的函数,不明白函数用法见文末延伸阅读。

Excel规划求解:个求解方法引擎

如此,数据我们先准备好了。

Excel规划求解:个求解方法引擎

■ 规划求解参数准备

大家先看看这么设置对不对。

Excel规划求解:个求解方法引擎

点击求解后,以往需要“思考”一下的规划求解直接给出如下结果:规划求解找不到有用的解。

Excel规划求解:个求解方法引擎

■ 规划求解的求解方法

找不到有用解的原因是我们设定的求解方法为“非线性 GRG”,而他是用来处理光滑非线性规划问题的。

数学中所谓“光滑”即为连续,而Mod( )显然不是连续曲线,所以此案例我们要用“演化”求解方法。

Excel规划求解:个求解方法引擎

(规划求解中的帮助介绍图)

Excel规划求解:个求解方法引擎

(官网机器翻译的帮助材料介绍)

使用演化求解方法必须要提供变量的上下界限,否则会报错。所以我们在遵守约束中增加D>=、D<=(当然如果这道题在万以内数据找不到值,我们要进一步放开变量界限),如下。

目标:D 到 最小值

可改变单元格:D

遵守约束

B:B = C:C

D = 整数

D >=

D <=

求解方法:演化

Excel规划求解:个求解方法引擎

稍等分钟,返回一个近似值满足我们需求。

Excel规划求解:个求解方法引擎

求解方法:线性规划&GRG

实际操作的同学会发现,上面案例用演化求解的值大约近分钟,有没快一点的方法呢?

■ 数据准备

D设置公式 =A*B+C 并填充至D。

Excel规划求解:个求解方法引擎

■ 规划求解参数准备

目标:D 到 最小值

可改变单元格:B:B

遵守约束

B:B = 整数

D = D

D = D

D = D

D = D

求解方法:单纯线性规划

Excel规划求解:个求解方法引擎

点击“求解”,大约秒钟就显示找到一解。

Excel规划求解:个求解方法引擎

由于公式=A*B+C是线性函数,故我们选择了单纯线性规划求解方法。当然,线性函数也是光滑函数,所以使用非线性GRG求解方法也能求得,但运算速度较慢。

本文链接:http://www.woshiqian.com/post/89237.html

百度分享获取地址:https://share.baidu.com/code
非线性规划grg  

我是钱微信/QQ:5087088

广告位、广告合作QQ:5087088

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

       

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。