QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 4304|回复: 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程序。。。。。但是有些看不懂啊~~~那个大神指教一下~~~~
    $ |( o4 c% n- u" y' J
    2 U% M4 H7 c) O1 o; H7 I) @5 ?Floyd算法函数在matlab下的M函数文件如下:
    4 n5 v9 @5 O6 x) N; j- V: R6 kfunction [D,path]=floyd(a)$ [/ l  l2 v* V% o' H2 z+ N
    n=size(a,1);
    , `$ G. {. S$ kD=a;path=zeros(n,n);
    5 Q/ M1 T6 R/ X6 S, I% {9 V' qfor i=1:n
    $ ?5 A9 A7 t, N" ]* y1 t8 O    for j=1:n
    ( a$ E) Z8 K* P9 {. A% P$ v' p: C        if D(i,j)~=inf
    ' w) d. Q$ T0 f* x% l            path(i,j)=j;# g6 |2 R4 Q4 t+ V" n5 q
            end
    . ~5 v3 J6 c! ]# q    end
    5 M; x4 R) S& |' Y# i$ J2 N! Jend( z& \6 ~  X' l9 v9 M/ D3 c
    for k=1:n
    9 c4 k' y9 K& Q1 @) {2 D/ G' z    for i=1:n
    , w/ M0 L* q9 E1 Y        for j=1:n# r" l2 P, F; @, T" B$ T
                if D(i,k)+D(k,j)<D(i,j)
    $ c% S0 y* U' d! s% |% {0 k) y: k                D(i,j)=D(i,k)+D(k,j);7 F/ X7 _& M6 O9 b- J6 a# K
                    path(i,j)=path(i,k);
    ' q3 o( M  `8 d5 b7 n            end, n7 D  m* A5 B% u9 z! P3 l, o
            end* s$ X' i9 O) R
        end2 n" k: |$ A! c" v- ^
    end
    - y6 F( B* P: b* A1 I. c# Q+ A上面是一个函数,这一部分可以看懂,但是下面这个求最小费的问题就看不懂了。。。。* B. h. h, I! M7 a6 q. q
    ab=[1 1 2 3 4 5 6 7 8 9 10 11 12 13 15 16 17 18 19 20  20 22 23];
    * r& \* J) Q/ C' A- Xbb=[ 14 15 15 16 19 18 23 24 10 10 11 15 13 14 16 17 19 19 20 21 22 23 24];; T0 Z* m* X9 |0 D
    w=[20 202 1200 690  690 462 70 30 450 80 1150 1100 306 195 720 520 170 88 160 70 320 160 290];- p: p$ W2 d/ _: B; ?' a% I
    ab1=[1 2 4 5 6 7 8 9 10 11 14 15 16 17 18 33 34 35];3 x  r  V& T5 }, \8 j9 n6 s
    bb1=[19 20 21 22 23 24 25 26 27 28 29 30 31 31 19 24 31 32];/ N8 z4 {& W0 w1 A+ {' k
    w1=[3 2 600 10 5 10 12 42 70 10 10 62 30 20  104 31 110 20];; H  d+ R# F# d6 K# ?. x
    a=sparse(ab,bb,w);! V5 i/ D( w, ]% O. b
    a(24,24)=0;
    - J% b8 M' M  f  Ja=a+a’;
    & F' h9 R0 u) m" v( V" pa=full(a);
    4 R+ g+ D4 f+ zfor i=1:24
    ) H3 M% ?0 m2 h; b0 x' ^; w4 [% Q    for j=1:24
    / T" |5 W# h7 t$ ?2 e        if(a(i,j)==0&i~=j)
    9 p1 u5 |; p) A: V: O3 R, n            a(i,j)=inf;
    $ q& Y# D/ Q0 J" E0 U        end3 b* N, d% `1 I' f  w. [$ `+ F
        end
    9 V3 Y: s. m$ w; g" s, I1 iend
    " h) V4 V: P( J3 ^3 E( @[D,path]=floyd(a);
    " T0 |  |* T. H' {3 w4 Ta1=sparse(ab1,bb1,w1);, B' q. P5 P+ Q0 t) X3 s
    a1(35,35)=0;& g0 a4 o; H4 X. O4 h( {* L) ^/ g
    a1=a1+(a1)';& l4 L5 p2 T& z9 \
    a1=full(a1);
      |" l. p, X; L5 T8 S) y# M% cfor i=1:35& {# Y- \1 t; R7 O# r
        for j=1:35+ n( h* R! {: k) ^: b5 C4 o
            if(a1(i,j)==0&i~=j)
    + i/ R$ }( k  V            a1(i,j)=inf;
    4 U7 u' a, j. ~        end: @* [$ }$ K, x: B0 p1 h$ ]
        end
    4 ]2 I$ ]3 k: y$ w0 ~3 Yend
    4 m! T# U4 m7 |- y[D1,path1]=floyd(a1);
    3 Q9 j1 ]. H) X4 j上面这一段应该是赋值求最短路了吧,,,但是这赋值是赋得什么值额????有大神的话可以在后面注释一下。。。万分感谢。。。
    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题)
    2 I; A# R1 e/ ^- C7 l$ K1 W# I# k     要铺设一条的输送天然气的主管道,如图所示。经筛选后可以生产这种主管道钢管的钢厂有。图中粗线表示铁路,单细线表示公路,双线表示要铺设的管道(假设沿管道或者原有公路,或者建有施工公路),圆圈(点) 表示火车站,
    ( k7 t* B7 U3 w* F3 B1 ?) }  每段铁路、公路和管道旁的阿拉伯数字表示里程(单位km)。; T+ ^# e: P% x; }8 X4 ^: |
           为方便计,1km主管道钢管称为1单位钢管。  L: v7 C& E# r. \! x. D9 L
        一个钢厂如果承担制造这种钢管,至少需要生产500个单位。钢厂在指定期限内能生产该钢管的最大数量为个单位,钢管出厂销价1单位钢管为万元,如下表:/ v2 b6 \, J" J/ [
    I           1           2           3          4          5          6           7
    % H* L/ L' g: G3 [) m        800        800        1000        2000        2000        2000        3000
    - H: r5 W2 `5 `5 j* Y9 G% A        160        155        155        160        155        150        160* m$ a4 V  Z  t3 \( B, ]
      一单位钢管的铁路运价如下表:
    " Y% a* e" S2 s里程(km)        ≤300        301~350        351~400        401~450        451~500& y- }5 J9 C" `3 h( y* B& U0 ~3 u
    运价(万元)        20        23        26        29        32
      y  m. h$ k8 @" |里程(km)        501~600        601~700        701~800        801~900        901~1000! Q6 L, |. }+ |3 f. n; x3 u
    运价(万元)        37        44        50        55        60: c/ n0 J! X; c8 H+ j& z  M
      1000km以上每增加1至100km运价增加5万元。
    5 \3 |9 ~/ h3 B/ S0 x- T6 n     公路运输费用为1单位钢管每公里0·1万元(不足整公里部分按整公里计算)。, d) g: H2 M; W7 P( L# U, q3 {
      钢管可由铁路、公路运往铺设地点(不只是运到点,而是管道全线)。9 [1 J) N6 `& _; V
    请制定一个主管道钢管的订购和运输计划,使总费用最小(给出总费用)。
    3 E. s! M1 s3 j- X  N请就(1)的模型分析:哪个钢厂钢管的销价的变化对购运计划和总费用影响最大,哪个钢厂钢管的产量的上限的变化对购运计划和总费用的影响最大,并给出相应的数字结果。
    $ m2 d8 u: T* M; W9 n/ P: V如果要铺设的管道不是一条线,而是一个树形图,铁路、公路和管道构成网络,请就这种更一般的情况给出一种解决办法,并对图二按(1)的要求给出模型和结果.
    3 n( ~3 ~$ b9 q  v$ ~
    - ~2 c' G) w( M0 i3 _- x- _6 }7 iC:\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题)- z, |& t, ~/ {5 V9 n0 x
         要铺设一条的输送天然气的主管道,如图所示。经筛选后可以生产这种主管道钢管的钢厂有。图中粗线表示铁路,单细线表示公路,双线表示要铺设的管道(假设沿管道或者原有公路,或者建有施工公路),圆圈(点) 表示火车站,
    4 Q/ K$ J* l" O6 b2 y  每段铁路、公路和管道旁的阿拉伯数字表示里程(单位km)。( {1 m8 J! h  j8 l9 W# X  b1 u# L
           为方便计,1km主管道钢管称为1单位钢管。7 _, l$ K: W4 \4 z% M
        一个钢厂如果承担制造这种钢管,至少需要生产500个单位。钢厂在指定期限内能生产该钢管的最大数量为个单位,钢管出厂销价1单位钢管为万元,如下表:
    6 t3 }4 r* r) _; [# z- o, e- d2 \I           1           2           3          4          5          6           7
    9 r1 V" H0 c7 JSi        800        800        1000        2000        2000        2000        30006 ^7 E" _# I5 c9 e1 B1 I
    Pi        160        155        155        160        155        150        160
    9 N! C; b1 W% f/ _7 }& g5 z  一单位钢管的铁路运价如下表:
    : v. O& h1 c/ f: K1 v里程(km)        ≤300        301~350        351~400        401~450        451~500
    % z9 y4 ]* m8 X; |- X+ l运价(万元)        20        23        26        29        32
    # g- \6 f3 J( ?( k% D里程(km)        501~600        601~700        701~800        801~900        901~1000
    5 H5 z. @8 R7 R4 B运价(万元)        37        44        50        55        60
    & x& O$ \3 I4 {1 ]3 X  1000km以上每增加1至100km运价增加5万元。
    * h7 M) V- s+ h, w# b7 F& q5 B/ N' D     公路运输费用为1单位钢管每公里0·1万元(不足整公里部分按整公里计算)。
    ( g) s8 K  D5 I0 y' N" M$ E  钢管可由铁路、公路运往铺设地点(不只是运到点,而是管道全线)。& }- m. f/ H3 n4 i
    1.请制定一个主管道钢管的订购和运输计划,使总费用最小(给出总费用)。3 I# M6 n; P: x( B+ M
    2.请就(1)的模型分析:哪个钢厂钢管的销价的变化对购运计划和总费用影响最大,哪个钢厂钢管的产量的上限的变化对购运计划和总费用的影响最大,并给出相应的数字结果。, Q- l. p* {) C! ?; t- a  U
    3.如果要铺设的管道不是一条线,而是一个树形图,铁路、公路和管道构成网络,请就这种更一般的情况给出一种解决办法,并对图二按(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, 2026-6-6 01:38 , Processed in 0.351867 second(s), 85 queries .

    回顶部