本框架提供了有关粒子群算法(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
AChartEngine是为Android应用而设计的绘图工具库。
可用于绘制多种图表,目前该绘图工具库的最新最新版本的是achartengine-1.1.0.jar。
ChartEngine支持的图表类型:折线图、区域图、散点图、时间图、柱状图、饼状图、气泡式图表、环形图、高低交替图等。
以上每种图表都可以包含多个序列,可以将X轴以水平或垂直的形式显示,也支持很多自定义的特性。
另外,图表可以作为View构建,也可以作为Intent构建这样可以被用于启动一个活动(Activity)。
其实AChartEngine和JFreeChart差不多。
JFreeChart是JAVA平台上的一个开放的图表绘制类库。
它完全使用JAVA语言编写,是为applications,applets,servlets以及JSP等使用所设计。
JFreeChart可生成饼图(piecharts)、柱状图(barcharts)、散点图(scatterplots)、时序图(timeseries)、甘特图(Ganttcharts)等等多种图表,并且可以产生PNG和JPEG格式的输出,还可以与PDF和EXCEL关联。
AChartEngine和JFreeChart都是采用Java编写的开放图表制作类库,前者是应用在android上,后者也能主要应用在JAVASE或者JAVAEE上。
AChartEngine是谷歌开发的开源项目。
2024/10/10 21:26:01 1.25MB AChartEngine Android
1
jxl根据实体类注解导出excel工具类,自己封装的util。
2024/10/10 15:35:15 4KB java excel导出
1
破解Excel宏、工程不可查看、工作表密码保护免安装
2024/10/10 5:31:37 1.34MB excel
1
vsto开发excel源代码以c#写的
2024/10/9 20:23:33 3.72MB c# excel vsto
1
Excel.2007公式、函数与图表宝典配套光盘,里面有很多实例,本人珍藏。
2024/10/9 18:23:08 38.91MB excel Excel2007 公式 函数
1
Python-xlwings-调用Excel的工具.pdf
2024/10/9 9:06:29 818KB python
1
区块链积分系统前端功能模块,excel版本,可以看到前端功能拆分。
对有志做区块链系统的研发人员来说,善莫大焉
2024/10/9 2:30:10 36KB 功能模块 区块链积分
1
省市区街道4级联动地址,Excel文档格式格式如:北京市 北京市 东城区 东华门街道北京市 北京市 东城区 景山街道北京市 北京市 东城区 交道口街道北京市 北京市 东城区 安定门街道北京市 北京市 东城区 北新桥街道陕西省 西安市 蓝田县 灞源乡陕西省 西安市 蓝田县 孟村乡陕西省 西安市 蓝田县 安村乡陕西省 西安市 蓝田县 史家寨乡陕西省 西安市 蓝田县 小寨乡
2024/10/7 19:58:11 2.32MB 省市区 联动地址
1
poi解析jsp上传的excel文件并导入mysql(支持xls和xlsx),项目在idea下创建,包含所有jar包,直接导入即可运行,有需要的放心下载,会有很大帮助。
2024/10/6 15:13:23 20.31MB poi解析 jsp上传
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡