QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3689|回复: 0
打印 上一主题 下一主题

Floryd算法求解惑

[复制链接]
字体大小: 正常 放大

2

主题

3

听众

90

积分

升级  89.47%

  • TA的每日心情
    难过
    2013-5-10 22:13
  • 签到天数: 22 天

    [LV.4]偶尔看看III

    群组C 语言讨论组

    群组数学专业考研加油站

    群组全国大学生数学建模竞

    群组Matlab讨论组

    群组数学建模

    跳转到指定楼层
    1#
    发表于 2012-8-2 21:05 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
        在学习建模的过程中遇到一个关于floryd算法的问题,就是floryd所解出的结果并不一定能得出所有的结果。但自己无法求证,求正解。下面是一个例子:
    + l" q$ F. n0 R' E8 T    例13.2.某公司在六个城市 中有分公司,从 到 的直接航程票价记在下述矩阵的 位置上。( 表示无直接航路),请帮助该公司设计一张城市 到其它城市间的票价最便宜的路线图。
    * P; @* y- P! i1 T: s                         0    50    inf    40    25    100 G' ^& s  ^" x" W) B$ m+ _
                             50    0    15    20    inf    25 . T/ H# \% ?, ~9 j, Y& {
                             inf    15    0    10    20    inf  a0 w% n. D: X# Q# K. n  g
                             40    20    10    0    10    255 u* e" X: ~1 W- c) z+ m
                             25    inf    20    10    0    557 \1 m& q+ ^* ]2 J7 ]7 ^" H) e
                            10    25    inf    25    55    0
    ! m% U& ^  w' ?. Y, l4 X
    * ~" g( `; x+ @2 Z* v& `5 q    弗洛伊德算法:, ?2 B' ~+ u+ @
    程序如下:
    ' }2 K, |/ ^6 X; ?% Fclear;
      j$ S# \, ?# y' }* sclc;
    . e( H  K7 n0 c" F7 o, g+ CM=10000;" Q/ m7 Z$ N) z9 E* }# B8 b
    a(1,:)=[0,50,M,40,25,10];
    & i! K  f, V) |( W- ?& H3 r' Va(2,:)=[zeros(1,2),15,20,M,25];+ X; F) m7 e0 x, c$ Q; y2 w5 ]
    a(3,:)=[zeros(1,3),10,20,M];) p7 a6 R& p! D' C
    a(4,:)=[zeros(1,4),10,25];
    , G# W& {5 n" |$ ^$ Wa(5,:)=[zeros(1,5),55];
    * Y- I5 Q3 j: V% e6 }) va(6,:)=zeros(1,6);
    " L7 u2 x/ a5 g% Y1 Qb=a+a';path=zeros(length(b));
    3 [! A' i. E; d) h. ^6 G: u7 Rfor k=1:6/ N# x0 I* t; e, J# C
       for i=1:6- n1 q6 q: }! ?5 J) P3 ?" Q
          for j=1:6
    : y3 |5 z; _4 ^3 e         if b(i,j)>b(i,k)+b(k,j)  }+ p) g6 F' \) o
                b(i,j)=b(i,k)+b(k,j);
    . @; G# s# h' A# Q4 \3 t! g* M) h            path(i,j)=k;
      R: d7 _" R( O1 O& z9 y" b6 B( O. k         end5 }" o" B) ^+ i$ {3 p& E
          end
    0 s. K, S( J2 o4 x   end
    4 _7 ~8 X1 u( C# Z5 e9 F$ gend
    6 `2 C& v/ y9 H6 k5 q8 Mb, path                  
    1 l+ a* o( ]4 e: P运行结果:5 V8 |% w. [4 f
    b =( a4 d" P! @; G, ^& M# I

    5 B$ J: {# @; d$ ?) g     0    35    45    35    25    10' b& o$ ?/ G) u
        35     0    15    20    30    25
    * ^. L9 R( g: u1 r" x- M    45    15     0    10    20    35" U7 ^; j% _$ ^& S# H* {) F. ]
        35    20    10     0    10    25- K, d1 K. k% n8 m# G+ N
        25    30    20    10     0    35
    # K# q# H# ^% @  C4 l8 H( y    10    25    35    25    35     0
    " P  s& M, O* e1 ~
    5 N$ N: P( |7 o; X9 U% A& D9 j' H! A- l  C6 s) O
    path =
    7 @; j* O4 i. B1 I" u& D
    - |1 B8 U& ~( a4 A     0     6     5     5     0     0
    % N; \  z3 h# n+ G     6     0     0     0     4     0
    % V6 A: o$ X* X     5     0     0     0     0     4
    ( f/ g" d, `4 u! p     5     0     0     0     0     0
    5 H! T% B# g) C" i% ~! q     0     4     0     0     0     1
    0 z, s% X, a- P3 z) ]1 S     0     0     4     0     1     0
    0 d4 j! H* S9 d  O! I对于从5到6,票价最少的路径有两条5--4--6和5--1--6,票价都为35元,但算法所得结果中这体现了5--1--6。
    6 p& Y1 r9 S+ \0 p/ d  }9 N& z1 J# ~( [, d4 W: a* `! A
                
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-7-31 09:59 , Processed in 0.460767 second(s), 55 queries .

    回顶部