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

遗传算法与粒子群算法的Python实现

  • 遗传算法本文应用的是 python geatpy module
  • 粒子群算法本文应用的是 python pyswarm module

遗传算法 

  • 它的不等约束是...<=0
import geatpy as ea
import numpy as np@ea.Problem.single
def evalVars(Vars): x1 = Vars[0]x2 = Vars[1]x3 = Vars[2]x4 = Vars[3]f = (x1 + 2)**2 +\(x2 - 3)**2 +\(x3 + 2)**2 +\x4CV = np.array([ - x2 + x1 ,-0.001 + (x4-3)**2])   return f, CVproblem = ea.Problem(name='test',M=1,  maxormins=[1], Dim=4,                         varTypes=[0, 0, 0, 0],lb=[-5, -5, -5, -5],ub=[ 5,  5,  5,  5],evalVars=evalVars)algorithm = ea.soea_SEGA_templet(problem,ea.Population(Encoding='RI', NIND=20),MAXGEN=500,              logTras=1,              trappedValue=1e-8,   maxTrappedCount=10)     res = ea.optimize(algorithm, seed=1, verbose=True, \drawing=1, outputMsg=True, drawLog=True, \saveFlag=True, dirName='result')
==================================================================================
gen|  eval  |    f_opt    |    f_max    |    f_avg    |    f_min    |    f_std    
----------------------------------------------------------------------------------34|  700   | 1.02093E+01 | 1.02093E+01 | 1.02093E+01 | 1.02093E+01 | 0.00000E+00 35|  720   | 1.02093E+01 | 1.02093E+01 | 1.02093E+01 | 1.02093E+01 | 0.00000E+00 36|  740   | 1.01760E+01 | 2.07075E+01 | 1.15175E+01 | 1.01760E+01 | 3.47351E+00 37|  760   | 1.01760E+01 | 2.07636E+01 | 1.24590E+01 | 1.01760E+01 | 3.94129E+00 38|  780   | 3.07598E+00 | 1.02096E+01 | 9.84393E+00 | 3.07598E+00 | 1.55274E+00 39|  800   | 3.07497E+00 | 1.02093E+01 | 8.79644E+00 | 3.07497E+00 | 2.70962E+00 40|  820   | 3.07497E+00 | 1.01723E+01 | 6.33722E+00 | 3.07497E+00 | 3.20984E+00 41|  840   | 3.05616E+00 | 3.72432E+00 | 3.30975E+00 | 3.05616E+00 | 2.94966E-01 42|  860   | 3.03355E+00 | 3.07598E+00 | 3.07030E+00 | 3.03355E+00 | 1.05715E-02 43|  880   | 3.03355E+00 | 3.07497E+00 | 3.06473E+00 | 3.03355E+00 | 1.05250E-02 44|  900   | 3.03354E+00 | 3.06010E+00 | 3.05215E+00 | 3.03354E+00 | 9.52747E-03 45|  920   | 3.03236E+00 | 3.05616E+00 | 3.04503E+00 | 3.03236E+00 | 1.05466E-02 46|  940   | 3.03236E+00 | 3.05163E+00 | 3.03547E+00 | 3.03236E+00 | 5.48001E-03 47|  960   | 3.03078E+00 | 3.03355E+00 | 3.03308E+00 | 3.03078E+00 | 7.69107E-04 48|  980   | 3.03078E+00 | 3.03354E+00 | 3.03243E+00 | 3.03078E+00 | 8.50674E-04 49|  1000  | 3.03060E+00 | 3.03236E+00 | 3.03177E+00 | 3.03060E+00 | 6.64341E-04 50|  1020  | 3.03060E+00 | 3.03187E+00 | 3.03109E+00 | 3.03060E+00 | 5.18200E-04 51|  1040  | 3.03034E+00 | 3.03080E+00 | 3.03069E+00 | 3.03034E+00 | 1.24733E-04 52|  1060  | 3.02960E+00 | 3.03074E+00 | 3.03050E+00 | 3.02960E+00 | 3.41333E-04 53|  1080  | 3.02931E+00 | 3.03060E+00 | 3.03028E+00 | 3.02931E+00 | 4.18144E-04 54|  1100  | 3.02931E+00 | 3.03056E+00 | 3.02998E+00 | 3.02931E+00 | 4.08041E-04 55|  1120  | 3.02931E+00 | 3.03001E+00 | 3.02960E+00 | 3.02931E+00 | 2.06836E-04 56|  1140  | 3.02910E+00 | 3.02960E+00 | 3.02942E+00 | 3.02910E+00 | 1.40018E-04 57|  1160  | 3.00978E+00 | 3.02951E+00 | 3.02829E+00 | 3.00978E+00 | 4.24883E-03 58|  1180  | 3.00978E+00 | 3.02931E+00 | 3.02719E+00 | 3.00978E+00 | 5.80743E-03 59|  1200  | 3.00978E+00 | 3.02910E+00 | 3.02684E+00 | 3.00978E+00 | 5.71712E-03 60|  1220  | 3.00977E+00 | 3.02876E+00 | 3.02437E+00 | 3.00977E+00 | 7.36375E-03 61|  1240  | 3.00913E+00 | 3.02828E+00 | 3.01725E+00 | 3.00913E+00 | 8.26062E-03 62|  1260  | 3.00913E+00 | 3.01029E+00 | 3.00973E+00 | 3.00913E+00 | 2.63957E-04 
Execution time: 0.03466796875 s
Evaluation number: 1260
The best objective value is: 3.009134825271758
The best variables are: 
-1.9990825653076172	3.0016613006591797	-2.030458450317383	3.0082035064697266

粒子群算法

  • 它的不等约束是...>=0
from pyswarm import pso
import numpy as npdef opt(x):x1 = x[0]x2 = x[1]x3 = x[2]x4 = x[3]return (x1 + 2)**2 +\(x2 - 3)**2 +\(x3 + 2)**2 +\x4def con(x):x1 = x[0]x2 = x[1]x3 = x[2]x4 = x[3]return [ x2 - x1 ,0.001-(x4-3)**2]lb = [-5, -5, -5, -5]
ub = [ 5,  5,  5,  5]xopt, fopt = pso(opt, lb, ub, f_ieqcons=con)
print("xopt:", xopt)
print("fopt:", fopt)
Stopping search: Swarm best objective change less than 1e-08
xopt: [-2.00094176  3.00064191 -1.99431492  2.96837868]
fopt: 2.9684122988614785

相关文章:

遗传算法与粒子群算法的Python实现

遗传算法本文应用的是 python geatpy module粒子群算法本文应用的是 python pyswarm module 遗传算法 它的不等约束是...<0 import geatpy as ea import numpy as npea.Problem.single def evalVars(Vars): x1 Vars[0]x2 Vars[1]x3 Vars[2]x4 Vars[3]f (x1 2)**2 \…...

无涯教程-JavaScript - ASINH函数

描述 ASINH函数返回数字的反双曲正弦值。反双曲正弦是其双曲正弦为number的值,即ASINH(SINH(number))等于number。 语法 ASINH (number)争论 Argument描述Required/OptionalNumberAny real number.Required Notes 如果指定的数字未被识别为数字值,则ASIN返回#VALUE!错误 …...

ActiveMQ面试题(一)

文章目录 前言一、什么是ActiveMQ二、ActiveMQ 服务器宕机怎么办&#xff1f;三、丢消息怎么办四、持节化消息非常慢五、消息的不均匀消费总结 前言 什么是ActiveMQActiveMQ 服务器宕机怎么办&#xff1f;丢消息怎么办持节化消息非常慢消息的不均匀消费 一、什么是ActiveMQ a…...

node:glob语法以及常用的文件查找库glob、fast-glob

背景 前端开发中&#xff0c;我们经常会看到一种配置语法&#xff0c;一般出现在 gitignore里、webpack 配置里、vscode查找文件的时候&#xff0c;如下&#xff1a; ?.js **/*.js dist/**/*.js这种语法其实叫 glob。 glob 历史 glob 来自于 Linux。 1975 年发行的 unix …...

饲料添加剂 微生物 屎肠球菌

声明 本文是学习GB 7300.503-2023 饲料添加剂 第5部分&#xff1a;微生物 屎肠球菌. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本文件规定了饲料添加剂屎肠球菌的技术要求、采样、检验规则、标签、包装、运输、贮存和保质 期&#xff0…...

二叉搜索树经典笔试题【力扣、牛客】

文章目录 1.根据二叉树创建字符串2. 二叉树的层序遍历3.二叉树的层序遍历Ⅱ4.二叉树的最近公共祖先1.法一&#xff1a;定位p、q在左还是右 分类讨论2.法二&#xff1a;利用stack求出p、q路径 求相交值 5.二叉搜索树与双向链表1.法一&#xff1a;递归&#xff1a;递归过程修正指…...

docker系列(1) - docker环境篇

文章目录 1. docker环境1.1 docker安装1.2 阿里云镜像加速器1.2 docker管理工具(portainer)1.3 docker网络1.3.1 网络说明1.3.2 创建指定网关的网络 1. docker环境 1.1 docker安装 #CentOS 6 rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noar…...

web安全漏洞-SQL注入攻击实验

实验目的 学习sql显注的漏洞判断原理掌握sqlmap工具的使用分析SQL注入漏洞的成因 实验工具 sqlmap是用python写的开源的测试框架&#xff0c;支持MySQL&#xff0c;Oracle&#xff0c;PostgreSQL&#xff0c;Microsoft SQL Server&#xff0c;Microsoft Access&#xff0c;I…...

直接插入排序(C++实现)

文章目录 1. 基础概念&#x1f351; 内部排序和外部排序 2. 直接插入排序3. 动图演示4. 代码实现5. 性能分析 无论是日常生活还是很多科学领域当中&#xff0c;排序都是会经常面对的问题&#xff0c;比如按成绩对学校的学生排序&#xff0c;按薪水多少对公司员工排序等。 根据…...

【k8s】Pod 的钩子

Kubernetes&#xff08;K8s&#xff09;中的 Pod 可以使用以下几种勾子&#xff08;钩子&#xff09;来执行在容器生命周期的不同阶段运行的操作&#xff1a; PostStart&#xff08;启动后&#xff09;&#xff1a;该勾子在容器启动之后立即运行。它可以用于在容器内执行一些初…...

MCU软核 3. Xilinx Artix7上运行cortex-m3软核

0. 环境 - win10 vivado 2018.3 keil mdk - jlink - XC7A35TV12 1. 下载资料 https://keilpack.azureedge.net/pack/Keil.V2M-MPS2_DSx_BSP.1.1.0.pack https://gitee.com/whik/cortex_m3_on_xc7a100t 2. vivado 2018 Create Project -> Next -> -> Project n…...

基于SpringbootShiro实现的CAS单点登录

概述 单点登录&#xff08;Single Sign On,SSO&#xff09;是一种登录管理机制&#xff0c;主要用于多系统集成&#xff0c;即在多个系统中&#xff0c;用户只需要到一个中央服务器登录一次即可访问这些系统中的任何一个&#xff0c;无须多次登录。常见的例子就是&#xff0c;…...

SocketTool V4.0 使用说明

TCP/UDP Socket 调 试 工 具 提 供 了 TCP Server,TCP Client,UDP Server,UDP Client,UDP Group 五种 Socket 调试方案。 下面是一份简要的使用流程&#xff1a; TCP 通信测试&#xff1a; 1) 创建 TCP Server 选中左方的 TCP Server, 然后点击 ”创建 ”按钮&#xff0c;软件弹…...

Jenkins结合allure生成测试报告

前言&#xff1a; 我们在做自动化测试的过程中最重要的肯定是报告的输出啦&#xff0c;最近几年allure可以说是最最主流报告展示工具啦。 一、服务端安装allure 在安装Jenkins的机器 安装allure&#xff0c;我们在Jenkins上能跑动前提是在对应服务器上代码能正常运行&#xf…...

【Linux】缓冲区/回车换行

1、缓冲区 C程序默认有输出缓冲区。数据输出时&#xff0c;被及时看到&#xff0c;是立马刷新了&#xff1b;如果没被看到&#xff0c;是被暂存在数据缓冲区中。fflush(stdout); 【强制刷新】\n【行刷新&#xff0c;也是一种刷新方式】 2、回车换行 \n【回车换行】输入完一行内…...

Java手写插入排序和算法案例拓展

1. Java手写插入排序和算法案例拓展 1.1 算法思维导图 #mermaid-svg-jIZ3LAdg1NLcOvaM {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-jIZ3LAdg1NLcOvaM .error-icon{fill:#552222;}#mermaid-svg-jIZ3LAdg1NLcOvaM…...

Python Opencv实践 - 视频文件操作

参考资料&#xff1a; 视频处理VideoCapture类---OpenCV-Python开发指南&#xff08;38&#xff09;_python opencv videocapture_李元静的博客-CSDN博客 OpenCV VideoCapture.get()参数详解 - 简书FOURCC四字符码对照表_4fvcc_Kellybook的博客-CSDN博客 import cv2 as cv im…...

HCS 中的一些概念(二)

一、Service OM 1、首页&#xff08;资源状态&#xff09; 2、服务列表 计算资源&#xff1a;计算资源又分为可用分区&#xff08;AZ&#xff09;、规格和虚拟机组&#xff0c;可在此处创建虚拟机、虚拟机组、主机组和规格 网络资源&#xff1a;网络资源又分为物理网络…...

Scanner类用法(学习笔记)

Scanner类用法&#xff08;学习笔记&#xff0c;后续会补充&#xff09; 1.next&#xff08;&#xff09;用法 package com.yushifu.scanner; import java.util.Scanner;//util java工具包 //Scanner类&#xff08;获取用户的输入&#xff09; Scanner s new Scanner&#…...

idea2021.1.3版本双击启动,没反应

今天打开电脑&#xff0c;点开idea&#xff0c;界面悬在这里&#xff0c;几秒然后就是没了。然后就一直打不开idea了。 然后又是卸载重装&#xff0c;又是删除缓存文件。我把电脑关于idea的文件全都删除了 。重新安装后&#xff08;首次运行倒是可以打开&#xff0c;但是关掉id…...

MC-4/11/01/400 ELAU 软件允许用户完全访问相机设置

MC-4/11/01/400 ELAU 软件允许用户完全访问相机设置 一个完整的Sentinel模具保护解决方案包括一到四台冲击式摄像机、专用红外LED照明和镜头、Sentinel软件以及所有与模压机连接的必要互连组件。摄像机支架基于磁性&#xff0c;可快速、安全、灵活地部署。此外&#xff0c;一个…...

Error contacting service. It is probably not running.问题解决

一 问题描述 Error contacting service. It is probably not running. 查看zookeeper 目录下数据目录下的zookeeper.out 如果你没找到这个目录那么 OK 你的问题就是 zoo.cfg 文件中数据目录设置错误 zookeeper.out下报错 ERROR [main:QuorumPeerMain86] - Invalid config,…...

01_网络编程_传统IO

网络编程 1.什么是网络编程 在网络通信协议下&#xff0c;不同计算机上运行的程序&#xff0c;进行的数据传输。 如果想把一个计算的结果&#xff0c;或者是电脑上的文件通过网络传递给你的朋友&#xff0c;就需要用到网络编程。 在实际生活中&#xff0c;网络通信无处不在…...

vue 检查指定路由是否存在

今天路由跳转报错了 RangeError: Maximum call stack size exceeded 但显然 我的代码只有一个简单的路由跳转 并没有很大的的堆栈数据操作 所以 我就联想到了 会不会是因为路由不存在 我们可以通过 console.log(this.$router.options.routes)输出整个路由对象类看一下 或者…...

自动化办公更简单了:新版python-office,有哪些更新?

#职场经验谈# 大家好&#xff0c;这里是程序员晚枫&#xff0c;小破站/小红薯都叫这个名。 去年4月开源了一个Python自动化办公项目&#xff1a;python-office&#xff0c;GitHub和Gitee都能看到。1行代码实现复杂的自动化办公任务&#xff0c;帮助不懂代码的小白&#xff0c;…...

windows flask服务卡死的问题

windows flask服务卡死的问题 最近的工作中&#xff0c;需要用python写一个flask服务&#xff0c;供C端调用&#xff0c;但是偶尔服务会卡住&#xff0c;只接收数据但不进行处理&#xff0c;不过CtrlC后又可以继续运行。 查看了网上的一些解决方法&#xff0c;但似乎都没有什…...

项目上线部署--》服务器部署流程(一)

目录 &#x1f31f;准备工作 服务器购买 域名购买 域名解析&#xff08;配置 DNS&#xff09; &#x1f31f;服务器环境搭建 配置服务器 安装 CentOS 开发人员相关包 ​编辑 配置免密登陆 &#x1f31f;写在最后 &#x1f31f;准备工作 服务器购买 国内服务器&#x…...

Python:函数调用的实参

相关阅读 Python专栏https://blog.csdn.net/weixin_45791458/category_12403403.html 调用就是附带可能为空的一系列参数来执行一个可调用对象 &#xff08;例如函数&#xff09;&#xff0c;它的语法的BNF范式如下所示&#xff0c;有关BNF范式的规则&#xff0c;可以参考之前…...

174. 地下城游戏 -- 动规

174. 地下城游戏 class CalculateMinimumHP:"""174. 地下城游戏https://leetcode.cn/problems/dungeon-game/"""def solution(self, dungeon: List[List[int]]) -> int:# 我们想计算左上⻆到右下⻆所需的最⼩⽣命值m, n len(dungeon), len(d…...

js实现websocket服务端和客户端

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…...

龙游网站制作/地域名网址查询

关于ABAP中处理字符串的方法&#xff0c;非常详细&#xff0c;学习过程中总结一下分享给大家&#xff0c;&#xff0c;&#xff0c;ABAP/4 提供多个处理类型 C 即字符串 的数据对象的关键字。处理字符串 的方法有&#xff1a;1.拆分字符串split2.连接字符串3.获得字符串长度4.压…...

网站制作乌鲁木齐/营销软件哪个好

如果您解决了有关Neumann随机生成器的任务&#xff0c;您已经知道并不是所有生成伪随机序列的方法都是好的。 特别是&#xff0c;Neumann的方法除了编程练习外&#xff0c;不适合其他任何方法。 这是另一种更普遍的方法&#xff08;已在大多数编程语言和库中实现&#xff09;并…...

400网站建设办公/西地那非能提高硬度吗

或许你有做过&#xff0c;接过美工做好生成的Html的前台网页&#xff0c;开始写程序&#xff0c;你会知道有些简单的数据源绑定已经被美工做好了。如下&#xff1a; View Code <asp:DropDownList ID"DropDownList1"runat"server"><asp:ListItem …...

专业做网站开发/杭州网站提升排名

说了很多技术&#xff0c;大家不要觉得枯燥&#xff0c;有兄弟已经说来点实际的&#xff0c;那我就来点实际得&#xff0c;而且得来点酷得&#xff01;&#xff08;此视频是一个朋友做得&#xff0c;已经征得同意发布&#xff09;请大家看一下如何用iPhone访问你的桌面&#xf…...

建设婚恋网站/北京seo外包 靠谱

这是一个简单的jQuery代码段&#xff0c;每次加载时都会在您的网页上显示随机引用。 这对于在每次加载网页时显示不同的推荐信很有用&#xff0c;每次都会显示一个新的推荐信。 var a Math.random() "" var rand1 a.charAt(5) quotes new Array quotes[1] "…...

网站建站网站设计/网络营销的发展现状如何

0.前言随机访问迭代器: vector、string、dequeSTL的一个革命性的方面就是它的计算复杂性保证 条款01:慎重选择容器类型 c提供的容器:标准STL序列容器&#xff1a;vector、string、deque、list标准STL关联容器&#xff1a;set、multiset、map、multimap非标准STL容器&#xff1a…...