没有合适的资源?快使用搜索试试~ 我知道了~
智能优化算法————》模拟退火算法————》C++实现
资源推荐
资源详情
资源评论
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
#include <iostream>
#include <iomanip>
#include <fstream>
using namespace std;
#define NumCity 30
#define InitTIterationSteps 500
#define StepT 5 //从初始化温度时的调整步长
#define T 500//初始化温度是的初始温度
#define Constant 0.9 //初始化温度时的概率(接近于1)
#define Epson 0.01 //初始化温度时的概率误差
#define AnnealingSteps 2*NumCity*NumCity//退火步长
struct City
{
float X;
float Y;
};
void readData(char* FILENAME, City* city);
void writeData(int OptSolution[NumCity], City city[NumCity], float RunningTime);
float calcDistance(City city1, City city2);
float calcTotalDistance(int Solution[NumCity], City city[NumCity]);
void genSolution(int * a);
void genNeighbor(int Solution[NumCity], int Neighbor[NumCity]);
void copySolution(int OldSolution[NumCity], int NewSolution[NumCity]);
int anneal(float t, int Solution[NumCity], City city[NumCity]);
float initT(City city[NumCity]);
void printInfo(int OptSolution[NumCity], City city[NumCity], float RunningTime);
void main()
{
City city[NumCity];
char* FILENAME = "data.txt";
float t;
int i;
int Solution[NumCity], NewSolution[NumCity];
int OptSolution[NumCity];
float OptDistance, Distance;
clock_t StartTime, FinishTime;
float RunningTime;
readData(FILENAME, city);
srand(time(NULL));
StartTime = clock();
//-------------Algorithm Body--------------------------------------------//
t = initT(city);
genSolution(Solution);
copySolution(Solution, OptSolution);
OptDistance = calcTotalDistance(OptSolution, city);
while (1)
{
void copySolution(int OldSolution[NumCity], int NewSolution[NumCity]);
int anneal(float t, int Solution[NumCity], City city[NumCity]);
float initT(City city[NumCity]);
void printInfo(int OptSolution[NumCity], City city[NumCity], float RunningTime);
void main()
{
City city[NumCity];
char* FILENAME = "data.txt";
float t;
int i;
int Solution[NumCity], NewSolution[NumCity];
int OptSolution[NumCity];
float OptDistance, Distance;
clock_t StartTime, FinishTime;
float RunningTime;
readData(FILENAME, city);
srand(time(NULL));
StartTime = clock();
//-------------Algorithm Body--------------------------------------------//
t = initT(city);
genSolution(Solution);
copySolution(Solution, OptSolution);
OptDistance = calcTotalDistance(OptSolution, city);
while (1)
{
剩余9页未读,继续阅读
资源评论
sdsxzth
- 粉丝: 1
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功