当前位置: 首页 > news >正文

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):

    - 结合模糊逻辑与层次分析法,处理目标之间的不确定性和模糊性。

相关文章:

AI大模型学习笔记|多目标算法梳理、举例

多目标算法学习内容推荐: 1.通俗易懂讲算法-多目标优化-NSGA-II(附代码讲解)_哔哩哔哩_bilibili 2.多目标优化 (python pyomo pareto 最优)_哔哩哔哩_bilibili 学习笔记: 通过网盘分享的文件:多目标算法学习笔记 链接: https://pan.baidu.com…...

蓝桥杯刷题——day3

蓝桥杯刷题——day3 题目一题干题目解析代码 题目二题干题目解析代码 题目一 题干 每张票据有唯一的 ID 号,全年所有票据的 ID 号是连续的,但 ID 的开始数码是随机选定的。因为工作人员疏忽,在录入 ID 号的时候发生了一处错误,造…...

企业级日志分析系统ELK之ELK概述

ELK 概述 ELK 介绍 什么是 ELK 早期IT架构中的系统和应用的日志分散在不同的主机和文件,如果应用出现问题,开发和运维人员想排 查原因,就要先找到相应的主机上的日志文件再进行查找和分析,所以非常不方便,而且还涉及…...

【开源项目】经典开源项目数字孪生体育馆—开源工程及源码

飞渡科技数字孪生体育馆管理平台,融合物联网IOT、BIM数据模型、三维GIS等技术,实现体育馆的全方位监控和实时全局掌握,同时,通过集成设备设施管理、人员管理等子系统,减少信息孤岛,让场馆“可视、可控、可管…...

C++多线程实战:掌握图像处理高级技巧

文章结尾有最新热度的文章,感兴趣的可以去看看。 本文是经过严格查阅相关权威文献和资料,形成的专业的可靠的内容。全文数据都有据可依,可回溯。特别申明:数据和资料已获得授权。本文内容,不涉及任何偏颇观点,用中立态度客观事实描述事情本身 导读 在当今的计算世界中,…...

解决MAC装win系统投屏失败问题(AMD显卡)

一、问题描述 电脑接上HDMI线后,电脑上能显示有外部显示器接入,但是外接显示器无投屏画面 二、已测试的方法 1 更改电脑分辨,结果无效 2 删除BootCamp,结果无效 3更新电脑系统,结果无效 4 在设备管理器中&#…...

网易游戏分享游戏场景中MongoDB运行和分析实践

在游戏行业中,数据库的稳定和性能直接影响了游戏质量和用户满意度。在竞争激烈的游戏市场中,一个优秀的数据库产品无疑能为游戏的开发和后期的运营奠定良好的基础。伴随着MongoDB在不同类型游戏场景中的应用越来越广泛,许多知名的游戏公司都在…...

Android14 AOSP 允许system分区和vendor分区应用进行AIDL通信

在Android14上,出于种种原因,system分区的应用无法和vendor分区的应用直接通过AIDL的方法进行通信,但是项目的某个功能又需要如此。 好在Binder底层其实是支持的,只是在上层进行了屏蔽。 修改 frameworks/native/libs/binder/Bp…...

R学习——因子

目录 1 定义因子(factor函数) 2因子的作用 一个数据集中的 只需要考虑可以用哪个数据来进行分类就可以了,可以用来分类就可以作为因子。 Cy1这个因子对应的水平level是4 6 8: 1 定义因子(factor函数) 要…...

pytest入门三:setup、teardown

https://zhuanlan.zhihu.com/p/623447031 function对应类外的函数,每个函数调用一次 import pytest def setup_module():print(开始 module)def teardown_module():print(结束 module)def setup_function():print(开始 function)def teardown_function():print(结…...

前端面试准备问题2

1.防抖和节流分别是什么,应用场景 防抖:在事件被触发后,只有在指定的延迟时间内没有再次触发,才执行事件处理函数。 在我的理解中,简单的说就是在一个指定的时间内,仅触发一次,如果有多次重复触…...

web前端sse封装

这是一个基于microsoft/fetch-event-source包封装的sse函数,包含开始、停止功能; 可传更多参数、使用非常简单。 使用前: 安装 microsoft/fetch-event-source 代码: // sse import { fetchEventSource } from microsoft/fetch-event-source import { …...

智能家居WTR096-16S录放音芯片方案,实现语音播报提示及录音留言功能

前言: 在当今社会的高速运转之下,夜幕低垂之时,许多辛勤工作的父母尚未归家。对于肩负家庭责任的他们而言,确保孩童按时用餐与居家安全成为心头大事。此时,家居留言录音提示功能应运而生,恰似家中的一位无形…...

【创建模式-蓝本模式(Prototype Pattern)】

目录 Overview应用场景代码演示JDK Prototype pattern 更优实践泛型克隆接口 https://doc.hutool.cn/pages/Cloneable/#%E6%B3%9B%E5%9E%8B%E5%85%8B%E9%9A%86%E7%B1%BB The prototype pattern is a creational design pattern in software development. It is used when the t…...

Spring Boot应用开发深度解析与实战案例

Spring Boot应用开发深度解析与实战案例 在当今快速发展的软件开发领域,Spring Boot凭借其“约定优于配置”的理念,极大地简化了Java应用的开发、配置和部署过程,成为了微服务架构下不可或缺的技术选型。本文将深入探讨Spring Boot的核心特性、最佳实践,并通过一个具体的…...

优化Go语言中的网络连接:设置代理超时参数

网络连接优化的重要性 在分布式系统和微服务架构中,网络请求的效率直接影响到整个系统的响应速度。合理的超时设置可以防止系统在等待网络响应时陷入无限期的阻塞,从而提高系统的吞吐量和用户体验。特别是在使用代理服务器时,由于增加了网络…...

《神经网络与深度学习》(邱锡鹏) 内容概要【不含数学推导】

第1章 绪论 基本概念:介绍了人工智能的发展历程及不同阶段的特点,如符号主义、连接主义、行为主义等。还阐述了深度学习在人工智能领域的重要地位和发展现状,以及其在图像、语音、自然语言处理等多个领域的成功应用。术语解释 人工智能&…...

原创 传奇996_55——后端如何点击npc隐藏主界面

点击图片退出&#xff0c;举例&#xff1a; |linkexit Img|ax0.5|ay0.5|percentx50|percenty50|imgpublic/touming2.png|hideMain1|linkexit <Img|x0|y0|esc1|show4|bg1|move0|imgcustom/new/longhun/bg.png|loadDelay0|reset1|hideMain1>...

RabbitMQ中的Work Queues模式

在现代分布式系统中&#xff0c;消息队列&#xff08;Message Queue&#xff09;是实现异步通信和解耦系统的关键组件之一。RabbitMQ 是一个广泛使用的开源消息代理软件&#xff0c;支持多种消息传递模式。其中&#xff0c;Work Queues&#xff08;工作队列&#xff09;模式是一…...

GESP202412 四级【Recamán】题解(AC)

》》》点我查看「视频」详解》》》 [GESP202412 四级] Recamn 题目描述 小杨最近发现了有趣的 Recamn 数列&#xff0c;这个数列是这样生成的&#xff1a; 数列的第一项 a 1 a_1 a1​ 是 1 1 1&#xff1b;如果 a k − 1 − k a_{k-1}-k ak−1​−k 是正整数并且没有在数…...

蓝桥杯新年题解 | 第15届蓝桥杯迎新篇

蓝桥杯新年题解 | 第15届蓝桥杯迎新篇 2024年的蓝桥杯即将拉开序幕&#xff01;对于许多编程爱好者来说&#xff0c;这不仅是一次展示自我能力的舞台&#xff0c;更是一次学习和成长的机会。作为一名大一新生的小蓝&#xff0c;对蓝桥杯充满了期待&#xff0c;但面对初次参赛的…...

3D 生成重建035-DiffRF直接生成nerf

3D 生成重建035-DiffRF直接生成nerf 文章目录 0 论文工作1 论文方法2 实验结果 0 论文工作 本文提出了一种基于渲染引导的三维辐射场扩散新方法DiffRF&#xff0c;用于高质量的三维辐射场合成。现有的方法通常难以生成具有细致纹理和几何细节的三维模型&#xff0c;并且容易出…...

@SpringBootTest 报错: UnsatisfiedDependencyException

Spring Boot Test 报错: UnsatisfiedDependencyException 在使用 SpringBootTest 测试时&#xff0c;出现 UnsatisfiedDependencyException 报错&#xff0c;原因和解决方法如下。 报错原因分析 1. Spring 存在涉及 Bean 没有被添加 Spring Boot 测试中&#xff0c;默认会加…...

mysql、postgresql、oceanbase调优

一、mysql 1、my.cnf [mysqld_safe] log-error=/data/mysql/log/mysql.log pid-file=/data/mysql/run/mysqld.pid[client] socket=/data/mysql/run/mysql.sock default-character-set=utf8[mysqld] basedir=/usr/local/mysql tmpdir=/data/mysql/tmp datadir=/data/mysql/dat…...

MySQL 数据库事务实践

引言 在现代应用程序开发中&#xff0c;确保数据库操作的完整性和一致性至关重要。MySQL 提供了强大的事务管理功能&#xff0c;允许开发者以原子性、一致性、隔离性和持久性&#xff08;ACID&#xff09;的方式处理数据。本文将通过详细的解释和实际示例&#xff0c;带你深入…...

VScode、Windsurf、Cursor 中 R 语言相关快捷键设置

前言 在生物信息学数据分析中&#xff0c;R语言是一个不可或缺的工具。为了提高R语言编程效率&#xff0c;合理设置快捷键显得尤为重要。本文介绍在VSCode Windsurf Cursor 中一些实用的R语言快捷键设置&#xff0c;让非 Rstudio 的 IDE 用起来得心应手&#x1f611; 操作种…...

tcpdump编译

https://github.com/westes/flex/releases/download/v2.6.4/flex-2.6.4.tar.gz tar -zxvf flex-2.6.4.tar.gz ./configure CFLAGS-D_GNU_SOURCE make sudo make installwget http://ftp.gnu.org/gnu/bison/bison-3.2.1.tar.gz ./configure make sudo make install以上两个库是…...

Linux下禁止root远程登录访问

开始讲故事 Long long ago&#xff0c; Linux远程访问方式有telnet、ssh两种协议&#xff1b;有人可能还会说vnc和rdp协议方式&#xff0c;后面这两种主要是可视化桌面场景下的&#xff0c;并非主流。 时过境迁&#xff0c;telnet因安全性低逐渐被禁用淘汰&#xff0c;最后就…...

算法刷题Day16: BM41 输出二叉树的右视图

题目链接 描述 思路&#xff1a; 递归构造二叉树在Day15有讲到。复习一下&#xff0c;就是使用递归构建左右子树。将中序和前序一分为二。 接下来是找出每一层的最右边的节点&#xff0c;可以利用队列层次遍历。 利用队列长度记录当前层有多少个节点&#xff0c;每次从队列里…...

登录授权的实现:json web token + redis + springboot

文章目录 引言I token实现思路传统JWT TOKEN认证方式改进的JWT TOKEN认证方式redis设计II java代码实现登录接口退出登录接口登录之后接口(token解析和校验)III 常见问题400引言 应用场景: 登录认证 I token实现思路 传统JWT TOKEN认证方式 RESTful API TOKEN认证方式:…...

房地产做网站怎样吸引客户/个人免费自助建站网站

indexDB 是一种低级api &#xff0c;用于客户端存储大量结构化数据。该api使用索引来实现对该数据的高性能搜索。为应用提供离线版本 indexdb 特点 键值存储。 IndexedDB 内部采用对象仓库&#xff08;object store&#xff09;存放数据。所有类型的数据都可以直接存入&#…...

国外网站建设/企业网站推广的方法

前两天写了一篇文章&#xff0c;介绍LENGTH等一系列的常规函数一样可以处理LOB类型&#xff0c;有人在BLOG回复中提到&#xff0c;使用LENGTH的效率要比DBMS_LOB.GETLENGTH低&#xff0c;这里进行简单的测试。建立一个测试表&#xff1a;SQL> CREATE TABLE T_LOB (ID NUMBER…...

沙井做网站/百度引流推广怎么收费

ML策略&#xff1f; 我们从一个启发性的例子开始讲&#xff0c;假设你正在调试你的猫分类器&#xff0c;经过一段时间的调整&#xff0c;你的系统达到了90%准确率&#xff0c;但对你的应用程序来说还不够好&#xff0c;这时候&#xff0c;你可能有很多想法去改善你的系统&…...

龙湾做网站/通过百度指数不能判断出

难点 1.获取文件夹的所有文件名称 2.换上一张或下一张图片的时候会产生一个问题System.OutOfMemoryException:“内存不足。” 解决方案&#xff1a; 获取文件夹名称&#xff1a; string[] path Directory.GetFiles("C:\Users\H0772690\Pictures");//获取文件夹文件…...

springboot做网站/河南纯手工seo

在“区块链应用”持续升温的今天&#xff0c;曾一度被人们认为“风口不在”的直播行业&#xff0c;多家直播巨头公司依旧为下一步直播行业的发展发声。陌陌直播总经理贾维先生认为&#xff1a;“之前外界&#xff0c;包括媒体都说‘直播风口不再’&#xff0c;认为直播行业见顶…...

香港wordpress空间/营销型网站模板

原创文章&#xff0c;请尊重作者辛勤劳动。 运行环境&#xff1a; l 虚拟机模仿四台CentOS6.3服务器 l 主数据库master1 &#xff1a;192.168.88.21 l 从数据库slave1 &#xff1a;192.168.88.22 l 从数据库slave2 &#xff1a;192.168.88.23 l 从数据库slave3 &#xff1…...