阜宁城乡建设局网站,wordpress自动推送token,网站后台程序下载,网站建立之间不安全如何解决数学建模笔记—— 多目标规划 多目标规划1. 模型原理1.1 多目标规划的一般形式1.2 多目标规划的解1.3 多目标规划的求解 2. 典型例题3. matlab代码实现 多目标规划
多目标规划是数学规划的一个分支。研究多于一个的目标函数在给定区域上的最优化。又称多目标最优化。通常记为 … 数学建模笔记—— 多目标规划 多目标规划1. 模型原理1.1 多目标规划的一般形式1.2 多目标规划的解1.3 多目标规划的求解 2. 典型例题3. matlab代码实现 多目标规划
多目标规划是数学规划的一个分支。研究多于一个的目标函数在给定区域上的最优化。又称多目标最优化。通常记为 MOP(multi-objective programming)。
多目标规划的概念是 1961年由美国数学家查尔斯和库柏首先提出的。多目标最优化思想最早是在1896年由法国经济学家V.帕雷托提出来的。他从政治经济学的角度考虑把本质上是不可比较的许多目标化成单个目标的最优化问题从而涉及了多目标规划问题和多目标的概念。
1. 模型原理
1.1 多目标规划的一般形式
多目标规划是多目标决策的重要内容之一在进行多目标决策时当希望每个目标都尽可能的大(或尽可能够小)时就形成了一个多目标规划问题其一般形式为 min f ( x ) [ f 1 ( x ) , f 2 ( x ) , ⋯ , f m ( x ) ] T , s . t . { g i ( x ) ≤ 0 , i 1 , 2 , ⋯ , p , h j ( x ) 0 , j 1 , 2 , ⋯ , q , \begin{array}{rl}\min\mathrm{f(x)[f_1(x),~f_2(x),\cdots,f_m(x)]^T,}\\\mathrm{s.t.}\begin{cases}\mathrm{g_i(x)\leq0,}\mathrm{i1,2,\cdots,p,}\\\mathrm{h_j(x)0,}\mathrm{j1,2,\cdots,q,}\end{cases}\end{array} mins.t.f(x)[f1(x), f2(x),⋯,fm(x)]T,{gi(x)≤0,hj(x)0,i1,2,⋯,p,j1,2,⋯,q,
其中 x x x为决策向量 f 1 ( x ) , f 2 ( x ) , ⋯ , f m ( x ) f_1(x),f_2(x),\cdots,f_m(x) f1(x),f2(x),⋯,fm(x)为目标函数s. t . t. t.式为约束条件 记 Ω { x ∣ g i ( x ) ≤ 0 , i 1 , 2 , ⋯ , p ; h j ( x ) 0 , j 1 , 2 , ⋯ , q } \begin{aligned}\text{记}\Omega\{x|g_{i}(x)\leq0, i1,2,\cdots,p; h_{j}(x)0, j1,2,\cdots,q\}\end{aligned} 记Ω{x∣gi(x)≤0,i1,2,⋯,p;hj(x)0,j1,2,⋯,q}称 Ω \Omega Ω为多目标规划的可行域(决策空间) f ( Ω ) f(\Omega) f(Ω) { f ( x ) ∣ x ∈ Ω } \{f(x)|x\in\Omega\} {f(x)∣x∈Ω}为多目标规划问题的像集(目标空间)多目标规划问题以下简称问题(MP)。
1.2 多目标规划的解 最优解定义 设 x ˉ ∈ Ω \bar{x}\in\Omega xˉ∈Ω, 若对于任意 i 1 , 2 , ⋅ ⋅ ⋅ , m i1,2,\cdotp\cdotp\cdotp,m i1,2,⋅⋅⋅,m及任意 x ∈ Ω x\in\Omega x∈Ω,均有 f i ( x ˉ ) ≤ f i ( x ) f_i(\bar{x})\leq f_i(x) fi(xˉ)≤fi(x) 则称 x ˉ \bar{x} xˉ为问题(MP)的绝对最优解记问题(MP)的绝对最优解集为 Ω a b ∗ \Omega_\mathrm{ab}^* Ωab∗ 一般来说多目标规划问题的绝对最优解是不常见的当绝对最优解不存在时需要引入新的“解”的概念。多目标规划中最常用的解为非劣解或有效解也称为Pareto最优解。 有效解定义 考虑多目标规划问题(MP),设 x ˉ ∈ Ω ^ \bar{x}\in\widehat{\Omega} xˉ∈Ω ,若不存在 x ∈ Ω ^ x\in\widehat{\Omega} x∈Ω ,使得 f i ( x ) ≤ f i ( x ˉ ) , i 1 , 2 , ⋯ , m , f_{i}(x)\leq f_{i}(\bar{x}),\quad i1,2,\cdots,m, fi(x)≤fi(xˉ),i1,2,⋯,m, 且至少有一个 f j ( x ) f j ( x ˉ ) , f_j(x)f_j(\bar{x}), fj(x)fj(xˉ), 则称 x ˉ \bar{x} xˉ为问题(MP)的有效解(或Pareto有效解) f ( x ˉ ) f(\bar{x}) f(xˉ)为有效点。 满意解定义 主要是从决策过程角度,根据决策者的偏好与要求而提出的。设可行域为 Ω \Omega Ω要求 m m m个目标函数 f i ( i 1 , 2 , ⋯ , m ) f_i(i1,2,\cdots,m) fi(i1,2,⋯,m)越小越好。有时决策者的期望较低,给出了 m m m个阈值 α i \alpha_i αi 当 x ˉ ∈ Ω \bar{x}\in\Omega xˉ∈Ω满足 f i ( x ˉ ) ≤ α i ( i 1 , 2 , ⋯ , m ) f_i(\bar{x})\leq\alpha_i(i1,2,\cdots,m) fi(xˉ)≤αi(i1,2,⋯,m)时,就认为 x ˉ \bar{x} xˉ是可以接受的、是满意的。这样的 x ˉ \bar{x} xˉ就称为一个满意解。
1.3 多目标规划的求解
由于对绝大多数多目标决策实际问题决策者最偏好的方案都是有效解下面介绍几种常用的求解问题(MP)的有效解的常用方法
值得注意的是在多目标规划中除去目标函数一般是彼此冲突外还有另一个特点目标函数的不可公度性。所以通常在求解前,先对目标函数进行预处理。预处理的内容包括:无量纲化处理,归一化处理等
MP问题求解有效解的常用方法 线性加权法 该方法的基本思想是根据目标的重要性确定一个权重以目标函数的加权平均值为评价函数使其达到最优。权重的确定一般由决策者给出因而具有较大的主观性不同的决策者给的权重可能不同从而会使计算的结果不同。 ε \varepsilon ε约束法 根据决策者的偏好选择一个主要关注的参考目标而将其他目标函数放到约束条件中。约束法也称主要目标法或参考目标法参数E是决策者对变为约束条件的目标函数的容许接受阈值。 理想点法 该方法的基本思想是以每个单目标最优值为该目标的理想值使每个目标函数值与理想值的差的加权平方和最小。 优先级法 该方法的基本思想是根据目标重要性分成不同优先级先求优先级高的目标函数的最优值在确保优先级高的目标获得不低于最优值的条件下再求优先级低的目标函数
线性加权法详解
若一个规划问题中有多个目标我们可以对多目标函数进行加权组合使问题变为单目标规划然后再利用之前学习的解法进行求解
线性加权法具体步骤如下
确定每个目标的权系数。 0 ≤ w j ≤ 1 , j 1 , 2 , ⋯ , m ; ∑ j 1 m w j 1 0\leq w_j\leq 1, j 1, 2, \cdots , m;\quad\sum _{j 1}^mw_j 1 0≤wj≤1,j1,2,⋯,m;j1∑mwj1 写出评价函数 ∑ j 1 m w j f j \sum_{j1}^{m}w_{j}f_{j} j1∑mwjfj 求评价函数最优值 m i n ∑ i 1 m w i f i ( x ) , s . t . x ∈ Ω . \begin{array}{ll}min\sum_{i1}^{m}w_{i}f_{i}(x),\\\mathrm{s.t.}\mathbf{x}\in\mathbf{\Omega}.\end{array} mins.t.∑i1mwifi(x),x∈Ω.
注意
要将多个目标函数统一为最大化和最小化问题(不同的加“-” 号)才可以进行加权组合如果目标函数量纲不同则需要对其进行标准化再进行加权标准化的方法一般是目标函数除以某一个常量该常量是这个目标函数的某个取值具体取何值可根据经验确定对多目标函数进行加权求和是权重一般由该领域专家给定实际比赛中若无特殊说明我们可令权重相同
2. 典型例题 某化工厂今年拟生产两种新产品A和B其生产费用分别为2万元/吨和5万元/吨。这两种产品均将造成环境污染每生产一吨A产品会产生0.4吨的污染每生产一吨B产品会产生0.3吨的污染。由于条件限制工厂生产产品A和B的最大生产能力各为每月5吨和6吨而市场需要这两种产品的总量每月不少于7吨。该工厂决策认为这两个目标中环境污染应该优先考虑且根据经验生产费用的参考值为30万元污染量参考值为2吨。试问工厂如何安排生产计划在满足市场需要的前提下使设备的花费和产生的污染均达到最小。 设工厂每月产品A生产 x 1 x_1 x1吨B生产 x 2 x_2 x2吨那么产生的污染分别为0.4 x 1 x_1 x1吨和0.3 x 2 x_2 x2吨
建立多目标规划模型 { min f 1 2 x 1 5 x 2 min f 2 0.4 x 1 0.3 x 2 s t . { x 1 x 2 ≥ 7 0 ≤ x 1 ≤ 5 0 ≤ x 2 ≤ 6 \begin{cases}\min\:f_12x_15x_2\\\min\:f_20.4x_10.3x_2\\st.\begin{cases}x_1x_2\geq7\\0\leq x_1\leq5\\0\leq x_2\leq6\end{cases}\end{cases} ⎩ ⎨ ⎧minf12x15x2minf20.4x10.3x2st.⎩ ⎨ ⎧x1x2≥70≤x1≤50≤x2≤6 下面我们将其转换为一个单目标规划问题即对上面的两个目标函数进行加权由于该工厂决策认为环境污染应优先考虑因此我们可以选取 f 1 f_1 f1和 f 2 f_2 f2的权重分别为0.4和0.6。注意到两个目标函数的单位不同一个为“万元”,一个为“吨”,因此我们需要首先对目标函数进行标准化来消除量纲的影响然后再进行加权由于题目中已经给了产品费用和污染量的参考值因此我们将这两个目标函数分别除以其参考值来消除量纲。
加权后的目标函数 f 0.4 × f 1 30 0.6 × f 2 2 0.4 30 × ( 2 x 1 5 x 2 ) 0.6 2 × ( 0.4 x 1 0.3 x 2 ) f0.4\times\frac{f_{1}}{30}0.6\times\frac{f_{2}}{2}\frac{0.4}{30}\times(2x_{1}5x_{2})\frac{0.6}{2}\times(0.4x_{1}0.3x_{2}) f0.4×30f10.6×2f2300.4×(2x15x2)20.6×(0.4x10.3x2) 敏感性分析
下面我们对结果进行敏感性分析敏感性分析是指从定量分析的角度研究有关因素发生某种变化对某一个或一组关键指标影响程度的一种不确定分析技术。其实质是通过逐一改变相关变量数值的方法来解释关键指标受这些因素变动影响大小的规律。
我们改变 f 1 f_1 f1和 f 2 f_2 f2的权重来观察对结果的影响。(由于两个权重和为1因此我们只需要改变 f 1 f_1 f1的权重即可)下面是图形 可以看出 f 1 f_1 f1的权重的转折点在0.333-0.334之间当 f 1 f_1 f1的权重小于这个转折点时 x 1 1 , x 2 x_11,x_2 x11,x2 6,大于转折点时 x 1 5 , x 2 2 x_15,x_22 x15,x22。其主要原因是当 f 1 f_1 f1的权重越小时厂家对环境污染的权重就越大那么厂家就更加倾向于生产污染较少的产品B尽管B的生产费用要远高于产品A。
3. matlab代码实现
多目标规划模型的求解
%% 多目标规划问题
clc
clear
% 两个目标权重
w10.4;
w20.6;
c[w1/30*2w2/2*0.4;w1/30*5w2/2*0.3];
% 不等式约束
A[-1,-1];
b-7;
% 上下界
lb[0 0];
ub[5 6];
% 求解
[x,fval]linprog(c,A,b,[],[],lb,ub)
f12*x(1)5*x(2)
f20.4*x(1)0.3*x(2)输出
找到最优解。x 52fval 1.0467f1 20f2 2.6000敏感性分析
%% 敏感性分析
clear
clc
W10.1:0.001:0.5;
W21-W1;
nlength(W1);
F1zeros(n,1);
F2zeros(n,1);
X1zeros(n,1);
X2zeros(n,1);
FVALzeros(n,1);
A[-1,-1];
b-7;
lb[0 0];
ub[5 6];
for i1:nw1W1(i);w2W2(i);c[w1/30*2w2/2*0.4;w1/30*5w2/2*0.3];[x,fval]linprog(c,A,b,[],[],lb,ub);F1(i)2*x(1)5*x(2);F2(i)0.4*x(1)0.3*x(2);X1(i)x(1);X2(i)x(2);FVAL(i)fval;
end
figure(1)
plot(W1,F1,W1,F2)
xlabel(f_{1}的权重)
ylabel(f_{1}和f_{2}的取值)
legend(f_{1},f_{2})figure(2)
plot(W1,X1,W1,X2)
xlabel(f_{1}的权重)
ylabel(x_{1}和x_{2}的取值)
legend(x_{1},x_{2})figure(3)
plot(W1,FVAL)% 看起来是两个直线组合起来的下半部分
xlabel(f_{1}的权重)
ylabel(综合指标的值)输出
figure1: figure2: figure3: