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

长安高端装备网站设计公司百度广告一天多少钱

长安高端装备网站设计公司,百度广告一天多少钱,网络架构拓扑图,湖南建筑工程集团可以直接从nuget安装GeneticSharp包 GeneticSharp 遗传算法类库 GeneticSharp 是什么 GeneticSharp 是一个C#的遗传算法类库, 遗传算法Java著名的JMetal, Python也有JMetalPy和PyMoo, C#相对差一截, 稍微有名的是GeneticSharp库. GeneticSharp 的弱点: 不支持多目标优化没…

可以直接从nuget安装GeneticSharp包

GeneticSharp 遗传算法类库

GeneticSharp 是什么

GeneticSharp 是一个C#的遗传算法类库, 遗传算法Java著名的JMetal, Python也有JMetalPy和PyMoo, C#相对差一截, 稍微有名的是GeneticSharp库.

GeneticSharp 的弱点:

  • 不支持多目标优化
  • 没有实现流行的 NSGA II算法, 缺少拥挤度等计算, 所以解的多样性要差一些.
  • 对于整数型决策变量, 仅仅支持单个变量, 可以通过浮点数变量来代替, 只要将浮点数变量的小数位数设置为0.
  • 对于浮点型决策变量, 可支持多个变量

GeneticSharp 默认只支持最大值优化, 如果要支持最小值优化, 决策函数乘-1就可以了.

NSGAII 算法特点:

  • 种群大小保持一致:在 NSGA-II 中,父代种群和子代种群的大小是相同的。如果初始种群包含𝑁 个个体,那么在每一代中,子代的数量也将是 𝑁。
  • 选择机制:在合并的种群中(父代和子代的组合),算法根据非支配等级和拥挤度距离选择出 𝑁 个个体作为下一代的种群。因此,最终的可行解个数不会超过初始种群的个体数。
  • 多目标优化:尽管最终的可行解个数最多为 𝑁,但 NSGA-II 的目标是找到多个 Pareto 最优解,最终返回的解可能在目标空间中形成一个 Pareto 前沿。

概念

  1. 基因 Gene
    一个决策变量就是一个基因.
  2. 染色体 Chromosome, 即遗传算法中的个体, 这些个体将有可能成为一个个可行解.
    染色体由基因组成, 有多少个决策变量, 就由多少个基因组成.
    GeneticSharp 主要的染色体类型有 FloatingPointChromosome 和 IntegerChromosome, 前者对应浮点数决策变量, 后者对应整数型决策变量.
  3. Fitness 适应度
    遗传算法就是按照适应度来确定淘汰哪个个体, GeneticSharp 中适应度取值越大, 代表个体越优秀, 实际编程中, 适应度计算就是等同于目标函数.
  4. 约束
    GeneticSharp 没有专门的约束处理机制, 我们可以通过自定义的 IFitness 接口来间接实现约束, 对于不符合约束条件的情况, 对应的 fitness 取值调到最小, 即这些不符合约束的个体直接被淘汰即可.

使用C#实现一个简单遗传算法

使用C#实现遗传算法 - 宁静致远. - 博客园

示例代码讲解

https://diegogiacomelli.com.br/function-optimization-with-geneticsharp/

using System;
using GeneticSharp;namespace FunctionOptimizationWithGeneticSharp
{class MainClass{/// <summary>/// 定义 Fitness 类/// </summary>		public class DistinaceFitness : IFitness{public double Evaluate(IChromosome c){var fc = c as FloatingPointChromosome;var values = fc.ToFloatingPoints();var x1 = values[0];var y1 = values[1];var x2 = values[2];var y2 = values[3];//假设有一个约束函数 x1+x2+y1+y2>=5if (x1+x2+y1+y2<5) {//违法约束, 适应度赋值为0 return 0.0 ;}return Math.Sqrt(Math.Pow(x2 - x1, 2) + Math.Pow(y2 - y1, 2));}}public static void Main(string[] args){float maxWidth = 998f;float maxHeight = 680f;//定义染色体个数和取值范围var chromosome = new FloatingPointChromosome(new double[] { 0, 0, 0, 0 },  //包含4个决策变量, 这里定义每个决策变量的最小值new double[] { maxWidth, maxHeight, maxWidth, maxHeight },  //包含4个决策变量, 这里定义每个决策变量的最大值new int[] { 10, 10, 10, 10 },  //每个决策变量占用bit数, 一般取值为10或64 new int[] { 0, 0, 0, 0 }); //每个决策变量小数部分位数//定义种群规模, 种群规模最小size为2, 否则无法交配.  var population = new Population(50, 100, chromosome);//定义Fitness var fitness = new DistinaceFitness();//定义遗传算法因子var selection = new EliteSelection();var crossover = new UniformCrossover(0.5f);var mutation = new FlipBitMutation();//生成遗传算法对象var ga = new GeneticAlgorithm(population,fitness,selection,crossover,mutation);//定义递归终止条件var termination = new FitnessStagnationTermination(100);ga.Termination = termination;Console.WriteLine("Generation: (x1, y1), (x2, y2) = distance");var latestFitness = 0.0;//在算法执行之前, 可以定义每一代运算的回调事件ga.GenerationRan += (sender, e) =>{//通过 ga.BestChromosome 获取截止当前最好的染色体var bestChromosome = ga.BestChromosome as FloatingPointChromosome;//通过 ga.BestChromosome.Fitness 获取截止当前最好的适应度, 即目标函数值				var bestFitness = bestChromosome.Fitness.Value;//通过 ga.GenerationsNumber 输出算法已经迭代了多少代if (bestFitness != latestFitness){latestFitness = bestFitness;var phenotype = bestChromosome.ToFloatingPoints();Console.WriteLine("Generation {0,2}: ({1},{2}),({3},{4}) = {5}",ga.GenerationsNumber,phenotype[0],phenotype[1],phenotype[2],phenotype[3],bestFitness);}};//运行遗传算法 ga.Start();//输出最终结果var bestChromosome = ga.BestChromosome as FloatingPointChromosome;var phenotype = bestChromosome.ToFloatingPoints();var bestFitness = bestChromosome.Fitness.Value ;Console.WriteLine("Final Generation {0,2}: ({1},{2}),({3},{4}) = {5}",ga.GenerationsNumber,phenotype[0],phenotype[1],phenotype[2],phenotype[3],bestFitness);			Console.ReadKey();}}
}

http://www.dtcms.com/wzjs/426523.html

相关文章:

  • 网站建设与管理职责关键词优化排名软件推荐
  • 凤台做网站秘密入口3秒自动进入
  • 辽宁网站建设排名googleseo优化
  • 青岛手机端建站模板湘潭关键词优化公司
  • 做推送的网站推荐湛江百度网站快速排名
  • 网站建设收费标准渠道免费发布信息网
  • 石家庄网站制作仓谷搜索引擎优化是做什么的
  • 什么网站可免费发布信息安卓优化清理大师
  • 静态网站公用头部如何调用标题google排名
  • 网站资源库建设报价怎么样优化网站seo
  • 广州做门户网站开网店怎么推广运营
  • c#可以做网站吗今日新闻快讯
  • 武汉制作网站的公司品牌全案营销策划
  • 扁平化设计网站代码免费舆情网站下载大全最新版
  • 东莞网站推广模板郑州官网关键词优化公司
  • 成都新线加做网站关键词调整排名软件
  • 贵州建设监督管理局网站江门搜狗网站推广优化
  • 郑州做的比较好网站公司吗网站seo报告
  • 做网站没灵感百度热线
  • 潍坊可以做网站的公司深圳网络推广市场
  • 萧山工程建设有限公司网站南宁seo结算
  • 家具行业网站整站模板seo营销课程培训
  • 包装材料东莞网站建设游戏推广是干什么的
  • 自己做的网站怎么排名百度竞价排名官网
  • 怎么查看Wordpress根目录抖音seo什么意思
  • 北京手机网站广州企业推广
  • 做设计适合关注的网站百度快速提交入口
  • 英语网站online西安网站定制开发
  • 如何查外贸网站外链东莞网站推广方案
  • 政府网站集约化建设培训ppt个人开发app可以上架吗