资源简介
C#tsp遗传算法;里面有测试数据,包含中国30个城市的坐标数据。
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
namespace TSP
{
//数据文件格式:
//第一行有两个数据:矩阵行数 矩阵列数
//接下来的行的数据:行 列 该行该列的元素值
//注意数据与数据之间是用空格隔开的,没有给出的矩阵的某些位置的值用0来代替
class TestClass
{
public static void TestGa(string DataFileName)
{
Ga ga=new Ga();
ga.GaTsp(DataFileName);
}
public static void TestGa2()
{
RandNumber rands=new RandNumber();
Ga ga=new Ga();
int n=36;
double []CostMat=new double[nn];
double []vec=new double[n2];
for(int i=0;i {
vec[i0]=rands.Rand01();
vec[i1]=rands.Rand01();
}
for(int i=0;i for(int j=0;j {
if(i==j) CostMat[ij]=0.0;
else
{
double s1=vec[i0]-vec[j0];
double s2=vec[i1]-vec[j1];
CostMat[ij]=Math.Sqrt(s1*s1+s2*s2);
}
}
ga.GaTsp(CostMat);
LSMat.SaveDataFile(@“d:\c#\tsp\out01.txt“CostMat2);
}
public static void TestLSMat()
{
int n=6;
double []mat=new double[nn];
for(int i=0;i for(int j=0;j {
mat[ij]=(double)(i+1)*(j+1);
}
LSMat.SaveDataFile(@“D:\eeee1.txt“mat1);
double []mat2;
mat2=LSMat.LoadDoubleDataFile(@“D:\eeee1.txt“);
for(int i=0;i {
Console.Write(“{0}: “i);
for(int j=0;j {
Console.Write(“{0} “mat2[ij]);
}
Console.Write(“\n“);
}
}
public static void Main(string[] args)
{
TestGa(@“d:\c#\Tsp\data02.txt“);
// TestGa2();
//TestLSMat();
}
}
/* 下面是TSP问题的遗传算法实现类
* */
class Ga
{
private Floyd minfloyd=new Floyd();//创建Floyd类
private double []Distance;
private int N; //群体规模
private int Length; //个体长度
private double Pc; //交叉概率
private double Pm; //变异概率
private int MaxGene; //最大迭代代数
public int []MinIndividual; //当前代的最好个体指针
public double MinValue; //到当前代至最好个体的适应度值
private int []Buf; //群体矩阵
private int []Buf1; //中间群体矩阵
private int []Buf2; //中间群体矩阵
private double []FitV; //群体Buf的每个个体的适应度
private double []FitV1;//群体Buf1的每个个体的适应度
private double []FitV2;//群体Buf2的每个个体的适应度
private int[] ppindivi; //交叉算子中用到的中转向量
private int[] pp;//交叉算子中用到的中转向量
private RandNumber randnumber=new RandNumber();//创建一个随机数类
//类初始化函数
public void Initialize(string DataFileNameint N1double Pc1double Pm1int MaxGene1)
{
minfloyd.MinFloyd(DataFileName);
Distance=minfloyd.GetDistance();
for(int i=0;i Distance[ii]=0;
N=N1;
Length=Distance.GetLength(0);
Pc=Pc1;
Pm=Pm1;
MaxGene=MaxGene1;
MinValue=double.MaxValue;
Buf=new int[NLength];
Buf1=new int[NLength];
Buf2=new int[NLength];
FitV=new double[N];
FitV1=new double[N];
FitV2=new double[N];
MinIndividual=new int[Length];
int []individual;
for(int i=0;i {
individual=randnumber.Ran
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 24213 2011-04-24 19:58 C#tsp遗传算法\tsp\data01.txt
文件 356 2011-04-25 15:15 C#tsp遗传算法\tsp\data02.txt
文件 287 2011-04-24 20:07 C#tsp遗传算法\tsp\eeee1.txt
文件 24371 2011-04-24 13:07 C#tsp遗传算法\tsp\out01.txt
文件 27093 2011-04-24 21:03 C#tsp遗传算法\ycshuanfa\Backup\tsp\Program.cs
文件 1153 2011-04-24 02:25 C#tsp遗传算法\ycshuanfa\Backup\tsp\Properties\AssemblyInfo.cs
文件 1940 2011-04-24 02:31 C#tsp遗传算法\ycshuanfa\Backup\tsp\tsp.csproj
文件 6418 2011-04-24 21:24 C#tsp遗传算法\ycshuanfa\Backup\ycshuanfa\Program.cs
文件 1165 2011-04-24 01:47 C#tsp遗传算法\ycshuanfa\Backup\ycshuanfa\Properties\AssemblyInfo.cs
文件 1952 2011-04-24 01:47 C#tsp遗传算法\ycshuanfa\Backup\ycshuanfa\ycshuanfa.csproj
文件 1379 2011-04-24 03:03 C#tsp遗传算法\ycshuanfa\Backup\ycshuanfa.sln
..A..H. 14336 2011-04-25 15:20 C#tsp遗传算法\ycshuanfa\Backup\ycshuanfa.suo
文件 28672 2011-04-24 21:03 C#tsp遗传算法\ycshuanfa\tsp\bin\Debug\tsp.exe
文件 46592 2011-04-24 21:03 C#tsp遗传算法\ycshuanfa\tsp\bin\Debug\tsp.pdb
文件 14328 2011-10-28 15:57 C#tsp遗传算法\ycshuanfa\tsp\bin\Debug\tsp.vshost.exe
文件 490 2007-07-21 01:33 C#tsp遗传算法\ycshuanfa\tsp\bin\Debug\tsp.vshost.exe.manifest
文件 102 2011-10-28 15:57 C#tsp遗传算法\ycshuanfa\tsp\obj\Debug\tsp.csproj.FileListAbsolute.txt
文件 28672 2011-04-24 21:03 C#tsp遗传算法\ycshuanfa\tsp\obj\Debug\tsp.exe
文件 46592 2011-04-24 21:03 C#tsp遗传算法\ycshuanfa\tsp\obj\Debug\tsp.pdb
文件 443 2011-04-25 15:15 C#tsp遗传算法\ycshuanfa\tsp\obj\tsp.csproj.FileListAbsolute.txt
文件 27093 2011-04-24 21:03 C#tsp遗传算法\ycshuanfa\tsp\Program.cs
文件 1153 2011-04-24 02:25 C#tsp遗传算法\ycshuanfa\tsp\Properties\AssemblyInfo.cs
文件 2111 2011-10-28 15:56 C#tsp遗传算法\ycshuanfa\tsp\tsp.csproj
文件 5632 2005-12-08 14:51 C#tsp遗传算法\ycshuanfa\tsp2\bin\Debug\tsp2.vshost.exe
文件 108 2011-04-24 03:19 C#tsp遗传算法\ycshuanfa\tsp2\obj\tsp2.csproj.FileListAbsolute.txt
文件 9603 2011-04-24 03:02 C#tsp遗传算法\ycshuanfa\tsp2\Program.cs
文件 1155 2011-04-24 02:53 C#tsp遗传算法\ycshuanfa\tsp2\Properties\AssemblyInfo.cs
文件 1942 2011-04-24 03:02 C#tsp遗传算法\ycshuanfa\tsp2\tsp2.csproj
文件 2854 2011-10-28 15:56 C#tsp遗传算法\ycshuanfa\UpgradeLog.xm
文件 20480 2011-04-25 15:15 C#tsp遗传算法\ycshuanfa\ycshuanfa\bin\Debug\ycshuanfa.exe
............此处省略49个文件信息
- 上一篇:毕业设计 甜橙在线音乐MP3网
- 下一篇:C# 松下PLC通讯协议标准模块
相关资源
- C# 调用win32 api函数-user32.dll详细说明
- C# 调用BarTender打印条码DEMO
- 大型比赛竞赛抽签系统 可打印 c# vs
- C#编写的Gerber查看器
- lua C# .Net4.0 vs2010 LuaInterface
- C#十六进制编辑器
- 明华URF-35H读卡器 C#读写源码 为大家
- C#文件流读取CSV文件
- c#读写PDF文件sql
- C# winform Socket大文件传输
- c#车牌识别系统附30张测试图片
- 《C#面向对象程序设计》源代码(CS)
- 金旭亮《C#面向对象程序设计》教案
- 试题库管理系统毕业论文(C#)源程序
- 学校网站原代码(C#.NET)
- C#-数据库操作技术-员工管理系统
- c#web开发入门经典
- C#与Matlab混合编程的几种方式
- c# 开发与 mysql数据库实现的增删改查
- C#异步操作 异步查询数据库 异步处理
- Basler相机通过IO触发源码
- [源代码] 《领域驱动设计 (C# 2008 实
- 松下PLC与C#通讯串口调试入门教程.z
- USB 继电器控制器 LCUS-1 保证能用 c#
- C# AES加密解密小工具
- C#圆形按钮,非常漂亮动态~~
- [精]C#仿QQ右下角弹出提示框()
- C#进程间通信-共享内存代码
- 有史以来最简单的三层(C#)
- vb调用c#编写的串口DLL文件(vb源码
评论
共有 条评论