[線代] 總和極小值

看板Math作者 (嗡嗡)時間3年前 (2021/01/17 15:33), 3年前編輯推噓2(205)
留言7則, 3人參與, 3年前最新討論串1/1
給定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://www.ptt.cc/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

01/17 17:18, 3年前 , 1F
以你舉的例子來說,求a+b+c+d的最小值,使用偏微分
01/17 17:18, 1F

01/17 17:18, 3年前 , 2F
,並且引入Lagrange multipliers(只需要前三個條
01/17 17:18, 2F

01/17 17:18, 3年前 , 3F
件),就可以算出最小值可以由c決定。所以當c最小,
01/17 17:18, 3F

01/17 17:18, 3年前 , 4F
就有最小值322。
01/17 17:18, 4F

01/18 02:02, 3年前 , 5F
如果你要的是程式的話, 你的問題是標準的線性規劃
01/18 02:02, 5F

01/18 02:02, 3年前 , 6F
解線性規劃的程式很容易找得到
01/18 02:02, 6F

01/19 12:13, 3年前 , 7F
找一下 scipy.optimize 裡的 linprog
01/19 12:13, 7F
文章代碼(AID): #1W0-XEI1 (Math)