多目标优化 MATLAB
多目标优化与决策的基本方法基于Matlab的一种现代方法 Elementary Method for Multiobjective Optimization & Decision A Modern Approach in Matlab 单元讨论目标Unit Object 教科书 多目标优化问题非劣解及约束法 目标规划法 扩展到工程领域与非线性优化 Matlab R14 SP1的Optimization Toolbox 详细讲解fgoalattain,大致对应目标规划法,但是扩展到非线性 多目标优化的数学描述Multiobjective optimization model 多目标优化的非劣解集Noninferior solution for the model 约束法Constraint Method 目标规划法Goal Attainment Method Matlab优化工具箱Matlab Optimization Toolbox 优化工具箱提供了一般和大型的非线性优化函数,同时还提供了线性规划,二次规划,非线性最小二乘以及非线性方程求解的工具。 主要特性: 无约束非线性极小化问题 约束性线性极小化、极大极小、多目标优化,半无穷极小化问题。 二次规划和线性规划问题 非线性最小二乘和边界曲线拟合问题 非线性系统方程求解问题 约束线性最小二乘问题 大型问题的特殊算法 fgoalattain一般用法Solve multiobjective goal attainment problem fgoalattain实例线性系统输出反馈极点配置 Practical fgoalattain seeking K 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 ]; %% % Suppose we wish to design an output feedback controller, x, to have % poles to the left of the location [-5, -3, -1] 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 controller x0 = [ -1 -1; -1 -1]; %% % Set upper and lower bounds on the controller lb = 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 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 attainment factor indicates over-achievement, positive % ind