亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ant.c

?? 暴力破解TSP中國郵遞員問題的程序。使用數據為Oliver30.tsp
?? C
字號:
/*
      ANT-CYCLE ALGORITHM FOR TSP
      File:    ant.c
      Author:  ehui928
      Purpose: implementation of ant.h
      Date:		2007-01-18
*/

#include <stdio.h>
#include <stdlib.h>
#include <memory.h>
#include <math.h>
#include <time.h>
#include "ant.h"
#include "tsp.h"


extern double distances[CITY_NUM+1][CITY_NUM+1];
extern double tao[CITY_NUM+1][CITY_NUM+1];
extern double alpha;
extern double beta;
extern FILE *f_out;

extern long int seed;// = 12345678;	/* seed to generate random number */

void initial_ant(Ant *pant)
{
    pant->cur = 0;
    pant->length = 0.0;
    pant->tabu = (int *) malloc(sizeof(int) * (CITY_NUM+1));
    pant->allow = (int *) malloc(sizeof(int) * (CITY_NUM+1));
    memset(pant->tabu, 0, sizeof(int) * (CITY_NUM+1));
    memset(pant->allow, 0, sizeof(int) * (CITY_NUM+1));

	/*  if you want the seed changes every time when the 
	    program runs, then uncomment the following line
	 */
	/*	seed = (long int)time(NULL); */
}


void destroy_ant(Ant *pant)
{
    free(pant->tabu);
    free(pant->allow);
}




int choose_next_city(Ant *pant)
/*
	FUNCTION:		choose the next city according to transition rule
	INPUT:			the poiter to Ant---pant
	RETURN:			next city been choosed
*/

{
	extern double ran01( long *idum );
	extern double q_0;
/*
	i---------------city index
	j---------------next city to choose 
	k---------------index of f_tmp
	s---------------index of prob[]
	n---------------actual size of candidate

	candidate---candidate cities can be chosen
	tmp---------record the values of 
				tao[current_city][candidate_city]^alpha * yita[current_city][candidate_city]^beta;
				which yita[i][j] is defined as (1/distances[i][j]).

	max --------max values of tmp
    sum---------sum of tmp	
	prob--------probabilities of each candidate city to be choosen
	q-----------random generate q to decide using which transition rule
*/

    int i;
    int j;
    int k = 1;
    int s = 1;
	int n;
	int candidate[CITY_NUM+1];

    
    double tmp[CITY_NUM+1];
	double max = -1;
    double sum = 0;
	
	double prob[CITY_NUM+1] = {0};
	
	double q;	/* random generate q to decide using which transition rule */


    for (i = 1; i <= CITY_NUM; i++)
    {
        if (!pant->allow[i])
        {
            /* city i is not visited */
			candidate[s++] = i;
            tmp[k] = pow(tao[pant->cur][i], alpha) * pow(1/distances[pant->cur][i], beta);
			
            if (tmp[k] >= max)
            {
                max = tmp[k];
                j = i;
            }
            sum += tmp[k];
            k++;
        }
    }
		n = k - 1;

	for (i = 1; i <= n; i++)
	{
		prob[i] = tmp[i] / sum;
	}

		/* generate a random double number between [0,1] */
		q = ran01( &seed );


	if ( (q_0 > 0.0) && (q < q_0)  )
		/* 
			choose next city according to 
			pheromone maximum multiply heuristic values
		*/
	{
		return j;
	}

	else
		/* choose a random city  according to probabilities */
	{
		double rnd;
		double partial_sum;
		rnd = ran01( &seed );

		i = 1;

		partial_sum = prob[i];
		while ( partial_sum <= rnd ) 
		{
			i++;
			partial_sum += prob[i];
		}

		return candidate[i];
	}

}


double caculate_tour_length(Ant ant)
{
    int i;
    double len = 0.0;

    for (i = 1; i < CITY_NUM; i++)
        len += distances[ant.tabu[i]][ant.tabu[i+1]];

    len += distances[ant.tabu[CITY_NUM]][ant.tabu[1]];

    return len;
}

void print_ant_tour(Ant ant)
/*
	FUNCTION:		print a tour an ant found
	INPUT:			Ant ant
	RETURN:			none
*/
{
    int i;
    for (i = 1; i < CITY_NUM+1; i++)
		fprintf(f_out, "%d-", ant.tabu[i]);
	fprintf(f_out, "%d\n", ant.tabu[1]);
    /*
    printf("%d-", ant.tabu[i]);
    printf("%d\n", ant.tabu[1]);
	*/
}




/* 
	constants for a random number generator, 
	for details see numerical recipes in C 
*/

#define IA 16807
#define IM 2147483647
#define AM (1.0/IM)
#define IQ 127773
#define IR 2836

double ran01( long *idum )
/*    
      FUNCTION:       generate a random number that is uniformly distributed in [0,1]
      INPUT:          pointer to variable with the current seed
      OUTPUT:         random number uniformly distributed in [0,1]
      (SIDE)EFFECTS:  random number seed is modified (important, this has to be done!)
      ORIGIN:         numerical recipes in C
*/
{
  long k;
  double ans;

  k =(*idum)/IQ;
  *idum = IA * (*idum - k * IQ) - IR * k;
  if (*idum < 0 ) *idum += IM;
  ans = AM * (*idum);
  return ans;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
不卡的看片网站| 亚洲摸摸操操av| 美女高潮久久久| 91精品综合久久久久久| 日韩精彩视频在线观看| 欧美一区二区三区在线观看| 免费精品视频最新在线| 精品美女在线播放| 国产很黄免费观看久久| 国产精品免费视频网站| 色婷婷综合久久久久中文 | 欧美性大战xxxxx久久久| 欧美日韩精品一区二区天天拍小说| 国产精品每日更新| 99亚偷拍自图区亚洲| 亚洲精品一二三| 欧美精品久久一区二区三区| 免费美女久久99| 亚洲国产高清aⅴ视频| 一本色道久久综合亚洲精品按摩| 一二三四区精品视频| 91麻豆精品国产91久久久更新时间 | 日韩欧美色电影| 国产很黄免费观看久久| 亚洲人成精品久久久久久| 欧美一区二区三区日韩视频| 亚洲一区二区三区中文字幕在线| 欧美激情中文不卡| 91国偷自产一区二区开放时间 | 91免费看`日韩一区二区| 午夜精品国产更新| 337p日本欧洲亚洲大胆精品 | 色综合天天综合网天天狠天天| 亚洲五月六月丁香激情| 精品嫩草影院久久| 在线欧美小视频| 国产尤物一区二区| 亚洲自拍偷拍av| www国产精品av| 亚洲欧美日韩国产另类专区| 日韩精品一区二区三区四区视频| 91精品国产乱码| 国产成人精品影视| 亚洲码国产岛国毛片在线| 欧美一区二区视频网站| 亚洲免费电影在线| 综合久久久久综合| 看片的网站亚洲| 色婷婷综合久久久中文一区二区| 日韩欧美国产综合在线一区二区三区| 欧美韩日一区二区三区四区| 亚洲6080在线| 97精品视频在线观看自产线路二| 欧美精选一区二区| 成人欧美一区二区三区视频网页 | 国产午夜精品福利| 亚洲综合色成人| 国产成人免费视| 日韩欧美综合一区| 精品视频123区在线观看| 91美女在线视频| 精品成人在线观看| 香蕉成人伊视频在线观看| 懂色av中文一区二区三区 | 国产精品久久久久久久午夜片| 石原莉奈在线亚洲二区| 99riav一区二区三区| 久久精品亚洲精品国产欧美 | 2023国产精品| 蜜臀精品久久久久久蜜臀| 在线看一区二区| 一区二区三区av电影| 成人午夜在线免费| 91久久久免费一区二区| 日本一区二区三级电影在线观看| 美日韩黄色大片| 欧美日韩国产一区二区三区地区| 亚洲女人****多毛耸耸8| 成人永久aaa| 久久精品夜色噜噜亚洲aⅴ| 久久99国产精品久久99| 欧美一区二区视频观看视频| 午夜精品成人在线视频| 欧美日韩精品一区二区三区蜜桃| 亚洲综合小说图片| 欧美日本视频在线| 日本欧美久久久久免费播放网| 欧美三级电影网| 丝袜美腿亚洲综合| 欧美一级黄色录像| 九色|91porny| 国产丝袜在线精品| 成人av高清在线| 综合久久久久久| 欧美自拍丝袜亚洲| 亚洲aⅴ怡春院| 欧美不卡一区二区三区| 国产一区二区按摩在线观看| 国产日产亚洲精品系列| 高清不卡一区二区在线| 成人免费在线观看入口| 91麻豆国产精品久久| 一区二区日韩av| 精品区一区二区| 成人午夜视频福利| 亚洲卡通动漫在线| 制服丝袜亚洲精品中文字幕| 国产曰批免费观看久久久| 国产精品乱码妇女bbbb| 91久久精品一区二区三| 日韩av在线免费观看不卡| 久久亚洲免费视频| 99国产精品久久| 日本午夜精品视频在线观看 | 一本色道**综合亚洲精品蜜桃冫| 亚洲成人av资源| 久久青草欧美一区二区三区| 色网站国产精品| 激情五月激情综合网| 亚洲精品高清在线| 久久综合资源网| 欧美日韩亚洲国产综合| 国产美女一区二区三区| 午夜精品久久久久久久蜜桃app| 国产天堂亚洲国产碰碰| 日韩一级片在线观看| 色综合天天综合网国产成人综合天 | 欧美日韩在线综合| 成人黄色大片在线观看| 久久国产精品无码网站| 一区二区三区不卡视频 | 成人av在线影院| 久久成人免费电影| 日日夜夜免费精品视频| 亚洲欧美视频在线观看| 久久久精品国产99久久精品芒果 | 久久超碰97中文字幕| 亚洲一区二区精品久久av| 国产片一区二区三区| 欧美一区2区视频在线观看| 在线观看亚洲成人| 成人自拍视频在线观看| 国内精品伊人久久久久av影院| 婷婷综合五月天| 亚洲成人精品一区二区| 亚洲视频一二三区| 国产精品灌醉下药二区| 国产精品私房写真福利视频| 久久久久97国产精华液好用吗| 精品欧美黑人一区二区三区| 91精品国产丝袜白色高跟鞋| 777奇米四色成人影色区| 欧美日韩视频一区二区| 97国产一区二区| 91美女片黄在线观看| 99久久精品情趣| 99久久综合精品| 91免费版在线| 91国产福利在线| 在线观看日韩av先锋影音电影院| 91香蕉国产在线观看软件| 9i看片成人免费高清| 99精品国产一区二区三区不卡| 成人av高清在线| 色狠狠桃花综合| 欧美综合天天夜夜久久| 欧美日韩免费一区二区三区| 欧美喷潮久久久xxxxx| 91精品国产综合久久精品图片| 精品视频色一区| 日韩欧美国产三级| 国产偷国产偷精品高清尤物| 国产精品久久毛片a| 亚洲人妖av一区二区| 夜夜嗨av一区二区三区中文字幕| 亚洲国产综合91精品麻豆| 日韩电影一区二区三区四区| 蜜桃久久久久久| 成人性色生活片| 欧美日韩视频在线观看一区二区三区 | 亚洲欧美中日韩| 午夜精品影院在线观看| 蜜桃久久久久久久| 成人久久视频在线观看| 欧洲亚洲精品在线| 日韩欧美一级二级| 日韩一区在线播放| 午夜精品久久久久久久99樱桃| 美日韩黄色大片| 91麻豆swag| 欧美一级高清片| 综合色中文字幕| 青青草精品视频| av成人动漫在线观看| 欧美一区二区三区在线电影| 欧美国产激情一区二区三区蜜月| 亚洲综合色婷婷| a亚洲天堂av| 精品国产免费久久| 亚洲国产乱码最新视频 |