Visualisation of Genetic Algorithms for the Traveling Salesman Problem in Java --by Johannes Sarg

原创 2004年08月14日 02:20:00

The Traveling Salesman Problem (TSP)

Find the shortest trip through n towns where each town must be visited exactly once.

In the following we define that from each town all other towns can be visited. The costs to visit a town from another are represented by their euklidic distance. Therefore the costs are reflexive.

The Genetic Algorithm (GA)

A GA tries to use basic principles of natural evolution. It is especially appropriate for problems with large and complex search-spaces, where the global optimum can't be found within a reasonable amount of time using traditional techniques as e.g. total enumeration or branch and bound. It cannot be guaranteed that the optimum solution is found by the GA. Here are some references for GAs.

Structure of a GA:

procedure GA begin t = 0; initialize(P(t)); evaluate(P(t)); while (not termination condition) begin t = t + 1; Qs(t) = selection(P(t-1)); Qr(t) = recombination(Qs(t)); P(t) = mutation(Qr(t)); evaluate(P(t)); end;

end;

Description:

A set of potential solutions are randomly initialized and their quality evaluated. Out of this set better solutions are preferred, corresponding to a probability distribution. Each time, two of the selected solutions creats new solutions by recombination which finally are mutated. These generated solutions are evaluated and represents the basis for the next generation. In this way a GA tries to find better solutions and to reach the global optimum.

Objectives of the program TSPGA

exact simulation and visualisation of a GA run visualisation of the mutation and recombination methods possibility to compare different GA runs concerning the same TSP

The GA for TSPs

In the "Options" menu, you can configure the following properties for the GA:

GA parameters:

recombination methode: Partially Matched Crossover (PMX) Order Crossover (OX) Cycle Crossover (CX) Uniform Order Based Crossover (UOBX) Edge Recombination Crossover (ERX) ERX with heuristic (Grefenstette) None recombination probability (0% - 100%) mutation methode: Inversion Insertion Displacement Reciprocal Exchange (Swap) None mutation probability (0% - 100%) population size (5 - 100) k value for the Tournament selection (1 - 10) elitism (true / false)

Set Problem: A grid can be defined where the user can set the positions of the towns (4 - 100 towns).

一种优化的Genetic Algorithm —— Python实现

一种优化的Genetic Algorithm —— Python实现优化内容:1、 加入精英保护机制,种群内最优秀个体将被保留,精英更迭采用“打擂机制”,加快收敛。2、 变异基因数服从泊松分布,模拟每...
  • JayRoxis
  • JayRoxis
  • 2017年06月22日 13:58
  • 695

贪心解决:TSP问题(Travelling Salesman Problem)即旅行商问题

一、TSP问题 TSP问题(Travelling Salesman Problem)即旅行商问题,又译为旅行推销员问题、货郎担问题,是数学领域中著名问题之一。假设有一个旅行商人要拜访n个城市...
  • hzw05103020
  • hzw05103020
  • 2015年11月13日 16:12
  • 7706

简单的遗传算法(Genetic algorithms)-吃豆人

遗传算法简介:一直都在收听卓老板聊科技这个节目,最近播出了一起人工智能的节目,主要讲的是由霍兰提出的遗传算法,在目中详细阐述了一个有趣的小实验:吃豆人。首先简单介绍下遗传算法: 1:为了解决某个具体...
  • u013564276
  • u013564276
  • 2016年12月05日 20:52
  • 1725

模拟退火算法_数学建模系列

对于那些受大自然的运行规律或者面向具体问题的经验、规则启发出来的方法,人们常常称之为启发式算法。模拟退火算法来源于固体退火原理,将固体加温至充分高,再让其徐徐冷却,加温时,固体内部粒子随温升变为无序状...
  • DearRita
  • DearRita
  • 2016年08月18日 03:09
  • 1037

利用遗传算法优化神经网络:Uber提出深度学习训练新方式

在深度学习领域,对于具有上百万个连接的多层深度神经网络(DNN),现在往往通过随机梯度下降(SGD)算法进行常规训练。许多人认为,SGD 算法有效计算梯度的能力对于这种训练能力而言至关重要。但是,Ub...
  • Uwr44UOuQcNsUQb60zk2
  • Uwr44UOuQcNsUQb60zk2
  • 2017年12月23日 06:41
  • 193

学英语《每日一歌》之Traveling Light

Joel Hanson(乔伊.汉森)曾经是荣获过格莱美奖和基督摇滚音乐和平鸽奖(Dove Award)的美国福音乐队(PFR)的 成员主唱和吉他手。在1997年PFR解体之后,他走上了单飞的音乐道路,...
  • erlian1992
  • erlian1992
  • 2016年06月22日 11:26
  • 1751

《算法》第4版(Algorithms Fourth Edition)在Eclipse下的重定向与管道问题

《算法》第4版(Algorithms Fourth Edition) 人民邮电出版社 在本书中的示例中,Java程序可以从命令行参数和标准输入流的抽象字符流中获取输入,但我们日常用的最多的环境是在Wi...
  • huanghxyz
  • huanghxyz
  • 2017年06月25日 23:04
  • 399

Genetic Algorithm遗传算法学习

参考资料:http://blog.csdn.net/b2b160/article/details/4680853/#comments(冒昧的用了链接下的几张图) 百度百科:http://baike....
  • Androidlushangderen
  • Androidlushangderen
  • 2015年03月03日 18:34
  • 4444

HDU-A+B Problem 的Java题解 用Java语言做ACM的注意事项

A+B问题应该可以说是做起来最开心的ACM题目了,杭电上从1089~1096全都是A+B问题,虽然都是水题,但是在此处也贴出来算了,八道题随便贴几道,内容没什么好说的,就加加加~~~就行啦。   因...
  • qq_33171970
  • qq_33171970
  • 2015年11月28日 21:37
  • 1780

Algorithms(week 1,普林斯顿大学公开课)

如需视频,课件资料等,请留言,留下email 设计一个算法的步骤:Steps to developing a usable algorithm. ・Model the problem. ・Fin...
  • lemon89
  • lemon89
  • 2016年02月02日 01:28
  • 1448
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Visualisation of Genetic Algorithms for the Traveling Salesman Problem in Java --by Johannes Sarg
举报原因:
原因补充:

(最多只允许输入30个字)