QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 4303|回复: 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程序。。。。。但是有些看不懂啊~~~那个大神指教一下~~~~
    + d4 v" b! ]' U: t7 r8 [0 b$ l
    ) y/ `4 m( b9 ~  zFloyd算法函数在matlab下的M函数文件如下:- N& h$ m: r8 j/ n. A3 i) O
    function [D,path]=floyd(a)
    ; X4 t3 Z8 q9 `n=size(a,1);' d0 s% f5 W/ `% Z4 N9 u5 Y, O
    D=a;path=zeros(n,n);
    1 ]# q  ^: j7 j' ufor i=1:n
    5 G& `3 \6 k. R. K    for j=1:n( |9 `$ O$ Q8 j3 x7 k3 T! u
            if D(i,j)~=inf
    9 A8 ]! ?5 P5 r- I  P) m            path(i,j)=j;$ s5 V7 J* A! N9 z- ]5 M8 N4 F
            end
    9 _7 I2 y3 @; S8 `% [    end6 Q% q2 O; L( ]$ D' |4 I6 O7 n
    end/ j# V6 V5 a+ R! T; }0 C) v* [6 G
    for k=1:n
    - G1 m* t4 v7 C3 e2 X& d3 E    for i=1:n# K2 B# E) T2 p
            for j=1:n% k9 `) a6 {) R* p- M! D2 ~8 \
                if D(i,k)+D(k,j)<D(i,j)
    6 q: i) j: F4 E                D(i,j)=D(i,k)+D(k,j);0 |' T$ W% j: D5 k7 Z9 {
                    path(i,j)=path(i,k);
    ; N, M4 Y$ h5 ]$ O  T" [            end) ]2 y$ E9 ?) J5 h- ]6 `, v3 w/ ]
            end  r- {: V: ~( i# o3 P( f
        end
    . d  b; {& w7 o1 L  R7 `end; C( B+ h" J: W+ n7 X+ J$ b/ l! E
    上面是一个函数,这一部分可以看懂,但是下面这个求最小费的问题就看不懂了。。。。
      I, Z! x2 Y9 x+ G+ N  T; E% Jab=[1 1 2 3 4 5 6 7 8 9 10 11 12 13 15 16 17 18 19 20  20 22 23];
    ! \$ A# v7 U7 `, H' x. wbb=[ 14 15 15 16 19 18 23 24 10 10 11 15 13 14 16 17 19 19 20 21 22 23 24];
      Y) N8 t4 f6 Y" t, T# Y8 M9 uw=[20 202 1200 690  690 462 70 30 450 80 1150 1100 306 195 720 520 170 88 160 70 320 160 290];
    2 m1 R/ _% D; }4 T" gab1=[1 2 4 5 6 7 8 9 10 11 14 15 16 17 18 33 34 35];+ `7 S) H+ _$ [, v4 L& E! \
    bb1=[19 20 21 22 23 24 25 26 27 28 29 30 31 31 19 24 31 32];8 ]& u9 A' U2 X. }! C; n% n
    w1=[3 2 600 10 5 10 12 42 70 10 10 62 30 20  104 31 110 20];# C1 l" c0 |( V+ J. u5 ^( o3 l
    a=sparse(ab,bb,w);
    7 E. A: W. {% s1 R/ Za(24,24)=0;" x0 }( o6 @& \* \* f& l7 b% h6 @
    a=a+a’;' n0 Z* q4 H# p- H4 q1 K' |
    a=full(a);
    ! h" Z: g9 Z8 _$ Lfor i=1:24, e8 b" ^8 X( F7 g# ^( o
        for j=1:24$ c9 x6 b8 j0 b* D' M+ t
            if(a(i,j)==0&i~=j)+ E& Y& m8 |& u  A3 B# o- \
                a(i,j)=inf;
    % ?8 Q' T' B  g0 Y; T        end7 y) @- R  Z& p! ?9 J
        end3 @, G( p+ _! O: K# k% e+ ]
    end0 z' E1 d. ?/ W
    [D,path]=floyd(a);
    " q: J: J8 @' r+ E% na1=sparse(ab1,bb1,w1);
    ) n  S' `  o2 T1 na1(35,35)=0;- w$ U" Y0 M# G  m& r
    a1=a1+(a1)';
    3 X$ f- d% ]0 J# s3 Ga1=full(a1);
    ( [' z1 f% u) m5 X" f( qfor i=1:35' d) [  c* b8 f. V
        for j=1:357 s  G! ]/ F6 B- Z' L- y9 Q
            if(a1(i,j)==0&i~=j)
    # v7 g/ S# H4 \* Y            a1(i,j)=inf;
    1 E& ~$ o+ `1 {        end2 p) E. }: D- K% q7 U* Z0 ~7 {
        end
    + S$ Z* q+ a1 R( O3 d) lend- {! @7 R( @5 p- p. s
    [D1,path1]=floyd(a1);
    4 C% \' x9 y" p上面这一段应该是赋值求最短路了吧,,,但是这赋值是赋得什么值额????有大神的话可以在后面注释一下。。。万分感谢。。。
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信

    3

    主题

    7

    听众

    179

    积分

    升级  39.5%

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

    [LV.4]偶尔看看III

    国际赛参赛者

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

    群组学术交流B

    回复

    使用道具 举报

    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

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

    群组建模讨论组

    群组竞赛备战群

    回复

    使用道具 举报

    Araneider        

    8

    主题

    4

    听众

    114

    积分

    升级  7%

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

    [LV.4]偶尔看看III

    自我介绍
    一名新人

    群组学术交流B

    群组学术交流A

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

    群组建模讨论组

    群组竞赛备战群

      钢管订购和运输(2000年网易杯全国大学生数学建模竞赛B题)
    7 _$ ]- c9 d* e3 a) M: p     要铺设一条的输送天然气的主管道,如图所示。经筛选后可以生产这种主管道钢管的钢厂有。图中粗线表示铁路,单细线表示公路,双线表示要铺设的管道(假设沿管道或者原有公路,或者建有施工公路),圆圈(点) 表示火车站,3 |$ E1 ]; w8 f. W* n' E# Z/ m
      每段铁路、公路和管道旁的阿拉伯数字表示里程(单位km)。
    4 v+ g- x- o  c& y% q       为方便计,1km主管道钢管称为1单位钢管。  d, \% ?5 b( Z8 X( g, B/ N$ i
        一个钢厂如果承担制造这种钢管,至少需要生产500个单位。钢厂在指定期限内能生产该钢管的最大数量为个单位,钢管出厂销价1单位钢管为万元,如下表:' _* v5 l  B& z6 z4 K- c
    I           1           2           3          4          5          6           7
    7 v3 c- b1 H8 Q9 R* [4 ZSi        800        800        1000        2000        2000        2000        3000" h% d! p, w6 R1 n+ Z% `) r
    Pi        160        155        155        160        155        150        160( g4 d  a- W% Y1 ~/ }* u, O' I
      一单位钢管的铁路运价如下表:
    ) X% V3 Y8 C; S# V5 `里程(km)        ≤300        301~350        351~400        401~450        451~500
    ! B# `3 }1 U* r& d) j2 f运价(万元)        20        23        26        29        32' W2 _4 B; X+ ?+ @: {
    里程(km)        501~600        601~700        701~800        801~900        901~1000' q- c, \2 |) l
    运价(万元)        37        44        50        55        60
    " Q4 p6 A' v& F1 O6 G  1000km以上每增加1至100km运价增加5万元。
    ; Q3 \8 y0 }# w5 L# T     公路运输费用为1单位钢管每公里0·1万元(不足整公里部分按整公里计算)。; i% [; @3 N2 U
      钢管可由铁路、公路运往铺设地点(不只是运到点,而是管道全线)。
    6 S$ d. q* W' i! J. \+ L+ d1.请制定一个主管道钢管的订购和运输计划,使总费用最小(给出总费用)。0 l0 M0 u, ^- Y1 X/ J3 h- N& P- d
    2.请就(1)的模型分析:哪个钢厂钢管的销价的变化对购运计划和总费用影响最大,哪个钢厂钢管的产量的上限的变化对购运计划和总费用的影响最大,并给出相应的数字结果。  B, }. ?" M- t: h
    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

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

    群组建模讨论组

    群组竞赛备战群

      管订购和运输(2000年网易杯全国大学生数学建模竞赛B题)
    . Z. H3 a' c, J7 w: b     要铺设一条的输送天然气的主管道,如图所示。经筛选后可以生产这种主管道钢管的钢厂有。图中粗线表示铁路,单细线表示公路,双线表示要铺设的管道(假设沿管道或者原有公路,或者建有施工公路),圆圈(点) 表示火车站,
    9 i  d- `9 ~4 e; l& d7 @& N. Y  每段铁路、公路和管道旁的阿拉伯数字表示里程(单位km)。
    ) A; v, h1 y$ A2 T  ~5 H( R' S       为方便计,1km主管道钢管称为1单位钢管。( d' \# ~  n' e! o& V( Q8 P7 f
        一个钢厂如果承担制造这种钢管,至少需要生产500个单位。钢厂在指定期限内能生产该钢管的最大数量为个单位,钢管出厂销价1单位钢管为万元,如下表:
    ! }0 E. Y/ T7 ]/ Q2 t# sI           1           2           3          4          5          6           7
    % @4 h# m+ D; A" B        800        800        1000        2000        2000        2000        3000
    " \$ d2 I# `, V        160        155        155        160        155        150        160
    0 ~1 d. N8 N) ^: U* d: y% O  一单位钢管的铁路运价如下表:. F  R) {7 t3 e+ P4 i
    里程(km)        ≤300        301~350        351~400        401~450        451~500
      `7 V+ J7 l0 l+ [# ^2 i运价(万元)        20        23        26        29        32
    7 ^8 f  [; F' [5 y里程(km)        501~600        601~700        701~800        801~900        901~1000
    ( l7 R% [. {6 I/ k( y% u运价(万元)        37        44        50        55        60
    * b- r1 `2 ]3 Q  X  1000km以上每增加1至100km运价增加5万元。$ V# P6 s% }; h8 o  [& t- P
         公路运输费用为1单位钢管每公里0·1万元(不足整公里部分按整公里计算)。5 C5 f# \6 Q! C
      钢管可由铁路、公路运往铺设地点(不只是运到点,而是管道全线)。" [1 _- _. C) K! O8 N3 J( x% n
    请制定一个主管道钢管的订购和运输计划,使总费用最小(给出总费用)。- `; r  G$ S3 F# b% ^
    请就(1)的模型分析:哪个钢厂钢管的销价的变化对购运计划和总费用影响最大,哪个钢厂钢管的产量的上限的变化对购运计划和总费用的影响最大,并给出相应的数字结果。6 g2 {, v9 A; p" `- O8 u
    如果要铺设的管道不是一条线,而是一个树形图,铁路、公路和管道构成网络,请就这种更一般的情况给出一种解决办法,并对图二按(1)的要求给出模型和结果.  R, c) ]5 f0 c+ S0 }$ E  f2 y. k( l
    ) R0 E0 E* a# ~. ]7 \5 m$ D
    C:\Documents and Settings\Administrator\桌面
    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2026-6-5 23:01 , Processed in 0.958894 second(s), 88 queries .

    回顶部