本框架提供了有关粒子群算法(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
点燃客户适用于Go编程语言的ApacheIgnite(GridGain)v2.5+客户端该库已准备就绪。
版本低于v1.0,因为尚未实现所有功能(有关详细信息,请参见)。
但是已实现的功能已准备就绪。
要求ApacheIgnitev2.5+(由于使用了二进制通信协议)转到v1.9+路线图项目状态:开发“”方法(已完成)开发“”方法(已完成*)开发“”方法(已完成)开发SQL驱动程序(已完成)开发“”方法(尚未开始)*并非支持所有类型。
有关详细信息,请参见。
如何安装goget-ugithub.com/amsokol/ignite-go-client/...如何使用客户端导入客户端软件包:import("github.com/amsokol/ignite-go-client/binary/v1")连接到服务器:ctx:=context.Background()//connectc,err:=ignite.Connect(ctx,ignite.ConnI
2024/9/27 14:43:46 83KB go golang client sql
1
Everyday,moreandmorepeoplelearnandusetheC++programmingLanguage.IhavetaughtCtothousandsofstudentsinmylife.IseemanyofthosestudentsnowmovingtoC++intheirschoolworkorcareer.TheC++languageisbecominganindustry-acceptedstandardprogramminglanguage,usingthesolidfoundationofCtogainafoothold.C++issimplyabetterCthanC.C++ByExampleisoneofseveralbooksinQue抯newlineofByExampleseries.Thephilosophyofthesebooksissimple:Thebestwaytoteachcomputerprogrammingconceptsiswithmultipleexamples.Commanddescriptions,formatsyntax,andlanguagereferencesarenotenoughtoteachanewcomeraprogramminglanguage.Onlybylookingatnumerousexamplesandbyrunningsampleprogramscanprogrammingstudentsgetmorethanjusta揻eel?forthelanguage.TableofContentsOverviewIIntroductiontoC++1WelcometoC++2WhatIsaProgram?3YourFirstC++Program4VariablesandLiterals5CharacterArraysandStrings6PreprocessorDirectives7SimpleInput/OutputIIUsingC++Operators8UsingC++MathOperatorsandPrecedence9RelationalOperators10LogicalOperators11AdditionalC++OperatorsIIIC++Constructs12ThewhileLoop13TheforLoop14OtherLoopOptions15TheswitchandgotoStatements16WritingC++FunctionsIVVariableScopeandModularProgramming17VariableScope18PassingValue19FunctionReturnValuesandPrototyping20DefaultArgumentsandFunctionOverloadingVCharacterInput/OutputandStringFunctions21DeviceandCharacterInput/Output22Character,String,andNumericFunctionsContentsxVIArraysandPointers23IntroducingArrays24ArrayProcessing25MultidimensionalArrays26Pointers27PointersandArraysVIIStructuresandFileInput/Output28Structures29ArraysofStructures30SequentialFiles31Random-AccessFiles32IntroductiontoObject-OrientedProgrammingVIIIReferencesAMemoryAddressing,Binary,andHexadecimalReviewBAnswerstoReview
2024/9/23 17:18:36 4.2MB C++ example
1
k2tf-KubernetesYAML到TerraformHCL转换器用于将KubernetesAPI对象(YAML格式)转换为HashiCorp的Terraform配置语言的工具。
转换后的.tf文件适合与安装预建的二进制文件从GitHub页面下载Binary。
从源代码构建见下文家酿$brewtapsl1pm4t/k2tfhttps://github.com/sl1pm4t/k2tf.git$brewinstallk2tf用法示例转换单个YAML文件并将生成的Terraform配置写入Stdout$k2tf-ftest-fixtures/service.yaml转换单个YAML文件并将输出写入文件$k2tf-ftest-fixtures/service.yaml-oservice.tf转换KubernetesYAML文件的目录$k2tf-ftest-fixtures/直接从集群读取和转换Kubernetes对象$kubectlgetdeployments-oyaml|./k2tf-
2024/9/8 12:27:30 86KB kubernetes yaml converter utility
1
基于CEF4183版本编译,增加H.264支持,可以播放MP3,MP4,AAC等,并修改代码支持js通过调用getDisplayMedia来完成全屏或窗口捕捉共享(会弹出类似Chrome那样的选择窗口,但不能共享Tab页,因为CEF没有多Tab)。
Chromium内核是85.0.4183.102。
包括Debug和Release版本。
下载后需要你自己用CMake生成vs工程编译。
2024/8/26 3:31:08 183.46MB CEF
1
KeyedVectors.load_word2vec_format('GoogleNews-vectors-negative300.bin',binary=True)
2024/7/23 16:31:30 614.4MB NLP
1
Windows32位版本的CEF工程代码(需要自己CMake创建sln,自行编译产生cefsimple/cefclient)。
对应的Chromium版本:78.0.3904.108。
编译时加入ffmpeg支持,可以播放mp3,mp4,支持h.264/aac。
新增HEVC(H.265)解码能力,可以使用video标签播放符合规范的H.265的视频文件。
2024/6/2 15:07:11 189.5MB CEF
1
毕业设计和课程设计全套资料,主程序代码clc;clearall;closeall;warningoffall;I=imread('images\\1.jpg');I1=Image_Normalize(I,0);%图像归一化hsize=[33];sigma=0.5;I2=Image_Smooth(I1,hsize,sigma,0);I3=Gray_Convert(I2,0);bw2=Image_Binary(I3,0);%二值化处理[~,~,xy_long]=Hough_Process(bw2,I1,0);%霍夫变换angle=Compute_Angle(xy_long);%计算角度[I4,bw3]=Image_Rotate(I1,bw2,angle*1.8,0);%图像旋转[bw4,Loc1]=Morph_Process(bw3,0);%形态处理[Len,XYn,xy_long]=Hough_Process(bw4,I4,0);[bw5,bw6]=Region_Segmation(XYn,bw4,I4,0);[stats1,stats2,Line]=Location_Label(bw5,bw6,I4,XYn,Loc1,1);[Dom,Aom,Answer,Bn]=Analysis(stats1,stats2,Line,I4);
1
微软.net4.5版AjaxControlToolkit.Binary.NET4.5控件,包括实例ImportantUpdateThisreleasehasbeenupdatedtofixthreeissues:UpdatetofixaconflictbetweentheAjaxControlToolkitandjQuery/jQueryUI.UpdatetotheToolkitScriptManagertopreventanerrorthatresultedfromconcurrencyconflictsonhightrafficwebsites.Ifyouaregettingtheerrormessage"Couldnotloadcontrolcontrolname.Thescriptreference(s)ofthiscontrolwasnotloadedcorrectly."thenpleaseinstallthisupdate.UpdatetotheToolkitScriptManagertopreventapageLoadederrorinFirefoxwhenusingthenewjQueryExtenderbaseclass.
2024/4/2 21:09:43 8.06MB ajax .net 4.5
1
MATLAB,彩色图像转灰度,灰度图像转二值
2024/3/25 20:55:47 236B matlab
1
共 41 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡