QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 4553|回复: 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程序。。。。。但是有些看不懂啊~~~那个大神指教一下~~~~
    3 g# m2 Q- f- j' i6 J/ Y1 I7 V: p# N
    Floyd算法函数在matlab下的M函数文件如下:
    7 J9 V8 H. v2 z: G) H# Bfunction [D,path]=floyd(a). l; x* j7 k3 {4 v- D
    n=size(a,1);
    8 u3 i( m( u, K- }4 sD=a;path=zeros(n,n);; N$ R+ a( e+ [; r5 d4 a4 ]6 Z
    for i=1:n
    9 P8 `: j; H" r+ n% A    for j=1:n
    2 |. k& O0 c- X' W3 g% N        if D(i,j)~=inf
    . y5 s  k$ A4 w3 p- V# m4 w            path(i,j)=j;& ^. ?: c7 v$ a  n
            end5 s0 e. N! }5 ]6 Q
        end
    4 G$ |) k' l+ Y6 n6 Send  S9 S# \7 i: r
    for k=1:n
    9 C9 Z/ N" l$ H1 k* M    for i=1:n
    - t6 c3 t+ O  j. [  ]        for j=1:n7 H  t  N: l; F9 ]/ Y
                if D(i,k)+D(k,j)<D(i,j)
    % F9 n$ ?' b7 C# ~0 f2 o                D(i,j)=D(i,k)+D(k,j);
    ! M) W4 ~' U& t. \9 o                path(i,j)=path(i,k);8 V' p: u" [& \/ `* n
                end
    . p1 ]6 u+ h. B0 @- |        end) f3 D' Q" d! t# d# W
        end
    : m/ v' R. N2 z/ ?8 b- e+ S# H8 M, J6 I9 qend
    + [' Z- e- `7 z; S上面是一个函数,这一部分可以看懂,但是下面这个求最小费的问题就看不懂了。。。。
      y7 G: N( R& {! A9 s7 q) Wab=[1 1 2 3 4 5 6 7 8 9 10 11 12 13 15 16 17 18 19 20  20 22 23];$ G- `' u: `4 S: g, a4 S" W' E! m
    bb=[ 14 15 15 16 19 18 23 24 10 10 11 15 13 14 16 17 19 19 20 21 22 23 24];
    - d: K) V9 _( s' d8 Ww=[20 202 1200 690  690 462 70 30 450 80 1150 1100 306 195 720 520 170 88 160 70 320 160 290];" V) J' o0 R0 d, R" V
    ab1=[1 2 4 5 6 7 8 9 10 11 14 15 16 17 18 33 34 35];
    $ f) L" t1 H/ b& x% A9 tbb1=[19 20 21 22 23 24 25 26 27 28 29 30 31 31 19 24 31 32];# V: }7 w- t' n0 A
    w1=[3 2 600 10 5 10 12 42 70 10 10 62 30 20  104 31 110 20];- |$ E" y! X% B* ^1 ]7 R
    a=sparse(ab,bb,w);
    8 W3 a, Z# p: m. ~) d* va(24,24)=0;
    ; S. B1 a$ `) @- j4 d1 a9 h% c, ba=a+a’;. j& v5 p0 O# l7 L- `
    a=full(a);# V# J2 N3 `/ t2 d+ Z1 q4 R! {) J
    for i=1:247 H- ~2 A7 l: v; o$ L6 h: n5 l: b
        for j=1:24, b* `! [' P# R: t0 `7 w
            if(a(i,j)==0&i~=j)
    " ]* U9 T' F  |! [. _            a(i,j)=inf;
    & k$ U0 i; j& A0 j        end4 e; M% C8 J% j+ r( I
        end
    , s" U, ?, P+ Rend  T& R  _. C" E; U$ h: h: l
    [D,path]=floyd(a);
    + W$ i' m% G( b2 A5 e2 Z7 H2 [a1=sparse(ab1,bb1,w1);
    6 H5 l. s6 a) X) t: d8 Oa1(35,35)=0;
    8 c+ [' N% V- b0 M  H7 h% X, s" va1=a1+(a1)';6 [9 u+ D: F) r* i7 [; j
    a1=full(a1);* E+ T5 l6 P5 A" I" Z
    for i=1:35& @: ~/ _0 ~4 z$ s' _
        for j=1:35
    & u! B- v4 h; a# ], }$ Z1 b        if(a1(i,j)==0&i~=j)
    3 M( h) f0 A6 ]' K4 a& Q: o, v2 q            a1(i,j)=inf;
    6 v7 H; I0 E5 j! ]% q, K        end; g8 @9 M/ }7 L( C
        end; E# ?4 J6 W0 h8 z0 N5 {
    end. A0 h7 R( ]- n. j
    [D1,path1]=floyd(a1);
      H( V4 N: P$ C- a  s/ }上面这一段应该是赋值求最短路了吧,,,但是这赋值是赋得什么值额????有大神的话可以在后面注释一下。。。万分感谢。。。
    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题)
    + b) @/ D8 @+ P$ E7 d5 e     要铺设一条的输送天然气的主管道,如图所示。经筛选后可以生产这种主管道钢管的钢厂有。图中粗线表示铁路,单细线表示公路,双线表示要铺设的管道(假设沿管道或者原有公路,或者建有施工公路),圆圈(点) 表示火车站,! B# i" h- v  b! ~+ N
      每段铁路、公路和管道旁的阿拉伯数字表示里程(单位km)。( ^3 b% N3 h- }" d5 X6 M
           为方便计,1km主管道钢管称为1单位钢管。
    ! @0 n$ r0 M# Q: U9 n    一个钢厂如果承担制造这种钢管,至少需要生产500个单位。钢厂在指定期限内能生产该钢管的最大数量为个单位,钢管出厂销价1单位钢管为万元,如下表:
    % P. I( c6 ~* vI           1           2           3          4          5          6           7
    1 h! L4 q( q- J0 L/ B        800        800        1000        2000        2000        2000        3000
    " B1 b8 @! V' h1 q4 D; H0 |# f        160        155        155        160        155        150        160
    - B  _; q; @+ H9 @  一单位钢管的铁路运价如下表:
    . ^$ E' J5 T1 S; ^  @  s+ O里程(km)        ≤300        301~350        351~400        401~450        451~500
    7 z- r/ w6 D6 t0 M运价(万元)        20        23        26        29        32
    * `% @+ k0 Z4 L1 K里程(km)        501~600        601~700        701~800        801~900        901~1000
    : K" ^3 b9 p& o! x4 x运价(万元)        37        44        50        55        601 ]$ ^" s  ^* Z$ j( P
      1000km以上每增加1至100km运价增加5万元。
    0 U4 `  O5 i) B/ Z/ L     公路运输费用为1单位钢管每公里0·1万元(不足整公里部分按整公里计算)。
    5 a' a* A' x; R  s  钢管可由铁路、公路运往铺设地点(不只是运到点,而是管道全线)。4 c0 y% n. P. ~- z1 j4 T
    请制定一个主管道钢管的订购和运输计划,使总费用最小(给出总费用)。
    5 ^- s  m* s2 L3 V请就(1)的模型分析:哪个钢厂钢管的销价的变化对购运计划和总费用影响最大,哪个钢厂钢管的产量的上限的变化对购运计划和总费用的影响最大,并给出相应的数字结果。
    9 f9 V2 y8 U' M4 M4 g* k7 n如果要铺设的管道不是一条线,而是一个树形图,铁路、公路和管道构成网络,请就这种更一般的情况给出一种解决办法,并对图二按(1)的要求给出模型和结果.
    1 n% Z* f! Y% p6 }/ `% l% H
    ; y3 I+ i7 E  H5 \# L/ VC:\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题)2 y$ o- m) o( J; s6 i. `, |. i
         要铺设一条的输送天然气的主管道,如图所示。经筛选后可以生产这种主管道钢管的钢厂有。图中粗线表示铁路,单细线表示公路,双线表示要铺设的管道(假设沿管道或者原有公路,或者建有施工公路),圆圈(点) 表示火车站,
    " Q% p1 `- X% e$ T0 x  每段铁路、公路和管道旁的阿拉伯数字表示里程(单位km)。: W6 H: e% s# ^9 j: M
           为方便计,1km主管道钢管称为1单位钢管。
    , z! s  A4 E$ I9 I    一个钢厂如果承担制造这种钢管,至少需要生产500个单位。钢厂在指定期限内能生产该钢管的最大数量为个单位,钢管出厂销价1单位钢管为万元,如下表:" V/ I. `4 X: K$ t7 f2 _5 X9 {
    I           1           2           3          4          5          6           7
    3 T+ ~# @! F# [  ]3 F+ p$ B2 MSi        800        800        1000        2000        2000        2000        3000
    6 k4 Y; G" ?4 ~6 Z3 JPi        160        155        155        160        155        150        160
    ( m- [0 W& i$ O9 q2 v  一单位钢管的铁路运价如下表:! Y; D2 u( ~: p% J
    里程(km)        ≤300        301~350        351~400        401~450        451~500+ w/ g7 Z/ d% d0 Q4 b# r6 p
    运价(万元)        20        23        26        29        32
    ' i$ B5 q2 p* I. J* N里程(km)        501~600        601~700        701~800        801~900        901~1000
    $ e* d: x0 p* p$ T2 ^运价(万元)        37        44        50        55        60
    % G' `5 r$ ?& c4 x2 F  1000km以上每增加1至100km运价增加5万元。
    # ?, ?6 a. B' C4 }' C7 W* U     公路运输费用为1单位钢管每公里0·1万元(不足整公里部分按整公里计算)。: V- g" Z) E. t
      钢管可由铁路、公路运往铺设地点(不只是运到点,而是管道全线)。8 a3 r2 K( \! Y
    1.请制定一个主管道钢管的订购和运输计划,使总费用最小(给出总费用)。3 z* X* Q  z' N1 `  J/ U" E( S: X
    2.请就(1)的模型分析:哪个钢厂钢管的销价的变化对购运计划和总费用影响最大,哪个钢厂钢管的产量的上限的变化对购运计划和总费用的影响最大,并给出相应的数字结果。% g0 N( @: [6 g7 |+ P! e4 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-10-29 04:14 , Processed in 4.837667 second(s), 85 queries .

    回顶部