QQ登录

只需要一步,快速开始

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

[问题求助] 求大神解答,关于floyd算法

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

8

主题

4

听众

114

积分

升级  7%

  • TA的每日心情
    难过
    2012-9-7 13:32
  • 签到天数: 21 天

    [LV.4]偶尔看看III

    自我介绍
    一名新人

    群组学术交流B

    群组学术交流A

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

    群组建模讨论组

    群组竞赛备战群

    跳转到指定楼层
    1#
    发表于 2012-8-24 16:54 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    这是2000年b题的一个floyd算法matlab程序。。。。。但是有些看不懂啊~~~那个大神指教一下~~~~
    0 A6 Y9 t' d1 w) r  R% b
      `9 D6 @& E: y3 F: f: n( v2 OFloyd算法函数在matlab下的M函数文件如下:' Z- ]+ g5 X/ z/ _3 t
    function [D,path]=floyd(a)1 s; Y! _- X# |& e& J
    n=size(a,1);* a1 W" _/ S5 M! I* c* V6 b
    D=a;path=zeros(n,n);
    3 _4 W9 N9 O, V' k! j: i# @for i=1:n
    6 s5 X- d6 O* ~$ q* p    for j=1:n5 l, m3 u  u4 M
            if D(i,j)~=inf( X+ Z- g( F3 m$ O/ P- z3 o
                path(i,j)=j;* q& F* G7 I9 c) N$ ?4 R  R. H4 Z
            end! q: O+ v6 w/ v5 l$ A
        end, O' q& Y+ Q" K5 ^. H/ T6 \
    end
    9 h( }0 y/ }  H; n+ y+ sfor k=1:n
    0 M! @, T, s" I6 S, S; c    for i=1:n0 k, \- g1 E3 ~
            for j=1:n
    ! d1 @. u  P- A  v1 t4 }9 j. e            if D(i,k)+D(k,j)<D(i,j)
    2 I- h. k: ^4 |" c7 Z                D(i,j)=D(i,k)+D(k,j);/ w- ]* N) v  C
                    path(i,j)=path(i,k);( z$ @$ {' {+ y/ @# P$ l
                end9 P# U* J( J* P
            end
    . o! N4 h. u7 O6 u0 q; ?    end
    # h8 ?1 y6 k1 e1 z: Yend
    / k9 ~+ a8 G/ K3 C: g( U6 Y' l上面是一个函数,这一部分可以看懂,但是下面这个求最小费的问题就看不懂了。。。。! |. u5 n" t" I- q+ o8 M
    ab=[1 1 2 3 4 5 6 7 8 9 10 11 12 13 15 16 17 18 19 20  20 22 23];/ a- [8 h- ^, A! ~1 k$ B
    bb=[ 14 15 15 16 19 18 23 24 10 10 11 15 13 14 16 17 19 19 20 21 22 23 24];
    ' g2 p6 w+ l, n& P" C: P( c7 [9 Jw=[20 202 1200 690  690 462 70 30 450 80 1150 1100 306 195 720 520 170 88 160 70 320 160 290];- i, j6 n: f& ^! }! G9 J) P
    ab1=[1 2 4 5 6 7 8 9 10 11 14 15 16 17 18 33 34 35];3 T2 o4 W- H  N1 U, I* t) t
    bb1=[19 20 21 22 23 24 25 26 27 28 29 30 31 31 19 24 31 32];9 G+ i2 {# J) ?# L! h" `. k
    w1=[3 2 600 10 5 10 12 42 70 10 10 62 30 20  104 31 110 20];
    . U$ F) z$ c* x+ B, _, Fa=sparse(ab,bb,w);
    % h. M9 O' ]0 a! I/ Qa(24,24)=0;
    1 [# R, I/ ?) H3 e" Z0 T2 w7 b; Pa=a+a’;
    $ P7 T2 p* }9 \- ]5 {a=full(a);+ S) N. t2 I6 c, l5 ]. j8 l) ?
    for i=1:24
    & C& E8 N2 I3 P2 o2 W    for j=1:24
    9 l, N; J, Q  ^        if(a(i,j)==0&i~=j)' t# Y9 x% T/ ]9 A, N
                a(i,j)=inf;2 s' f3 O2 I! p
            end" H5 _1 ~" E6 E# {
        end* [" f+ s% u9 u- V
    end. Z+ s1 @* k! |! N9 l* M2 z7 G
    [D,path]=floyd(a);$ `6 L1 r! l! G6 o: d
    a1=sparse(ab1,bb1,w1);
    7 `# A6 U# z: o4 H1 Y8 }4 F1 za1(35,35)=0;- f) v3 s8 A5 o9 r3 q2 d# J; {3 B
    a1=a1+(a1)';# Y" `" B5 m* l1 e
    a1=full(a1);
    2 Z3 O8 `2 a' V2 I/ Z: Yfor i=1:35$ X5 A: j2 z# `
        for j=1:35
    ' }( t9 N3 C1 D) d/ a- m- B$ ]        if(a1(i,j)==0&i~=j)4 M5 G; ^+ M- F
                a1(i,j)=inf;
    % d$ A% x5 [  ?/ D( `0 j        end- S! T5 `# _0 \9 s8 Q; J# r5 q
        end+ F  |! v5 r* o3 ?7 C
    end
    + d0 b$ a& E* J1 R, Q[D1,path1]=floyd(a1);! N$ t( x4 d% x1 X+ @2 g
    上面这一段应该是赋值求最短路了吧,,,但是这赋值是赋得什么值额????有大神的话可以在后面注释一下。。。万分感谢。。。
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    Araneider        

    8

    主题

    4

    听众

    114

    积分

    升级  7%

  • TA的每日心情
    难过
    2012-9-7 13:32
  • 签到天数: 21 天

    [LV.4]偶尔看看III

    自我介绍
    一名新人

    群组学术交流B

    群组学术交流A

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

    群组建模讨论组

    群组竞赛备战群

      管订购和运输(2000年网易杯全国大学生数学建模竞赛B题)" M( n* @. B  p9 N, V+ d, J9 q$ [
         要铺设一条的输送天然气的主管道,如图所示。经筛选后可以生产这种主管道钢管的钢厂有。图中粗线表示铁路,单细线表示公路,双线表示要铺设的管道(假设沿管道或者原有公路,或者建有施工公路),圆圈(点) 表示火车站,
    7 ^* u8 k) X# o7 X0 U' t* i7 g  每段铁路、公路和管道旁的阿拉伯数字表示里程(单位km)。
    ! q/ J, l2 \& e+ G       为方便计,1km主管道钢管称为1单位钢管。- D* s* w3 ^* O; [7 _9 J
        一个钢厂如果承担制造这种钢管,至少需要生产500个单位。钢厂在指定期限内能生产该钢管的最大数量为个单位,钢管出厂销价1单位钢管为万元,如下表:! L" e+ W0 D" G0 B6 Z8 t; E1 x, G
    I           1           2           3          4          5          6           7
    4 n* _+ X  H/ m        800        800        1000        2000        2000        2000        3000
    & s: `, ]# q6 s- \) J' C- x' z% k        160        155        155        160        155        150        160
    1 R( T* D. X8 I2 q, |: G  h- N  一单位钢管的铁路运价如下表:
    5 X5 O$ ~' ^% \7 m5 T7 ^里程(km)        ≤300        301~350        351~400        401~450        451~500
    , \. {% S) B1 N/ M# d) N运价(万元)        20        23        26        29        32: ?* _/ o% G: s; H! |: P
    里程(km)        501~600        601~700        701~800        801~900        901~1000/ Z7 P/ Z% Q3 j
    运价(万元)        37        44        50        55        60
    7 ^' @8 ?  f1 c  V+ u  1000km以上每增加1至100km运价增加5万元。, |5 j1 r% ^, B4 H
         公路运输费用为1单位钢管每公里0·1万元(不足整公里部分按整公里计算)。! B3 p$ Y2 i7 D3 q3 W3 v
      钢管可由铁路、公路运往铺设地点(不只是运到点,而是管道全线)。
    & p2 k+ k8 V" d; Q7 |( v6 }请制定一个主管道钢管的订购和运输计划,使总费用最小(给出总费用)。
    - n' z$ G4 u+ E) v, z请就(1)的模型分析:哪个钢厂钢管的销价的变化对购运计划和总费用影响最大,哪个钢厂钢管的产量的上限的变化对购运计划和总费用的影响最大,并给出相应的数字结果。
      c' u% _: `1 A* {0 n1 w4 Q如果要铺设的管道不是一条线,而是一个树形图,铁路、公路和管道构成网络,请就这种更一般的情况给出一种解决办法,并对图二按(1)的要求给出模型和结果.
    ) T8 L# S+ e9 T9 ?1 N2 @8 E0 f7 C# T5 i1 R8 m
    C:\Documents and Settings\Administrator\桌面
    回复

    使用道具 举报

    Araneider        

    8

    主题

    4

    听众

    114

    积分

    升级  7%

  • TA的每日心情
    难过
    2012-9-7 13:32
  • 签到天数: 21 天

    [LV.4]偶尔看看III

    自我介绍
    一名新人

    群组学术交流B

    群组学术交流A

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

    群组建模讨论组

    群组竞赛备战群

    回复

    使用道具 举报

    Araneider        

    8

    主题

    4

    听众

    114

    积分

    升级  7%

  • TA的每日心情
    难过
    2012-9-7 13:32
  • 签到天数: 21 天

    [LV.4]偶尔看看III

    自我介绍
    一名新人

    群组学术交流B

    群组学术交流A

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

    群组建模讨论组

    群组竞赛备战群

      钢管订购和运输(2000年网易杯全国大学生数学建模竞赛B题)8 H& ]5 F6 |! _, P- [* e; T
         要铺设一条的输送天然气的主管道,如图所示。经筛选后可以生产这种主管道钢管的钢厂有。图中粗线表示铁路,单细线表示公路,双线表示要铺设的管道(假设沿管道或者原有公路,或者建有施工公路),圆圈(点) 表示火车站,  _5 X- t1 R" J  y) _  H) x% S
      每段铁路、公路和管道旁的阿拉伯数字表示里程(单位km)。4 W9 R2 L: r$ \4 b' X
           为方便计,1km主管道钢管称为1单位钢管。: l) M/ n* m- h1 D) p. q, p
        一个钢厂如果承担制造这种钢管,至少需要生产500个单位。钢厂在指定期限内能生产该钢管的最大数量为个单位,钢管出厂销价1单位钢管为万元,如下表:
    1 {" V' L  n$ Z1 K# ?; L) GI           1           2           3          4          5          6           75 X0 q+ l6 R8 u* D' X/ Z; [
    Si        800        800        1000        2000        2000        2000        3000/ [9 L6 {1 ~1 _# {1 ]; A: h4 M
    Pi        160        155        155        160        155        150        160
    9 u3 R0 \( Z: e8 O- ?+ w9 G  一单位钢管的铁路运价如下表:0 n3 R- g5 [7 \8 K
    里程(km)        ≤300        301~350        351~400        401~450        451~500
    ; e% a/ I& W; x运价(万元)        20        23        26        29        328 H/ r/ E" R0 }0 C- S8 S
    里程(km)        501~600        601~700        701~800        801~900        901~1000
    3 h/ q" l: k+ k$ d$ X1 _运价(万元)        37        44        50        55        60
    - [5 v7 ]' D( C. p/ `) R  1000km以上每增加1至100km运价增加5万元。
    ( H5 q0 U: ~2 c, I     公路运输费用为1单位钢管每公里0·1万元(不足整公里部分按整公里计算)。
    $ C- U5 Y/ [: [7 h0 t8 [2 W: |  钢管可由铁路、公路运往铺设地点(不只是运到点,而是管道全线)。
    . a9 H' m3 G0 b# }) o: p& E5 C1.请制定一个主管道钢管的订购和运输计划,使总费用最小(给出总费用)。
    + H- z/ a* s$ q8 u. A. [# n% A2.请就(1)的模型分析:哪个钢厂钢管的销价的变化对购运计划和总费用影响最大,哪个钢厂钢管的产量的上限的变化对购运计划和总费用的影响最大,并给出相应的数字结果。
    ' I. v: f/ {& X( o7 ~. ~5 R3.如果要铺设的管道不是一条线,而是一个树形图,铁路、公路和管道构成网络,请就这种更一般的情况给出一种解决办法,并对图二按(1)的要求给出模型和结果.
    回复

    使用道具 举报

    Araneider        

    8

    主题

    4

    听众

    114

    积分

    升级  7%

  • TA的每日心情
    难过
    2012-9-7 13:32
  • 签到天数: 21 天

    [LV.4]偶尔看看III

    自我介绍
    一名新人

    群组学术交流B

    群组学术交流A

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

    群组建模讨论组

    群组竞赛备战群

    回复

    使用道具 举报

    Araneider        

    8

    主题

    4

    听众

    114

    积分

    升级  7%

  • TA的每日心情
    难过
    2012-9-7 13:32
  • 签到天数: 21 天

    [LV.4]偶尔看看III

    自我介绍
    一名新人

    群组学术交流B

    群组学术交流A

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

    群组建模讨论组

    群组竞赛备战群

    回复

    使用道具 举报

    3

    主题

    7

    听众

    179

    积分

    升级  39.5%

  • TA的每日心情
    擦汗
    2015-1-22 15:49
  • 签到天数: 21 天

    [LV.4]偶尔看看III

    国际赛参赛者

    自我介绍
    我是本科在校学生,从小就喜欢数学,希望可以在这里学到想要的东西。。。

    群组学术交流B

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2025-8-14 17:20 , Processed in 0.733346 second(s), 85 queries .

    回顶部