首页 > 编程语言 >多目标优化算法快速入门

多目标优化算法快速入门

时间:2024-03-15 09:55:58浏览次数:35  
标签:练习 入门 帕累托 目标 算法 最优 个体 优化

多目标优化快速入门

前言

​ 多目标优化算法是一种用于同时考虑多个目标函数的优化算法。它与单目标优化算法的不同之处在于,多目标优化算法需要同时兼顾多个目标,并在保证每个目标的一定程度满足的前提下尽可能使得每个目标的满足程度都达到最优。多目标优化算法通常应有于解决冲突和复杂的优化问题。

​ 例如,在数学学习中,求函数f1(x1,x2, x3,…,xn)=$x_12$+$x_22+x_32+...+x_n2$和函数f2(x1,x2, x3,…,xn)=(x1+1)2+(x2+1)2+(x3+1)2+…+(xn+1)2,同时达到最小,这是x的取值分别是多少,不存在这样一组的x的取值使得f1和f2同时达到最小值,我们要怎么做?在生活中,想买一栋房子,想要房子的面积大,地段好,价格还比较低,同时满足这三个条件,我们要怎么考虑?

帕累托最优

​ 帕累托最优状态就是不可能再有更多的帕累托改进的余地;换句话说,帕累托改进是达到帕累托最优的路径和方法。 帕累托最优是公平与效率的“理想王国”。为了易于理解,引用B站up寒风csj举的一个例子。

首先需要明确帕累托最优并不是给你一个最优的解,而是给你一个解集,你需要根据你的限制条件来决定要哪一个解。
如果你的导师需要你学习:唱、跳、rap和篮球,这四个作为你的目标,但是你的老师只给了你1年的时间,很显然由于你的练习时长不足两年半,你无法使这四个目标都达到最优。
上面的引例可以总结为:
(1)目标={唱,跳,rap,篮球}
(2)约束={练习时长 <= 一年}
1、视频中关于定义一[1]的解释:
你使用两种方法v和w进行练习,得到的结果是:
v = {唱的优,跳的优,rap说的优,篮球打的优},w = {唱的良,跳的优,rap说的良,篮球打的良}
很显然v这种练习方式要比w这种练习方式要好,就可以认为v支配w

2、视频中关于定义二[2]的解释:
你使用两种练习方式x和y,得到的结果为:
x = {唱的优,跳的良,rap说的良,篮球打的良}, y = {唱的良,跳的优,rap说的良,篮球打的良}
很显然x这种练习方式使你唱功要比y的好,但是y这种练习方式使得你跳舞的能力比x好。
我们就认为这两种练习方式各有千秋,谁也不支配谁。那么x和y的练习方式就会被放入到帕累托最优集中,既
P = {x,y,....}

3、视频中关于定义三[3]的解释:
F(x)是我们的目标函数
将我们的解决方案带入就可以计算了。
最后我们就可以根据我们其他的要求来选择更好的解了,比如我们马上要参加《我是歌手》,那么我们就会选择x这种练习方式

多目标优化问题的数学一般描述

image

image_2

​ 在右图中求最小值,可以看出,B支配C,D两点,在A点,B是被支配的,其余空间则是非支配
1.想要求得多目标问题的最优解,我们利用计算机强大的计算能力,在决策空间中随机产生大量个体,并找出其中最好的(不被支配的)个体。也就是不断地“试”,来找到越来越好的个体。随机寻找个体的过程称为搜索
2.但无法做到遍历决策空间中每一个个体,我们需要在更短的时间里利用随机的方法找到更好的个体
3.利用进化算法的策略,可以朝着越来越好的方向随机产生个体,而不是在决策空间中完全盲目地产生个体。

GA算法步骤

·(1种群中个体随机初始化.
·(2)每个个体通过评价得到一个适应度值.·(3)适应度值大的个体有更大的概率保留下来.
·(4)通过对适应度值大的个体交叉变异产生新的个体.
·不断的迭代第(2)-(4)步骤,经过足够多的迭代次后,最终能得到好的解.

image_3

评价性能

​ 在对多目标优化算法的性能进行评价时,主要有两个评价标准:多样性和收敛性。

IGD: 该指标用于计算真实帕累托前沿中所有解与求解算法获得的非占优解的平均欧式距离。IGD值越小,表明非占优解集越逼近真实帕累托前沿并且分布更均匀,解集的收敛性和多样性更好。记算法求解算例获取的解集为X,P*为真实帕累托前沿上均匀分布的点集,则×的IGD值计算公式如下:

image_5


  1. 一个向量v = (v1,v2,…,vk)支配另一个向量w = (w1,w2,…,wk)当且仅当$\forall i \in {1,2,3,...,k},$ vi<=wi并且$\exist j \in${1,2,3,...,k},这就可以表示为v支配w ↩︎

  2. 定义2∶帕累托最优集的定义为P= {x ∈X,$\nexists$x'∈X,F(x')<F(x)}×属于决策空间,不存在x×'属于决策空间,使得F(x')<F(x) ↩︎

  3. 定义3:帕累托前沿被定义为PF= ↩︎

标签:练习,入门,帕累托,目标,算法,最优,个体,优化
From: https://www.cnblogs.com/cxj666/p/18074759

相关文章

  • TSINGSEE青犀AI烟火识别等算法打造电瓶车消防安全解决方案
    一、背景分析根据国家消防救援局的统计,2023年全国共接报电动自行车火灾2.1万起,相比2022年上升17.4%,电动自行车火灾安全隐患问题不容忽视。电瓶车火情主要问题和原因:电瓶车/电池质量良莠不齐用户安全意识薄弱,入户充电、飞线充电等规范化管理欠缺,电瓶车入户、进楼等情形频繁发......
  • c3p0 数据池入门使用教程
    dbcp系列从零开始手写mybatis(三)jdbcpool如何从零手写实现数据库连接池dbcp?万字长文深入浅出数据库连接池HikariCP/CommonsDBCP/Tomcat/c3p0/druid对比DatabaseConnectionPool数据库连接池概览c3p0数据池入门使用教程alibabadruid入门介绍数据库连接池Hikari......
  • C++入门
    1、C++初识1.1、第一个C++程序编写一个C++程序总共分为4个步骤:创建项目;创建文件;编写代码;运行程序。1.2、注释单行注释://描述信息多行注释:/*描述信息*/1.3、变量变量存在的意义:方便我们管理内存。变量创建的语法:数据类型变量名=变量初始值; inta=10;1.4......
  • 算法---滑动窗口练习-2(无重复字符的最长子串)
    无重复字符的最长子串1.题目解析2.讲解算法原理3.编写代码1.题目解析题目地址:无重复字符的最长子串2.讲解算法原理首先定义了变量left、right和len,分别表示当前无重复子串的左边界、右边界和最大长度。获取输入字符串s的长度n。定义一个大小为......
  • 面了搜狐 NLP 算法工程师,这次收获满满。。。
    节前,我们组织了一场算法岗技术&面试讨论会,邀请了一些互联网大厂同学、参加社招和校招面试的同学,针对大模型技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何备战、面试常考点分享等热门话题进行了深入的讨论。今天整理我们社群一个同学面试NLP算法方向的面......
  • 使用符号回归优化电路结构
    原理作为一种一种监督学习方法,符号回归(symbolicregression)试图发现某种隐藏的数学公式,以此利用特征变量预测目标变量。编码方法公式可以写成S-表达式的形式,继而可以转化成一颗二叉树。在这个二叉树里,所有的叶节点都是变量或者常数,内部的节点则是函数。用同构的思想不难发现:电......
  • 代码随想录算法训练营第day46|139.单词拆分 、多重背包
    目录139.单词拆分多重背包 139.单词拆分力扣题目链接(opensnewwindow)给定一个非空字符串s和一个包含非空单词的列表wordDict,判定 s是否可以被空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重复使用字典中的单词。你可以假设字典中没有重复的单......
  • 代码随想录算法训练营第day17|110.平衡二叉树 、 257. 二叉树的所有路径 、404.左叶子
    目录a.110.平衡二叉树b.257.二叉树的所有路径 c.404.左叶子之和a.110.平衡二叉树力扣题目链接(opensnewwindow)给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点的左右两个子树的高度差的绝对值不超过1。示例1......
  • 算法中递归的执行过程
    原文链接:https://blog.csdn.net/weixin_38754799/article/details/120681819我们来看一下函数sum(n=5)的递归执行过程,如下: 计算sum(5)时,先sum(5)入栈,然后原问题sum(5)拆分为子问题sum(4),再入栈,直到终止条件sum(n=1)=1,就开始出栈。sum(1)出栈后,sum(2)开始出栈,接着sum(3)。最后呢,sum(1)就是后进......
  • 项目性能优化—性能优化的指标、目标
    项目性能优化—性能优化的指标、目标性能优化的终极目标是什么性能优化的目标实际上是为了更好的用户体验:一般我们认为用户体验是下面的公式:用户体验=产品设计(非技术)+系统性能≈系统性能=快那什么样的体验叫快呢?3秒定理一般我们认为网站页面的加载速度在3秒以内就可......