遗传算法求解函数最大值_第1页
遗传算法求解函数最大值_第2页
遗传算法求解函数最大值_第3页
遗传算法求解函数最大值_第4页
遗传算法求解函数最大值_第5页
已阅读5页,还剩1页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

S311067019 李麒星 用遗传算法通过复制交叉过程循环求解函数 f x x 2 在 0 31 区间上的最大值点 x 代码如下 using System using System Collections Generic using System Linq using System Text namespace Project2 class Class1 public int ff int a return a a public int Max int args int s 0 int m args 0 for int i 0 i args Length i if m args i m args i s i return s public int Min int args int s 0 int m args 0 for int i 0 i args i m args i s i return s static void Main String args S311067019 李麒星 string A new string 4 A 0 01101 A 1 11000 A 2 01000 A 3 10011 Class1 cl new Class1 Random a new Random int x new int 4 存储x值 float C new float 4 存储每个适配值所占比例 int B new int 4 存储x对应的y值 int k1 0 交叉时所需的随机整数范围在0 4之间 int k2 0 交叉时所需的随机整数范围在0 4之间 int max 0 适配值总最大的值在x中的下标 int sum 0 所有适配值对应的函数值的总和 int min 0 适配值总最小的值在x中的下标 int t1 0 初始最大值 int ave1 0 初始平均值 int t2 0 每次循环得出的最大值 int ave2 0 每次循环得出的平均值 int smax 20 循环最大次数 for int l 1 l smax l for int i 0 i 4 i x i Convert ToInt32 A i 2 x i Int32 Parse A i 怎么把二进制数转化为 十进制数 for int i 0 i 4 i B i cl ff x i 求出f x x 2的值存入B中 sum B i for int i 0 i 4 i C i B i sum max cl Max x min cl Min x t2 x max 用来记录每次循环的最大值 ave2 sum 4 用来记录每次循环的平均值 S311067019 李麒星 if t2 t1 else t1 t2 ave1 ave2 for int i 0 i min 从第k个数 开始获得后面的子串 string s2 A min Substring k2 string s3 A 3 Substring k1 string s4 A 0 Substring k2 A max A max Substring 0 k1 s3 A min A min Substring 0 k2 s4 A 3 A 3 Substring 0 k1 s1 A 3 A 3 Substring 0 k2 s2 S311067019 李麒星 else if max min 从 第k个数开始获得后面的子串 string s2 A min Substring k2 string s3 A 2 Substring k1 string s4 A 1 Substring k2 A max A max Substring 0 k1 s3 A min A min Substring 0 k2 s4 A 2 A 2 Substring 0 k1 s1 A 1 A 1 Substring 0 k2 s2 else if max min 从第k个数开始获得后面的子串 string s2 A min Substring k2 string s3 A 1 Substring k1 string s4 A 2 Substring k2 A max A max Substring 0 k1 s3 A min A min Substring 0 k2 s4 A 1 A 1 Substring 0 k1 s1 S311067019 李麒星 A 1 A 1 Substring 0 k2 s2 Console WriteLine 最大值是 0 t1 输出如下 S311067019 李麒星 结论 结论 由图可知 每次循环结果不唯一 当循环

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论