我试图找到具有线性相等,线性不等式和非线性(二次)不等式约束的线性目标函数的极值。问题是我已经尝试了nloptr,Rsolnp Nlcoptim等程序包中的许多算法,并且每次获得不同的结果。而且,结果与Excel的GRG算法(在很多情况下)不同,后者可以在最小化目标函数方面找到更好的结果。
到目前为止,solnp(Rsolnp软件包)给出了一些良好的结果,并且经过适当的校准后,结果甚至比GRG Excel算法中的结果还要好。即使数据输入略有变化,Solnl(NlcOptim)的结果也是平均值且差异很大。 Nloptr(Nloptr程序包)功能已实现了多种算法。我尝试了几次(我不记得确切是哪个),并且结果仍然是平均的,与到目前为止从其他算法获得的结果完全不同。
我对优化算法的知识确实很差,我的尝试是基于随机选择算法。因此,您能建议一些用R实现的算法可以解决此类问题吗?哪个(为什么)比另一个更好?关于选择适当的优化算法,也许有一些框架或决策树。
如果这有帮助,我会尝试找到投资组合资产的最佳权重,其目标函数是使投资组合风险最小化(标准差),所有资产权重之和总和为1且大于或等于0 ,并以定义的投资组合收益作为约束条件。