因为求这个工具包资源的人比较多,发邮箱有点麻烦,而且有时候看不到发的不及时,所以索性上传,方便大家下载学习。
里面包含工具包以及简单的例程,在matlab上添加路径后就可以用了。
1
本框架提供了有关粒子群算法(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
不同邮箱服务器之间邮件归档存档,支持pst转eml,支持eml和msg互转,支持主流邮箱服务器邮件导入导出,确实很强大还是免费版
2024/10/11 1:03:25 10.53MB eml pst msg
1
activation.jar和mail
2024/10/8 0:58:50 516KB jar
1
实现了以下要求说明的功能:1.要求使用GUI,采用Swing技术数据存储采用文件系统(可以是文本文件、xml文件、vCard文件或其他自定义格式文件,但不能是Excel文件)。
不使用数据库。
2.通讯录中每个项目包括:(1)基本信息:姓名、手机号码、电子邮箱、生日、所属组、备注、像片。
(2)工作单位:国家、省份、城市、地址、工作单位、所属部门、职位、邮编、电话、传真(3)网络信息:个人主页、即时通信工具及号码、备用邮箱(4)家庭资料:国家、省份、城市、地址、邮编、电话3.通讯录数据的录入功能:输入并存储新的通讯录数据,输入时如果有同名或同电话号码时,应该给出提示。
4.通讯录数据的查询功能:(1)默认列出所有条目。
(2)模糊查询,可以按:姓名、电话号码、手机、姓名的汉语拼音的声母或全拼查询。
支持模糊查询即输入部分数据后,可以查询出符合条件的全部条目。
如:输入“张”,列出所有名字中有“张”的条目;
输入“2645”列出电话中有该4个数字的所有条目;
输入“xl”,列出声母为该2个字母的所有条目(3)指定分组后,列出某分组的所有条目说明:查询结果如果有多个条目,应按照姓名排序,并使用姓或姓的第一个汉语拼音的字母分类。
5.删除和修改功能:查询到一个条目后,可以删除该条目或修改条目内容。
6.通信录内容的导入和导出功能。
要求能够以CSV格式和vCard格式导入和导出通讯录的全部内容。
并能够与主流手机或其他通讯录软件交换数据。
7.通讯录显示设置,可以设置在显示查询结果时,一个条目可以显示或不显示哪些内容。
注意:本系统实现了读取和保存csv文件,同时csv文件中只保存了图片的路径。
2024/10/4 12:03:50 105KB 通讯录系统
1
主要实体为:会员、财务、邮件、日志与系统。
“会员”属性为:编号、姓名、性别、学院、班级、骨干、QQ、年度、电话、寝室号、生日。
“财务”属性为:编号、经手人、收支、金额、用途、年度、时间。
“邮件”属性为:发送人、邮箱地址、发送时间。
“系统”属性为:管理员、邮箱账号、发送时间。
“日志”属性为:Id、用户、时间、事件。
1
ucos2.00for51源码,并包含多任务、信号量、邮箱、消息队列、内存分配与回收5个经典实例,基本涵盖了ucos2的功能。
程序中包含完整Keil4工程源码,并自带proteus7.7仿真文件,可用keil+proteus联合调试。
2024/9/30 5:50:28 57KB ucos2 51 例子
1
3路抢答器的multisim仿真,课程设计用,作者邮箱:280599580@qq.com
2024/9/28 22:27:45 2.46MB multisim 3路抢答器
1
1)问题描述人们在日常生活中经常需要查找某个人或某个单位的电话号码,本实验将实现一个简单的个人电话号码查询系统,根据用户输入的信息(例如姓名等)进行快速查询。
2)基本要求(1)在外存上,用文件保存电话号码信息;
(2)在内存中,设计数据结构存储电话号码信息;
(3)提供查询功能:根据姓名实现快速查询;
(4)提供其他维护功能:例如插入、删除、修改等;
(5)按电话号码进行排序。
3)设计思想由于需要管理的电话号码信息较多,而且要在程序运行结束后仍然保存电话号码信息,所以电话号码信息采用文件的形式存放到外存中。
在系统运行时,需要将电话号码信息从文件调入内存来进行查找等操作,为了接收文件中的内容,要有一个数据结构与之对应,可以设计如下结构类型的数组来接收数据:constintmax=10;structTeleNumber{stringname;//姓名stringphoneNumber;//固定电话号码stringmobileNumber;//移动电话号码stringemail;//电子邮箱}Tele[max];为了实现对电话号码的快速查询,可以将上述结构数组排序,以便应用折半查找,但是,在数组中实现插入和删除操作的代价较高。
如果记录需频繁进行插入或删除操作,可以考虑采用二叉排序树组织电话号码信息,则查找和维护都能获得较高的时间性能。
更复杂地,需要考虑该二叉排序树是否平衡,如何使之达到平衡。
1
EasyEmailExtractor是一款免费的邮箱地址获取工具,它可以通过文本文件、网络抓取等方式批量获得email地址,获取到大量的邮箱之后就可以……你懂的。
但是不要太过分哦!
2024/9/19 7:55:07 202KB 网络软件-邮箱邮件
1
共 391 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡