AI大模型学习笔记|多目标算法梳理、举例
多目标算法学习内容推荐:
1.通俗易懂讲算法-多目标优化-NSGA-II(附代码讲解)_哔哩哔哩_bilibili
2.多目标优化 (python pyomo pareto 最优)_哔哩哔哩_bilibili学习笔记:
通过网盘分享的文件:多目标算法学习笔记
链接: https://pan.baidu.com/s/1bJ2_WzmtY4o43n_YeUwHQg 提取码: hstm
一、多目标算法
学习资料1的内容整理:
智能优化算法是一种模拟自然进化过程的计算方法,用于寻找复杂问题的最优解。它们通过迭代过程,结合策略和保底(精英)机制,不断更新解集,以逼近问题的最优解。
(1)智能优化算法基本原理和流程
智能优化算法是一种模拟自然界中生物进化或其他智能行为的算法,它们通过模拟自然选择、遗传、交叉和变异等过程来寻找问题的最优解。这些算法的基本流程包括初始化一组候选解,评估这些解的质量(适应度),然后通过特定的策略(如遗传算法中的交叉和变异)生成新的解。接着,通过保底(精英)机制保留最优的解,淘汰较差的解,然后迭代这个过程直到找到满意的解或达到预定的迭代次数。
(2)多目标优化算法的前置知识
多目标优化算法处理的是同时优化多个目标的问题,这些目标之间往往存在冲突,即改善一个目标可能会导致另一个目标变差。在这种情况下,不存在单一的最优解,而是存在一系列权衡解,这些解被称为帕雷托最优解。帕雷托最优解构成了帕雷托前沿,它代表了在多个目标之间取得最佳权衡的解集。理解帕雷托最优的概念对于设计和应用多目标优化算法至关重要。
(3)智能优化算法的流程
智能优化算法的流程可以详细描述为以下几个步骤:首先,随机初始化一组候选解;然后,评估这些解的适应度;接着,根据适应度选择优秀的解,并应用特定的策略生成新的候选解;之后,将新旧解集合并,并进行筛选,保留最优的解;最后,重复上述过程直到满足停止条件。这个流程模拟了生物进化中的“适者生存”原则,通过不断的迭代,逐步逼近问题的最优解。
(4)多目标问题的解的生成
在多目标优化问题中,解的生成更为复杂,因为需要同时考虑多个目标。算法需要生成一组新的解,这些解不仅要与旧的解竞争,还要在多个目标之间取得平衡。这通常涉及到更复杂的策略,如同时考虑多个目标的适应度函数,或者在生成新解时采用多目标优化策略。
(5)解的排序:非支配排序
非支配排序是多目标优化中用于解排序的一种方法。它根据解是否被其他解支配来对解进行分层。在非支配排序中,一个解如果没有任何其他解在所有目标上都比它好,则认为它是非支配的。这种方法可以有效地识别出帕雷托最优解,并将解分为不同的前沿,每个前沿包含的解在目标空间中是相互非支配的。
(6)拥挤距离
拥挤距离是一种衡量解在目标空间中分布密度的指标。在多目标优化中,我们不仅希望找到帕雷托最优解,还希望这些解在帕雷托前沿上均匀分布。拥挤距离通过计算解与其邻居之间的距离来实现这一点,从而避免解的聚集,确保在不同区域的帕雷托前沿上都有解的存在。
(7)排序的具体计算
在具体计算排序时,首先需要对每个目标维度上的解进行排序,然后计算每个解与其最近邻解之间的距离。这个距离反映了解在目标空间中的拥挤程度。通过这种方式,我们可以识别出哪些解是孤立的,哪些解是拥挤的,从而在后续的迭代中对这些解进行适当的选择和淘汰。
(8)支配关系的判断
在多目标优化中,支配关系的判断是确定解优劣的关键。一个解A支配解B,意味着A在所有目标上都不比B差,并且在至少一个目标上严格优于B。这种判断不仅涉及到解的直接比较,还涉及到解在目标空间中的相对位置,是多目标优化算法中解评估和选择的基础。
二、多目标算法的补充内容
摘要:本章内容深入探讨了多目标优化的概念及其在处理多个互相冲突目标时的应用。通过一个生动的羊肉串选择例子,讲解了加权和法、补偿规划、目标约束法等方法,以及帕雷托最优的概念,旨在帮助学生理解理论基础和实践应用。加权和法通过给每个目标设定权重将多目标问题转化为单目标问题;补偿规划在不牺牲一个目标的同时改善另一个目标;目标约束法则通过设定优先级来解决目标冲突;帕雷托最优强调了在多目标优化中找到不可再优化的解决方案集的重要性。讨论强调了每种方法的适用场景和操作细节,鼓励学生通过编程实践加深理解。
(1)多目标优化的定义?
一般来说给定一个优化问题,有一些的约束条件,这,X是一个向量,我们定位一个为N行一列向量就是N个自变量。这边约束条件广义上来讲,它也并不是线性的,也可以是非线性的。那我们上节课讲内容是只有一个目标,但是我们现在有若干目标,有K目标,有大于等于一的,大于等于2。
优化问题三要素:,目标函数在这里。约束条件在这里,决策变量三要素,优化问题就这边。
可阅读的综述:Marler, R. Timothy, and Jasbir S. Arora. "Survey of multi-objective optimization methods for engineering." Structural and multidisciplinary optimization 26 (2004): 369-395.
(2)属性归一化,消除量纲
讲一下idea,关键点是把不同之间的属性先故意一化,消除量纲。会讲一个L2就是度量空间的采用这个距离公式。表示是某一列,因为这一列对应的是同一个属性。
(3)加权求和法
注意,我刚才说是两种思路不一样,所以说我这个价格20.1元人分一半。从这个约束条件入手。但是我们在这个本题中,就多目标优化,从数学的角度来讲,我们从这个目标函数下手。也就是说我们两个的目标函数,比如我是F1X它是F2X之间,加一个权重比较传统说法一人一半,比如说0.5F1X0.5F2X表示的权重是一样的。我们的如果说更一般,我们再加一个小小的权重,这个是这个W1W2咱们要加权。一般习惯性要求这个wi是大于等于零的,并且它们之和是等于一。
(4)compromise programming—均衡规划
我们把本来一个多目标优化问题,我先给它分解成K个单目标优化问题。因为F是F1X一直到FKX。我这边假设有M个约束条件,不管它Y的问题,给它分解成这个问题。就针对每个目标我算一个问题。对第一个问题就是我们是极大化,极大化是F1X满足一个约束条件,GIX小于等于0,然后在max。
(5)e-Constraint method、Weighted min-max method、Pareto optimal
其实总的来说做这种多秒优化问题,回顾一下这个key ideas就两点。第一点先是规划,最后已经现成代码摆在这里了。这个其实我用的是L二度量,可以有好多好多度量,感兴趣同学自己试试看。第二个就是把这个多目标给它转化成单目标或者一目标。那怎么转呢?下面讲一些方法,都是和我这个比如第一种是加权的,给个权重。后面几种类似,都是找我一个最理想点,从最理想点再反过来计算。这个很法很重要,我们会讲这个综合评价也会令人理想这个理想点,乌托邦点特别感兴趣。
三、多目标算法补充内容
(1)多目标算法求解的内在求解策略
多目标优化算法的实现可以从多个角度进行探讨,除了加权求和法和帕累托前沿方法之外,还有以下几种常见的策略:
1. ε-约束法:在这种方法中,选择一个目标函数进行优化,而将其他目标函数转化为约束条件。通过调整这些约束条件的值,可以得到不同的解。
2. 目标规划法:这种方法通过设定目标值并最小化目标值与实际值之间的偏差来实现多目标优化。它通常用于决策问题中。
3. 分层法:将多个目标分层处理,首先优化最重要的目标,然后在此基础上优化次要目标。这种方法适用于目标之间有明显优先级的情况。
4. 多目标遗传算法(MOGA):利用遗传算法的特性,通过选择、交叉和变异等操作来生成多样化的解集,最终得到一组帕累托最优解。
5. 多目标粒子群优化(MOPSO):基于粒子群优化算法的多目标扩展,利用粒子之间的信息共享来探索解空间,寻找多个目标的最优解。
6. 动态权重法:在优化过程中动态调整各个目标的权重,以便在不同的迭代阶段关注不同的目标。
7. 模糊多目标优化:结合模糊逻辑处理不确定性和模糊性,适用于目标和约束条件不明确的情况。
(2)内在策略的优缺点
这些方法各有优缺点,选择合适的方法通常取决于具体问题的性质和需求。在多目标优化算法中,除了加权求和法和帕累托前沿方法外,还有多种其他方法和视角可以用来处理多个目标。以下是一些常见的多目标优化方法和角度:
1. ε-约束法:
- 该方法将一个目标函数作为主目标进行优化,而将其他目标函数转化为约束条件。通过设置这些约束的阈值(ε),可以在满足这些约束的前提下优化主目标。
2. 加权目标法:
- 类似于加权求和法,但在这种方法中,可以动态调整目标的权重,或使用不同的加权组合来生成不同的解决方案。
3. 目标规划:
- 目标规划是一种决策方法,它通过建立目标函数和约束条件来寻找最佳解决方案。目标函数通常是多个目标的组合,决策者可以设定每个目标的优先级。
4. 目标分解法:
- 将多目标问题分解为多个单目标问题,分别求解并合并结果。这种方法可以使复杂问题变得更易处理。
5. 多目标遗传算法(MOGA):
- 使用遗传算法的变种来处理多目标优化问题。通过选择、交叉和变异等操作,MOGA 能够在搜索空间中找到多种帕累托最优解。
6. 非支配排序遗传算法(NSGA-II):
- NSGA-II 是一种流行的多目标优化算法,通过非支配排序和拥挤度比较来维护多样性,能有效找到帕累托前沿。
7. 多目标粒子群优化(MOPSO):
- 类似于多目标遗传算法,MOPSO 使用粒子群优化的思想,通过粒子在解空间的移动来寻找多个目标的最优解。
8. 模糊多目标优化:
- 使用模糊逻辑处理目标的不确定性,适用于目标和约束不精确或具有模糊性的情况。
9. 决策树和随机森林:
- 在多目标优化中,可以使用决策树等机器学习方法来建立模型,从而帮助决策者在多个目标之间进行权衡。
10. Pareto优化:
- 通过寻找和比较不同方案的帕累托效率来评估解决方案,确保没有其他解决方案在某个目标上更好而在其他目标上不更差。
11. 层次分析法(AHP):
- 将复杂的多目标决策问题分解为多个层次,通过比较各层次中的元素,最终确定各目标的相对重要性。
12. 模糊层次分析法(FAHP):
- 结合模糊逻辑与层次分析法,处理目标之间的不确定性和模糊性。
原文地址:https://blog.csdn.net/weixin_63253486/article/details/144437012
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!