您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 信息专业最优化算法实验指导书(8课时)
《最优化算法》实验指导书(第三版)华北电力大学数理系20161实验一一维搜索一、实验目的1、掌握一维搜索问题的0.618法和Fibonacci法;2、培养编程能力与上机调试能力;3、培养写作能力。二、实验课时:2学时三、实验准备1、掌握一维搜索问题的0.618法和Fibonacci法;2、写出算法描述或者画出算法的流程图;3、选择编程环境准备对算法进行实现。四、实验内容1、分别用0.618法和Fibonacci法,求函数ttftee在1,1内的极小值点,容许误差510,函数图像见图1。2、分别用0.618法和Fibonacci法,求函数630sintan1tfttte在[0,1]内的极大值点,容许误差610,函数图像见图2。-1-0.500.5122.22.42.62.833.23.4图100.20.40.60.81012345x1010图23、通过计算结果对两种方法进行分析比较。五、思考题通过查阅资料给出黄金分割点和斐波那契数列的一些其它应用。2实验二无约束优化问题的解析解法一、实验目的1、掌握无约束优化问题的解析算法——最速下降算法、共轭梯度算法和广义牛顿法、DFP算法;2、培养编程与上机调试能力;3、培养写作能力。二、实验课时:4学时三、实验准备1、掌握无约束优化问题的解析解法;2、写出算法描述或者画出算法的流程图;3、选择编程环境准备对算法进行实现。四、实验内容1、(必做!!)编写最速下降算法和共轭梯度法的程序,求解如下问题,并由计算结果对两种算法进行分析比较。(1)函数221212,fxxxx的极小值点,其中初始点(0)100,100Tx,容许误差为510。(2)函数221212,50fxxxx的极小值点,其中初始点为(0)1,1Tx,容许误差为510。(3)函数22212121(,)12fxxxxx,的极小值点,其中初始点为(0)0,0Tx,容许误差为510。(提示:该函数不是二次函数,需要利用非二次函数的共轭梯度算法!见教材第四版P188。)2、编广义牛顿法和DFP算法的程序,求解如下问题,并由计算结果对两种算法进行分析比较。(1)函数2212112212,22fxxxxxxxx的极小值点,其中初始点(0)0,0Tx,容许误差为510。(2)函数4222121122,221fxxxxxx3的极小值点,其中初始点为(0)1,1Tx,容许误差为510。(3)函数22212121(,)12fxxxxx,的极小值点,其中初始点为(0)0,0Tx,容许误差为510。五、思考题1、如何理解最速下降算法中“最速”一词?2、什么是拟牛顿条件?并写出必要的推导过程。4实验三无约束非线性规划问题的直接解法一、实验目的1、掌握无约束优化问题的直接解法——步长加速法;2、培养编程与上机调试能力;3、培养写作能力。二、实验课时:2个课时三、实验准备1、了解无约束优化问题的直接解法;2、掌握步长加速法,画出算法的流程图;3、选择编程环境准备对算法进行实现。四、实验内容1、步长加速法的算法描述(0)(0)(0)(1),00(0,1),0,0,0nxRyxkj给定初始点初始步长,加速因子,缩减因子精度。令。(2)探测移动()()(1)()11()()(1)()11(1)()()(),,()(),,13jjjjjjjjjjjjjjfyefyyyefyefyyyeyykk若则令否则,若则令否则,令。,转();()()(3)-11,(2)()(),(4)(5)nkjnjjfyfx若,则令转。若转,否则,转。(4)模式移动(1)()(0)(1)(1)(),()1,0,2knkkkxyyxxxkkj令,令转()。()(1)()(0)()(5),,1,,,1,2kkkkxxxkkyxj若则停止,为所求;否则,令转()。2、画出步长加速算法流程图并编程实现算法。3、用步长加速算法计算下列问题(取10,1,0.1,15e),(1)函数221212,fxxxx5的极小值点,其中初始点(0)100,100Tx,容许误差为510。(2)函数221212,50fxxxx的极小值点,其中初始点为(0)1,1Tx,容许误差为510。(3)函数22212121(,)12fxxxxx,的极小值点,其中初始点为(0)0,0Tx,容许误差为510。4、试着改变参数,,,的取值,通过结果分析这些参数对算法的影响!五、思考题简述无约束非线性规划问题的解析解法和直接解法的特点。6实验四Matlab优化函数(自学内容!不作要求。)一、实验目的1、用matlab的优化工具箱对最优化问题进行求解。2、培养matlab编程与上机调试能力。二、实验课时:2个课时三、实验准备1、了解优化问题的内容及常见算法。2、熟悉matlab软件中优化工具箱的基本操作。四、实验内容利用matlab的优化工具箱求解以下问题:1)求函数221160.30.010.90.04fxxx在1处的的零点及在0.5,1.5内的最大值;2)求函数2222111001gxxxx在1,1点附近的最小值。3)求函数最小值:123123min..02372fxxxxstxxx,初始点10,10,10Tx4)求函数最小值1221212212min42421..00xfxexxxxxstxx5)求函数最大值12212122121212max42421..1.5010xfxexxxxxstxxxxxx五、思考题简述对于应用数学软件进行求解问题和编程求解问题的体会。7附录有关Matlab函数介绍1、有约束一元函数的最小值问题函数:fminbnd2、无约束多元函数最小值函数:fminsearch或者fminunc注:一般的使用fminunc比fminsearch更有效,但当所选函数高度不连续时,使用fminsearch效果更好。3、约束多元函数最小值函数:fmincon4、二次规划函数:quadprog
本文标题:信息专业最优化算法实验指导书(8课时)
链接地址:https://www.777doc.com/doc-2691443 .html