本框架提供了有关粒子群算法(PSO)和遗传算法(GA)的完整实现,以及一套关于改进、应用、测试、结果输出的完整框架。
本框架对粒子群算法与遗传算法进行逻辑解耦,对其中的改进点予以封装,进行模块化,使用者可以采取自己对该模块的改进替换默认实现组成新的改进算法与已有算法进行对比试验。
试验结果基于Excel文件输出,并可通过设定不同的迭代结束方式选择试验数据的输出方式,包括:1.输出随迭代次数变化的平均达优率数据(设定终止条件区间大于0)。
2.输出随迭代次数变化的平均最优值数据(设定终止条件区间等于0)。
本框架了包含了常用基准函数的实现以及遗传算法与粒子群算法对其的求解方案实现和对比,如TSP,01背包,Banana函数,Griewank函数等。
并提供大量工具方法,如KMeans,随机序列生成与无效序列修补方法等等。
对遗传算法的二进制编码,整数编码,实数编码,整数序列编码(用于求解TSP等),粒子群算法的各种拓扑结构,以及两种算法的参数各种更新方式均有实现,并提供接口供使用者实现新的改进方式并整合入框架进行试验。
其中还包括对PSO进行离散化的支持接口,和自己的设计一种离散PSO方法及其用以求解01背包问题的实现样例。
欢迎参考并提出宝贵意见,特别欢迎愿意协同更新修补代码的朋友(邮箱starffly@foxmail.com)。
代码已作为lakeast项目托管在GoogleCode:http://code.google.com/p/lakeasthttp://code.google.com/p/lakeast/downloads/list某些类的功能说明:org.lakest.common中:BoundaryType定义了一个枚举,表示变量超出约束范围时为恢复到约束范围所采用的处理方式,分别是NONE(不处理),WRAP(加减若干整数个区间长度),BOUNCE(超出部分向区间内部折叠),STICK(取超出方向的最大限定值)。
Constraint定义了一个代表变量约束范围的类。
Functions定义了一系列基准函数的具体实现以供其他类统一调用。
InitializeException定义了一个代表程序初始化出现错误的异常类。
Randoms类的各个静态方法用以产生各种类型的随机数以及随机序列的快速产生。
Range类的实现了用以判断变量是否超出约束范围以及将超出约束范围的变量根据一定原则修补到约束范围的方法。
ToStringBuffer是一个将数组转换为其字符串表示的类。
org.lakeast.ga.skeleton中:AbstractChromosome定义了染色体的公共方法。
AbstractDomain是定义问题域有关的计算与参数的抽象类。
AbstractFactorGenerator定义产生交叉概率和变异概率的共同方法。
BinaryChromosome是采用二进制编码的染色体的具体实现类。
ConstantFactorGenerator是一个把交叉概率和变异概率定义为常量的参数产生器。
ConstraintSet用于在计算过程中保存和获取应用问题的各个维度的约束。
Domain是遗传算法求解中所有问题域必须实现的接口。
EncodingType是一个表明染色体编码类型的枚举,包括BINARY(二进制),REAL(实数),INTEGER(整型)。
Factor是交叉概率和变异概率的封装。
IFactorGenerator参数产生器的公共接口。
Population定义了染色体种群的行为,包括种群的迭代,轮盘赌选择和交叉以及最优个体的保存。
org.lakeast.ga.chromosome中:BinaryChromosome二进制编码染色体实现。
IntegerChromosome整数编码染色体实现。
RealChromosome实数编码染色体实现。
SequenceIntegerChromosome整数序列染色体实现。
org.lakeast.pso.skeleton中:AbstractDomain提供一个接口,将粒子的位置向量解释到离散空间,同时不干扰粒子的更新方式。
AbstractF
2024/10/11 21:51:28 1.42MB 遗传算法 粒子群算法 GA PSO
1
1.打开"bilibili_barrage_spiderv2.0.exe"2.按要求操作3.等待完毕提示4.可在input文件夹中查看弹幕以及词云
2024/10/11 20:45:05 76.75MB Spider
1
GDI+SDK参考(翻译版本)序言 4目标 4适用范围 4适用读者 4运行环境 4文档组织 4相关主题 4GDI+的安全考虑 6检验构造函数调用成功与否 6分配缓冲区 6错误校验 8线程同步 9相关主题 10关于GDI+ 11GDI+介绍 11GDI+概览 11GDI+的三个组成部分 11基于类的接口架构 12GDI+提供了哪些新东西? 12新特征 12编程模式的改变 15线条、曲线和图形 19矢量图概览 19钢笔、线条和矩形 20椭圆和弧 22多边形 22基数样条 23贝塞尔样条 24路径 25画刷和填充图形 27开放与闭合曲线 29区域 30裁剪 31路径平直化 32线条和曲线的抗锯齿功能 32图象、位图和图元文件 33位图类型 34图元文件 37绘制、定位和复制图片 39裁剪和缩放图象 40坐标系统和转换 42坐标系统类型 42以矩阵来表示转换 44全局和局部转换 48图形容器 51使用GDI+ 56使用入门 56绘制线条 56绘制字符串 58使用钢笔绘制线条和形状 59使用钢笔绘制线条和矩形 59设置钢笔的宽度和对齐方式 60绘制具有线帽的线条 61联接线条 62绘制自定义虚线 62绘制用纹理填充的线条 63使用画笔填充形状 63用纯色填充形状 64用阴影图案填充形状 64用图像纹理填充形状 64在形状中平铺图像 65用渐变色填充形状 68使用图像、位图和图元文件 68加载和显示位图 68加载和显示图元文件 69记录图元文件 69剪裁和缩放图像 71旋转、反射和扭曲图像 72缩放时使用插值模式控制图像质量 73创建缩略图像 75采用高速缓存位图来提高性能 76通过避免自动缩放改善性能 76读取图像元数据 77使用图像编码器和解码器 83列出已安装的编码器 83列出已安装的解码器 84获取解码器的类标识符 86获取编码器的参数列表 88将BMP图像转换为PNG图像 100设定JPEG的压缩等级 101对JPEG图像进行无损变换 102创建和保存多帧图像 105从多帧图像中复制单帧 107Alpha混合线条和填充 109绘制不透明和半透明的线条 109用不透明和半透明的画笔绘制 110使用复合模式控制Alpha混合 111使用颜色矩阵设置图像中的Alpha值 112设置单个象素的alpha值 114使用字体和文本 115构造字体系列和字体 115绘制文本 116格式化文本 117枚举已安装的字体 120创建专用的字体集合 122获取字体规格 126对文本使用消除锯齿效果 130构造并绘制曲线 131绘制基数样条曲线 131绘制贝塞尔样条 133用渐变画刷填充形状 134创建线性渐变 134创建路径渐变 137将Gamma校正应用于渐变 144构造并绘制路径 145使用线条、曲线和形状创建图形 145填充开放式图形 147使用图形容器 147管理Graphics对象的状态 148使用嵌套的Graphics容器 151变换 154使用世界变换 154为什么变换顺序非常重要 155使用区域 156对区域使用点击检测 156对区域使用剪辑 157对图像重新着色 158使用颜色矩阵对单色进行变换 158转换图像颜色 160缩放颜色 161旋转颜色 164剪取颜色 166使用颜色重映射表 168打印 169将GDI+输出至打印机 169显示一个打印对话框 172通过提供打印机句柄优化打印 173附录:GDI+参考 176
2024/10/10 11:31:03 1.75MB GDI+ GDI+中文 GDI+帮助
1
本模块实现高低电平噪声滤波功能,即将高电平和低电平持续时间低于阈值的脉冲都滤除。
程序首先滤除高电平噪声,而后滤除低电平噪声。
输出脉冲与输入脉冲间有两个阈值长短的时间延迟。
程序中时钟为1MHz,阈值FilterThreshold为100us,可根据实际情况进行设置。
程序中高低电平的阈值取的一样,可分别设置。
敬请注意,由于时延影响,若FilterThreshold为100,则低于101的都被滤除,大于等于102的才能通过。
2024/10/8 17:27:38 277KB Verilog 滤波 脉宽鉴别
1
使用python爬取某租房网站信息,然后利用高德API进行位置显示、路径规划。
本实验参考实验楼实验。
2024/10/7 8:25:43 7.65MB python scrawl
1
功能简述:提供3种饮料;
硬币仅支持50分或100分1枚,其他硬币值不接受;
投入50分硬币,选择的饮料正好有库存,提示“请取饮料”,否则提示“目前该饮料已经售完。
”;
若投入100分硬币,在上一种情况的基础上,还需检查是否机内存有50分硬币,如有则提示“请取饮料,并取回找钱。
”,否则提示“对不起,目前不能找钱,请投5角硬币。
”;
购买成功,需将该饮料库存减少一。
2024/10/6 14:06:23 80KB Java 售货机
1
随机并行梯度下降算法(SPGD)是一种基于直接性能指标优化的相位控制方法,在自适应光学中有较好的适用性。
该算法主要包含增益系数和随机扰动幅度两个可变参数,其取值对算法收敛性有很大的影响。
对双边SPGD算法实现收敛时参数的取值要求进行研究,结合算法原理分析了算法参数的取值范围,并通过大量仿真实验找出所有使双边SPGD算法收敛的增益系数和随机扰动幅度值;得到随机扰动幅度的取值下限,理论和仿真分析了下限存在的原因及取值;在相干合成中存在相位噪声,研究了不同相位校正器参数的情况下可使算法收敛的参数的取值范围。
1
USB硬件模拟键鼠,使用系统自带键鼠驱动【工具说明】c#.net3.5版本需要Win7系统或者XP安装.net3.5简易取图工具,用于获取游戏窗体某个位置某个大小的图片,根据指定坐标截取,方便脚本图片对比使用。
因为位置和大小都一样,执行效率高。
文本框输入游戏窗口包含的字符串,下面设置好参数。
点击截取按钮后,激活游戏窗口使位置为最前。
即可成功截取。
2024/10/5 19:49:07 19KB c#截图 c#游戏辅助 c#窗体取图
1
SnipasteXP版是一款非常强大电脑截图工具。
它可以将剪贴板里的文字转换为图片窗口,可以对其进行缩放、旋转、翻转、设为半透明等操作,赶紧试试吧!功能特点强大的截图  自动检测界面元素区域  像素级的鼠标移动控制、截图范围控制  取色器(试试F1,C,F3)  历史记录回放(,/.)  支持多屏  支持高分屏  把图片作为窗口置顶显示  支持将剪贴板中的以下内容转为图片  图像  纯文本  HTML文本  颜色信息  图像文件:PNG,JPG,BMP,ICO,GIF等  图片窗口支持的操作  缩放(鼠标
2024/10/5 4:47:52 9.44MB 截图工具 SnipasteXP
1
HttpHelper爬虫应用类库苏飞万能框架+基础使用方法1.9+2.1源码+DLLNet4.0+Vs2010包含:在webBrowser中取Cookie的方法最简单的Post与Get的写法设置URl格式的问题二次或多次使用Cookie的方式HttpHelper设置Header参考的方法HttpHelper类使用方法HttpHelper获取图片的方式CookieCollection类型的Cookie使用方法HttpHelperV1.9HttpHelperV2.1.1
2024/10/4 20:37:22 203KB C# 爬虫 苏飞 万能框架
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡