Maple18全局优化应用
- 格式:pdf
- 大小:2.59 MB
- 文档页数:23
第1章 绪论 1.1 最优化问题的提出 “优化”既是一个专业术语,也是一个通俗的词语,这一方面说明优化问题的广泛性;另一方面也说明解决优化问题具有一定的难度,需要有专门的理论和技巧。优化问题来源于求某一设计(广义的设计)的最优结果,用数学观点来说就是求用某一指标或某几个指标描述的设计的最大值或最小值。设计的决策包含优化的过程,其中有通过以往经验判断得出的决策,有通过枚举或多方案比较得出的决策,而经济的做法则是通过对设计建立数学模型,通过解析或数值计算寻找到决策的依据,用以指导设计的实施。例如,某设计的模型可用一元函数f(x)来表示,对其进行最优化设计就是求该一元函数的最大值和最小值。如果一元函数是单调函数,则函数的最大值或最小值会在变量x的边界上取得;如果一元函数是二次多项式,则函数的极值在函数曲线的顶点上取得;如果一元函数是高次多项式,函数曲线有多个极值点,则求函数的最大值或最小值问题就变得复杂起来。对多元函数的极值问题更是如此,需要用到局部或全局优化算法来求解。 线性规划问题是目标函数和限制条件都是线性函数的问题,在生产和生活中很多问题都可抽象为线性规划问题。下面以线性规划举例说明优化设计问题的提出、建模及求解的全过程。 例1 有一名学生,期末有5门功课要考试,可用的复习时间有18h。假定这5门功课分别为数学、英语、计算机基础、画法几何和专业概论。如果不复习直接参加考试,这5门功课预期的考试成绩分别为65分、60分、70分、60分和65分。复习以1h为一单位,每增加1h复习时间,各门功课考试成绩就有可能提高,每复习1h各门功课考试成绩提高的分数分别为3分、4分、5分、4分和6分。问:如何安排各门功课的复习时间可使平均成绩不低于80分,并且数学和英语成绩分别不低于70分和75分? 解: 设分配在数学、英语、计算机基础、画法几何和专业概论这5门功课的复习时间分别为x1,x2,x3,x4,x5,则可列出如下的目标函数和限制条件: min f(x)=x1+x2+x3+x4+x5 s.t. x1+x2+x3+x4+x5≤18 (3x1+4x2+5x3+4x4+6x5+320)/5≥80 3x1+65≥70 4x2+60≥75 3x1≤35 4x2≤40 5x3≤30 4x4≤40 6x5≤35 x1,x2,x3,x4.x5≥0 根据所给列出的主要方程。但是根据实际情况,各门功课的成绩不能大于100分,各门功课的复习时间不能是负数,因此还需补充这几个限制条件。由此看出,这是一个在满足限制条件(约束条件)的情况下,求最少复习时间的问题。下面用MATLAB优化工具箱求线性规划的函数linprog()来求解此问题。 线性规划问题数学模型 min CTX s.t. AX≤B AeqX=Beq Lb≤X≤Ub 其中:C,X,B,Beq,Lb,Ub为向量;A,Aeq为矩阵。 例2 资源分配问题是线性规划中的一类问题。这里所说的资料其含义广泛,可以使一般的物质资料,也可以是人力资源。资源分配问题可描述为生产若干种产品(广义的产品)需要几种不同的资源,如原料消耗量、设备使用量、人力需要量等。各种资源供应量有一定限制,所生产的产品有不同的利润或花费不同的费用。所求问题是在所消耗资源和资源供给量限制的条件下,求生产不同的产品的数量,使收益最大或费用最低。 某工厂要生产两种规格的电冰箱,分别用Ⅰ和Ⅱ表示。生产电冰箱需要两种原材料A和B,另需设备C,生产两种电冰箱所需原材料、设备台数、资源供给量及两种产品可获得的利润如表所示。问:工厂应分别生产Ⅰ,Ⅱ型电冰箱多少台,才能使工厂获得最多? 资源 Ⅰ Ⅱ 资源限制 设备C 1 1 1200台时 原材料A 2 1 1800kg 原材料B 0 1 1000kg 单位产品获利 220 250 求最大收益 电冰箱Ⅰ用原材料限制 ≤800kg 解: 设生产Ⅰ,Ⅱ型电冰箱的数量分别是x1,x2,则可获得的最大收益为 max f(X)=220x1+250x2, X∈R2 s.t. x1+x2≤1200 2x1+x2≤1800 x2≤1000 x1≤800 x1,x2≥0 通过以上两个例子,我们初步了解了优化设计求解的过程,以及优化设计的“威力”。 例1-2中使用了标准化得优化数学模型,而优化问题数学模型的一般描述为 min(max) f(X)=f(x1,x2,x3,…,xn), X∈Rn
光照强度计算的优化模型陈家跃 1 黄雅丽2 肖习雨3 1.韶关学院2004级数学系数学与应用数学 2.韶关学院2002级信息技术教育(2)班 3.韶关学院2003级信息技术(1)班摘 要文章把整个教室看成若干个点的集合,每一个点的光照强度为四个点光源照到该点的光照强度之和.用离散化的思想,以距离作为重要的桥梁连接目标点与光源和光照强度之间的关系: P Q J QPk J 2=(P Q J J ,是目标点的光照强度是四点光源的光强).算出任意一点的光照强度和距离地面1米处各点的光强,用Maple8画出位置与光照强度之间的曲面图,还作出密度图和等高线图进一步说明模型的合理性.对于第三问和第四问,重新考虑四个光源位置.根据在1米处的光照强度总和越大、光照越平均,学生的满意程度就越大的思想,用MATLAB6求出1米处的光照强度总和最大值M=0.1278和光照最平均值E=0.6⨯3110-,用最小二乘法找出一个最贴近M 和E 的值,其中目标函数关系式是∑-+-22)()( E J M L Q w ,找出目标函数的最小值,确定四个光源的位置为((80,47,25)、(80,103,25)、(40,103,25)、(40,44,25)), 同理也能确定线光源的位置.关键词:光照强度;点光源;线光源;满意程度1 问题的提出现在已知一个教室长为15米,宽为12米,在距离地面高2.5米的位置均匀的安放4个光源(分别为1、2、3、4),各个光源的光照强度均为一个单位,如下图要求:(1)如何计算教室内任意一点的光照强度?(光源对目标点的光照强度与该光源到目标点距离的平方成反比,与该光源的强度成正比).(2)画出距离地面1米处各个点的光照强度与位置(横纵坐标)之间的函数关系曲面图,试同时给出一个近似的函数关系式.(3)假设离地面1米高正是学生桌面的高度,如何设计这四个点光源的位置,才能使学生对光照的平均满意度达到最高?(4)若将题目中的点光源换成线光源,以上(2)、(3)问的结果又如何?(对于(1)、(2)问,假设横向(纵向)墙壁与光源、光源与光源、光源与墙壁之间的距离是相等的.)2 模型的假设2.1 光不会通过窗、门等外涉,也不考虑光在空气中的消耗,即光照强度和不变;2. 2 室内不受外界光源影响;2.3 教室高度为2.5米;2.4 不考虑光的反射;2.5 线光源发光是均匀的.3 符号约定Q:教室内任意一点J:四光源对点Q的光照强度QJ: 光源P的光照强度 (P=1,2,3,4)PQP:光源P与点Q之间的距离 (P=1,2,3,4)w: 四个点光源位置 (P=1,2,3,4)PE : 1米处各点的最平均光照强度w L : 光源在w 处时,1米处各点的光源强度的总和M : 1米处各点光源强度总和的最大值L : 线光源的长度4 模型的建立由于光源对目标点的光照强度与该光源到目标点的距离的平方成反比,与该光源的强度成正比,故可作出任意一点光照强度函数:∑==412p p Q J QPk J (1)其中k 为正常数,建立右手直角坐标系,如图1所示,1.2.3.4分别为四个光源的位置,由于横向(纵向)墙壁与光源、光源与光源、光源与墙壁之间的距离是相等的,可以得到此四光源在坐标系中的位置为: (单位:分米)1 (80, 50, 25)由于各个光源的光照强度均为一个单位,且光都不外涉,不在空气中消耗,也不受外界光源影响,即所有目标点的光照强度之和等于四个点源的光强之和,故得:∑∑∑====41241p P Q p p J QPk J J⇒∑∑∑===-+-+-+-+-+-1200150025222222)25()100()80(1)25()50()80(1(x y z z y x z y x k (2) 4))25()50()40(1)25()100()40(1222222 =-+-+-+-+-+-+z y x z y x 图1由(2)式解得:k=0.01855612043 故(1)式可化为:)3(QP0430.01855612412∑==p p Q J J5 模型的求解5.1 计算教室内任意一点的光照强度:把任意一点Q 代入(3)式,可得教室内任意一点的光照强度:4222322222221222)25()50(x)-(400430.01855612)25()100(x)-(400430.01855612)25()100(x)-(800430.01855612)25()50(x)-(800430.01855612J z y J z y J z y J z y J Q -+-++-+-++-+-++-+-+=5.2 距离地面1米处各个点的光照强度与位置(横纵坐标)之间的函数关系曲面图:根据函数关系式:422322222122225)50()40(0430.01855612225)100()40(0430.01855612225)10()80(0430.01855612225)50()80(0430.01855612J y x J y x J y x J y x J Q +-+-++-+-++-+-++-+-=用MAPLE8软件作出相应的三维曲面图,如图2所示:用MAPLE8软件作出距离地面1米处各个点光照强度的密度图和等高线图,如图3所示:(其中密度图能比较真实地反映四光源到离地面1米的水平面的亮暗程度,而等高线图也很好地反映在此平面上光照的分布.)图2(密度图) (等高线图)5.3 使学生对光照平均满意度最高的四个点光源的位置学生桌面所在平面的、越大,学生的满意度就越高, 要尽可能满足以上两个条件,以确定使学生满意度最大的光源位置.题目中没有关于优先权及权重的规定,可以设总光照强度的权重与光照平均的权重相同,要使在高为1米处光照越大就要使目标点尽可能地靠近光强总和最大的位置,同理使光照越平均就要使目标点越靠近使光照最平均的位置,用最小二乘法得出它们的差值最小的位置即为所求.∑-+-22)()(min E J M L Q ws.t 80<1x <120 0<1y <5080<2x <120 100<2y <150 0<3x <40 100<3y <150 0<4x <40 0<4y <50其中,∑∑==-+-+-+-+-+-=120015002222222121)1025()()()1025()()((x y w y y x x ky y x x k L)4()1025()()()1025()()(2242422323 -+-+-+-+-+-+y y x x ky y x x k图3∑∑∑===-+-+-+-+-+-1201505.202222222121)5.2()()()5.2()()((x y z z y y x x kz y y x x k 4))5.2()()()5.2()()(2242422323=-+-+-+-+-+-+z y y x x kz y y x x k (5)先取定w 的值,即确定1,2,3,4四个光源的位置,代入(5)式以求出k 值,把w 值和k 值同时代入(4)式,以求出此时1米处各点的光源强度的总和,继而求出此时的平均光照强度,不断重复以上过程,取遍w 的值,求出1米处最大的光照强度总和与最平均的光照强度,再求出目标函数的所有值,找出最小的那个即可确定四个光源的最佳位置.用MATLAB6对以上模型进行求解(程序见附录一二),得出: 1米处光照强度最大值为0.1278,四光源位置分别为:(单位:分米)(80,47,25)(80,103,25)(40,103,25)(40,47,25) 1米处平均光照强度最平均值为0.6⨯3110-,四光源位置分别为:(单位:分米)(101,19,25)(101,131,25)(19,131,25)(19,19,25)学生满意程度最大时,目标函数值为1.1859610-⨯,四光源位置分别为:(单位:分米)(80,47,25) (80,103,25)(40,103,25)(40,44,25)5.4.1 点光源变成线光源,画出距离地面1米处各个点的光照强度与位置(横纵坐标)之间的函数关系曲面图令)25,50,(),25,100,(),25,100,(),25,50,(4321x x x x 分别是1,2,3,4四个线光源的位置,如图4所示:图4线光源与目标点光照强度的关系式:)6( ))25()50()(1())25()100()(1())25()100()(1())25()50()(1(41)2120(31)2120(3142224)2120(31)2120(31322232)2120(32)2120(32222222)2120(32)2120(32122214321 ∑∑∑∑∑=+--=+--=+-+-=+-+-==-+-+-+-+-+-+-+-+-+-+-+-p p L L L x L L L x L L L L x L L L L x J LJ z y x x k L J z y x x k LJ z y x x k L J z y x x k1米处各点的光照强度∑∑∑∑+--=+--=+-+-=+-+-=-+-+-+-+-+-+-+-+-+-+-+-=L L L xL L L x L L L L xL L L L x Q LJ y x x k L J y x x k LJy x x k L Jy x x k J )2120(31)2120(3142224)2120(31)2120(31322232)2120(32)2120(32222222)2120(32)2120(32122214321))1025()50()(1())1025()100()(1())1025()100()(1())1025()50()(1( (7)把线光源光照强度和线光源长度代入线光源与目标点光照强度的关系式(6),求出k 值再代入(7)式,便可以此式来作出光照强度与相应位置(横纵坐标)之间的函数关系曲面图和求出教室任意一点的光照强度.5.4.2 点光源换成线光源后,使学生对光照平均满意度最高的四个线光源位置线光源是一个整体,用以上模型把线光源离散成点光源进行计算处理,可得线光源与目标点光照强度的函数关系:∑∑∑===-+-+-+-+-+-1201505.202222222121)5.2()()()5.2()()((x y z L A L z y y x x kL J z y y x x k )8())5.2()()()5.2()()(412242422323 ∑==-+-+-+-+-+-+p P D L C L J L J z y y x x kL J z y y x x k6 模型的评价6.1 模型的优点:(1) 模型能抓住影响光照强度主要因素(光源到目标点距离和光源的强度),合理构造光照度函数,过程清晰明了,结果科学合理.(2) 模型具有较好的通用性,实用性强,对现实有很强的指导意义. 6.2 模型的不足以及需要改进的地方:(3)此模型建立在理想环境下,光不会通过窗、门等外涉,不考虑光空气中的消耗,也不考虑外界光源的影响.(4)目标点是离散的,比较宏观,这可能会使结果与真实值的误差增大.(5)模型建立中没有考虑光反射对目标点光照强度的影响.参考文献[1] 姜启源.数学模型(第三版)[M].北京:高等教育出版社,2003[2] 陈理荣.数学建模导论[M].北京:北京邮电大学出版社,2000[3] 李强等.M1ple基础应用教程[M].北京:清华大学出版社,2004附录:附录一:clearclcmax=0;min=4;for i=0:0.1:3for j=0.1:0.1:4s=0;x1=8+i,y1=5-jx2=8+i,y2=10+jx3=4-i,y3=10+jx4=4-i,y4=5-jfor x=0:0.1:12for y=0:0.1:15for z=0:0.1:2.5if x1~=x & y1~=y & x2~=x & y2~=y & x3~=x & y3~=y & x4~=x & y4~=ys=s+1./((x1-x).^2+(y1-y).^2+(2.5-z).^2)+1./((x2-x).^2+(y2-y).^2+(2.5-z).^2) +1./((x3-x).^2+(y3-y).^2+(2.5-z).^2)+1./((x4-x).^2+(y4-y).^2+(2.5-z).^2);endendendendk=4./s;l=0;z=1;for x=0:0.1:12for y=0:0.1:15l=l+k.*(1./((x1-x).^2+(y1-y).^2+(2.5-z).^2)+1/((x2-x).^2+(y2-y).^2+(2.5-z). ^2)+1./((x3-x).^2+(y3-y).^2+(2.5-z).^2)+1./((x4-x).^2+(y4-y).^2+(2.5-z).^2) );endendif l>maxmax=l;x11=x1;y11=y1;x12=x2;y12=y2;x13=x3;y13=y3;x14=x4;y14=y4;endp=l./(120.*150);Q=0;for x=0:0.1:12for y=0:0.1:15Q=Q+(k.*(1./((x1-x).^2+(y1-y).^2+(2.5-z).^2)+1./((x2-x).^2+(y2-y).^2+(2.5-z).^2)+1./((x3-x).^2+(y3-y).^2+(2.5-z).^2)+1./((x4-x).^2+(y4-y).^2+(2.5-z).^2))-p).^2.^(1./2);endendif min>Qmin=Q;x21=x1;y21=y1;x22=x2;y22=y2;x23=x3;y23=y3;x24=x4;y24=y4;endendenddisp(['最大值','x11=',num2str(x11),' ','y11=',num2str(y11),' ','x12=',num2str(x12),' ','y12=',num2str(y12),' ','x13=',num2str(x13),' ','y13=',num2str(y13),' ','x14=',num2str(x14),' ','y14=',num2str(y14)]) disp(['最平均','x21=',num2str(x21),' ','y21=',num2str(y21),' ','x22=',num2str(x22),' ','y22=',num2str(y22),' ','x23=',num2str(x23),' ','y23=',num2str(y23),' ','x24=',num2str(x24),' ','y24=',num2str(y24)])附录二:clearclcmax=0;min=4;li=4;for i=0:0.1:3for j=0.1:0.1:4s=0;x1=8+i,y1=5-jx2=8+i,y2=10+jx3=4-i,y3=10+jx4=4-i,y4=5-jfor x=0:0.1:12for y=0:0.1:15for z=0:0.1:2.5if x1~=x & y1~=y & x2~=x & y2~=y & x3~=x & y3~=y & x4~=x & y4~=ys=s+1./((x1-x).^2+(y1-y).^2+(2.5-z).^2)+1./((x2-x).^2+(y2-y).^2+(2.5-z).^2)+1./((x3-x).^2+(y3-y).^2+(2.5-z).^2)+1./((x4-x).^2+(y4-y).^2+(2.5-z).^2);endendendendk=4./s;l=0;z=1;e=0for x=0:0.1:12for y=0:0.1:15l=l+k.*(1./((x1-x).^2+(y1-y).^2+(2.5-z).^2)+1/((x2-x).^2+(y2-y).^2+(2.5-z).^2)+1./((x3-x).^2+(y3-y).^2+(2.5-z).^2)+1./((x4-x).^2+(y4-y).^2+(2.5-z).^2) );r=k.*(1./((x1-x).^2+(y1-y).^2+(2.5-z).^2)+1/((x2-x).^2+(y2-y).^2+(2.5-z).^2)+1./((x3-x).^2+(y3-y).^2+(2.5-z).^2)+1./((x4-x).^2+(y4-y).^2+(2.5-z).^2)); e=e+(r-6*10^(-32))^2;endendS=(l-0.1278)^2+eif S<lili=Sx11=x1,y11=y1, x12=x2,y12=y2, x13=x3,y13=y3, x14=x4,y14=y4,en4en4en4disp(['x11=',num2str(x11),' ','y11=',num2str(y11),' ','x12=',num2str(x12),' ','y12=',num2str(y12),' ','x13=',num2str(x13),' ','y13=',num2str(y13),' ','x14=',num2str(x14),' ','y14=',num2str(y14)])li。
数学计算·多领域复杂系统建模和仿真平台MapleSim 3.0 用户手册西希安工程模拟软件(上海)有限公司版权所有,2009目录:介绍 (4)M APLE S IM介绍 (4)M APLE S IM的主要功能 (5)客户支持和意见反馈 (6)1.MAPLESIM 入门 (7)1.1M APLE S IM建模 (7)1.1.1 因果和非因果建模 (7)1.2M APLE S IM 使用界面 (10)1.3基础教程:RLC电路和直流电机的建模仿真 (11)1.3.1 构建一个RLC电路模型 (12)1.3.2 定义仿真条件 (14)1.3.3添加探针(Probe) (15)1.3.4 RLC电路模型仿真 (16)1.3.5 构建一个简单的直流电机模型 (16)1.3.6 直流电机模型仿真 (17)2.构建一个模型 (18)2.1M APLE S IM 元件库 (18)2.2模型导航 (19)2.3定义系统中的元件如何相互作用 (20)2.4定义建模元件属性 (22)2.4.1 定义参数单位 (22)2.4.2 定义初始条件 (23)2.5创建和管理子系统 (23)2.5.1 范例- 创建子系统 (24)2.5.2 子系统导航 (24)2.5.3 管理子系统 (25)2.5.4 添加一个子系统的多个拷贝(copy)到模型中 (26)2.5.4 编辑子系统拷贝(copy) (27)2.6全局和子系统参数 (30)2.6.1 全局参数 (30)2.6.2 子系统参数 (32)2.6.3 创建参数块 (32)2.7创建和管理自定义库 (36)2.8添加模型注释 (38)2.9输入2-D数学符号 (40)2.10M APLE S IM附属文件夹(M APLE S IM D OCUMENT F OLDER) (40)2.11创建一个用于插值表元件的数据集 (41)2.12练习 (42)3.创建自定义建模元件 (43)3.1概述 (44)3.2打开自定义模型元件范例 (44)3.3范例:非线性弹簧-阻尼器元件 (45)3.3.1 打开自定义元件模板 (46)3.3.2定义元件名和方程 (46)3.3.3 定义元件端口 (47)3.3.4 生成自定义元件 (49)3.4示例:在M APLE S IM中使用自定义模型元件 (49)3.5编辑自定义模型元件 (49)4.仿真和可视化模型 (51)4.1M APLE S IM如何进行模型仿真 (51)4.2模型仿真 (53)4.2.1 仿真参数 (54)4.2.2 仿真过程信息 (56)4.2.3 储存参数集,对比仿真结果 (56)4.3管理仿真结果 (56)4.4设置仿真图形 (57)4.5可视化多体模型 (61)4.5.1 3-D可视化窗口 (62)4.5.2 浏览和导航3-D模型 (63)4.5.3 添加形状到3-D模型 (63)4.5.4 示例:添加附加几何体到双摆模型 (64)4.6练习:模型仿真和可视化 (65)5.分析和操作模型 (67)5.1概述 (67)5.2从模型中提取方程和属性 (68)5.3分析线性系统 (69)5.4优化参数 (70)5.5从模型生成C代码 (71)5.6使用M APLE内嵌元件工作 (72)5.7示例:在M APLE中操作模型 (72)5.7.1 在内嵌图元件中打开MapleSim 模型 (73)5.7.2 库程序 (73)5.7.3 从模型提取方程 (74)6.MAPLESIM练习教程 (77)6.1练习教程1:带变速箱的直流电机建模 (77)6.2练习教程2:缆索牵力控制器建模 (81)6.3练习教程3:非线性阻尼器建模 (84)6.4练习教程4:平面曲柄-滑块机构建模 (89)6.5练习教程5:多体机械系统仿真 (94)介绍MapleSim 介绍MapleSim 是一个多领域复杂系统建模和仿真工具,在单一的设计环境中组合物理建模和信号流元件,让用户直观和快速地完成各种系统的建模、分析和仿真。
D1(江苏大学《电气工程软件训练三》课程设计报告设计题目:MATLAB专业班级:J电气1401学生姓名:唐鹏学生学号:4141127007指导老师:完成日期:江苏大学京江学院一MATLAB课程设计的目的和要求1.MATLAB软件功能简介MATLAB的名称源自Matrix Laboratory,1984年由美国Mathworks公司推向市场。
它是一种科学计算软件,专门以矩阵的形式处理数据。
MATLAB将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛的应用于科学计算、控制系统和信息处理等领域的分析、仿真和设计工作。
MATLAB 软件包括五大通用功能,数值计算功能(Nemeric)、符号运算功能(Symbolic)、数据可视化功能(Graphic)、数字图形文字统一处理功能(Notebook)和建模仿真可视化功能(Simulink)。
其中,符号运算功能的实现是通过请求MAPLE内核计算并将结果返回到MATLAB命令窗口。
该软件有三大特点,一是功能强大;二是界面友善、语言自然;三是开放性强。
目前,Mathworks公司已推出30多个应用工具箱。
MATLAB在线性代数、矩阵分析、数值及优化、数值统计和随机信号分析、电路与系统、系统动力学、次那好和图像处理、控制理论分析和系统设计、过程控制、建模和仿真、通信系统以及财政金融等众多领域的理论研究和工程设计中得到了广泛应用。
2.MATLAB课程设计的目的本次课程设计主要是为了使学生了解MATLAB软件的基本知识,熟悉MATLAB的上机环境,掌握MATLAB数值运算、程序设计、二维/三维绘图、符号运算、Simulink仿真等相关知识,并初步具备将一般数学问题转化为对应的计算机进行处理的能力,以便为今后进一步的学习打下坚定基础。
二MATLAB课程内容1 MATLAB语言基础实验目的:基本掌握MATLAB 向量、矩阵、数组的生成及其基本运算(区分数组运算和矩阵运算)、常用的数学函数。
如何使用Mathcad求解电路方程和优化电路性能James C. (Jim) Bach电子分析工程师/Mathcad培训师Delphi公司电子设计/分析组美国印第安纳州科科莫市James.C.Bash@背景:对于不熟悉Mathcad(由Mathsoft公司开发,注意不要与Matlab或Mathematica混淆)的人来说,它可以视为一种通用的数学分析工具,带有WYSIWYG(What You See Is What You Get, 所见即所得)的公式录入,数字化和符号化两种工作模式;它的公式分析和处理由与Maple类似的“数学处理器”处理引擎完成。
公式的输入简单自然,与通常课本上的写法一致,类似FORTRAN的语法规则简单易用。
Mathcad就像数学分析的一把“瑞士军刀”,能综合处理函数、运算器、图形化界面和曲线图,并能自动换算单位,例如,当你用“伏特(V)”除以“安培(A)”时,得到的结果即输出为“欧母(Ω)”。
对于电子工程师们来说,Mathcad是一种万能的数据处理工具,它可以求解系统级或电路级方程(解N元变量的N 次方程组),优化电路元器件参数,分析电路最差性能,进行大量向量(矩阵)数据处理、图像处理和信号处理,实现测量数据的曲线拟合,甚至产生.A VI格式的数据结果动画演示。
在尝试使用Mathcad之后,我敢保证你会为它的强大功能而惊叹,从此放弃老旧的Excel。
实际上,Mathcad可以兼容Excel表格,让你能轻松的输入变量值,将计算结果显示为表格形式,甚至能处理二进制.XLS格式的Excel文件,轻松从Excel文件中读取或写入数据,还有什么软件能让工具之间的转换如此简单呢?本文旨在简单介绍Mathcad“符号运算”和“优化能力”两个特点,并举例说明如何利用它们来完成电路设计。
对于已经在使用Mathcad的人来说,本文可以作为一个知识的回顾,或许还能够帮助您找到一些有用的小窍门。
B5: 全局优化应用莎益博工程系统开发(上海)有限公司,2010优化介绍优化(optimization)的目标是从一组可能的答案中发现问题的最佳解。
答案通过使用一个或多个问题变量的实际值目标函数(objective function)进行对比。
可能的集合(feasible set )由约束条件(constraints)决定,约束条件通常是关于问题变量的不等式或方程(组)。
数学意义上,目的是发现目标函数的最大值(maximizes)或最小值(minimizes )、同时满足( satisfying)约束条件的点,这个点称为极值(extremum)。
优化问题定义如下。
的最大值(或最小值约束条件 , ,和 ,这里,优化模型由, , 和 的结构分类。
如果所有的函数是 x 线性函数,这个模型是一个线性规划(linear program)。
如果 是 x 的二次函数,以及 和 是 x 的线性函数,这个模型是一个二次规划(quadratic program)。
如果 是一个平方和函数,这个模型是一个非线性规划(least-squares problem)。
对于其他任意结构,模型称为非线性回归(NLP)。
Maple 9.5中的优化程序包(Optimization)提供了一系列算法分别求解这些类型的问题。
传统上,优化研究集中在局部搜索算法(local)。
局部搜索的目的是发现 f(x) 在可行区域内的局部极值。
从一个初始点出发,局部搜索算法迭代(iteratively)搜索当前点领域中的一个点,提高目标函数值,同时维持或逼近可行性、使用当前点上关于 , , 和 的迭代信息。
理想情况下,搜索会终止于一个可行的局部极值。
优化算法的不同决定它们如何衡量逼近可行,以及它们如何搜索。
当在可行区域内有唯一的局部极值时,局部搜索是有效的,这是因为搜索发现的局部解是问题的全局解。
如果, 都是凸函数(convex),并且所有的是仿射函数(affine)时,极值是唯一的。
当 在可行区域内有许多局部极值,局部搜索难以完成。
在这种情况下,局部极值的发现依赖于起始点,但可能并不是全局解。
当任一个, 是非凸函数,或者任一个 是非线性函数时,存在多个局部最小值。
非凸性经常存在于现实问题中,可能是求解优化问题最大的障碍。
全局优化(Global)是最新的和最成功方法,能够克服这个障碍。
>1. 全局优化的优势优化程序包(Optimization )中的优化算法是局部搜索方法。
局部搜索方法使用一次和二次导数发现局部极值,反复迭代生成点提高目标函数同时维持或逼近可行性。
全局优化工具箱(Global Optimization toolbox )使用了全局搜索方法。
不同于使用求导发现局部极值,它们系统地搜索整个可行区域寻找一个全局极值。
对于可能有许多局部极值的优化模型,全局搜索方法寻找一个全局极值。
这些方法并不依赖于初始点。
尽管全局搜索不依赖于起始点,但它需要所有决策变量的有限边界,限定搜索空间。
同时相比局部搜索方法,随着变量数的增加,全局搜索方法的计算工作量会急剧增加。
这种情况通常并不明显,除非变量的数目达到上百个。
为了了解全局优化相比局部优化的优势,考虑下面的问题,对比优化程序包(Optimization )中的局部非线性求解器NLPSolve ,和全局优化工具箱(Global Optimization toolbox )中的 GlobalSolve 命令。
1. 全局优化工具箱介绍概述:全局优化工具箱提供世界级的全局优化技术求解优化模型的最优解,鲁棒和高效。
该工具箱的功能包括:提供多个求解器模块求解非线性优化问题,包括branch-and-bound全局搜索、全局自适应随机搜索、全局随机多起点搜索、和一个广义简约梯度局部搜索。
可以求解包含数千个变量和约束的模型,利用Maple任意精度计算的功能,大大地降低了数值不稳定性。
支持任意类型的目标函数和约束条件,包括预定义的特殊函数(例如,贝赛耳、超几何分布)、导数和积分、分段函数、以及用Maple语言编写的程序体。
交互式的全局优化助手,提供简单易用的图形界面,帮助您输入问题和选择求解方法。
Maple内置的模型可视化功能,可以观察目标函数的一维和二维子空间投影图,以及通过目标表面上的面或线图形显示约束函数。
初始化:为了使用Global Optimization Toolbox,需要首先使用下面的命令加载GlobalOptimization程序包。
您可以选择使用命令求解预定义的优化模型,或者使用全局优化助手,如下图所示。
>> 使用全局优化工具箱求解问题对于许多优化问题,简单的方法并不能足以发现最优解。
它们仅能发现局部极值,通常是最靠近用户给定的搜索起始点的极值点。
>(2.2.2)>(2.2.1)> 您也许可以通过观察图形发现给定区域内的全局最小值。
但如果您不能正确地求它的近似值,使用常规的优化算法并不能发现全局最小值。
根据 Minimize 命令的计算结果,最小值发生在 x = 30。
但是您可以通过上面的图形发现它并不是全局最小值。
通过使用全局优化工具箱中有等效功能的命令,可以确保发现指定区间内的全局最小值。
为了查看使用了何种方法发现全局最小值,改变 infolevel 变量,然后重新执行命令。
设置infolevel = 3,命令显示输入模型的大小和类型,求解器运行模式和参数,以及详细的运行时间信息。
(2.2.3)>> >>> >GlobalSolve: calling NLP solverSolveGeneral: calling global optimization solver SolveGeneral: number of problem variables 1SolveGeneral: number of nonlinear inequality constraints 0SolveGeneral: number of nonlinear equality constraints 0SolveGeneral: method multistartSolveGeneral: merit function evaluation limit 1000SolveGeneral: non-improving merit function evaluation limit 200SolveGeneral: constraint penalty multiplier 100.0SolveGeneral: target merit function value -0.10e11SolveGeneral: local search target objective function value -0.10e11SolveGeneral: local search feasibility tolerance 0.10e-5SolveGeneral: local search optimality tolerance 0.10e-5SolveGeneral: time limit in seconds 100SolveGeneral: trying evalhf modeSolveGeneral: total number of function evaluations 1120SolveGeneral: runtime in external solver 0.SolveGeneral: maximum constraint infeasibility 0.SolveGeneral: cycling or stall detected in solver通常,infolevel 设置为默认值 0。
下面是一个例子,使用线性方法不能发现全局最小值,但全局求解器可以发现最优值。
例子:考虑一个非线性方程组:最小二乘误差函数有多个极值。
(2.2.5)(2.2.6)(2.2.4)>首先,使用Maple内置的 Optimization 程序包求局部解。
由于方程组的复杂性,线性优化求然而,全局优化算法可以发现全局最小值。
(2.2.6)>>(2.2.7)>(2.3.1)代入约束函数,结果显示最小二乘逼近是相当精确的解。
也就是说,发生在该最小点上的最小二乘逼近的误差非常小。
通过了解上面的例子,您可以有信心使用全局优化工具箱求解任意复杂的数学问题。
四次多项式求四次多项式在区间 [0, 5] 上的全局最小值。
注意该函数是一个非凸函数,有两个局部最小值。
>>>(2.4.2)(2.3.3)>>(2.3.2)>>(2.4.1)(2.4.3)取决于给出的起始点,内置的局部 NLP 求解器返回位于 处的全局最小值,或者是位于 处的次优局部最小值。
全局优化求解器总是求全局最小值。
注意到调用格式并不依赖于起始点,但需要 x 的有限范围,这个问题定义为 0..5。
非凸二次函数求一个二维非凸二次函数在矩形区域上的全局最小值。
使用非正定矩阵构建非凸函数。
检查该矩阵是否是正定的。
false构建函数 。
对函数绘图并画出等高线图。
全局最小值发生在[3.947, -10.000] 和 [-3.947, 10.000],鞍点发生在 [0, 0]。
>4.4)4.5)(2.4.6)>>从大部分起始点出发,Maple局部优化求解器会发现发生在[3.947, -10.000]上的全局最小值。
如果起始点选择不佳,局部优化求解器会停止在鞍点 [0, 0] 上。
求解诶其停止的原因是它发现在当前点是零梯度。
鞍点有零梯度但不是极值。
全局优化求解器总是发现两个全局最小值中的一个。
必须定义x和y的有限范围。
非凸可行区域求一个二维凸函数在一个缺失单位圆盘的平面上的全局最小值,这是一个非凸区域。
>>(2.5.2)>(2.5.1)全局最小值发生在近似点 [.707, -.707],见下图中的可行区域边界的红圈,同时显示了目标函数的几个等高线。
起点是[-2, 2],Maple局部优化求解器发现在近似点 [-.707, .707] 处的非最优局部最小值,表示为蓝色。
目标函数在[-.707, .707]上的梯度垂直于可行区域的边界,终止了局部搜索。
>(2.6.2)(2.5.4)>>(2.6.1)(2.5.3)>局部搜索从 [-2, 2] 开始发现次优局部最小值。
全局搜索发现全局最小值发生在[.707, -.707]。
高维平坦函数考虑一个四维函数,这个函数有一个非常平坦、但非定常、靠近全局最小值的区域。