1 / 154

最优化计算初步

最优化计算初步. 郑伟诗 Wei-Shi Jason Zheng wszheng@ieee.org http://sist.sysu.edu.cn/~zhwshi/. 晴天. 阴天. 下雨. …………. X 1. X 2. X T. …………. O 1. O 2. O T. 简要复习第三讲:统计分析进阶. 马尔可夫模型. •. •. •. •. •. •. •. •. •. •. •. •. •. •. •. •. •. •. •. •. •. •. •. •. •. •. •. •. •. •.

Download Presentation

最优化计算初步

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 最优化计算初步 郑伟诗 Wei-Shi Jason Zheng wszheng@ieee.org http://sist.sysu.edu.cn/~zhwshi/ 12/1/2014, Page 1

  2. 晴天 阴天 下雨 ………… X1 X2 XT ………… O1 O2 OT 简要复习第三讲:统计分析进阶 • 马尔可夫模型 12/1/2014, Page 2

  3. • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • 简要复习第三讲:统计分析进阶 • 主成分分析:使数据分布更易于解释 12/1/2014, Page 3

  4. 最优化计算初步 • 课程安排 • 最优化解决什么类型的问题? • 无约束情况下的最优化计算 • 约束情况下的最优化计算 • 一般约束情况下的最优化计算 • 基于多层次分析法的最优化计算 • 关于计算机视觉的几个例子 • 作业:发至 exercise_sysu@163.com • 作业截止时间:9月18日,2013 • PPT下载地址: • http://www.eecs.qmul.ac.uk/~jason/sysu/course/maths_model 12/1/2014, Page 4

  5. 最优化 12/1/2014, Page 5

  6. 最优化解决什么类型的问题? • 1. 一般最优化的例子 • 2. 二次规划的最优化的例子 12/1/2014, Page 6

  7. 最优化的一般问题:例子 例子:生产计划的编制 问:企业应如何安排生产,能使总收益最大? 12/1/2014, Page 7

  8. 决策目标:A、B、C 产品各生产多少台使企业 总收益最大? 最优化的一般问题:例子 • 决策变量:设 • 目标函数: • 约束条件: • 非负条件: 12/1/2014, Page 8

  9. 合理下料问题:现要用长7.4米的圆钢截取长2.9米、2.1米和1.5米的材料各100根,应如何下料,才能使用料最省?合理下料问题:现要用长7.4米的圆钢截取长2.9米、2.1米和1.5米的材料各100根,应如何下料,才能使用料最省? 最优化的一般问题:例子 1、各种取料方式 2.9 2.1 1.5 0.9 12/1/2014, Page 9

  10. 决策目标:如何取料使所用原料最少 最优化的一般问题:例子 (1) 决策变量:设第 j种下料方式所用的原料根数为xj (2)目标函数: (3) 约束条件: (4) 非负条件: 12/1/2014, Page 10

  11. 人力资源安排问题 最优化的一般问题:例子 某商场是个中型的百货商场,现在需要对营业员的工作时间作出安排,营业员每周工作五天,休息两天,并要求休息的两天是连续的,问题归结为:如何安排营业员的作息时间,既能满足工作需要,又使配备的营业员人数最少? 1、有关数据:对营业员的需求进行统计分析,营业员每天的需求人数如下表所示: 12/1/2014, Page 11

  12. 最优化的一般问题:例子 12/1/2014, Page 12

  13. 最优化的一般问题:例子 • 挑选球员问题:某篮球教练要从8名业余队员中挑选3名队员参加专业球队,使平均身高达到最高。队员的号码、身高及所擅长的位置如下。要求:中锋1人;后卫1人;前锋1人,但1号、3号与6号队员中必须保留1人给业余队。 12/1/2014, Page 13

  14. 最优化的一般问题:例子 目标函数: 约束条件: 12/1/2014, Page 14

  15. 最优化的一般问题:例子 • 运输问题:要把某种货物从m个工厂运到n个商店去,其中每个工厂的库存量为a1,a2,…,am,各商店的需求量为b1,b2,…,bn,从工厂i到商店j 的运费(每单位货物)为cij,确定从工厂i到商店j的运输量xij(i=1,…,m,j=1,…,n),使在满足供求的条件下,总的运费最小。 i 12/1/2014, Page 15

  16. 最优化的一般问题:例子 选址问题:设有n个市场,第j个市场的位置为(aj,bj),对某种货物的需要量为qj, j=1,…,n,现计划建立m个仓库,第i个仓库的容量为ci,i=1,…,m,试确定仓库的位置,使各仓库到各市场的运输量与路程乘积之和最小. 解:设第i个仓库的位置为(xi,yi),运输量为wij. 12/1/2014, Page 16

  17. 数据拟合问题:在实验数据处理或统计资料分析中常遇到如下问题:设两个变量x和y,已知存在函数关系,但其解析表达式或者是未知的、或者虽然为已知的单过于复杂。设已取得一组数据,数据拟合问题:在实验数据处理或统计资料分析中常遇到如下问题:设两个变量x和y,已知存在函数关系,但其解析表达式或者是未知的、或者虽然为已知的单过于复杂。设已取得一组数据, (xi, yi), i=1,2,…,m 根据这组数据导出函数y=f(x)的一个简单而近似的解析表达式。 取一个简单的函数序列g0(x), g1(x),…,gn(x) 最优化的一般问题:例子 12/1/2014, Page 17

  18. 二次规划的重要应用实例 12/1/2014, Page 18

  19. 二次规划的重要应用实例 模型的建立 设投资的期限是一年,可供选择的金融资产数为n。设此n中 金融资产的年收益为随机变量 。由于我们 主要关心投资的分配比例,不妨设投资总数为1个单位,用 于第j中投资的资金比例为 , 令 ,称为投资组合向量。显然应有。 12/1/2014, Page 19

  20. 二次规划的重要应用实例 投资一年的收益 也是一个随机变量,期望收益为 马库维茨建议用随机变量 (组合投资收益)的方差作为投资风险的度量,即 设随机向量的数学期望为 , 自协方差矩阵为 12/1/2014, Page 20

  21. 二次规划的重要应用实例 那么 投资者一般希望收益越大越好,风险越小越好。但收益大和风险小往往是两个有矛盾的目标,因此马库维茨将问题归结为:将风险控制在一定水平之下,选择投资组合使期望收益最大;或者在收益不低于某个水平前提下使投资的风险最小。这样就有以下两个马库维茨组合投资优化模型。 12/1/2014, Page 21

  22. 二次规划的重要应用实例 第一个模型是控制风险, 优化收益模型 其中r是预定的风险水平. 12/1/2014, Page 22

  23. 二次规划的重要应用实例 第二个模型是控制收益,极小化风险的模型 12/1/2014, Page 23

  24. 二次规划的重要应用实例 还可将收益和风险指标进行加权平均,得到如下模型 其中, 是一个适当选取的常数. 由于在 中包含了各分量的二次项,这三个模型均为二次规划模型. 12/1/2014, Page 24

  25. 二次规划的重要应用实例 2. 模式识别中的线性分类 两类问题:1, -1/ 正,负 • 分类:找到一个决策平面把两类数据分开 12/1/2014, Page 25

  26. 二次规划的重要应用实例:SVM • SVM 是从线性可分情况下的最优分类面发展而来的, 基本思想可用左图的两维情况说明. 图中, 方形点和圆形点代表两类样本, H 为分类线,H1, H2分别为过各类中离分类线最近的样本且平行于分类线的直线, 它们之间的距离叫做分类间隔(margin)。 所谓最优分类线就是要求分类线不但能将两类正确分开(训练错误率为0),而且使分类间隔最大. 推广到高维空间,最优分类线就变为最优分类面。 12/1/2014, Page 26

  27. 二次规划的重要应用实例:SVM 12/1/2014, Page 27

  28. 二次规划的重要应用实例:SVM 12/1/2014, Page 28

  29. 最优化问题的特点 最优化问题的共同特征: • 每一个问题变量都用一组决策变量(x1, x2, …, xn)表示某一方案,这组决策变量的值代表一个具体方案。 • 存在一定的约束条件,这些约束条件可以用一组线性(或非线性)等式或线性(或非线性)不等式来表示。 • 目标函数用决策变量的线性(或非线性)函数来表示。按问题的不同,要求目标函数实现最大化和最小化。 12/1/2014, Page 29

  30. 最优化理论初步 • 目的:了解基本的理论背景,更好地运用matlab • 基本概念 • 基本理论 • 无约束条件的最优化 • 二次带约束条件的最优化 • 一般带约束条件的最优化 • 知识掌握要求: • 宏观地了解各理论点 • 会用matlab工具建模 12/1/2014, Page 30

  31. 无约束优化问题 • 模型的基本形式 • 模型的基本求解方法 • Matlab仿真及求解 12/1/2014, Page 31

  32. 基本形式 求解的基本思想( 以二元函数为例 ) 连续可微 3 1 5 12/1/2014, Page 32

  33. 12/1/2014, Page 33

  34. 唯一极小 (全局极小) 多局部极小 12/1/2014, Page 34

  35. 最优点 (1 1) 初始点 (-1 1) 搜索过程 -1 1 4.00 -0.79 0.58 3.39 -0.53 2.60 0.23 1.50 0.00 -0.18 0.09 -0.03 0.98 0.37 0.11 0.47 0.59 0.33 0.20 0.80 0.63 0.05 0.95 0.90 0.003 0.99 0.99 1E-4 0.999 0.998 1E-5 12/1/2014, Page 35 0.9997 0.9998 1E-8

  36. 无约束优化问题的基本算法 1.最速下降法(共轭梯度法)算法步骤: 最速下降法的优点是工作量小,存储变量较少,初始点要求不高;缺点是收敛慢,最速下降法适用于寻优过程的前期迭代或作为间插步骤,当接近极值点时,宜选用别种收敛快的算法. 12/1/2014, Page 36

  37. 无约束优化问题的基本算法 2.牛顿法算法步骤: 如果f是对称正定矩阵A的二次函数,则用牛顿法经过一次迭代就可达到最优点,如不是二次函数,则牛顿法不能一步达到极值点,但由于这种函数在极值点附近和二次函数很近似,因此牛顿法的收敛速度还是很快的. 牛顿法的收敛速度虽然较快,但要求Hessian矩阵要可逆,要计算二阶导数和逆矩阵,就加大了计算机计算量和存储量. 12/1/2014, Page 37

  38. 无约束优化问题的基本算法 3.拟牛顿法 12/1/2014, Page 38

  39. 无约束优化问题的基本算法 12/1/2014, Page 39

  40. 无约束优化问题的基本算法 12/1/2014, Page 40

  41. Matlab优化工具箱简介(一) 12/1/2014, Page 41

  42. Matlab优化工具箱简介(一) 优化函数的输入变量 12/1/2014, Page 42

  43. Matlab优化工具箱简介(一) 优化函数的输出变量下表: 12/1/2014, Page 43

  44. Matlab优化工具箱简介(一) 控制参数options的设置 Options中常用的几个参数的名称、含义、取值如下: (1) Display: 显示水平.取值为’off’时,不显示输出; 取值为’iter’时,显示每次迭代的信息;取值为’final’时,显示最终结果.默认值为’final’. (2) MaxFunEvals: 允许进行函数评价的最大次数,取值为正整数. (3) MaxIter: 允许进行迭代的最大次数,取值为正整数. 12/1/2014, Page 44

  45. Matlab优化工具箱简介(一) (1) options=optimset(‘optimfun’) 创建一个含有所有参数名,并与优化函数optimfun相关的默认值的选项结构options. (2)options=optimset(‘param1’,value1,’param2’,value2,...) 创建一个名称为options的优化选项参数,其中指定的参数具有指定值,所有未指定的参数取默认值. (3)options=optimset(oldops,‘param1’,value1,’param2’, value2,...) 创建名称为oldops的参数的拷贝,用指定的参数值修改oldops中相应的参数. 例:opts=optimset(‘Display’,’iter’,’TolFun’,1e-8) 该语句创建一个称为opts的优化选项结构,其中显示参数设为’iter’, TolFun参数设为1e-8. 12/1/2014, Page 45

  46. Matlab优化工具箱简介(一) 常用格式如下: (1)x= fminbnd (fun,x1,x2) (2)x= fminbnd (fun,x1,x2,options) (3)[x,fval]= fminbnd(...) (4)[x,fval,exitflag]= fminbnd(...) (5)[x,fval,exitflag,output]= fminbnd(...) 其中(3)、(4)、(5)的等式右边可选用(1)或(2)的等式右边。 函数fminbnd的算法基于黄金分割法和二次插值法,它要求目标函数必须是连续函数,并可能只给出局部最优解。 12/1/2014, Page 46

  47. Matlab优化工具箱简介(一) 主程序为wliti1.m: f='2*exp(-x).*sin(x)'; fplot(f,[0,8]); %作图语句 [xmin,ymin]=fminbnd (f, 0,8) f1='-2*exp(-x).*sin(x)'; [xmax,ymax]=fminbnd (f1, 0,8) 12/1/2014, Page 47

  48. Matlab优化工具箱简介(一) 例2 对边长为3米的正方形铁板,在四个角剪去相等的正方形以制成方形无盖水槽,问如何剪法使水槽的容积最大? 先编写M文件fun0.m如下: function f=fun0(x) f=-(3-2*x).^2*x; 主程序为wliti2.m: [x,fval]=fminbnd(@fun0,0,1.5); xmax=x fmax=-fval 运算结果为: xmax = 0.5000,fmax =2.0000.即剪掉的正方形的边长为0.5米时水槽的容积最大,最大容积为2立方米. 12/1/2014, Page 48

  49. Matlab优化工具箱简介(一) 2、多元函数无约束优化问题 标准型为:min F(X) 命令格式为: (1)x= fminunc(fun,X0);或x=fminsearch(fun,X0) (2)x= fminunc(fun,X0,options); 或x=fminsearch(fun,X0,options) (3)[x,fval]= fminunc(...); 或[x,fval]= fminsearch(...) (4)[x,fval,exitflag]= fminunc(...); 或[x,fval,exitflag]= fminsearch (5)[x,fval,exitflag,output]= fminunc(...); 或[x,fval,exitflag,output]= fminsearch(...) 12/1/2014, Page 49

  50. Matlab优化工具箱简介(一) fminunc的算法见以下几点说明: • [1] fminunc为无约束优化提供了大型优化和中型优化算法。由options中的参数LargeScale控制: • LargeScale=’on’(默认值),使用大型算法 • LargeScale=’off’(默认值),使用中型算法 • [2] fminunc为中型优化算法的搜索方向提供了4种算法,由 • options中的参数HessUpdate控制: • HessUpdate=’bfgs’(默认值),拟牛顿法的BFGS公式; • HessUpdate=’dfp’,拟牛顿法的DFP公式; • HessUpdate=’steepdesc’,最速下降法 • [3] fminunc为中型优化算法的步长一维搜索提供了两种算法, • 由options中参数LineSearchType控制: • LineSearchType=’quadcubic’(缺省值),混合的二次和三 • 次多项式插值; • LineSearchType=’cubicpoly’,三次多项式插 • 使用fminunc和 fminsearch可能会得到局部最优解. 12/1/2014, Page 50

More Related