作者s1001326 (gg)
看板R_Language
标题[问题] nloptr gradient 疑问
时间Tue May 31 23:05:56 2016
[问题类型]:
程式谘询(我想用R 做某件事情,但是我不知道要怎麽用R 写出来)
[软体熟悉度]:
入门(写过其他程式,只是对语法不熟悉)
[问题叙述]:
不好意思,想请教一个问题,因为研究上需要,因此要用nloptr解问题,里面的gredient
意思不是很懂,从字面上我知道是斜率,但是看了范例之後发现我的想法不是很对,
以R提供的范例为例
Exampls
min_{x} x1*x4*(x1+x2+x3)+x3
s.t.
x1*x2*x3*x4 >= 25
x1^2 + x2^2 + x3^2 +x4^2 =40
1 <= x1,x2,x3,x4 <= 5
f(x)
"objective"=x[1]*x[4]*(x[1]+x[2]+x[3])+x[3],
"gradient"=c(x[1]*x[4]+x[4]*(x[1]+x[2]+x[3])),
x[1]*x[4],
x[1]*x[4]+1.0,
x[1]*(x[1]+x[2]+x[3])
eval_g_ineq
constr <- c(25-x[1]*x[2]*x[3]*x[4])
grad <- c(-x[2]*x[3]*x[4],
-x[1]*x[3]*x[4],
-x[1]*x[2]*x[4],
-x[1]*x[2]*x[3],)
eval_g_eq
constr <- c(x[1]*2+ x[2]*2 + x[3]*2 + x[4]^2 -40)
grad <-c( 2.0*x[1],
2.0*x[2],
2.0*x[3],
2.0*x[4])
# initial values
x0 <- c (1,5,5,1)
这边仅列出部分程式码,很不好意思,有大大可以解释目标式与限制式所对应的
gradient所代表的意思吗?为什麽是这样表示?非常谢谢大家的帮助
BTW,想请问initial values所代表的意思,是固定的值还是有其他意思,要如何决
定里面的数字?烦请各位大大指点迷津@@
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 123.195.48.117
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1464707159.A.944.html
1F:→ celestialgod: gradient看起来就是目标函数对x1~x4的微分 05/31 23:46
2F:→ celestialgod: initial value就你自己给定 这个我不确定有没有办法 05/31 23:47
3F:→ celestialgod: 给一个最佳的 05/31 23:47
4F:→ celestialgod: grad看起来是constr的微分 05/31 23:47
5F:→ s1001326: 谢谢大大为我解惑 我会试试看起始值 非常感谢! 06/01 12:41