QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 4573|回复: 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程序。。。。。但是有些看不懂啊~~~那个大神指教一下~~~~
      s2 m0 j* Q+ C; B8 U) m. k% r; @! y+ a) _4 p
    Floyd算法函数在matlab下的M函数文件如下:5 U" Q4 N- c5 E2 a
    function [D,path]=floyd(a)
    8 g( z/ ~% {; Z8 \$ S4 e4 [  [; Q' wn=size(a,1);. _! ]: K" f4 O) |: Q
    D=a;path=zeros(n,n);
    ( Z8 F" L" w7 v( E/ {; zfor i=1:n( G8 b, F% U1 }
        for j=1:n% ?# B% c  j  ?( g; v  n! v; g
            if D(i,j)~=inf% |) \" |2 r) x, N6 j
                path(i,j)=j;0 `) P* H. h6 u
            end+ m% t2 `) I' H. E2 J- `
        end0 z2 b& Y6 z2 U
    end
    & n6 o8 H; N% q7 Kfor k=1:n
    + a5 t4 b! P" W, C    for i=1:n8 e& q3 S: `/ s$ D
            for j=1:n) O+ o9 t* m% s5 Z8 P
                if D(i,k)+D(k,j)<D(i,j)
    # G! A% v( i! b/ @: z5 S, e: a                D(i,j)=D(i,k)+D(k,j);: K' N. o. p" {& @
                    path(i,j)=path(i,k);
    * E0 h& K! _7 {$ }/ c' y  a% j            end
    9 h6 y4 x8 O# p$ E' N" a. }  X! @        end. H  P! \9 b  C* [
        end
    5 W1 D2 {6 o5 O9 L$ N. `3 c' eend9 p- M! w; c5 q, u
    上面是一个函数,这一部分可以看懂,但是下面这个求最小费的问题就看不懂了。。。。4 ]0 F. W7 x" r) t
    ab=[1 1 2 3 4 5 6 7 8 9 10 11 12 13 15 16 17 18 19 20  20 22 23];' s. X# u" K: ?; d9 S/ ]6 _
    bb=[ 14 15 15 16 19 18 23 24 10 10 11 15 13 14 16 17 19 19 20 21 22 23 24];
    ) K) t7 i8 u" [# \w=[20 202 1200 690  690 462 70 30 450 80 1150 1100 306 195 720 520 170 88 160 70 320 160 290];
    5 k6 h! N! H+ @! Qab1=[1 2 4 5 6 7 8 9 10 11 14 15 16 17 18 33 34 35];
    ) T3 O) W# ~: P3 cbb1=[19 20 21 22 23 24 25 26 27 28 29 30 31 31 19 24 31 32];
    * {7 D- K4 o3 M4 ]w1=[3 2 600 10 5 10 12 42 70 10 10 62 30 20  104 31 110 20];/ E4 Y5 ]) V" e% g
    a=sparse(ab,bb,w);9 K2 _% ]& {+ k. l* @/ W5 K
    a(24,24)=0;! ^0 s' d  K6 ^! W: P
    a=a+a’;
    2 ?3 F6 d2 a9 R5 F, Ba=full(a);
    $ |& X( f* M, U5 ^for i=1:249 F$ N. @5 p4 [6 _6 T/ v' e6 m
        for j=1:24* }# C3 ?  R: d3 C: L
            if(a(i,j)==0&i~=j)
    . D. w3 v$ [1 j; Y1 m- Q4 I            a(i,j)=inf;
      t0 k1 }' g( j3 g. Z6 T9 m! A        end
    ( q+ e0 V6 U+ J    end$ y- {" q5 l# H7 T9 [, g7 k3 M
    end( `: D* h# N; Q' ^
    [D,path]=floyd(a);* v6 W* H$ P$ s* w9 p* a3 K" \  n: B
    a1=sparse(ab1,bb1,w1);
    - ?: c$ e: U, P; J- ca1(35,35)=0;2 c$ V7 b. l2 C, ?: I
    a1=a1+(a1)';2 i: L1 z( [, _
    a1=full(a1);2 K) [. U3 }4 H, A, V" b
    for i=1:35' M% Q# B* n' Y3 y+ }; ]
        for j=1:35
    3 `, A3 f$ o5 T0 p' P        if(a1(i,j)==0&i~=j)
    8 p: c0 E5 \5 Z+ ?4 q, F' Y            a1(i,j)=inf;
      H: W/ X3 t0 Y2 K( `        end/ z8 q  n" ^4 E+ }! V9 c* j2 D1 H
        end( i1 Q6 ~1 h" d6 r: N! s* z
    end
    4 Z" G0 P- b( L7 W; I[D1,path1]=floyd(a1);
    + W# I* N" ?# P4 y& V上面这一段应该是赋值求最短路了吧,,,但是这赋值是赋得什么值额????有大神的话可以在后面注释一下。。。万分感谢。。。
    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题)
    + m5 c' f" E% u6 D- Y3 C6 u     要铺设一条的输送天然气的主管道,如图所示。经筛选后可以生产这种主管道钢管的钢厂有。图中粗线表示铁路,单细线表示公路,双线表示要铺设的管道(假设沿管道或者原有公路,或者建有施工公路),圆圈(点) 表示火车站,8 i" I3 N* r% v; J- r
      每段铁路、公路和管道旁的阿拉伯数字表示里程(单位km)。
    ; O3 q1 n5 ~# x3 ?$ L5 K8 F       为方便计,1km主管道钢管称为1单位钢管。  j8 [2 f; h" t' q4 D) g  \; I
        一个钢厂如果承担制造这种钢管,至少需要生产500个单位。钢厂在指定期限内能生产该钢管的最大数量为个单位,钢管出厂销价1单位钢管为万元,如下表:
    : R$ z5 ~, I9 ~0 hI           1           2           3          4          5          6           7
    4 U, S  n9 K  K/ b        800        800        1000        2000        2000        2000        3000
      _2 c; C: w. J% Q/ d8 h$ ~, ?        160        155        155        160        155        150        160) Z1 F9 t5 V% ]0 m) n: F+ y
      一单位钢管的铁路运价如下表:$ x- m4 E$ r1 B) S; c- i
    里程(km)        ≤300        301~350        351~400        401~450        451~500' A! Y& a" P7 D4 Z
    运价(万元)        20        23        26        29        32
    " g- ?& F9 E) |, g+ E1 X9 l里程(km)        501~600        601~700        701~800        801~900        901~1000
    0 u  v/ S, `5 {1 x$ e. V运价(万元)        37        44        50        55        60* ?% c! }- ~% f! n
      1000km以上每增加1至100km运价增加5万元。
    8 I0 Y" d" E. A1 O     公路运输费用为1单位钢管每公里0·1万元(不足整公里部分按整公里计算)。9 ~0 O5 d6 F! a/ W/ U, ?" p- X
      钢管可由铁路、公路运往铺设地点(不只是运到点,而是管道全线)。
    : d0 g8 \+ r- C" M请制定一个主管道钢管的订购和运输计划,使总费用最小(给出总费用)。. Q) [* S5 l0 d
    请就(1)的模型分析:哪个钢厂钢管的销价的变化对购运计划和总费用影响最大,哪个钢厂钢管的产量的上限的变化对购运计划和总费用的影响最大,并给出相应的数字结果。
      N( a3 ~' r  [如果要铺设的管道不是一条线,而是一个树形图,铁路、公路和管道构成网络,请就这种更一般的情况给出一种解决办法,并对图二按(1)的要求给出模型和结果.! s. `5 V4 c4 `, f( }' S0 G
    / u/ m6 |4 E: x
    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题)
    . i/ ^( N) {  R, G" U& L' F     要铺设一条的输送天然气的主管道,如图所示。经筛选后可以生产这种主管道钢管的钢厂有。图中粗线表示铁路,单细线表示公路,双线表示要铺设的管道(假设沿管道或者原有公路,或者建有施工公路),圆圈(点) 表示火车站,4 m6 e5 R: @6 _, m
      每段铁路、公路和管道旁的阿拉伯数字表示里程(单位km)。0 E4 u2 q9 o: u  E# E( ]! l: e, w, j
           为方便计,1km主管道钢管称为1单位钢管。2 b/ p1 I7 X0 b4 O! g' N5 E
        一个钢厂如果承担制造这种钢管,至少需要生产500个单位。钢厂在指定期限内能生产该钢管的最大数量为个单位,钢管出厂销价1单位钢管为万元,如下表:- l, q) P5 t- G
    I           1           2           3          4          5          6           7
    ! f, a% m% g! f2 HSi        800        800        1000        2000        2000        2000        3000
    3 B/ U7 T; W# k1 \2 N3 X6 cPi        160        155        155        160        155        150        160$ G2 `1 `( z' L+ P( I7 d. |( }% ~; ^9 \
      一单位钢管的铁路运价如下表:
    ! g1 v& E2 s$ j( R% i0 H$ M7 I里程(km)        ≤300        301~350        351~400        401~450        451~5003 a0 V: z3 E4 m- E; _. b
    运价(万元)        20        23        26        29        32
    : w# h& Y7 U8 a- C7 q" C% O8 a9 P8 U; m" ~里程(km)        501~600        601~700        701~800        801~900        901~1000% D( \* c" ]3 g/ v
    运价(万元)        37        44        50        55        60
    . P6 k/ B6 d# g+ S0 C# m* G4 _  1000km以上每增加1至100km运价增加5万元。
    " L, b+ q8 }, n/ X' m5 M3 u     公路运输费用为1单位钢管每公里0·1万元(不足整公里部分按整公里计算)。( v" q0 ?3 N. i
      钢管可由铁路、公路运往铺设地点(不只是运到点,而是管道全线)。
    0 [/ W' }( c& {& r: T5 q$ b1.请制定一个主管道钢管的订购和运输计划,使总费用最小(给出总费用)。
    % W, `* Z1 g: p/ w5 }: V2.请就(1)的模型分析:哪个钢厂钢管的销价的变化对购运计划和总费用影响最大,哪个钢厂钢管的产量的上限的变化对购运计划和总费用的影响最大,并给出相应的数字结果。
      q; ~: s7 A& i1 N1 M4 C4 u3.如果要铺设的管道不是一条线,而是一个树形图,铁路、公路和管道构成网络,请就这种更一般的情况给出一种解决办法,并对图二按(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

    回复

    使用道具 举报

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

    fastpost qq
    收缩
    • 电话咨询

    • 04714969085

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2026-10-31 14:45 , Processed in 0.211137 second(s), 84 queries .

    回顶部