8# kakamama
请您看清楚,我没有说r做不了nonlinear programming,只是r在这些方面还不够完善。别的软件有的可以做,有的不可以。matlab这方面强很多,但是mathematica就稍微逊色一些。但是比较主流的软件都回整合这样的功能,只是其便利程度和效果不同而已。另外,您所谓的初值问题,本来就应该是人来调节的。函数包里面根据常用的初值,提供了一些默认的选择,但是总的来说,初值一般是我们自己可以选择的。
关于r的nonlinear programming,cran上面至少有五个这样的packages,侧重方向各有不同。另外,一些特殊的函数里,也使用的相应的算法,比如svm里的smo。但是整体来说,相对r本身的构建水平,在nonlinear prog这方面,r还是比较弱的(不是我个人评价,John Chambers 这么说)。r core team现在很关注的一个方向就是提高这方面的性能。比如,现在其中在试图建立interface,调用
cvx。cvx原本是一个matlab下的package,做convex optimization的。而这个package又存在一个python下的版本,cvxopt。可行的一种方式就是通过使用r,通过c++作为glue,调用python的package。这些东西说来很简单,但是想做到user friendly,其实是有好多工作要做的。不过这也间接说明了matlab的这方面比r做的好吧。另外,cran 和 r-forge上都有很多在做这方面的project,kakamama同志有兴趣的话可以关注一下。