- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C#程序设计课程报告
PAGE3 / NUMPAGES15
C#程序设计
课程报告
专 业: 空间信息与数字技术
班 级:
学 号:
姓 名:
指导老师:
日 期: 2015.02.02
目录
TOC \o 1-3 \h \z \u 一、 题目简介 3
(一) 课程题目 3
(二) 程序分析 3
二、 修改过程 3
(一) 基础格式的修改 3
(二) 系统函数的修改 4
三、 源代码(C#) 4
四、 运行结果 14
五、 心得体会 14
一、 题目简介
课程题目
将指定C程序改为C#程序。
程序分析
TSP问题(Travel Salesperson Problem,即旅行商问题或者称为中国邮递员问题),是一种,是一种NP-hard问题,此类问题用一般的算法是很大得到最优解的,所以一般需要借助一些启发式算法求解,例如遗传算法(GA),蚁群算法(ACO),微粒群算法(PSO)等等。
遗传算法的概念最早是由Bagley J.D 于1967年提出的。后来Michigan大学的J.H.Holland教授于1975年开始对遗传算法(Genetic Algorithm, GA)的机理进行系统化的研究。遗传算法是对达尔文生物进化理论的简单模拟,其遵循“适者生存”、“优胜略汰”的原理。遗传算法模拟一个人工种群的进化过程,并且通过选择、杂交以及变异等机制,种群经过若干代以后,总是达到最优(或近最优)的状态。
本程序是利用遗传算法解决TSP问题。
修改过程
基础格式的修改
数组格式的修改
将数组的格式由C语言改为C#:
定义:int colony[N_COLONY][CITY];改为 public static int[,] colony = new int[N_COLONY,CITY];
使用:colony[i][j]改为colony[I,j]
文件输入格式的修改
将文件输入的格式由C语言改为C#:
using (StreamReader sr = new StreamReader(FILE_PATH))
{
string line;
while (sr.ReadLine() != null)
{
line = sr.ReadLine();
string[] strcol = line.Split(new char[] { });
cityXY[i, 0] = Convert.ToInt32(strcol[1]);
cityXY[i, 1] = Convert.ToInt32(strcol[2]);
++i;
}
}
文件输出格式的修改
将文件输出的格式由C语言改为C#:
FileStream strme;
if (!File.Exists(FILE_PATH))
{
strme = File.Create(FILE_PATH);
}
else
{
strme = new FileStream(FILE_PATH, FileMode.CreateNew);
}
StreamWriter writer = new StreamWriter(strme);
系统函数的修改
rand函数修改
使用random函数:
Random rand=new Random();
pos_C=rand.Next()%xCity;
clock函数的修改
使用DateTime,定义:
public static DateTime timeStart = DateTime.Now;
public static DateTime timeNow = DateTime.Now;
public static DateTime timeTemp = DateTime.Now;
源代码(C#)
using System;
using System.Collections.Generic;
using System.Linq;
原创力文档


文档评论(0)