文章目录

  • 视频链接
  • 1 多目标规划模型的概念
  • 2 多目标规划模型的相关概念
    • 2.1 定义一
    • 2.2 定义二
    • 2.3 定义三
      • 判断自变量向量的优劣
  • 3 引言与引例
    • 3.1 引言
    • 3.2 引例
      • 3.2.1 引例1 -- 生产计划问题
      • 3.2.2 引例2 -- 种植方案问题
  • 4 多目标规划模型的适用场景
  • 5 多目标规划模型的一般形式
  • 6 多目标规划模型的求解方法
    • 6.1 传统的数学规划方法
      • 6.1.1 主要目标法
      • 6.1.2 分层序列法
      • 6.1.3 加权法
      • 6.1.4 理想点法
      • 6.1.5 传统数学规划方法的缺陷
    • 6.2 智能优化算法
      • 6.2.1 智能优化算法的简介
      • 6.2.2 基于精英策略的快速非支配排序遗传算法(NSGA-II)

视频链接

根据视频整理
视频链接:
7.9数模国赛培训 多目标优化

1 多目标规划模型的概念

多目标规划法(Multi-objective programming,MOP)是一类考虑多因素约束与多目标组合,将定性分析与定量分析相结合的分析决策模型[1]^{[1]}[1]。其基本模型包括目标函数和约束条件两部分。

[1] 张业涌,刘德平,邹敏科,梁禧健.基于聚类分析与多目标规划的新疆旅游线路优化设计与研究[J].甘肃科技纵横,2022,51(01):64-68.

2 多目标规划模型的相关概念

2.1 定义一

对最小化问题,一个向量u=(u1,u2,...,um)u = (u_{1}, u_{2}, ..., u_{m})u=(u1​,u2​,...,um​)称为支配(优于)另一个向量v=(v1,v2,...,vm)v = (v_{1}, v_{2}, ..., v_{m})v=(v1​,v2​,...,vm​),当且仅当ui≤vi,i=1,2,...,mu_{i} \le v_{i}, i = 1, 2, ..., mui​≤vi​,i=1,2,...,m,且∃j∈{1,2,⋯,m},uj<vj\exists j \in\{1,2, \cdots, m\}, u_{j}<v_{j}∃j∈{1,2,⋯,m},uj​<vj​。

向量u和v为多目标规划问题的解集。
一个解集优于另一个解集,(以最小值为例)需要满足一个解集中的所有解小于等于另一个解集中的所有解,同时还要满足较优的那个解集存在一个解小于小于另一个解集中的一个解。

$u = (u_{1}, u_{2}, ..., u_{m})$
$v = (v_{1}, v_{2}, ..., v_{m})$
$u_{i} \le v_{i}, i = 1, 2, ..., m$
$\exists j \in\{1,2, \cdots, m\}, u_{j}<v_{j}$

2.2 定义二

对于任意两个自变量向量x1,x2∈Ωx_{1}, x_{2} \in \Omegax1​,x2​∈Ω,如果下列条件成立:
{fi(x1)≤fi(x2),∀i∈{1,2,⋯,m}fj(x1)<fj(x2),∃j∈{1,2,⋯,m}\left\{\begin{array}{l} f_{i}\left(x_{1}\right) \leq f_{i}\left(x_{2}\right), \forall i \in\{1,2, \cdots, m\} \\ f_{j}\left(x_{1}\right)<f_{j}\left(x_{2}\right), \exists j \in\{1,2, \cdots, m\} \end{array}\right.{fi​(x1​)≤fi​(x2​),∀i∈{1,2,⋯,m}fj​(x1​)<fj​(x2​),∃j∈{1,2,⋯,m}​
即向量(f1(x1),f2(x1),...,fm(x1))(f_{1}(x_{1}), f_{2}(x_{1}), ..., f_{m}(x_{1}))(f1​(x1​),f2​(x1​),...,fm​(x1​))支配(优于)向量(f1(x2),f2(x2),...,fm(x2))(f_{1}(x_{2}), f_{2}(x_{2}), ..., f_{m}(x_{2}))(f1​(x2​),f2​(x2​),...,fm​(x2​)),则称x1x_{1}x1​支配(优于)x2x_{2}x2​。

Ω\OmegaΩ为在约束条件下,自变量可以取到的值组成的集合,即可行解组成的集合,也叫决策空间。

向量x1x_{1}x1​与x2x_{2}x2​为多目标规划问题的各个自变量(最优解的影响因素)组成的向量。
自变量向量x1x_{1}x1​优于x2x_{2}x2​,是指当影响因素的取值为x1x_{1}x1​时,所有目标函数的取值都要小于等于当影响因素的取值为x2x_{2}x2​时的目标函数的取值,同时其中任意一个目标函数的取值需要满足取值为x1x_{1}x1​值小于取值为x2x_{2}x2​。

$x_{1}, x_{2} \in \Omega$
$$\left\{\begin{array}{l}
f_{i}\left(x_{1}\right) \leq f_{i}\left(x_{2}\right), \forall i \in\{1,2, \cdots, m\} \\
f_{j}\left(x_{1}\right)<f_{j}\left(x_{2}\right), \exists j \in\{1,2, \cdots, m\}
\end{array}\right.$$
$(f_{1}(x_{1}), f_{2}(x_{1}), ..., f_{m}(x_{1}))$
$(f_{1}(x_{2}), f_{2}(x_{2}), ..., f_{m}(x_{2}))$
$x_{1}$
$x_{2}$

2.3 定义三

如果Ω\OmegaΩ中没有支配(优于)xxx 的解,则称 xxx 是问题的一个 Pareto最优解(非劣解、有效解、非支配解)。

Pareto最优解的全体被称作Pareto最优解集;Pareto最优解集在目标函数空间的像集称为Pareto Front(Pareto前沿,阵(界)面)。

如图所示:

在A,B,C,D,E,F,H,G中,H点和G点是最优的:它们相应的自变量向量没有被任何其它的自变量向量所支配。这也就意味着在任何一个目标上它们都不能被其它个体支配。这样的解被称为Pareto最优解,有时也称作非劣最优解,非支配解。

判断自变量向量的优劣

以需要判断的自变量向量所在的点(如,B点)为原点绘制坐标轴:

假设目标函数求解的为最小值。

图中,阴影取内的点所代表的自变量向量都优于B,而左下角的点所代表的自变量向量都劣于B;左上角的点所代表的自变量向量与右下角的点所代表的自变量向量和B点无法进行比较,是由于左上角的点在横坐标上优于B在纵坐标上劣于B,右下角的点与之相反,所以无法进行比较,可以认为一样优(好)。

3 引言与引例

3.1 引言

在实际问题中,经常遇到需要 使多个目标在给定区域上均尽可能最佳的优化问题 。

例如:
设计一辆汽车,既要安全(重量大),又要经济(油耗小)。
设计一个导弹,既要射程最远,又要燃料最省,还要精度最高。

这种 多于一个的目标函数在给定区域上的最优化问题 就称为多目标优化(multi-objective optimization)问题。

不同于单目标优化,在多目标优化中, 各目标之间是互相冲突的 ,导致 不一定存在在所有目标上都是最优的解 。某个解可能在一个目标上是最优的但在另一个上是最差的。( 判断多目标优化问题的关键 )

如果在一个目标上越优,在另一个目标上也越优,可以通过变换转换为单目标优化,所有该种情况不为多目标优化。

例如:
要使汽车安全性高,必然重量大,从而油耗高,经济性差;
要使汽车经济性好,即油耗小,必然要求重量轻,从而安全性低。

因此,多目标优化问题通常存在一个解的集合,它们之间不能简单地比较好坏,这样的解称为非支配解(有效解)或Pareto最优解。

非支配解(有效解)或Pareto最优解 在 多目标规划模型的相关概念 中有相关的定义。

单目标优化只有一个最优解,而多目标优化是一个解的集合,即多目标优化存在多个解。

3.2 引例

3.2.1 引例1 – 生产计划问题

注意能耗的单位;
注意单位的统一。

x1x_{1}x1​小于等于100,是由于每周的最大销售量为40000,而布料A1A_{1}A1​每个小时生产400,所以x1x_{1}x1​小于等于100,x2x_{2}x2​与x3x_{3}x3​同理。

约束条件一定要写完整,约束条件可能会在题目中直接给出,也可能会隐藏在题目中。

求解最值问题,通常转化为最小值问题,最大值转化为最小值,前面加负号;同理,最小值转化为最大值,也是前面加负号。

F(x) 为目标函数向量。

3.2.2 引例2 – 种植方案问题



4 多目标规划模型的适用场景

同时存在多个最大化或是最小化的目标函数,并且,这些目标函数并不是相互独立的,也不是相互和谐融洽的,它们之间会存在或多或少的冲突,使得不能同时满足所有的目标函数。

适用场景:基于问题所构建的优化目标函数不唯一,且目标函数之间存在冲突。如,金融投资领域,要求风险更小,收益更大。

5 多目标规划模型的一般形式

一般地,多目标规划的数学模型如下:
min⁡F(x)=(f1(x),f2(x),⋯,fm(x))S.t.x∈Ω\begin{array}{l} \min F(x)=\left(f_{1}(x), f_{2}(x), \cdots, f_{m}(x)\right) \\ S.t. \quad x \in \Omega \end{array}minF(x)=(f1​(x),f2​(x),⋯,fm​(x))S.t.x∈Ω​
其中x=(x1,x2,...,xn)x = (x_{1}, x_{2}, ..., x_{n})x=(x1​,x2​,...,xn​)所在的空间 Ω\OmegaΩ 称为问题的决策空间(可行解空间),m维向量F(x)F(x)F(x)所在的空间称为问题的目标空间。
Ω={x∈Rn∣gi(x)≤0,i=1,2,⋯,p}\Omega=\left\{x \in R^{n} \mid g_{i}(x) \leq 0, i=1,2, \cdots, p\right\}Ω={x∈Rn∣gi​(x)≤0,i=1,2,⋯,p}。

$$\begin{array}{l}
\min F(x)=\left(f_{1}(x), f_{2}(x), \cdots, f_{m}(x)\right)
\\
S.t. \quad x \in \Omega
\end{array}$$
$x = (x_{1}, x_{2}, ..., x_{n})$
$\Omega$
$F(x)$
$\Omega=\left\{x \in R^{n} \mid g_{i}(x) \leq 0, i=1,2, \cdots, p\right\}$

6 多目标规划模型的求解方法

多目标优化模型的算法大体上分为两类方法:
(1)传统的数学规划方法
(2)智能优化方法

传统的处理多目标优化问题的方法包括:
(1)主要目标法
(2)分层序列法
(3)加权法
(4)约束法
(5)目标规划法
(6)极小极大法
(6)理想点法
(7)……
其特点是通过各种方式将多目标优化问题转化为单目标优化问题,然后用单目标优化方法求解。

下面介绍四种传统数学规划方法,再介绍一种智能优化算法。

6.1 传统的数学规划方法

由于传统的数学规划方法较麻烦,且求解过程较慢、较繁琐,所以这里只放置方法的截图。

由于传统的数学规划方法是将多目标规划问题转换为单目标规划问题进行求解,所以每次使用传统的数学规划方法求出的最优解只是多目标规划问题解集中的一个解。因此,使用传统的数学规划方法求解多目标规划问题,需要进行多次求解。

6.1.1 主要目标法

6.1.2 分层序列法




6.1.3 加权法

加权法的局限性:
加权法适合于
图像为(即图像不存在非凸部分的最优值):

的最值求解。
不适合于
图像为(图像非凸部分的最优值):

的最值求解。

6.1.4 理想点法

理想点法可以求解非凸部分的最优值。

6.1.5 传统数学规划方法的缺陷

  1. 每次运行只产生一个解,求多个解时需要运行多次,效率较低;
  2. 多次运行也无法得到均匀分布的Pareto最优解集;
  3. 有些方法对Pareto前沿比较敏感,当Pareto前沿是凹的或者不连续时,这些方法失效;
  4. 要求目标和约束函数的可微性。

6.2 智能优化算法

6.2.1 智能优化算法的简介

智能优化算法由于其具有并行性、不需要求导或其它辅助知识、一次产生多个解和简单易于实现等优点,被视为求解多目标优化问题的有效方法。

使用智能优化算法解决多目标优化问题的优点在于:
(1)能在一次算法过程中找到Pareto最优集中的多个解;
(2)不局限于Pareto前沿的形状和连续性,易于处理不连续的、凹形的Pareto前沿。

6.2.2 基于精英策略的快速非支配排序遗传算法(NSGA-II)

学习ing…

.
.
.
.
.
.

优化问题:
设变量
目标函数
约束函数

只有 x1 2 3 无约束优化(自变量约束),加上其他条件,约束优化

画目标函数的图形

画图

非劣排序







一般取交叉概率大,变异概率小

灵敏度分析

[模型]多目标规划模型相关推荐

  1. 数学建模——多目标规划模型(智能优化算法NSGA-II)

    摘要 本篇笔记对数学建模中常见的多目标规划问题提供了解法:在建立传统的多目标规划的常用模型的基础上,使用智能优化算法对多目标规划问题进行求解,通过Pareto Front直观展现非劣解的分布情况,以解 ...

  2. 数学建模暑期集训15:matlab求解多目标规划模型

    多目标规划模型的求解方法 1.传统优化算法 1.1主要目标法 1.2分层序列法 1.3加权法 1.4理想点法 2.智能优化算法 遗传算法等- 例题实战:MATLAB中多目标遗传算法求解法 通用形式 例 ...

  3. R语言vtreat包的mkCrossFrameCExperiment函数交叉验证构建数据处理计划并进行模型训练、通过显著性进行变量筛选(删除相关性较强的变量)、构建多变量模型、转化为分类模型、模型评估

    R语言vtreat包的mkCrossFrameCExperiment函数交叉验证构建数据处理计划并进行模型训练.通过显著性进行变量筛选(删除相关性较强的变量).构建多变量模型.转化为分类模型.模型评估 ...

  4. 为多模型寻找模型最优参数、多模型交叉验证、可视化、指标计算、多模型对比可视化(系数图、误差图、混淆矩阵、校正曲线、ROC曲线、AUC、Accuracy、特异度、灵敏度、PPV、NPV)、结果数据保存

    使用randomsearchcv为多个模型寻找模型最优参数.多模型交叉验证.可视化.指标计算.多模型对比可视化(系数图.误差图.classification_report.混淆矩阵.校正曲线.ROC曲 ...

  5. R语言构建logistic回归模型:构建模型公式、拟合logistic回归模型、模型评估,通过混淆矩阵计算precision、enrichment、recall指标

    R语言构建logistic回归模型:构建模型公式.拟合logistic回归模型.模型评估,通过混淆矩阵计算precision.enrichment.recall指标 目录

  6. R语言glm拟合logistic回归模型:模型评估(模型预测概率的分组密度图、混淆矩阵、准确率、精确度、召回率、ROC、AUC)、PRTPlot函数获取logistic模型最优阈值(改变阈值以优化)

    R语言glm拟合logistic回归模型:模型评估(模型预测概率的分组密度图.混淆矩阵.Accuray.Precision.Recall.ROC.AUC).PRTPlot函数可视化获取logistic ...

  7. R语言使用xgboost构建回归模型:vtreat包为xgboost回归模型进行数据预处理(缺失值填充、缺失值标识、离散变量独热onehot编码)、构建出生体重的xgboost模型回归模型

    R语言使用xgboost构建回归模型:vtreat包为xgboost回归模型进行数据预处理(缺失值填充.缺失值标识.离散变量独热onehot编码).构建出生体重的xgboost模型回归模型 目录

  8. R语言glm拟合logistic回归模型:模型评估(计算模型拟合的统计显著性)、模型评估(赤信息AIC指标计算)

    R语言glm拟合logistic回归模型:模型评估(计算模型拟合的统计显著性).模型评估(赤信息AIC指标计算) 目录

  9. R语言构建logistic回归模型并评估模型:模型预测结果抽样、可视化模型分类预测的概率分布情况、使用WVPlots包绘制ROC曲线并计算AUC值

    R语言构建logistic回归模型并评估模型:模型预测结果抽样.可视化模型分类预测的概率分布情况.使用WVPlots包绘制ROC曲线并计算AUC值 目录

最新文章

  1. POJ1629:picnic planning
  2. 学web前端的第一天
  3. 彻底搞懂浏览器Event-loop
  4. How to Enable Trace or Debug for APIs executed as SQL Script Outside of the Applications ?
  5. 提高.NET性能的最佳实践
  6. 将Sublime Text3添加到右键菜单中
  7. 『数据库』这篇数据库的文章真没人看--数据库完整性
  8. 你必须知道的容器监控 (2) cAdvisor
  9. 干货|基于 Spring Cloud 的微服务落地
  10. 将 LDAP 目录用于 Samba 认证
  11. 10.11 noip模拟试题
  12. Instagram新推两款AI过滤工具,没错!背后功臣就是Deep Text
  13. Quartz.NET WinFrom 关闭程序后无法结束进程
  14. 将solidity智能合约打包成Java代码
  15. Spring Cloud Gateway初体验
  16. ehcache使用java_Java分布式缓存框架Ehcache 使用(一)
  17. 链家地产改名链家 转型房产O2O
  18. Latex/overleaf表格旋转、表格高度宽度、表格行间距设置
  19. ENVI 5.3 操作Landset8遥感影像预处理问题汇总(1)
  20. ROS自主导航学习———ROS通信机制

热门文章

  1. linux apache python wsgi,linux下apache2+django+mod_wsgi方式配置web站点
  2. Qt使用vlc多窗口播放同一个视频
  3. 深度学习系列11:ReID概述和资源
  4. HDU6057 Kanade‘s convolution
  5. JavaScript控制div的移动跟着鼠标一起移动div
  6. ubuntu16.04安装intel集显驱动过程问题总结
  7. 今天睡眠质量记录74分
  8. excel导入mysql 截断_Excel导入数据库时出现的文本截断问题解决方案
  9. 沙盘演练工作坊-产品开发_Google认证的Android助理开发人员:考试演练
  10. eclipse常用插件地址