好文档 - 专业文书写作范文服务资料分享网站

matlab在优化设计中的应用

天下 分享 时间: 加入收藏 我要投稿 点赞

.

Matlab在优化设计中的应用

摘 要

常见的优化问题包括线性规划、无约束优化、约束优化、最下二乘优化、多目标规划等。本文研究了matlab在这些常见优化问题中的应用及求解。

在进行研究本课题之前,我们先通过网络、电子书刊等各种有效渠道获取我们所需信息,在充分了解与熟练掌握了各种优化问题的具体特点及性质后,我们给出了关于如何用matlab进行多类优化问题的求解基本方法,在此前提下,为了体现该软件在这些优化领域的实际应用效果,我们结合若干个优化问题的实例进行分析、建模、以及运用matlab编程求解,在求解过程中,通过得到的精确数据和反应结果的图例,我们了解到matlab工具箱的功能强大,是处理优化问题的非常方便的编程工具。

关键词:matlab 优化问题

二、基本概念

2.1.1 线性规划

线性规划是优化的一个重要分支。它在理论和算法上都比较成熟,在实际中有广泛的应用。例如数学表达形式:

.

.

minc1x1?c2x2???cnxn?a11x1?a12x2???a1nxn?b1?ax?ax???ax?b2112222nn2? ?s.t.??ax?ax???ax?bm22mnnm?m11xi?0,i?1,2,?,n??在MTLAB提供的优化工具箱中,解决规划的命令是linprog,它的调用格式如下,

x?linprog(c,A,b)

求解下列形式的线性规划:

?mincTx ??s.t.Ax?bx?linprog(c,A,b,Aeq,beq)

求解下面形式的线性规划:

?mincTx??Ax?b??s.t.?Aeq?x?beq??若没有不等式约束Ax?b,则只需命令

A?[],b?[]。

x?linprog(c,A,b,Aeq,beq,lb,ub)

求解下面形式的线性规划:

?min????s.t.??cTx?Ax?b ?Aeq?x?beq??lb?x?ub?若没有不等式约束Ax?b,则只需令A?[],b?[];若只有下界约束,则可以不用输入ub。

2.1.2 无约束优化算法

对于无约束优化问题,已经有许多有效的算法。这些算法基本都是迭代法,它们都遵循下面的步骤:

0

① 选取初始点x,一般来说初始点越靠近最优解越好;

kk

② 如果当前迭代点x不是原问题的最优解,那么就需要找一个搜索方向p,使得目标函数f(x)

kk

从x出发,沿方向p有所下降;

.

.

③ 用适当的方法选择步长a(≥0),得到下一个迭代点x=x+ap;

④ 检验新的迭代点xk+1是否为原问题的最优解,或者是否与最优解的近似误差满足预先给定的容

忍度。

kk+1kkk

2.1.3单变量约束优化问题

单变量约束优化问题的标准形式为

?minf(x)? s.t.a?x?b?即为求目标函数在区间(a,b)上的极小点。

2.1.4 最小二乘法优化

最小二乘优化时一类非常特殊的优化问题,它在实际中,尤其是在处理一些曲线拟合问题、线

性方程组无解时的近似解等问题,用的非常多。

最小二乘优化问题的目标函数一般为若干个函数的平方和,即:

minF(x)??f1?x?2i?1mx?Rn

2.1.5多目标规划问题

在大多数的优化、中,都将多目标规划的一般形式表述为:

minF(x)?f1?x??f2?x??fp?x?

T??gi?x??0,i?1,2,?,m s.t.???hx?0,i?1,2,?,n?i其中,fi?x?、gi?x?、hi?x?既可以为线性函数,也可以为非线性函数。

三、基本方法

对于解决那些常见优化问题,基本思路将在解题的过程中得到体现。我们给出具体一些建模实例来体现基本算法:

.

.

3.1就下列命令求下面分段函数的极小值点。

?x2?6x?5,x?1?2f?x????x?1,?1?x?1

?x2?4x?3,x??1?解:首先编写目标函数的M文件如下:

functiony?example87(x)ifx?1y?x?2?6?x?5;elseifx???1&x??1y??x2?1;elsey?x?2?4?x?3;end然后为了分析直观,利用MTLAB画出目标函数的图像,步骤如下: >> x=-5:0.01:5; >> n=length(x) n =

1001

>> for i=1:1001

y(i)=example8_7(x(i)); end

?

3.2 对于下面的线性规划问题:

min –x1-3x2

?1?x2x?6?s.t. ??x1?2x2?8

?x1,x2?0?先利用图解法求其最优解,然后利用优化工具箱中的linprog命令求解。 解 〈图解法〉

先利用MATLAB 画出该线性规划的可行集及目标函数等值线: >>clear

>>syms x1 x2

.

.

>>f=-x1-3*x2; >>c1=x1+x2-6; >>c2=-x1+2*x2-8; >>ezcontourf(f) >>axis([0 6 0 6]) >>hold on >>ezplot(c1) >>ezplot(c2)

>>legend('f等值线','x1+x2-6=0','-x1+2*x2-8=0') >>title('利用图解法求线性规划问题') >>gtext('x') 运行结果如下图:

从上图中可以看出可行集的顶点x(4/3,14/3)即为线性规划的最优解,它也是两个线性约束的交点。

3.3求解下面的最小二乘优化问题:

12Cx?d2 2?x1?2x2?x3?1??2x?x?3x?1?123 s.t.???5?x1,x2?5???2?x3?2min .

matlab在优化设计中的应用

.Matlab在优化设计中的应用摘要常见的优化问题包括线性规划、无约束优化、约束优化、最下二乘优化、多目标规划等。本文研究了matlab在这些常见优化问题中的应用及求解。在进行研究本课题之前,我们先通过网络、电子书刊等各种有效渠道获取我们所需信
推荐度:
点击下载文档文档为doc格式
4qoj6685l783hrt8bf1m52amw9lhy70083r
领取福利

微信扫码领取福利

微信扫码分享