《最新多目标优化PPT课件》由会员分享,可在线阅读,更多相关《最新多目标优化PPT课件(13页珍藏版)》请在金锄头文库上搜索。
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
2、, p+q-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
3、in the 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
4、-1; % 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 w
5、ay to 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 nega
6、tive attainment 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
7、the goal 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 read
8、y to call 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
9、achievement. 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
10、)+90*x(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:/