预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共11页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Matlab在优化设计中的应用 摘要 常见的优化问题包括线性规划、无约束优化、约束优化、最下二乘优化、多目标规划等。本文研究了matlab在这些常见优化问题中的应用及求解。 在进行研究本课题之前,我们先通过网络、电子书刊等各种有效渠道获取我们所需信息,在充分了解与熟练掌握了各种优化问题的具体特点及性质后,我们给出了关于如何用matlab进行多类优化问题的求解基本方法,在此前提下,为了体现该软件在这些优化领域的实际应用效果,我们结合若干个优化问题的实例进行分析、建模、以及运用matlab编程求解,在求解过程中,通过得到的精确数据和反应结果的图例,我们了解到matlab工具箱的功能强大,是处理优化问题的非常方便的编程工具。 关键词:matlab优化问题 二、基本概念 2.1。1线性规划 线性规划是优化的一个重要分支。它在理论和算法上都比较成熟,在实际中有广泛的应用。例如数学表达形式: 在MTLAB提供的优化工具箱中,解决规划的命令是,它的调用格式如下, 求解下列形式的线性规划: 求解下面形式的线性规划: 若没有不等式约束,则只需命令 。 求解下面形式的线性规划: 若没有不等式约束,则只需令;若只有下界约束,则可以不用输入。 2.1。2无约束优化算法 对于无约束优化问题,已经有许多有效的算法。这些算法基本都是迭代法,它们都遵循下面的步骤: 选取初始点x0,一般来说初始点越靠近最优解越好; 如果当前迭代点xk不是原问题的最优解,那么就需要找一个搜索方向pk,使得目标函数f(x)从xk出发,沿方向pk有所下降; 用适当的方法选择步长ak(≥0),得到下一个迭代点xk+1=xk+akpk; 检验新的迭代点xk+1是否为原问题的最优解,或者是否与最优解的近似误差满足预先给定的容忍度. 2.1.3单变量约束优化问题 单变量约束优化问题的标准形式为 即为求目标函数在区间(a,b)上的极小点。 2.1.4最小二乘法优化 最小二乘优化时一类非常特殊的优化问题,它在实际中,尤其是在处理一些曲线拟合问题、线性方程组无解时的近似解等问题,用的非常多。 最小二乘优化问题的目标函数一般为若干个函数的平方和,即: 2。1.5多目标规划问题 在大多数的优化、中,都将多目标规划的一般形式表述为: 其中,、、既可以为线性函数,也可以为非线性函数。 三、基本方法 对于解决那些常见优化问题,基本思路将在解题HYPERLINK”http://hi.baidu。com/lewutian”的过程中得到体现。我们给出具体一些建模实例来体现基本算法: 3。1就下列命令求下面分段函数的极小值点. 解:首先编写目标函数的M文件如下: 然后为了分析直观,利用MTLAB画出目标函数的图像,步骤如下: >〉x=—5:0.01:5; 〉>n=length(x) n= 1001 〉〉fori=1:1001 y(i)=example8_7(x(i)); end 3。2对于下面的线性规划问题: min–x1-3x2 s.t. 先利用图解法求其最优解,然后利用优化工具箱中的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)即为线性规划的最优解,它也是两个线性约束的交点. 3。3求解下面的最小二乘优化问题: 其中 程序输入及结果 〉>clear A=[121;—213]; b=[11]'; C=[0-12;10-1;—320]; d=[101]’; lb=[—5-5—2]’; ub=[552]'; Aeq=[];beq=[]; [x,resnorm,residual,exitflag,output,lambda]=lsqlin(C,d,A,b,Aeq,beq,lb,ub) Warning:Large-scalemethodcanhandleboundconstraintsonly; switchingtomedium-scalemethod。 Warning:Large-scalemethodcanhandleboundconstraintsonly; usingmedium-scalemethodi