多目标优化问题入门理论

news2025/7/22 5:20:05

0 前言

  • 多目标优化在推荐系统、物流配送、路径规划等中有广泛的应用

  • 一些多目标优化算法主要就是求解问题的 Pareto 前沿或者近似前沿。从目标空间来看,就是他的边界了。

1. 优化问题

1.1 无约束的单目标优化问题

m i n x f ( x ) , x ∈ R N (1) min_x \quad f(x), x \in R^N \tag{1} minxf(x),xRN(1)
其中,x 的取值为 n 维实数空间 RN, f(x) 为连续一阶可导函数

1.2 无约束的多目标优化问题

m i n x F ( x ) = [ f 1 ( x ) , f 2 ( x ) , . . . , f K ( x ) ] , x ∈ R N (2) min_x \quad F(x) = [f_1(x), f_2(x), ... , f_K(x)], x \in R^N \tag{2} minxF(x)=[f1(x),f2(x),...,fK(x)],xRN(2)
其中,K 为子目标的个数, x x x 的取值为 N 维实数空间, f k ( x ) f_k(x) fk(x) 为连续一阶可导函的子目标函数。

1.3 带约束的单目标优化问题

m i n x f ( x ) min_x \quad f(x) minxf(x)
s . t . g i ( x ) ≥ 0 , i ∈ [ 1 , M ] (3) s.t. g_i(x) \geq 0, i \in [1, M] \tag{3} s.t.gi(x)0,i[1,M](3)
h j ( x ) = 0 , j ∈ [ 1 , L ] h_j(x) = 0, j \in [1, L] hj(x)=0,j[1,L]

其中 s . t . s.t. s.t.subject to 的缩写,表示受限于的意思

D D D 为上述多目标优化问题的可行域,即:
D = { x ∣ g i ( x ) ≥ 0 , i ∈ [ 1 , M ] , h j ( x ) = 0 , j ∈ [ 1 , L ] } D = \{ x | g_i(x) \geq 0, i \in [1, M], h_j(x) = 0, j \in [1, L]\} D={xgi(x)0,i[1,M],hj(x)=0,j[1,L]}

1.4 带约束的多目标优化问题

带约束的多目标问题 MOP (multi-objective optimization problem)
m i n x F ( x ) = [ f 1 ( x ) , f 2 ( x ) , . . . , f K ( x ) ] min_x \quad F(x) = [f_1(x), f_2(x), ... , f_K(x)] minxF(x)=[f1(x),f2(x),...,fK(x)]
s . t . g i ( x ) ≥ 0 , i ∈ [ 1 , M ] (4) s.t. g_i(x) \geq 0, i \in [1, M] \tag{4} s.t.gi(x)0,i[1,M](4)
h j ( x ) = 0 , j ∈ [ 1 , L ] h_j(x) = 0, j \in [1, L] hj(x)=0,j[1,L]
D D D 为上述多目标优化问题的可行域,即
D = { x ∣ g i ( x ) ≥ 0 , i ∈ [ 1 , M ] , h j ( x ) = 0 , j ∈ [ 1 , L ] } D = \{ x | g_i(x) \geq 0, i \in [1, M], h_j(x) = 0, j \in [1, L]\} D={xgi(x)0,i[1,M],hj(x)=0,j[1,L]}

2. 多目标优化的解集:解集定义

  • 对于多目标优化问题 MOP,通常不存在解 x ∗ ∈ D x^* \in D xD,使得目标 f i ( x ) , ∀ i ∈ [ 1 , K ] f_i(x), \forall i \in [1, K] fi(x),i[1,K], 同时达到最小值

  • 在描述 MOP 的解集之前,我们先来定义多目标里面的相等、严格小于、小于、小于且不相等的含义:

  • R N R^N RN N N N 维实向量空间, y = ( y 1 , y 2 , . . . , y N ) T , z = ( z 1 , z 2 , . . . , z N ) T y = (y_1, y_2, ..., y_N)^T, z = (z_1, z_2, ..., z_N)^T y=(y1,y2,...,yN)T,z=(z1,z2,...,zN)T
    f ( n ) = { 相 等 y = z ⇔ y i = z i , i = 1 , 2 , . . . , N   严 格 小 于 y < z ⇔ y i = z i , i = 1 , 2 , . . . , N   小 于 y < z ⇔ y i = z i , i = 1 , 2 , . . . , N   小 于 且 不 相 等 y ≤ z ⇔ y i = z i , i = 1 , 2 , . . . , N , 且 y ≠ z   (5) f(n) = \begin{cases} 相等 & \text{$y = z \Leftrightarrow y_i = z_i, i = 1, 2, ..., N$ } \\ 严格小于& \text{$y < z \Leftrightarrow y_i = z_i, i = 1, 2, ..., N \tag{5} $ } \\ 小于 & \text{$y < z \Leftrightarrow y_i = z_i, i = 1, 2, ..., N$ } \\ 小于且不相等 & \text{$y \leq z \Leftrightarrow y_i = z_i, i = 1, 2, ..., N, 且\quad y \neq z$ } \\ \end{cases} f(n)=y=zyi=zi,i=1,2,...,N y<zyi=zi,i=1,2,...,N y<zyi=zi,i=1,2,...,N yzyi=zi,i=1,2,...,N,y=z (5)

2.1 可行解

对于某个 x ∈ X x \in X xX,如果 x 满足(4)中的约束条件 g i ( x ) ≥ 0 , i ∈ [ 1 , M ] 和 h j ( x ) = 0 , j ∈ [ 1 , L ] g_i(x) \geq 0, i \in [1, M] 和 h_j(x) = 0, j \in [1, L] gi(x)0,i[1,M]hj(x)=0,j[1,L] 则称 x x x 为可行解

两个目标函数

三个目标函数

2.2 可行解集合

X X X 中的所有的可行解组成的集合称为可行解集合,记为 X f X_f Xf,且 X f ⊆ X X_f \subseteq X XfX

2.3 Pareto 支配 (Pareto Dominance)

定义: ∀ x 1 , x 2 ∈ X f \forall x_1, x_2 \in X_f x1,x2Xf,如果对于 ∀ i ∈ [ 1 , M ] \forall i \in [1, M] i[1,M],都有 f i ( x 1 ) ≤ f i ( x 2 ) f_i(x_1) \leq f_i(x_2) fi(x1)fi(x2) 并且, ∃ j ∈ [ 1 , L ] \exists j \in [1, L] j[1,L],使得 f j ( x 1 ) < f j ( x 2 ) f_j(x_1) < f_j(x_2) fj(x1)<fj(x2) 则称 x 1 x_1 x1 支配 x 2 x_2 x2,也称 x 1 x_1 x1 是 Pareto 占优的

2.4 Pareto 最优解

一个解 x ∗ ∈ X f x^* \in X_f xXf,若 ¬ ∃ x ∈ X f : x 支 配 x ∗ \neg\exists x \in X_f:x 支配 x^* ¬xXfxx,则 x ∗ x^* x 被称为 Pareto 最优解(或非支配解)

2.5 Pareto 最优解集

Pareto 最优解集是所有 Pareto 最优解的集合,定义如下:
P ∗ = { x ∗ ∣ ¬ ∃ x ∈ X f : x 支 配 x ∗ } P^* = \{x^*|\neg\exists x \in X_f:x 支配 x^*\} P={x¬xXfxx}

2.6 Pareto 前沿面

Pareto 最优解集 P ∗ P^* P 中的所有 Pareto 最优解对应的目标矢量组成的曲面称为 Pareto 前沿面 P F ∗ PF^* PF
P F ∗ = { F ( x ∗ ) = ( f 1 ( x ∗ ) , f 1 ( x ∗ ) , . . . , f m ( x ∗ ) ) T ∣ x ∗ ∈ P ∗ } PF^* = \{F(x^*) = (f_1(x^*), f_1(x^*), ..., f_m(x^*))^T|x^* \in P^*\} PF={F(x)=(f1(x),f1(x),...,fm(x))TxP}

3. 实例阐述 Pareto

3.1 第一个实例

1:解 A 优于解 B(解 A 强帕累托支配解 B)

假设现在有两个目标函数,解 A 对应的目标函数值都比解 B 对应的目标函数值好,则称解A比解 B 优越,也可以叫做解 A 强帕累托支配解 B,举个例子

下图中代表的是两个目标的的解的情况,横纵坐标表示两个目标函数值,E 点表示的解所对应的两个目标函数值都小于 C,D 两个点表示的解所对应的两个目标函数值,所以解 E 优于解 C,D

2:解 A 无差别于解 B(解 A 能帕累托支配解 B)A,B两点严格意义上是非支配关系

同样假设两个目标函数,解 A 对应的一个目标函数值优于解 B 对应的一个目标函数值,但是解 A 对应的另一个目标函数值要差于解 B 对应的一个目标函数值,则称解 A 无差别于解B,也叫作解 A 能帕累托支配解 B,举个例子,还是上面的图,点 C 和点 D 就是这种情况,C 点在第一个目标函数的值比 D 小,在第二个函数的值比 D 大。

3:最优解

假设在设计空间中,解 A 对应的目标函数值优越其他任何解,则称解 A 为最优解,举个例子,下图的 x 1 x_1 x1 就是两个目标函数的最优解,使两个目标函数同时达到最小,但实际生活中这种解是不可能存在的,由此提出了帕累托最优解

4:帕累托最优解

同样假设两个目标函数,对于解 A 而言,在变量空间中找不到其他的解能够优于解A(这里的优于一定要两个目标函数值都优于 A 对应的函数值),那么解 A 就是帕累托最优解,举个例子,下图中应该找不到比 对应的目标函数都小的解了吧,即找不到一个解优于 x 1 x_1 x1 了,同理也找不到比 x 2 x_2 x2 更优的解了,所以这两个解都是帕累托最优解,实际上, 这个范围的解都是帕累托最优解。因此对于多目标优化问题而言,帕累托最优解只是问题的一个可接受解,一般都存在多个帕累托最优解,这个时候就需要自己决策了。

5:帕累托最优前沿

还是那张图 ,如下图所示,更好的理解一下帕累托最优解,实心点表示的解都是帕累托最优解,所有的帕累托最优解构成帕累托最优解集,这些解经目标函数映射构成了该问题的 Pareto 最优前沿或 Pareto 前沿面,即帕累托最优解对应的目标函数值就是帕累托最优前沿。

对于两个目标的问题,其 Pareto 最优前沿通常是条线。而对于多个目标,其 Pareto 最优前沿通常是一个超曲面。

3.2 第二个实例

在求目标函数 f 1 , f 2 f_1, f_2 f1,f2,的最小值的时候,当 A 与 B 相比 f 1 ( x ∗ ) < f 1 ( x ‾ ) f_1(x^*) < f_1(\overline{x}) f1(x)<f1(x),且 f 2 ( x ∗ ) < f 2 ( x ‾ ) f_2(x^*) < f_2(\overline{x}) f2(x)<f2(x) ,所以 B 不支配 A,而 A 支配 B, A 与 C 相比, f 2 ( x ) < f 2 ( x ∗ ) f_2(x) < f_2(x^*) f2(x)<f2(x),若 f 1 ( x ) < f 1 ( x ∗ ) f_1(x) < f_1(x^*) f1(x)<f1(x),则 C 支配 A,但是 f 1 ( x ) > f 1 ( x ∗ ) f_1(x) > f_1(x^*) f1(x)>f1(x),所以没有支配关系,属于非支配关系

分析可以知道,红色曲线上的点,在进行内部点之间比较的时候,如果一个点其中一个函数值小于另一个点对应的函数值时,那么此点的另一个函数值一定大于另一个对应的函数值

不同情况下的 Pareto 最优前沿

4. Pareto 算法

在这里插入图片描述
在这里插入图片描述

转化为单目标函数
在这里插入图片描述
在这里插入图片描述

将其中一个函数作为目标函数,其他函数作为约数条件
在这里插入图片描述

5. Pareto 的计算

5.1 第一个实例

假设有两个目标目标函数,两个变量 x 1 , x 2 x_1, x_2 x1,x2,对应的解集为 f ( x 1 ) , f ( x 2 ) f(x_1), f(x_2) f(x1),f(x2)
在这里插入图片描述

1 号 与 2 号比,目标函数,2 号均比 1 号小,加入 pareto 点集, 3 号 和 2 号比,第一个目标函数小于 2 号,第二个目标函数大于 2 号,加入 pareto 点集
在这里插入图片描述

第 5 行数据再与 Pareto 候选集进行比较时,即 5 与 3 比较,发现 13 < 19 并且 45 < 53, 所以 3 被 5 支配,把 3 号点去掉,留下 5 号选入 Pareto 点集
在这里插入图片描述
在这里插入图片描述
最终的 pareto 前沿计算结果为:2, 9, 5
在这里插入图片描述

5.2 第二个实例

在这里插入图片描述

5.3 第三个实例

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/17052.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

解决jupyter TOC勾选了但不显示的问题

解决jupyter TOC勾选了但不显示的问题 有时候TOC&#xff08;Table of content2&#xff09;反应很慢&#xff0c;或者勾选了根本就不显示。或者隔三岔五nbextension消失&#xff0c;按以下步骤解决问题&#xff1a; #mermaid-svg-rbxou4Xusp7FoS9q {font-family:"trebuc…

ArcGIS pro底图大全

ArcGIS pro底图大全 Mid-Century Street World Topographic Map Navigation Map Street Night Terrain with label Oceans National graphic style map Modern antique 668753925730)] Modern antique

CAD中如何绑定外部参照和revit中链接CAD功能

一、CAD中如何绑定外部参照 首先我们要了解什么叫外部参照外部参照是指将一副图以参照的形式引用到另外一个或多个图形文件中&#xff0c;外部参照的每次改动后的结果都会及时的反映在最后一次被参照的图形中&#xff0c;另外使用外部参照还可以有效的减少图形的容量&#xff0…

Mockito的@Mock与@MockBean

在上文的 https://blog.csdn.net/dlf123321/article/details/127930378 里 大家初步会用mockito了 但是马上出现了一个问题。 package com.example.demo.controller;import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.example.demo.entity.Per…

【算法】数组之二分查找移除元素

目录 1、数组理论基础 2、二分查找 2.1 区间左闭右闭写法 2.2 区间左闭右开写法 3、移除元素 3.1 暴力解法 3.2 双指针&#xff08;快慢指针&#xff09;法 1、数组理论基础 参考以前的博客&#xff1a;http://t.csdn.cn/HAVSF 2、二分查找 力扣https://leetcode.cn/p…

Denodo通过重要任命新增执行团队成员:Daniel Lender担任首席财务官,Stephen Welles担任首席法务官

韩国Pulmuone选择Aera Decision Cloud™来提升服务&#xff0c;降低成本&#xff0c;并支持可持续性 决策智能化公司Aera Technology今日宣布与韩国领先的生鲜食品公司、全球排名居首的豆腐生产商Pulmuone Co. Ltd.合作&#xff0c;帮助这家全球领军企业实现供应链决策智能化。…

数据结构之栈和队列

目录 1.栈的概念2、栈的实现 1、队列的概念2、队列的实现 今天介绍的是栈和队列。 先说栈吧。 1.栈的概念 栈也是线性表的一种&#xff0c;不过他较为特殊。他只能在一边进行数据的出入。也就是说晚进的数据先出去。进行数据进出的一端叫做栈顶&#xff0c;另一端叫做栈底…

从ReentrantReadWriteLock开始的独占锁与共享锁的源码分析

FBI WARNING&#xff08;bushi&#xff09; 当涉及sync调用时&#xff0c;并不会分析尝试获取和释放之后的后继逻辑&#xff0c;因为这个逻辑是由AQS类实现的。请看姊妹篇之并发入门组件AQS源码解析。 开始的开始是一个demo 以下的代码&#xff0c;会将独占锁持有5分钟&…

【LSTM实战】股票走势预测全流程实战(stock predict)

任务&#xff1a;利用LSTM模型预测2017年的股票中High的走势&#xff0c;并与真实的数据进行比对。数据&#xff1a;https://www.kaggle.com/datasets/princeteng/stock-predict 一、import packages|导入第三方库 import pandas as pd import matplotlib.pyplot as plt impo…

利用ESP32实现蓝牙通信的方法

​大家好&#xff0c;我是ST! 上次给大家分享了如何使用ESP32实现UDP通信&#xff0c;今天跟大家聊聊如何使用ESP32实现蓝牙通信。 目录 一、蓝牙简介 二、miropython有关蓝牙的实现方法 三、我的实验代码 四、手机调试APP 一、蓝牙简介 蓝牙是一种无线通讯技术&#xff…

Linux篇【5】:Linux 进程概念(三)

目录 四、进程状态 4.1、各个操作系统下的进程状态&#xff1a; 4.1.1、进程的运行态&#xff1a; 4.1.2、进程的终止态(退出态)&#xff1a; 4.1.3、进程的阻塞态&#xff1a; 4.1.4、进程的挂起态&#xff1a; 4.2、Linux 操作系统下的进程状态&#xff1a; 四、进…

30、Java高级特性——Java API、枚举、包装类、装箱和拆箱

目录 课前先导&#xff1a; 一、Java API 1、API 2、Java API 3、Java API常用包 二、枚举类型 1、枚举 2、枚举类 3、代码演示 3.1 创建枚举类 3.2 创建测试类 4、MyEclipse创建枚举类的快捷方式 三、包装类 1、八大基本数据类型包装类 2、包装类中的构造方…

Java并发编程之可见性分析 volatile

可见性 对于什么是可见性&#xff0c;比较官方的解释就是&#xff1a;一个线程对共享变量的修改&#xff0c;另一个线程能够立刻看到。 说的直白些&#xff0c;就是两个线程共享一个变量&#xff0c;无论哪一个线程修改了这个变量&#xff0c;则另外的一个线程都能够看到上一…

电脑可以通过蓝牙发送文件吗?电脑蓝牙怎么发送文件

蓝牙&#xff08;bluetooth&#xff09;是一种支持设备短距离通信的无线电技术。能在包括移动电话、PDA、无线耳机、笔记本电脑、相关外设等众多设备之间进行无线信息交换。蓝牙技术让数据传输变得更加迅速高效&#xff0c;为无线通信拓宽道路。随着蓝牙技术的发展&#xff0c;…

甘露糖-聚乙二醇-羧酸|mannose-PEG-COOH|羧酸-PEG-甘露糖

甘露糖-聚乙二醇-羧酸|mannose-PEG-COOH|羧酸-PEG-甘露糖 首先合成了二,三分支的甘露糖簇分子.甘露糖经烯丙 苷化,乙酰基保护后,将其烯丙基的双键氧化得到带有羧基连接臂的甘露糖衍生物,然后再分别与1,6-己二胺和三(2-氨乙基)胺进行缩合反应,后脱掉保 护基,得到二分枝甘露糖簇…

Azide-PEG-Thiol,N3-PEG-SH,叠氮-聚乙二醇-巯基可用来制备金纳米颗粒

1、名称 英文&#xff1a;Azide-PEG-Thiol&#xff0c;N3-PEG-SH 中文&#xff1a;叠氮-聚乙二醇-巯基 2、CAS编号&#xff1a;N/A 3、所属分类&#xff1a;Azide PEG Thiol PEG 4、分子量&#xff1a;可定制&#xff0c;5k N3-PEG-SH、20k 叠氮-聚乙二醇-巯基、10k N3-PE…

嵌入式分享合集105

一、智能灯光控制系统&#xff08;基于stm32&#xff09; 带你走进物联网的世界说一个整天方案哦 这次是基于stm32的 当然你可以用esp “智能光照灯”使用STM32作为系统的MCU&#xff0c;由于单片机IO口驱动电流过小&#xff0c;搭配三极管放大电流&#xff0c;从而满足光照强…

全网监控 nginx 部署 zabbix6.0

Zabbix监控 文章目录Zabbix监控一、zabbix6.0部署1、部署zabbix 6.0版本&#xff08;nginxphpzabbix&#xff09;1、nginx配置2、php配置3、mariadb配置二、zabbix配置1、zabbix配置 &#xff08;6.0&#xff09;1、源码安装2、zabbix rpm2、zabbix(5.0安装) -- 补充3、故障汇总…

【Linux】翻山越岭——进程地址空间

文章目录一、是什么写时拷贝二、为什么三、怎么做区域划分和调整一、是什么 回顾我们学习C/C时的地址空间&#xff1a; 有了这个基本框架&#xff0c;我们对于语言的学习更加易于理解&#xff0c;但是地址空间究竟是什么❓我们对其并不了解&#xff0c;是不是内存呢&#xff1…

【创建微服务】创建微服务并使用人人开源代码生成器生成基本代码

创建项目微服务 —— 添加模块 添加依赖 使用 人人开源代码生成器 快速生成 crud 代码 —— https://gitee.com/renrenio 下载导入人人开源项目后&#xff0c;修改 application.yml 文件下的数据库连接配置&#xff1a; 2. 修改 generator.properties 配置文件下的 主路径、包…