QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 4424|回复: 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程序。。。。。但是有些看不懂啊~~~那个大神指教一下~~~~9 o* }" Y# y  ?: H. t
    " C3 R' c. {2 w1 g2 b' `6 X
    Floyd算法函数在matlab下的M函数文件如下:
    # s" c6 R9 E2 `. B$ `function [D,path]=floyd(a)& c" a8 g0 \$ S, N
    n=size(a,1);+ E- G  a, h% G7 y! g6 i: A
    D=a;path=zeros(n,n);4 B" I9 o3 V/ E2 |
    for i=1:n
    ( y% f2 l1 M! v- J8 j    for j=1:n
    8 c# U9 u+ ]: Z" u        if D(i,j)~=inf
    , Z6 Z- k! ^3 Y) `/ N            path(i,j)=j;/ _2 A) ?0 l, u' _0 q
            end
      p+ A$ X5 T( s. D    end
    ) A9 N1 e, v$ n' R) y4 u- }end; U* A, p* F, h0 M% B6 A6 C% e3 F) s
    for k=1:n8 i# s* b, ^! r  g! l) h+ m& g
        for i=1:n
    : O/ X) d; y8 y        for j=1:n! h; I( y- K3 S1 t
                if D(i,k)+D(k,j)<D(i,j)! v: D, [) s$ `, k
                    D(i,j)=D(i,k)+D(k,j);  A+ j  R( m) R# x- a
                    path(i,j)=path(i,k);
    & x, d+ [" p3 u: ~            end
    + p4 u$ S7 q: A1 o- d- ~$ T        end
    + }; g2 V3 I( R) t5 w3 J- }% \6 R    end" E6 X7 {# }& R& k
    end
    $ C1 R3 |- n) P7 N0 |, D6 s* L0 R上面是一个函数,这一部分可以看懂,但是下面这个求最小费的问题就看不懂了。。。。
    % W6 r5 _' X' @" @ab=[1 1 2 3 4 5 6 7 8 9 10 11 12 13 15 16 17 18 19 20  20 22 23];9 `2 ?& d& A( U  B) R$ {
    bb=[ 14 15 15 16 19 18 23 24 10 10 11 15 13 14 16 17 19 19 20 21 22 23 24];
    " a& k. I* m6 Lw=[20 202 1200 690  690 462 70 30 450 80 1150 1100 306 195 720 520 170 88 160 70 320 160 290];: H6 D5 p1 M# C  B9 T
    ab1=[1 2 4 5 6 7 8 9 10 11 14 15 16 17 18 33 34 35];
    9 G+ M; U) w  T( U! @bb1=[19 20 21 22 23 24 25 26 27 28 29 30 31 31 19 24 31 32];
    , E1 i4 U- S* S" b% sw1=[3 2 600 10 5 10 12 42 70 10 10 62 30 20  104 31 110 20];/ s8 P) P. `$ }6 c- j2 Q1 W
    a=sparse(ab,bb,w);! e& {% x1 S% t- x
    a(24,24)=0;
    2 w% _* W& x2 u; m) w  ?+ Da=a+a’;( `3 {+ m  k0 Z8 A; I" ~$ E
    a=full(a);7 N* t0 l8 {; B9 o; p/ V
    for i=1:24; ~0 D6 r: p- O/ U2 Q& J" w
        for j=1:24: A& A. Q. x5 E+ b  [+ m/ r9 T( W7 ^
            if(a(i,j)==0&i~=j). f( }- m, Z' v/ H. m/ ]% l& A
                a(i,j)=inf;
    ) ^- G7 k6 I0 k6 z7 A1 G" B        end
    " H0 V/ t9 I6 e3 F    end
    8 N- O* q: J1 ^8 L9 k" b8 rend
    . s# o+ _! k6 B4 M) b[D,path]=floyd(a);
    5 D* H6 F# m! }9 @& {9 [$ ?a1=sparse(ab1,bb1,w1);2 L9 d5 k1 Q% b. l7 l1 [3 a8 s
    a1(35,35)=0;' W, r' g3 {. C) a5 u- V
    a1=a1+(a1)';
    / F2 E6 X$ _: R7 m6 j. [) G4 l6 `a1=full(a1);$ e) U4 s0 o1 h; ^+ l4 a+ o$ M
    for i=1:353 X2 W, O* S, c; N1 P" ?# s8 N
        for j=1:35
    & N3 {/ O+ y# R+ d: u        if(a1(i,j)==0&i~=j)
    1 t/ V  d+ [/ H( D) o) e            a1(i,j)=inf;/ j1 E! K# ^' H. O; s, [3 B& n
            end- s: A' c2 S$ t- T2 }$ u
        end6 P5 T' A9 T8 m
    end" i) E" U$ X4 ?- M( w! e
    [D1,path1]=floyd(a1);
    % r: u. b* D) O' Q: d5 [上面这一段应该是赋值求最短路了吧,,,但是这赋值是赋得什么值额????有大神的话可以在后面注释一下。。。万分感谢。。。
    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题): f7 V; B" P* C
         要铺设一条的输送天然气的主管道,如图所示。经筛选后可以生产这种主管道钢管的钢厂有。图中粗线表示铁路,单细线表示公路,双线表示要铺设的管道(假设沿管道或者原有公路,或者建有施工公路),圆圈(点) 表示火车站,9 @3 Q6 X5 o1 m! E) H
      每段铁路、公路和管道旁的阿拉伯数字表示里程(单位km)。
    6 ^! g4 o* I  w$ k       为方便计,1km主管道钢管称为1单位钢管。
    9 ~* D/ H! s; ?7 N  [3 Y( l1 H    一个钢厂如果承担制造这种钢管,至少需要生产500个单位。钢厂在指定期限内能生产该钢管的最大数量为个单位,钢管出厂销价1单位钢管为万元,如下表:
    6 u# H2 P4 y2 E2 jI           1           2           3          4          5          6           7
    - n& ?3 |; p$ B. l3 q# L1 L        800        800        1000        2000        2000        2000        3000% w4 ]% b- R. @3 u, ?/ w. X
            160        155        155        160        155        150        1604 ^$ I  g8 x" f5 n
      一单位钢管的铁路运价如下表:
    - E8 |3 w- {/ I5 R) R* B; {里程(km)        ≤300        301~350        351~400        401~450        451~500
    1 G7 L0 ~3 q' u6 T+ M运价(万元)        20        23        26        29        32, Z" Z) v4 q( D9 I! Z& X7 m
    里程(km)        501~600        601~700        701~800        801~900        901~1000' U* i" ^: F) f6 h( c
    运价(万元)        37        44        50        55        604 h; Z* k# A5 J: B5 o" a
      1000km以上每增加1至100km运价增加5万元。$ ~, c* _5 w( V: [
         公路运输费用为1单位钢管每公里0·1万元(不足整公里部分按整公里计算)。4 i/ d# P4 s/ T3 c; c- B9 |5 X* M
      钢管可由铁路、公路运往铺设地点(不只是运到点,而是管道全线)。0 D9 p8 p* e, {$ j% A
    请制定一个主管道钢管的订购和运输计划,使总费用最小(给出总费用)。
    % _  _4 V; a" Q$ N+ O# ^请就(1)的模型分析:哪个钢厂钢管的销价的变化对购运计划和总费用影响最大,哪个钢厂钢管的产量的上限的变化对购运计划和总费用的影响最大,并给出相应的数字结果。" k7 D0 y# j; ^
    如果要铺设的管道不是一条线,而是一个树形图,铁路、公路和管道构成网络,请就这种更一般的情况给出一种解决办法,并对图二按(1)的要求给出模型和结果.
    , w- Z, Y! {. S% @. g; Z$ Y/ _3 n" `. _9 l" o& v% p
    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题)/ S! N+ Q2 C) t$ ?' G
         要铺设一条的输送天然气的主管道,如图所示。经筛选后可以生产这种主管道钢管的钢厂有。图中粗线表示铁路,单细线表示公路,双线表示要铺设的管道(假设沿管道或者原有公路,或者建有施工公路),圆圈(点) 表示火车站,( e/ E% I4 G! Q
      每段铁路、公路和管道旁的阿拉伯数字表示里程(单位km)。
    ; X$ N. l) x9 r/ O       为方便计,1km主管道钢管称为1单位钢管。
    2 O. `# A. ^( ]: o& k    一个钢厂如果承担制造这种钢管,至少需要生产500个单位。钢厂在指定期限内能生产该钢管的最大数量为个单位,钢管出厂销价1单位钢管为万元,如下表:5 `2 f5 |& _  Q: ~) \+ ^; @" C5 N
    I           1           2           3          4          5          6           7& m2 t2 x: j) l9 G' x7 d) Y  {
    Si        800        800        1000        2000        2000        2000        3000
    . v; T) H9 M4 ^7 X3 S- x- @Pi        160        155        155        160        155        150        160
    ' q4 v; {( x* ]" R- i% f" L  一单位钢管的铁路运价如下表:% U) j6 B1 }$ ?% e. [7 p4 F
    里程(km)        ≤300        301~350        351~400        401~450        451~500
    & g; {) e7 g7 ~9 q0 q' `) n# @运价(万元)        20        23        26        29        32
    + @1 Q5 O7 X5 J3 w里程(km)        501~600        601~700        701~800        801~900        901~1000" P3 u: J6 I" S$ `' H7 [
    运价(万元)        37        44        50        55        60
    ) W1 A+ u* [* F) O0 D6 ?+ n" Y$ p  1000km以上每增加1至100km运价增加5万元。
    5 ?% Q9 e: F. W6 \- L) p* W# r: D# g     公路运输费用为1单位钢管每公里0·1万元(不足整公里部分按整公里计算)。+ Q0 n' c' a9 E$ G% W# u  K7 a, K
      钢管可由铁路、公路运往铺设地点(不只是运到点,而是管道全线)。
    1 h. w& A3 v7 B% ~1.请制定一个主管道钢管的订购和运输计划,使总费用最小(给出总费用)。
    : B& \: {5 p! e+ p; I/ Y9 w2.请就(1)的模型分析:哪个钢厂钢管的销价的变化对购运计划和总费用影响最大,哪个钢厂钢管的产量的上限的变化对购运计划和总费用的影响最大,并给出相应的数字结果。1 n1 S% g1 Q, F
    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-9-9 22:09 , Processed in 0.450966 second(s), 84 queries .

    回顶部