《最新多目标优化PPT课件.ppt》由会员分享,可在线阅读,更多相关《最新多目标优化PPT课件.ppt(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、单元讨论目标Unit Object教科书 多目标优化问题非劣解及约束法 目标规划法目标规划法扩展到工程领域与非线性优化 Matlab R14 SP1的Optimization Toolbox 详细讲解fgoalattain,大致对应目标规划法,但是扩展到非线性非线性fgoalattain实例实例线性系统输出反馈极点配置线性系统输出反馈极点配置BC+AuxyK+线性系统理论P283页结论6.15对于完全能控和能观测对于完全能控和能观测n维联系维联系LTI系统,设系统,设rank(B)=p, rank(C)=q,则采,则采用输出反馈用输出反馈u=Ky+v,可队数目为,可队数目为minn, p+q-
2、1的闭环系统极点进行的闭环系统极点进行“任任意接近意接近”式配置,即使其可任意地接近人给的期望极点位置。式配置,即使其可任意地接近人给的期望极点位置。vPractical fgoalattain seeking KA = -0.5 0 0; 0 -2 10; 0 1 -2 ;B = 1 0; -2 2; 0 1 ;C = 1 0 0; 0 0 1 ; % Suppose we wish to design an output feedback controller, x, to have % poles to the left of the location -5, -3, -1 in the
3、 complex plane. % The controller must not have any gain element exceeding an absolute % value of 4.goal = -5, -3, -1 % Set the weights equal to the goals to ensure same percentage % under- or over-attainment in the goals.weight = abs(goal) % Initialize output feedback controllerx0 = -1 -1; -1 -1; %
4、Set upper and lower bounds on the controllerlb = repmat(-4,size(x0) ub = repmat(4,size(x0) % Create a vector-valued function eigfun that returns the eigenvalues of the % closed loop system. This function requires additional parameters (namely, % the matrices A, B, and C); the most convenient way to
5、pass these is through % an anonymous function:eigfun = (x) sort(eig(A+B*x*C) % To begin the optimization we call FGOALATTAIN:x,fval,attainfactor,exitflag,output,lambda = . fgoalattain(eigfun,x0,goal,weight,lb,ub,options); % The attainment factor indicates the level of goal achievement.% A negative a
6、ttainment factor indicates over-achievement, positive% indicates under-achievement. The value attainfactor we obtained in % this run indicates that the objectives have been over-achieved by % about 39 percent: attainfactor % Suppose we now require the eigenvalues to be as near as possible% to the go
7、al values, -5, -3, -1. % Set options.GoalsExactAchieve to the number of objectives that should % as near as possible to the goals (i.e., do not try to over-achieve): % All three objectives should be as near as possible to the goals.options = optimset(options,GoalsExactAchieve,3); % We are ready to c
8、all the optimization solver: x,fval,attainfactor,exitflag,output,lambda = . fgoalattain(eigfun,x0,goal,weight,lb,ub,options); % This time the eigenvalues of the closed loop system are as follows:eigfun(x) % These values are also held in output fval % The attainment factor is the level of goal achiev
9、ement. A negative % attainment factor indicates over-achievement, positive indicates % under-achievement. The low attainfactor obtained indicates that the% eigenvalues have almost exactly met the goals: attainfactor教科书上工厂生产车辆优化问题% fun_optim.mfunction y= fun_optim(x)y=zeros(1,2);y(1)= -(100*x(1)+90*x
10、(2)+80*x(3)+70*x(4);y(2)=3*x(2)+2*x(4);% factory_goal.mA= -1 -1 0 0; 0 0 -1 -1; 3 0 2 0; 0 3 0 2;b=-30 -30 120 48;lb=zeros(1,4);x0=20,10,30,0;y0=10000, 40;x_opt=18 12 33 0;x fval=fgoalattain(fun_optim, x0, y0, 1 2e-4, A, b, , , lb, )教科书有误,按照这个解才能算出书上(-5520, 36)的答案。工厂生产两种型号汽车,其中y(1)代表利润,y(2)代表加班时间,状态变量x1,x2是A型车在正常和加班两种情况下的产量,x3,x4是B型车在正常和加班两种情况下的产量。参考文献Bibliography 夏绍玮、杨家本、杨振斌,系统工程概论 Matlab Optimization Toolbox 3.0.1 Users Guide 郑大钟,线性系统理论(第2版) 本讲义下载:http:/