• 大小: 117KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-06-23
  • 语言: C#
  • 标签: C#  tsp  遗传算法  

资源简介

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.xml

     文件      20480  2011-04-25 15:15  C#tsp遗传算法\ycshuanfa\ycshuanfa\bin\Debug\ycshuanfa.exe

............此处省略49个文件信息

评论

共有 条评论