数学建模社区-数学中国
标题:
TSP算法小软件要考虑的问题很多
[打印本页]
作者:
释永思
时间:
2016-5-4 15:13
标题:
TSP算法小软件要考虑的问题很多
本帖最后由 释永思 于 2016-5-10 14:12 编辑
s$ ^3 Z6 \8 e, Y
/ T$ F& l' m8 P$ s$ G% k
TSP算法小软件要考虑的问题很多。
1 R9 g M: g6 ]5 I
选择遗传算法,蚁群算法,动态规划算法三种算法,
9 w8 t* \& g' U; y
如何让这三种算法有公共的参数,如顶点数,顶点坐标,用户自定义坐标,随机生成坐标。
9 j; O5 _4 B5 }5 a- z
又如何三种算法有各自不同的参数,如遗传次数,蚁群蚂蚁数。。。
; h R# b( a4 ?* _. I8 k
显示的顶点与坐标,如果超出屏幕如何滚动,顶点如何标号,如何显示最后路径标号。。。
) P3 \) `+ Y& |! Z( e
这三种算法,要如何显示动态求解过程,而不是仅仅显示一个结果。。。
0 V W7 W0 F/ _3 ?7 _& x
最后决定,不作为压力任务,有空时搞下,没空时算了,不理了。。。
1 ~1 s+ H1 @6 K) J
: K0 J$ Y# A. e3 }5 x: G, z
TSPv20.rar
(222.11 KB, 下载次数: 1)
2016-5-10 14:12 上传
点击文件名下载附件
下载积分: 体力 -2 点
c4 j; |! I h) n. F4 b- g
- L; ^$ O* s, \( W7 q/ j+ ~' Q
2016-5-10 11:56 上传
下载附件
(22.54 KB)
2016-5-10 11:13 上传
下载附件
(22.86 KB)
h! e' ]% I) L2 X
2016-5-4 17:23 上传
下载附件
(136.95 KB)
m( h& W1 T! |
! p! R1 V* R! ?$ }
2016-5-7 09:57 上传
下载附件
(75.54 KB)
+ i2 z0 E' k) F, ~, s
& y5 \+ j2 f! ^5 h
2016-5-7 09:58 上传
下载附件
(91.11 KB)
& j W. h, g4 \5 J6 U0 Y
2016-5-7 09:58 上传
下载附件
(16.66 KB)
6 G( [+ h( ? }7 R. ?# {& E
- W; Z4 Z3 _* h
% B% a" z6 T9 T) @" D7 y
' O# G9 m4 x9 p; h0 ?; t y7 N$ k
7 t: Z2 _) V' N5 x6 O5 B! W0 v+ A
& ^; Q+ P. I: R
; l, ~6 K. o8 g3 Y& ]$ T- o2 @: N/ d: t
" k6 ^" y8 N! Z8 s$ ^( M7 z8 v
0 [! y3 L7 l) v9 C
0 f* W. H( V2 A9 G
% J) \. @( f8 g9 |3 t( e2 t: h
7 {0 I; Q% h- `. }% [/ A( b1 _
" F; f) i4 ?" _( s) Q
& P- n& b, T$ n! G
2 D# S6 M( o7 D/ F. G5 W
9 V4 \. g' l/ E3 @6 ?/ w8 v6 |$ r
作者:
释永思
时间:
2016-5-7 11:31
我开发的TSP算法小软件(未完成),暂时如此,下载网址:
http://pan.baidu.com/s/1geZdh2F
. d4 \/ U* R$ K# K
作者:
释永思
时间:
2016-5-7 15:09
我开发的TSP算法小软件(未完成),暂时如此,下载网址:
& D8 D4 ^4 w) n9 q" F
http://pan.baidu.com/s/1o8y7sbK
+ `. ]! T' F6 X0 y& K' o
比刚才的改正了一些BUG。基本上DELPHI的遗传算法与蚁群算法都可行的了。
0 H4 z1 C, ]9 y3 d3 n
现在周末放松下先,下周开始专攻DELPHI的TSP的动态规划算法代码了。
; K& I& S* j* `+ o' T" _' _1 M
小软件,玩下而已,不必太过认真,兴趣玩下。
: n; T( o8 m J) o# p7 _1 V( [
作者:
释永思
时间:
2016-5-9 15:37
首先解决TSP的DP的数据存储问题,所以称为状态压缩法。也就是用二进制字符串表示子集的方法
& [3 K5 I# _2 c) n# f. ~
/ A& x7 s7 v8 s8 ?$ D- X, W
。一个TStringList,一行代表一列,即一行本是这样的: 01011101001,P1,P2,,,Pn,
0 m. N2 _; s$ o1 A9 n! U
这样用TStringList来做是可能正确的方法。
' G( d9 t0 W$ w }2 X
由于不可能太大量,所以不用TStringList来做,改用数组来做,这样一样用二进制字串代表表示
* M7 ] f) x9 R* O& N( q' f7 X
" ]% O( t/ |: e# H
子集的方法,就成为方向了。
& R6 Z) p" }: w
作者:
释永思
时间:
2016-5-10 10:17
本帖最后由 释永思 于 2016-5-10 16:32 编辑
: v8 J7 K9 F7 \" u1 H
0 F' Z8 {: S8 p! T, o8 g. h
经过一段时间的辛苦研究开发,TSP问题算法小软件V1.0终于开发完成了,先发出来让大家使用下
* j- ?9 e& M5 s* b5 n1 e# \5 m
先,有什么BUG以后再理了。有遗传算法,蚁群算法,动态规划算法,三种算法同时求解,GUI图
0 _+ n- x. K/ O% i: ^8 I
形路径显示,方便大家学习研究。
9 D3 F: m% P4 Z" o/ z7 m0 ?5 |
下载网址:
http://pan.baidu.com/s/1nveqIV3
( }" e' A: X9 h& n& Z
作者:
释永思
时间:
2016-5-11 14:36
我现在开始学习思考,遗传算法,蚁群算法,动态规划,在求连续函数的极值中的应用。
2 `7 U' s g% ^# U: I" z% d7 y6 p2 Y
在TSP中的应用我已经知了,在连续函数中求极值,又要学习一番了。
7 a" L/ u+ ?2 T, D5 Y( p# x
作者:
释永思
时间:
2016-5-12 10:49
自思自悟:
/ k* s3 h& Q6 I0 k* `. Q- K0 G. r; ]
蚁群求极值:
( U! _+ | ?) q: ~. }# E8 n# K U/ n9 ?
一开始M个蚂蚁,平均取值,得到M个适应值。
" G* m4 F2 N; `8 R$ @) q8 B( k# a
由M个适应值,按比例比重调整信息素,
- y- G* S' M' `( m
下次产生随机点时,不是平均产生,是按信息素产生,
& v& p$ ]& v/ D3 _2 q
就是这么简单。
) B9 _2 b& m7 T+ h# p
不理什么路径。蚁群在求函数极值时路径对应什么,实在想不出来。
# O; r* w- y! c _ w( R( j
+ P9 v$ \6 E# {8 l. E% a
遗传算法求极值:
: m$ F* l3 w b% o7 |2 t) v0 h
一开始M个种群,平均取值,得到M个适应值。
! d) e: q5 @6 h1 R/ z5 Y" L4 ^
交叉变异,又得N个适应值,排序筛选种群。重复。
3 N/ v) V* u8 E" u3 a
如何交叉变异,这是数字游戏。
8 Y1 b7 b: q1 ^5 ?3 R9 S
3 e. m4 d7 t, S
作者:
释永思
时间:
2016-5-12 13:37
本帖最后由 释永思 于 2016-5-12 15:34 编辑
8 T9 `6 U R' f9 G
G) \5 `: E- i% Q# o/ L
关于思考一个数字与一条路径的对应关系,又令我一个午睡没法睡着。
+ z5 |( M$ p. Y$ j+ E
我这样想,一个数字,假定是固定的N位数,则每位数是十进制,就是N重循环,每重循环取十个数字。
" c( a. V1 D# t! b
这如同一个图,有N个点,每个点十条边,穷举历遍所有路径,就是N位数字的全部数字。这样,就可以和蚁群中的路径对应上了,就可以用蚁群中的节点信息素来运用到函数求极值上来了。这样,不用一个蚁点一个信息素,而是一位数字一个信息素,与TSP路径可以对应上了。为思考此,我又一个午睡没有睡着了。
* c" E; x) S' R; j9 p
7 X$ X/ k, Z+ v# w5 g! B$ M2 f3 Q) g
2016-5-12 15:34 上传
下载附件
(29.57 KB)
' H: O% |" g( o* ^
9 M: U3 o* M0 f" f0 f
$ f" ^1 K8 x, e, z8 i
! x# z5 q; [& W: c5 _$ ]( D8 `
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5