高分求模拟退火法解 TSP问题 C++或C语言程序

来源:百度知道 编辑:UC知道 时间:2024/05/23 22:24:55
高分求一个模拟退火法解TSP问题的C++程序,希望简洁一些,变量部分可以更改,我的问题是101个城市的问题。C++的最好, C的也可以。不希望带有很多的模板和类模板,看得头晕。万分感谢啊!!!!

tsproblem.h
class tsproblem
{
private:
int *parrayc;
int *parrayj;
int icost;
int icurpoint, isize;
unsigned long ls;
unsigned long power(int i, int j);
int g(int i, unsigned long s);
public:
tsproblem(int size, int point);
tsproblem(int size, int point, int *array);
void calculate();
void display();
~tsproblem();
};

#include "tsproblem.h"
#include <iostream.h>
#include <stdlib.h>
#include <iomanip.h>
//采用动态规划方法,用c(i, j)表示边v(i, j)的长度,g(i, s)表
//示从结点i开始,经过s中的每一结点一次且仅一次到达i的最短路
//径长度,则有如下递推式:
// g(i, s)=min{c(i, j)+g(j, s-{j})} (j在s集合中)
//为实现集合s的表示,采用如下方法:
//把s定义为unsigned long型数,设其二进制表示为:bn....b2b