Julia基础(4学时)
内容:了解Julia的语法基础,利用Julia进行基础编程。
要求:熟悉Julia的集成环境,编写Julia基础程序(jl文件和画图)。
精确线搜索准则及其Julia实现(4学时)
内容:黄金分割法和抛物线法的Julia编程
要求:(1)了解Julia程序设计的基本原则;(2)掌握函数的编写和调用;(3)黄金分割法和抛物线法的Julia编程;(4)掌握Julia数值计算的基本方法。
非精确线搜索准则及其Julia实现(4学时)
内容:Armijo准则的Julia实现;Goldstein准则的Julia实现;Wolfe-Powell准则的Julia实现(选做)
要求:(1)实现Armijo准则的Julia程序;(2)实现Goldstein准则的Julia程序;(3)实现Wolfe-Powell准则的Julia实现(选做);(4)进行数值结果分析,提交实验报告。
求解无约束优化问题的最速下降法和牛顿法(6学时)
内容:了解最速下降法和牛顿法设计思想简介,掌握无约束优化线搜索框架的一般迭代步骤并进行Julia编程。
要求:(1)实现最速下降法的Julia程序;(2)实现牛顿法的Julia程序;(3)进行数值结果分析,提交实验报告。
求解无约束优化问题的共轭梯度法(6学时)
内容:了解各类共轭梯度法的迭代公式;编写各类共轭梯度法的Julia求解程序。
要求:(1)了解各类共轭梯度法的设计思路;(2)实现FR和PRP共轭梯度法的Julia程序;(3)进行数值结果分析,提交实验报告。
求解无约束优化问题的拟牛顿法(6学时)
内容:了解各类拟牛顿法的迭代公式;编写各类拟牛顿法的Julia求解程序。
要求:(1)了解各类拟牛顿法的设计思路;(2)实现BFGS和DFP拟牛顿法的Julia程序;(3)进行数值结果分析,提交实验报告。
JuMP优化包介绍(4学时)
内容:了解JuMP并利用其对所给出模型的进行求解练习
要求:利用JuMP优化包对无约束和约束优化问题进行求解。