matlab在优化设计中的应用.docxVIP

  • 12
  • 0
  • 约6.04千字
  • 约 11页
  • 2022-08-01 发布于山东
  • 举报
Matlab在优化设计中的应用 摘要 常有的优化问题包括线性规划、无拘束优化、拘束优化、最下二乘优化、多目标规划等。本文研究了matlab在这些常有优化问题中的应用及求解。 在进行研究本课题以前,我们先经过网络、电子书刊等各样有效渠道获取我们所需信息,在充分认识与娴熟掌握了各样优化问题的详细特点及性质后,我们给出了对于怎样用matlab进行多类优化问题的求解基本方法,在此前提下,为了体现该软件在这些优化领域的实际应用效果,我们联合若干个优化问题的实例进行剖析、建模、以及运用matlab编程求解,在求解过程中,经过获得的精准数据和反响结果的图例,我们认识到matlab工具箱的功能强大,是办理优化问题的特别方便的编程工具。 重点词:matlab优化问题 二、基本观点 线性规划 线性规划是优化的一个重要分支。它在理论和算法上都比较成熟,在实际中有宽泛的应用。比如数学表达形式: minc1x1 c2x2 cnxn a11x1 a12x2 a1nxn b1 a21x1 a22x2 a2nxn b2 s.t. am1x1 am2x2 amnxn bm xi 0, i1,2, ,n 在MTLAB提供的优化工具箱中,解决规划的命令是 linprog ,它的调用格式如下, xlinprog(c,A,b) 求解下列形式的线性规划: mincTx s.t.Axb xlinprog(c,A,b,Aeq,beq) 求解下面形式的线性规划: mincTx Axb s.t. Aeq?xbeq 若没有不等式拘束Axb,则只要命令 A[],b[]。 xlinprog(c,A,b,Aeq,beq,lb,ub) 求解下面形式的线性规划: mincTx Axb s.t.Aeq?xbeq lbxub 若没有不等式拘束Axb,则只要令A[],b[];若只有下界拘束,则能够不用输入ub。 无拘束优化算法 对于无拘束优化问题,已经有很多有效的算法。这些算法基本都是迭代法,它们都按照下面的步骤: ① 选用初始点x0 ,一般来说初始点越凑近最优解越好; ② 如果目前迭代点 xk不是原问题的最优解,那么就需要找一个搜寻方向 pk,使得目标函数 f(x) 从xk出发,沿方向pk有所下降; ③ 用适合的方法选择步长 ak(≥0),获得下一个迭代点xk+1=xk+akpk; ④ 查验新的迭代点 xk+1是否为原问题的最优解,或许是否与最优解的近似误差知足预先给定的容 忍度。 单变量拘束优化问题 单变量拘束优化问题的标准形式为 minf(x) s.t.axb 即为求目标函数在区间(a,b)上的极小点。 最小二乘法优化 最小二乘优化时一类特别特殊的优化问题,它在实际中,尤其是在办理一些曲线拟合问题、线性方程组无解时的近似解等问题,用的特别多。 最小二乘优化问题的目标函数一般为若干个函数的平方和,即: m 2x xRn minF(x) f1 i1 多目标规划问题 在大部分的优化、中,都将多目标规划的一般形式表述为: minF(x) f1 x f2x fpxT gix 0, i 1,2, ,m s.t. 0, i 1,2, ,n hix 其中,fi x、gix 、hix 既能够为线性函数,也能够为非线性函数。 三、基本方法 对于解决那些常有优化问题,基本思路将在解题的过程中获得体现。我们给出详细一些建模实例来体现基本算法: 就下列命令求下面分段函数的极小值点。 x2 6x 5, x 1 fx x2 1, 1 x 1 x2 4x 3, x 1 解:首先编写目标函数的 M文件如下: functiony example87(x) ifx 1 y x2 6x 5; elseif x 1x 1 y x2 1; else y x2 4x 3; end 然后为了剖析直观,利用MTLAB画出目标函数的图像,步骤如下: x=-5::5; n=length(x) n= 1001 fori=1:1001y(i)=example8_7(x(i));end 对于下面的线性规划问题: min–x1-3x2 1 x2x6 . x1 2x28 x1,x2 0 先利用图解法求其最优解,然后利用优化工具箱中的 linprog命令求解。 解〈图解法〉 先利用MATLAB画出该线性规划的可行集及目标函数等值线: clear symsx1x2 f=-x1-3*x2; c1=x1+x2-6; c2=-x1+2*x2-8; ezcontourf(f) axis([0606]) holdon ezplot(c1) ezplot(c2) legend(f等值线,x1+x2-6=0,-x1+2*x2-8=0) title(利用图解法求线性规划问题) gtext(x) 运行结果如下列图: 从上图中能够看出可行集的极点x(4/3,14/3)即为线

文档评论(0)

1亿VIP精品文档

相关文档