{目标管理}多目标规划MATLAB2012年wgx

上传人:精****库 文档编号:141159595 上传时间:2020-08-04 格式:PPTX 页数:64 大小:953.81KB
返回 下载 相关 举报
{目标管理}多目标规划MATLAB2012年wgx_第1页
第1页 / 共64页
{目标管理}多目标规划MATLAB2012年wgx_第2页
第2页 / 共64页
{目标管理}多目标规划MATLAB2012年wgx_第3页
第3页 / 共64页
{目标管理}多目标规划MATLAB2012年wgx_第4页
第4页 / 共64页
{目标管理}多目标规划MATLAB2012年wgx_第5页
第5页 / 共64页
点击查看更多>>
资源描述

《{目标管理}多目标规划MATLAB2012年wgx》由会员分享,可在线阅读,更多相关《{目标管理}多目标规划MATLAB2012年wgx(64页珍藏版)》请在金锄头文库上搜索。

1、MATLAB求解多目标规划,江西师范大学数信学院吴根秀,一、0-1规划的MATLAB求解,数学模型:MIN fx S.T. Ax=b Aeqx=beq x=0,1 命令格式:x = bintprog(f) x = bintprog(f, A, b) x = bintprog(f, A, b, Aeq, beq) x = bintprog(f, A, b, Aeq, beq, x0) x = bintprog(f, A, b, Aeq, beq, x0, options) x, fval = bintprog(.) x,fval, exitflag = bintprog(.) x, fval,

2、exitflag, output = bintprog(.),数学模型:MIN lambda S.T. F(x)-weight* lambda =goal(达到目标) Ax=b(线性不等式约束) Aeqx=beq(线性等式约束) C(x)=0(非线性不等式约束) Ceq(x)=0(非线性等式约束) lb=x=ub F=f1(x),f2(x),为多目标的目标函数; F与C(x),Ceq(x)都是通过function来定义; 命令格式: x = fgoalattain(fun,x0,goal,weight) x = fgoalattain(fun,x0,goal,weight,A,b) x = f

3、goalattain(fun,x0,goal,weight,A,b,Aeq,beq) x = fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq,lb,ub),二、多目标规划的MATLAB求解,命令格式: x = fgoalattain(fun,x0,goal,weight) x = fgoalattain(fun,x0,goal,weight,A,b) x = fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq) x = fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq,lb,ub) x

4、= fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq,lb,ub,nonlcon) x = fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq,. lb,ub,nonlcon,options) x,fval = fgoalattain(.) x,fval,attainfactor = fgoalattain(.) x,fval,attainfactor,exitflag = fgoalattain(.) x,fval,attainfactor,exitflag,output = fgoalattain(.) x,fval,a

5、ttainfactor,exitflag,output,lambda = fgoalattain(.),二、多目标规划的MATLAB求解,x = fgoalattain(myfun,x0,goal,weight,A,b,Aeq,beq,. lb,ub,mycon) where mycon is a MATLAB function such as function c,ceq = mycon(x) c = . % compute nonlinear inequalities at x. ceq = . % compute nonlinear equalities at,二、多目标规划的MATLA

6、B求解,x = fgoalattain(myfun,x0,goal,weight) where myfun is a MATLAB function such as function F = myfun(x) F = . % Compute function values at x.,有关优化参数设置: options = optimset(GradObj,on)目标函数的梯度方向参数设置为on时,用下列函数定义: function F,G = myfun(x) F = . % Compute the function values at x if nargout 1 % Two output

7、 arguments G = . % Gradients evaluated at x End The gradient consists of the partial derivative dF/dx of each F at the point x.,二、多目标规划的MATLAB求解,二、多目标规划的MATLAB求解,有关优化参数设置: options = optimset(GradConstr,on)约束条件的梯度方向参数设置为on时,用下列函数定义: function c,ceq,GC,GCeq = mycon(x) c = . % Nonlinear inequalities at

8、x ceq = . % Nonlinear equalities at x if nargout 2 % Nonlcon called with 4 outputs GC = . % Gradients of the inequalities GCeq = . % Gradients of the equalities End 注意:一般 weight=abs(goal),模型:x=(A+BKC)x+Bu,设计K满足目标: Y=Cx 1)循环系统的特征值(由命令eig(A+B*K*C)确定)的目标为goal = -5,-3,-1 2)K中元素均在-4,4中; 设特征值的weight= abs(

9、goal),定义目标函数F如下: function F = eigfun(K,A,B,C) F = sort(eig(A+B*K*C); % Evaluate objectives,由小到大排列 优化程序为: A = -0.5 0 0; 0 -2 10; 0 1 -2;B = 1 0; -2 2; 0 1; C = 1 0 0; 0 0 1; K0 = -1 -1; -1 -1; % Initialize controller matrix goal = -5 -3 -1; % Set goal values for the eigenvalues weight = abs(goal) % S

10、et weight for same percentage lb = -4*ones(size(K0); % Set lower bounds on the controller ub = 4*ones(size(K0); % Set upper bounds on the controller options = optimset(Display,iter); % Set display parameter K,fval,attainfactor = fgoalattain(K)eigfun(K,A,B,C). goal,weight,lb,ub,options),二、举例-有关循环控制系统

11、优化问题,运行结果如下 Active constraints: 1 2 4 9 10 K = -4.0000 -0.2564 -4.0000 -4.0000 fval = -6.9313 -4.1588 -1.4099 attainfactor = -0.3863,二、举例-有关循环控制系统优化问题,如果至少保证38.63%的目标精确匹配,设置GoalsExactAchieve参数值为3 options = optimset(GoalsExactAchieve,3); K,fval,attainfactor = fgoalattain(. (K)eigfun(K,A,B,C),K0,goal,

12、weight,lb,ub,.options) After about seven iterations, a solution is K = -1.5954 1.2040 -0.4201 -2.9046 fval = -5.0000 -3.0000 -1.0000 attainfactor = 1.0859e-20表明目标已完全匹配,二、举例-有关循环控制系统优化问题,谢谢!,初等模型举例,常见类型,定性模型 经验公式(拟合、插值) 量纲分析 比例模型,2.1 崖高的估算,假如你站在崖顶且身上带着一只具有跑表功 能的计算器,你也许会出于好奇心想用扔下 一块石头听回声的方法来估计山崖的高度, 假

13、定你能准确地测定时间,你又怎样来推算 山崖的高度呢,请你分析一下这一问题。,方法一,我学过微积分,我可以做 得更好,呵呵。,除去地球吸引力外,对石块下落影响最大的当 属空气阻力。根据流体力学知识,此时可设空气阻力正比于石块下落的速度,阻力系 数K为常数,因而,由牛顿第二定律可得:,令k=K/m,解得,代入初始条件 v(0)=0,得c=g/k,故有,再积分一次,得:,若设k=0.05并仍设 t=4秒,则可求 得h73.6米。,听到回声再按跑表,计算得到的时间中包含了 反应时间,进一步深入考虑,不妨设平均反应时间 为0.1秒 ,假如仍 设t=4秒,扣除反应时间后应 为3.9秒,代入 式,求得h69

14、.9米。,多测几次,取平均值,再一步深入考虑,代入初始条 件h(0)=0,得到计算山崖高度的公式:,还应考虑回声传回来所需要的时间。为此,令石块下落 的真正时间 为t1,声音传回来的时间记 为t2,还得解一个方程组:,2.2 录像带还能录多长时间,录像机上有一个四位计数器,一盘 180分钟 的录像带在开始计数时为 0000,到结束时计 数为1849,实际走时为185分20秒。我们从 0084观察到0147共用时间3分21秒。若录像 机目前的计数为1428,问是否还能录下一个 60分钟的节目?,又 因和 得,积分得到,即,从而有,此式中的三个参数W、v和r均不易精确测得,虽然我们可以从上式解出t

15、与n的函数关系,但效果不佳,故令 则可将上式简化为:,故,t= an2+bn,上式以a、b为参数显然是一个十分明智的做法,它为公式的最终确立即参数求解提供了方便。将已知条件代入,得方程组:,从后两式中消 去t1,解得a=0.0000291, b=0.04646,故t=0.0000291 n2+0.04646n,令n=1428,得到t=125.69(分)由于一盒录像带实际可录像时间为185.33分,故尚可录像时间 为59.64分,已不能再录下一个60分钟的节目了。,2.3最短路径与最速方案问题,例5(最短路径问题),设有一个半径为 r 的圆形湖,圆心为 O。A、 B 位于湖的两侧,AB连线过O,

16、见图。 现拟从A点步行到B点,在不得进入湖中的限 制下,问怎样的路径最近。,以上只是一种猜测,现在来证明这一猜测是正确的。为此,先介绍一下凸集与凸集的性质。,下面证明猜想,猜测证明如下:,还可用微积分方法求弧长,根据计算证明满足限止条件的其他连续曲线必具有更大的长度;此外,本猜测也可用平面几何知识加以证明等。,到此为止,我们的研讨还只局限于平面之中,其实上述猜测可十分自然地推广到一般空间中去。1973年,J.W.Craggs证明了以上结果:,例6 一辆汽车停于 A处并垂直于AB方向,此 汽车可转的最小圆半径为 R,求不倒车而由 A到B的最短路径。,例7 驾驶一辆停于A处与AB成1角度的汽 车到B处去,已知B

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 企业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号