作者iamlwm (doesn't matter)
站内Statistics
标题[问题] [R] 用R做Constrained Optimization
时间Sun Oct 19 04:26:10 2008
各位前辈大家好
小弟最近企图使用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
1F:→ clickhere:f(0,0,1)=-1, f(1/4,1/2,1/4)=-1/8. R 没错吧. 10/19 04:43
2F:→ clickhere:reparmeterize and transform constraints into linear 10/19 06:06
3F:推 s3011:(0,0)的话并不满足现制式 怪怪的 10/19 06:36
4F:→ clickhere:因为optim可不是再解pde呀!所以只会给(0,0,1).y 10/20 03:35
5F:→ iamlwm:请问有办法让constraint变binding吗? 10/20 12:46