作者kilva (嗡嗡)
看板Math
标题[线代] 总和极小值
时间Sun Jan 17 15:33:32 2021
给定n个变数 a,b,c,d,....
及数个条件 f(a,b,...)>=M, g(a,b,...)>=N, ...
其中f、g为n个变数中部分变数的相和。
请问,所有n个变数总和的极小值要怎麽求?
----
举例如下:
给定4个变数a、b、c、d,
在符合 a+b+d>=322、a+c+d>=292、c+d>=157 、 a>=0 、 c>=0 等条件下,
求a+b+c+d的极小值。
可求出 a+b+c+d 的极小值在 (135,30,0,157) 上,值为322,
在 a+b+d=322、a+c+d=292、c+d=157、c=0 相交处,而不在 a=0 的面上。
----
希望有具体的演算法或程式码。
谢谢。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.36.136.56 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Math/M.1610868814.A.481.html
※ 编辑: kilva (114.36.136.56 台湾), 01/17/2021 15:36:37
※ 编辑: kilva (114.36.136.56 台湾), 01/17/2021 15:37:43
1F:推 garymore : 以你举的例子来说,求a+b+c+d的最小值,使用偏微分 01/17 17:18
2F:→ garymore : ,并且引入Lagrange multipliers(只需要前三个条 01/17 17:18
3F:→ garymore : 件),就可以算出最小值可以由c决定。所以当c最小, 01/17 17:18
4F:→ garymore : 就有最小值322。 01/17 17:18
5F:推 LPH66 : 如果你要的是程式的话, 你的问题是标准的线性规划 01/18 02:02
6F:→ LPH66 : 解线性规划的程式很容易找得到 01/18 02:02
7F:→ Pieteacher : 找一下 scipy.optimize 里的 linprog 01/19 12:13