Hi, I'm yen.
Recently, I am doing my thesis project on the topic of Genetic Algorithm with Integer representation. Anyone can help me to write a simple program to solve the Travelling Salesman Problem by using Genetic Algorithm which is in integer representation?
The task is to find the shortest path of the TSP by GA program. Just a simple program.
Thanks for help.

3
Contributors
5
Replies
7
Views
7 Years
Discussion Span
Last Post by jonsca

Hope anyone of you can see me here...thanks...
I need a program now..

You're not going to get one

Recently, I am doing my thesis project

I'm sure your supervising professor said, just throw it up on the web and turn in whatever comes back...

For someone to begin to help you with this, you need to bring your existing code to the table. No one is going to write this for you.

yes

Try here.

I have plenty of projects of my own to do, thanks very much.

I'm sure your supervising professor said, just throw it up on the web and turn in whatever comes back...

For someone to begin to help you with this, you need to bring your existing code to the table. No one is going to write this for you.

Sorry..I just to try an error..I am surprisingly shocked when I saw your reply..
I am not trying to ask someone to write the whole program for me, maybe I can retrieve a guidance as my reference from here..rather than blank in front of the pc..sorry if I had offended..

This is my own work..got errors..and thinking to continue more functions..

``````#include<stdio.h>		//to use printf function
#include<stdlib.h>		//to use rand function

#define RANDOM ((float)rand())	//random number
#define L 25			//length of chromosome
#define N 100			//size of population

void scan();		//user input
void cal();			//calculate the value based on the selection operator
void initial_population();	//generate an initial population
void fitness_evaluation(struct pop);	//evaluate the fitness of chromosome
void print();		//print the chromosomes in population
void selection();	//switch the selection operator

short parent[N+1], point[L+1];
short G,z,c;
float p;

struct pop           //create chromosome structure
{
unsigned short gene[L+1];
short fitness;
}chrom[N+1],off_chrom[N+1];

FILE *fout;

main()		//main function
{
short F;
float r;

fout=fopen("result","w");		//open a file for output data

scan();		//user input the datas and genetic operators

initial_population();		//generate an initial population at random
fitness_evaluation(&chrom);	//evaluate fitness of each chromosomes in initial population

print();					//fprintf the initial population

for(G=2;G<=z;G++)			//loop the generation
{
cal();					//calculate the value of chosen selection operator

for(c=1;c<=N/2;c++)		//loop to produce N offspring
{
selection();		//switch to generate the selected selection operator

r=RANDOM;			//generate a random number
if(r<=p)
crossover();	//switch to generate the selected crossover
else
reproduction();	//both parents produce two offsprings by reproduction
}

mutation();				//switch to generate the selected mutation operator

fitness_evaluation(&off_chrom);	//evaluate the fitness of offspring

replacement();			//replace the least fit chromosome by the fittest offspring

printf();				//fprintf the new population

F=sum_fitness();		//sum the fitness of new generation
if(F==(N*L))			//stop the GA when the population converge
{
fprintf(fout,"The population is converges in generation %d.\n",G);
break;
}
}

fclose(fout);		//close the file
}						//end of main``````

Edited by WaltP: Added CODE Tags -- learn to use them

I need a program now..

This came across as if you were demanding someone to do your coding.

Sorry..I just to try an error..I am surprisingly shocked when I saw your reply..
I am not trying to ask someone to write the whole program for me, maybe I can retrieve a guidance as my reference from here..rather than blank in front of the pc..sorry if I had offended..