这段时间学习了优化方法,因为相关的大作业在实现以后我觉得还是很有意思的,所以贴一下分享下,兴许还能帮助到自己的学弟学妹们
题目是首先对于一个n维的问题,取初始点为x0 = 0,利用最速下降法,牛顿法,BFGS方法,共轭梯度法求解二次函数的极小点,其中G和b的参数由matlab函数随机生成:
,
,
;
首先看主函数,这里定义了问题并且实现了题目中的四种方法。具体算法的来源请参照任意一本优化方法教科书,我这里只说工程上的实现。
但是要注意这里面有两个自定义的函数searchReg和bisection,searchReg的功能是得到在做精确线搜索之前所