[問題] [R] 用R做Constrained Optimization
各位前輩大家好
小弟最近企圖使用R來做constrained optimization
不過遇到了一些問題
想請各位幫幫忙
舉個簡單的例子
我想要解optimal (x,y) for the following problem:
Max U(x,y)=x*y
constraints: 2*x+y=1, x>=0, y>=0
目前我的作法是
先form Lagrange: f(x,y,L)= -x*y + L*(2*x+y-1)
where L>0 is the Lagrange multiplier
然後用"optim"這個函數來minimize f(x,y,L)
我希望得到的答案是 (x,y,L)=(1/4, 1/2, 1/4)
結果R跑出來的是: (x,y,L)=(0,0,1)
(我偷偷限制了L<=1,所以R跑出來L=1)
看起來R好像完全不care我的 constraint: 2x+y=1
請問各位有什麼方法解決這問題嗎?
p.s.
我知道另一種可能性是
直接把y=1-2x帶入objective function
然後變成單變數的optimization problem
或是用constrOptim這個函數來做
但我真正面對的 constraint 其實是 nonlinear的
所以這兩條路似乎行不通...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 74.94.77.237
→
10/19 04:43, , 1F
10/19 04:43, 1F
→
10/19 06:06, , 2F
10/19 06:06, 2F
推
10/19 06:36, , 3F
10/19 06:36, 3F
→
10/20 03:35, , 4F
10/20 03:35, 4F
→
10/20 12:46, , 5F
10/20 12:46, 5F