【数学建模学习(10):遗传算法】

news2024/11/23 13:22:57

遗传算法简介
• 遗传算法(Genetic Algorithms)是基于生物进化理论的原理发展起来的一种广为
应用的、高效的随机搜索与优化的方法。其主要特点是群体搜索策略和群体中个体之
间的信息交换,搜索不依赖于梯度信息。它是20世纪70年代初期由美国密执根
(Michigan)大学的霍兰(Holland)教授发展起来的。迄今为止,遗传算法是进
化算法中最广为人知的算法。
• 遗传算法主要在复杂优化问题求解和工业工程领域应用,取得了一些令人信服的成果,
所以引起了很多人的关注。遗传算法成功的应用包括:作业调度与排序、可靠性设计、
车辆路径选择与调度、成组技术、设备布置与分配、交通问题,等等。
遗传算法的特点
• 遗传算法的处理对象不是参数本身,而是对参数集进行了编码的个体。此操作使得遗传算法可以直接对结构对象
进行操作。
• 许多传统搜索算法都是单点搜索算法,容易陷入局部的最优解。遗传算法同时处理群体中的多个个体,即对搜索
空间中的多个解进行评估,减少了陷入局部最优解的风险,同时算法本身易于实现并行化。
• 遗传算法基本上不用搜索空间的知识或其他辅助信息,而仅用适应度函数值来评估个体,在此基础上进行遗传操
作。适应度函数不仅不受连续可微的限制,而且其定义域可以任意设定。这一特点使得遗传算法的应用范围大大
扩展了。
• 遗传算法不是采用确定性规则,而是采用概率的变迁规则来指导搜索的方向。
• 具有自组织、自适应和自学习性。遗传算法利用进化过程获得的信息自行组织搜索,适应度大的个体具有较高的
生存概率,并能获得更适应环境的基因结构

遗传算法中的基本概念
群体(population):又称种群、染色体群,是个体(individual)的集合,代表问题的解空间子集。
串(string)及串空间:串是个体的表达形式,对应着遗传学中的染色体,对应实际问题的一个解。
群体规模(population size):染色体群中个体的数目称为群体的大小或群体规模。
基因(gene):是指染色体的一个片段,可以是一个数值、一组数或一串字符。
交换(crossover):指在一定条件下两条染色体上的一个或几个基因相互交换位置。
交换概率:判断是否满足交换条件的一个小于1的阈值。
变异(mutation):指在一定条件下随机改变一条染色体上的一个或几个基因值。
变异概率:判断是否满足变异条件的一个小于1的阈值。
后代:染色体经过交换或变异后形成的新的个体。
适应度(fittness):用来度量种群中个体优劣(符合条件的程度)的指标值,它通常表现为数值形式。
选择(selection):根据染色体对应的适应值和问题的要求,筛选种群中的染色体,染色体的适应度越高,保存下来的概率越大,反之则越小,甚至被淘汰。
遗传算法终止规则
给定一个最大的遗传代数MAXGEN,算法迭代在达到MAXGEN时停止。
当进化中两代最优个体小于要求的偏差x时,算法终止。
所有个体或者指定比例以上个体趋同,此时停止计算。
达到最大计算时间限制。
相关函数的语法
在这里插入图片描述工具箱实现:

%plotobjective(@shufcn,[-2,2;-2,2]);
%目标函数
fun = @lincontest6;
%需要优化的函数变量的个数
number = 2;
%不等式约束
A = [1 1;-1 2;2 1];%线性不等式的约束条件
b = [2;2;3];%线性不等式的约束条件
%等式约束
Aeq = [];%系数
beq = [];%边界值
%边界约束
lb = zeros(2,1);%下边界
ub = [];%上边界
%非线性约束
%nonlcon
% % 定义约束函数
% function [c, ceq] = nonlcon(x)
%     c = [-(x(1) + x(2) - 1)]; % 不等式约束 x1 + x2 ≥ 1
%     ceq = []; % 没有等式约束,设为空
% end
[x,fval,exitflag,output] = ga(@lincontest6,2,A,b,Aeq,beq,lb,ub);
disp("最优的参数");
disp(x)
disp("最优值");
disp(fval)
disp("显示遗传代数");
disp(output.generations)
disp("显示调用目标函数的次数");
disp(output.funccount)

效果
Optimization terminated: average change in the fitness value less than options.FunctionTolerance.
最有的参数
0.6670 1.3340

Optimization terminated: maximum number of generations exceeded.
最优的参数
0.6670 1.3340

最优值
-8.2258

显示遗传代数
200

显示调用目标函数的次数
9453

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

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

相关文章

MFC第二十八天 WM_SIZE应用,CFrameWnd类LoadFrame的方法,PreCreateWindow窗口预处理,Frame-view窗口视图

文章目录 WM_SIZE应用通过WM_SIZE消息实现窗口布局管理通过控件属性实现窗口布局管理 CFrameWnd类CFrameWnd类简介OnCreate和OnCreateClient的方法注册时的要素与窗口设置PreCreateWindow创建窗口的预处理函数 附录预处理函数的结构体CFrameWnd::LoadFrame与CreateFrame WM_SIZ…

K8S系列文章之 Traefik快速入门

traefik 与 nginx 一样,是一款优秀的反向代理工具,或者叫 Edge Router。至于使用它的原因则基于以下几点 无须重启即可更新配置自动的服务发现与负载均衡与 docker 的完美集成,基于 container label 的配置漂亮的 dashboard 界面metrics 的支…

周末在家值班,解决几个月前遗忘的Bug

问题: 周末被迫在家值班,无聊之际打开尘封已久的Bug清单,发现有Bug拖了几个月还没解决… 场景是这样子的,有个功能是拿Redis缓存热点数据进行展示,暂且称它为功能A,有个另外的功能B,它会去更新缓…

(文章复现)建筑集成光储系统规划运行综合优化方法matlab代码

参考文献: [1]陈柯蒙,肖曦,田培根等.一种建筑集成光储系统规划运行综合优化方法[J].中国电机工程学报,2023,43(13):5001-5012. 1.基本原理 本文建立的双层耦合模型内、外层分别对应求解容量配置与能量调度问题。外层模型设置光伏与储能容量备选集并将容量配置组合…

【基础类】—原型链系统性知识

一、创建对象有几种方法 字面量创建对象 1-1. 什么是字面量 字面量就是所见即所,指的是常量;用来为变量赋值时的常数量 代码例子:123;‘ABC’, {name: ‘张三’}, undefined , true 生活例子:门店的招牌&a…

Docker安装Mysql、Redis、nginx、nacos等环境

相关系列文章: 1、DockerHarbor私有仓库快速搭建 2、DockerJenkinsHarbor 1、服务器 Ip部署内容说明192.168.88.7Docker、Mysql、redis、nacosnode1192.168.88.8Docker、Mysql、redis、nacosnode2192.168.88.9Docker、redis、nacos、nginxnode3 2、安装PXC8.0 Mys…

【已解决】Java 中使用 ES 高级客户端库 RestHighLevelClient 清理百万级规模历史数据

🎉工作中遇到这样一个需求场景:由于ES数据库中历史数据过多,占用太多的磁盘空间,需要定期地进行清理,在一定程度上可以释放磁盘空间,减轻磁盘空间压力。 🎈在经过调研之后发现,某服务…

AI一键生成短视频

AI一键生成推文短视频 阅读时长:10分钟 本文内容: 结合开源AI,一键生成短视频发布到常见的某音,某手平台,狠狠赚一笔 前置知识: 1.基本的 python 编程知识 2.chatGPT 使用过 3.stable diffution 使用过 成果…

一键开启ChatGPT“危险发言”

‍ ‍ 大数据文摘授权转载自学术头条 作者:Hazel Yan 编辑:佩奇 随着大模型技术的普及,AI 聊天机器人已成为社交娱乐、客户服务和教育辅助的常见工具之一。 然而,不安全的 AI 聊天机器人可能会被部分人用于传播虚假信息、操纵舆…

冠达管理:稳增长政策密集加码 顺周期板块有望持续表现

上星期A股商场回暖显着,首要宽基指数大都震荡收涨;日均成交额上升至约9600亿元;北向资金延续净买入,周净买入A股124.7亿元。职业层面,方针预期催化下,顺周期方向的金融、房地产等职业领涨。 机构以为&#…

方法区内存溢出及常量池

22 方法区-定义 是所有线程共享的一块区域。 存储了和类结构相关信息。运行时常量池, 方法区在虚拟机启动时被创建,逻辑上是堆的组成部分。方法区内存不足,也会导致oom异常。 是一个概念上的东西, 1.6使用永久代作为方法区&#…

Mybatis引出的一系列问题-spring多数据源配置

在日常开发中我们都是以单个数据库进行开发,在小型项目中是完全能够满足需求的。但是,当我们牵扯到像淘宝、京东这样的大型项目的时候,单个数据库就难以承受用户的CRUD操作。那么此时,我们就需要使用多个数据源进行读写分离的操作…

在Linux服务器上搭建Git

环境 服务器:Ubuntu 客户端:Win11 1、在服务器上安装Git(服务器中处理) 在服务器上执行git --version 如果出现: 则,已经安装Git,跳过此步骤。 如果没有,则: 执行…

前端个人年度工作述职报告(二十篇)

前端个人年度工作述职报告篇1 尊敬的各位领导、各位同仁: 大家好!按照20__年度我公司就职人员工作评估的安排和要求,我认真剖析、总结了自己的工作情况,现将本人工作开展情况向各位领导、同仁做以汇报,有不妥之处,希…

ElasticSearch详细操作

ElasticSearch搜索引擎详细操作以及概念 文章目录 ElasticSearch搜索引擎详细操作以及概念 1、_cat节点操作1.1、GET/_cat/nodes:查看所有节点1.2、GET/_cat/health:查看es健康状况1.3_、_GET/_cat/master:查看主节点1.4、GET/_cat/indices&a…

内存快照:宕机后,Redis如何实现快速恢复?RDB

AOF的回顾 回顾Redis 的AOF的持久化机制。 Redis 避免数据丢失的 AOF 方法。这个方法的好处,是每次执行只需要记录操作命令,需要持久化的数据量不大。一般而言,只要你采用的不是 always 的持久化策略,就不会对性能造成太大影响。 …

OpenAI因担心隐私问题而阻止GPT-4图像功能的发展

据《纽约时报》报道,GPT-4的图像能力可以识别某些个人。 OpenAI一直在测试其支持图像识别的多模态GPT-4版本,以便计划中的广泛发布。然而,据周二《纽约时报》报道,出于对其可能识别特定个体的担忧,公众访问被限制了。…

(2023国赛必看)零基础挑战一周拿下数学建模国奖

1、 数学建模国赛介绍 1.1 数学建模国赛是什么?如何评奖 全国大学生数学建模竞赛是全国高校规模最大的课外科技活动之一。该竞赛每年9月(一般在上旬某个周末的星期五至下周星期一共3天,72小时)举行,竞赛面向全国大专院…

使用vscode远程登录以及本地使用的配置(插件推荐)

1、远程登陆ssh 1.1打开vscode插件商店,安装remote-ssh插件 远程ssh添加第三方插件:vscode下链接远程服务器安装插件失败、速度慢等解决方法_vscode远程安装不上扩展_Emphatic的博客-CSDN博客 转到定义,选中代码->鼠标右键->转到定义…

Linux:在使用UEFI固件的计算机上内核是如何被启动的

前言 启动计算机通常不是一件难事:按下电源键,稍等片刻,你就能看到一个登录界面,再输入正确的密码,就可以开启一天的网上冲浪之旅了。 但偶尔这件事没那么顺利,有时候迎接你的不是熟悉的登录界面&#xf…