向量加权平均算法附matlab代码

news2024/10/6 4:05:53

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法  神经网络预测 雷达通信  无线传感器

信号处理 图像处理 路径规划 元胞自动机 无人机  电力系统

⛄ 内容介绍

本研究提出了一种新颖的加权平均 F 向量优化器(INFO) ,用于不同问题的优化。INFO 是一种改进的加权平均方法,其中加权平均思想被用于实体结构和更新向量的位置使用三个核心程序: 更新规则,向量组合和局部搜索。更新规则阶段基于均值法和收敛加速度生成新的向量。该向量组合阶段将获得的向量与更新规则相结合,得到一个有希望的解。改进了 INFO 中的更新规则和向量组合步骤,提高了勘探开发能力。此外,局部搜索阶段有助于该算法避免低精度解,提高开发和收敛性。利用48个数学试验函数和5个约束工程试验案例,包括10个油藏系统和4个油藏系统的优化设计,对 INFO 的性能进行了评价。根据文献资料,结果表明,INFO 方法在勘探和开发方面优于其他基本方法和先进方法。在工程问题的情况下,结果表明,INFO 可以收敛到全局最优解的0.99% 。因此,INFO 算法是优化问题最优化设计的一个有前途的工具,这是由于该算法在约束情况下的优化效率相当高。

⛄ 部分代码

%---------------------------------------------------------------------------------------------------------------------------

% weIghted meaN oF vectOrs (INFO)

clear 

close all

clc

nP=30;          % Number of Population

Func_name='F16'; % Name of the test function, range from F1-F23

MaxIt=500;      % Maximum number of iterations

% Load details of the selected benchmark function

% [lb,ub,dim,fobj]=BenchmarkFunctions(Func_name);

[lb,ub,dim,fobj]=Get_Functions_details(Func_name);

[Best_fitness,BestPositions,Convergence_curve] = INFO(nP,MaxIt,lb,ub,dim,fobj);

%% Draw objective space

figure('Position',[290   206   648   287])

%Draw the search space

subplot(1,2,1);

func_plot(Func_name);

title('Test function')

xlabel('x_1');

ylabel('x_2');

zlabel([Func_name,'( x_1 , x_2 )'])

grid off

shading interp;

light;

lighting phong;

shading interp;

%Draw the convergence curve

subplot(1,2,2);

hold on

semilogy(Convergence_curve,'Color','r','LineWidth',4);

title('Convergence curve')

xlabel('Iteration');

ylabel('Best fitness obtained so far');

axis tight

grid off

box on

legend('INFO')​

⛄ 运行结果

⛄ 参考文献

[1] Iman Ahmadianfar, Ali Asghar Heidari, Saeed Noshadian. INFO: An efficient optimization algorithm based on weighted mean of vectors[J]. Expert Systems With Applications, 2022, 195: 116516.

⛄ Matlab代码关注

❤️部分理论引用网络文献,若有侵权联系博主删除

❤️ 关注我领取海量matlab电子书和数学建模资料

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

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

相关文章

【C++学习第八讲】简单变量(二)

目录:简单变量(二)一、无符号类型二、选择整型类型三、 char类型:字符和小整数一、无符号类型 前面介绍的4种整型都有一种不能存储负数值的无符号变体,其优点是可以增大变量能够存储的最大值。 例如,如果…

软件测试---

一 : 主要内容 二 : 什么是软件测试 在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程.上面这是官话 . 在我们日常生活中 , 就有许多测试的行为 , 比如地铁站的金属检测仪 , 用于检测旅客…

深度学习——损失函数推导过程(三个方面诠释损失函数的由来意义)

三个维度诠释损失函数 我们在学习机器学习的过程中,通常利用损失函数来衡量模型所做出的预测离真实值之间的偏离程度。 损失函数大致分为3类方法 最小二乘法极大似然估计法交叉熵 1.最小二乘法 这个方法是最显而易懂的,假设x是真实值,y是…

【PyTorch】Neural Network 神经网络

文章目录四、Neural Network 神经网络1、Containers - Module2、Convolution Layers - functional.conv2d2.1 stride2.2 padding3、Convolution Layers - Conv2d3.1 in_channels out_channels4、Pooling layers - MaxPool2d4.1 ceil_mode4.2 TensorBoard5、Non-linear Activati…

Eclipse启动SpringBoot无法读取application.properties或者application.yml文件内容

原因 eclipse配置源代码excludes过滤掉了application.properties或application.yml造成的 解决 2.1 右键项目,选Build Path --> Configure Build Path 2.2 找到 Source --> resources --> Excluded,点击Edit 2.3 点击Edit 2.4 将**改成Non…

【Java八股文总结】之多线程

文章目录Java多线程一、线程1、什么是线程?什么是进程?二者的区别1、给线程起别名的3种方式2、this关键字3、守护线程和用户线程4、并发和并行的区别?5、线程间通信的方式2、synchronized关键字补充:snchronized底层实现原理3、vo…

如何用FMEA方法排除架构隐患

FMEA介绍 定义 FMEA(Failure mode and effects analysis,故障模式与影响分析)又称为失效模式与后果分析、失效模式与效应分析、故障模式与后果分析等,本文采用“故障模式与影响分析” 历史 FMEA 最早是在美国军方开始应用的&a…

2022-11-20-使用BeatuifulSoup进行页面内容的获取

一、什么是DOM树 DOM树是一种结构,树是由DOM元素和属性节点组成的,DOM的本质是把html结构化成js可识别的树模型,有了树模型,就有了层级结构,层级结构是指的是元素和元素之间的关系父子、兄弟。 实例: 标题…

Java语法之多态

上次给大家分享了Java的继承,今天小编给大家分享面向对象三大特性的第三大特性,也就是多态,fighting~~ 目录 🎈一. 多态 🎈1.1多态的概念 🎈1.2多态的实现条件 🎈1.3向上转型和向下转型 &a…

HDFS 的 shell操作

文章目录前言一、基本语法二、创建目录三、上传moveFromLocal-copyFromLocal-put-appendToFile四、下载-copyToLocal-get五、HDFS直接操作-ls-cat-chgrp、-chmod、-chown-mkdir-cp-mv-tail-rmrm -r-du-setrep前言 HDFS的shell操作很多跟linux的shell语法是比较相近&#xff0c…

Python学习基础笔记八——字典

字典: 1)字典中的元素是通过键来存储的,而不是通过偏移来存取的。字典是唯一内置的映射类型(键映射到值的对象) 2)是无序集合; 3)字典是作为散列表(支持快速检索的数据…

html网页设计期末大作业_网页设计平时作业(诗词网页 4页)

⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材,DIVCSS 布局制作,HTMLCSS网页设计期末课程大作业 | 茶文化网站 | 中华传统文化题材 | 京剧文化水墨风书画 | 中国民间年画文化艺术网站 | 等网站的设计与制作 | HTML期末大学生网页设计作业,…

39-Docker-部署Jenkins

部署Jenkins前言部署Jenkins1. 下载镜像2. 创建挂载目录3. 创建并启动Jenkins容器使用Jenkins1. 访问Jenkins2. 输入密码3. 配置Jenkins前言 本篇来学习使用Jenkins镜像部署Jenkins 部署Jenkins 1. 下载镜像 docker pull jenkins/jenkins2. 创建挂载目录 # 创建挂载目录 m…

Oracle PrimaveraUnifier成本管理器(Cost Manager)简要介绍

目录 一:标准成本管理器(Standad Cost Manager) 二:通用成本管理器(General Cost Manager) 成本管理器(Cost Manager)是Unifier管理和聚焦汇总成本的主要组成部分,财务最关系的Cost Sheet 成本表将通过 成本管理器制定模板 在Oracle Pirma…

第三章:高精度算法(加、减、乘、除)

高精度算法高精度的整体思路:一、加法1、思路:2、模板:(1)C版:(2)C语言版:二、减法1、思路:2、模板:CC三、乘法1、思路:2、模板&#…

CMake中return的使用

CMake中的return命令用于从文件、目录或函数返回&#xff0c;其格式如下&#xff1a; return([PROPAGATE <var-name>...]) 当在包含文件中(in an included file)遇到此命令时(通过include或find_package命令)&#xff0c;它会导致当前文件的处理停止并将控制权返回给包含…

CTFHub | Cookie注入

0x00 前言 CTFHub 专注网络安全、信息安全、白帽子技术的在线学习&#xff0c;实训平台。提供优质的赛事及学习服务&#xff0c;拥有完善的题目环境及配套 writeup &#xff0c;降低 CTF 学习入门门槛&#xff0c;快速帮助选手成长&#xff0c;跟随主流比赛潮流。 0x01 题目描述…

Linux C/C++ 学习笔记(五):Mysql C/C++编程 创建 插入 读取 删除 存储过程

本文参考Linux C/C 开发&#xff08;学习笔记七&#xff09;&#xff1a;Mysql数据库C/C编程实现 插入/读取/删除_菊头蝙蝠的博客-CSDN博客 一、数据库建模与建库建表 在设计数据库时&#xff0c;对现实世界进行分析、抽象、并从中找出内在联系&#xff0c;进而确定数据库的结…

计算机视觉之迁移学习中的微调(fine tuning)

现在的数据集越来越大&#xff0c;都是大模型的训练&#xff0c;参数都早已超过亿级&#xff0c;面对如此大的训练集&#xff0c;绝大部分用户的硬件配置达不到&#xff0c;那有没有一种方法让这些训练好的大型数据集的参数&#xff0c;迁移到自己的一个目标训练数据集当中呢&a…

javaweb Ajax AXios异步框架 JSON 案例

AJAX概念&#xff1a;AJAX(Asynchronous JavaScript And XML)&#xff1a;异步的 JavaScript 和 XML AJAX作用&#xff1a; 与服务器进行数据交换&#xff1a;通过AJAX可以给服务器发送请求&#xff0c;并获取服务器响应的数据 使用了AJAX和服务器进行通信&#xff0c;就可以…