QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 4073|回复: 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程序。。。。。但是有些看不懂啊~~~那个大神指教一下~~~~$ p) u# {9 a; Q- B: |9 E2 u$ O2 U

    $ T- N+ b/ C7 a6 {2 Q$ vFloyd算法函数在matlab下的M函数文件如下:) ]+ ^6 M0 u- T7 c1 B6 r
    function [D,path]=floyd(a)
    ; B$ G3 Y3 `) s, o  _, N: [) u) fn=size(a,1);
    9 H6 m1 J7 X2 ?+ L6 M0 ]0 cD=a;path=zeros(n,n);
    1 l6 d: u$ [& r# N" l' U3 Hfor i=1:n
    : y, ]1 j9 ?0 F6 Y" P    for j=1:n  B& E2 y6 A2 [* N2 n0 \4 w
            if D(i,j)~=inf& i* P! H9 z" R* G: X
                path(i,j)=j;2 F$ H2 O. w/ \+ F: v; O) u
            end
    7 b( i5 C& R2 ], C$ v    end. R3 h" {; s  E9 T  \% O$ F: S% o
    end
    % F$ B% o7 q& y9 C, |0 Q8 @# Rfor k=1:n0 i3 F: h+ O' F: x8 L+ T/ l7 P
        for i=1:n
    * E+ k! m( G3 x3 Y" ]* t+ ]        for j=1:n
    & ~* J) B9 h* Q* K            if D(i,k)+D(k,j)<D(i,j)
    / j3 {) v) x7 f, I" f/ Q                D(i,j)=D(i,k)+D(k,j);
    ' S7 j( ?4 ?, y0 X# X* [1 @8 s6 e                path(i,j)=path(i,k);) U5 ]8 L0 {6 @5 p
                end
    $ d8 F4 M+ ]+ u        end
    3 s5 _* q3 v$ \/ w' Y; j% q( p2 f) D    end
    ! `9 v7 b4 l" fend* U1 Z$ Z: f4 O! ]
    上面是一个函数,这一部分可以看懂,但是下面这个求最小费的问题就看不懂了。。。。" o9 g8 {) B/ x* U1 e* G+ Y
    ab=[1 1 2 3 4 5 6 7 8 9 10 11 12 13 15 16 17 18 19 20  20 22 23];
    : _* m7 R) L  X( xbb=[ 14 15 15 16 19 18 23 24 10 10 11 15 13 14 16 17 19 19 20 21 22 23 24];) Z8 s, |* r) A% N' f  q, p
    w=[20 202 1200 690  690 462 70 30 450 80 1150 1100 306 195 720 520 170 88 160 70 320 160 290];- o# f6 k' z% S- w- H$ Y
    ab1=[1 2 4 5 6 7 8 9 10 11 14 15 16 17 18 33 34 35];
    2 L; Y8 a, S6 B' D. Ebb1=[19 20 21 22 23 24 25 26 27 28 29 30 31 31 19 24 31 32];* s+ j* K+ m9 c4 V/ n/ H
    w1=[3 2 600 10 5 10 12 42 70 10 10 62 30 20  104 31 110 20];/ J- g/ c1 _2 k+ y% d9 H( }% E
    a=sparse(ab,bb,w);. e' O+ q' [% M/ z0 r* `: t' n. t; Z
    a(24,24)=0;
    8 H1 H+ j+ e% K+ v7 r0 U) f  u6 d0 pa=a+a’;
    4 e$ ^8 U; Y( ]2 W9 la=full(a);
    7 w' |+ e! Z9 [2 F3 Efor i=1:24
    6 M, e) f# z( |+ K# P1 ]    for j=1:24
    # X; G5 X/ C* ?: M        if(a(i,j)==0&i~=j)
    ; D) j( ^9 f+ l$ K  U5 ?! U            a(i,j)=inf;$ A3 u9 D3 d$ F, Z7 X5 U* ^/ k
            end7 ?& Y& B$ @: |6 i! e
        end1 G3 V, R% Q( q! T# d
    end
    , k7 o& R; i9 w: w6 j' C0 R[D,path]=floyd(a);, g5 [( p! H" u9 m0 {
    a1=sparse(ab1,bb1,w1);: l$ [/ ~2 z: A% D4 I9 m8 B6 @
    a1(35,35)=0;; J: N7 d5 D4 a6 k
    a1=a1+(a1)';
    . |/ g9 [* I" D  _6 h! aa1=full(a1);
    9 @( v* R  R# R0 X% Y( A7 l- i4 kfor i=1:35' [+ N. v7 O2 v9 M
        for j=1:351 u/ E) b: r- D8 o
            if(a1(i,j)==0&i~=j)1 i% h0 k9 s7 U6 a4 w0 K) Y
                a1(i,j)=inf;
    ! e  E% i1 b& h' e0 M4 I* t% e# G& c, G        end
    1 S# G. s0 ~3 W0 W. _" Q* ~2 ^6 J+ c1 S    end6 A4 I* N+ v, a( Z8 V% a) C
    end
    6 _1 d1 J! C4 ][D1,path1]=floyd(a1);
    & W- g+ ^0 i, Y8 p8 x; z& t  G上面这一段应该是赋值求最短路了吧,,,但是这赋值是赋得什么值额????有大神的话可以在后面注释一下。。。万分感谢。。。
    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题)) r, b  N3 W5 a' W
         要铺设一条的输送天然气的主管道,如图所示。经筛选后可以生产这种主管道钢管的钢厂有。图中粗线表示铁路,单细线表示公路,双线表示要铺设的管道(假设沿管道或者原有公路,或者建有施工公路),圆圈(点) 表示火车站,0 }# H" y& G6 E
      每段铁路、公路和管道旁的阿拉伯数字表示里程(单位km)。
    # D8 K) `8 ^1 d$ t0 O0 I       为方便计,1km主管道钢管称为1单位钢管。
    $ T- g$ \  ^+ o. n/ T7 N    一个钢厂如果承担制造这种钢管,至少需要生产500个单位。钢厂在指定期限内能生产该钢管的最大数量为个单位,钢管出厂销价1单位钢管为万元,如下表:
    - N6 T# h+ \4 t) P  T) L1 R7 {) CI           1           2           3          4          5          6           7
      I/ _4 i- z; q1 F8 J6 Z* d% l3 M/ _Si        800        800        1000        2000        2000        2000        30000 N, ~0 M0 z% a) C4 @/ s
    Pi        160        155        155        160        155        150        160
    ; G! a. E' h1 L8 A# ?  一单位钢管的铁路运价如下表:
    ! R1 Z' u' t  Z1 x8 }7 U4 r8 a% O里程(km)        ≤300        301~350        351~400        401~450        451~500
    + |, {" }" X9 R" m' {0 i& ~& B, _1 N运价(万元)        20        23        26        29        322 g/ S1 H8 I6 a6 C( g; F8 b: Q3 n
    里程(km)        501~600        601~700        701~800        801~900        901~1000
    - C4 h7 N. z" u( @1 p+ X运价(万元)        37        44        50        55        60. P1 M4 M' u* l
      1000km以上每增加1至100km运价增加5万元。
    6 L9 _$ F' X/ {0 X0 B- R0 l$ G! L     公路运输费用为1单位钢管每公里0·1万元(不足整公里部分按整公里计算)。
    3 L) j* v3 G* C5 i+ M6 O* c  钢管可由铁路、公路运往铺设地点(不只是运到点,而是管道全线)。
    3 Z6 ^% S7 N: W- S! q7 G3 w1.请制定一个主管道钢管的订购和运输计划,使总费用最小(给出总费用)。
    ' G( a% @7 ]) c" s9 p/ P3 k2.请就(1)的模型分析:哪个钢厂钢管的销价的变化对购运计划和总费用影响最大,哪个钢厂钢管的产量的上限的变化对购运计划和总费用的影响最大,并给出相应的数字结果。/ J2 S' t$ _9 f( I; s
    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题)& p' A) ^' S/ ~1 V3 ]
         要铺设一条的输送天然气的主管道,如图所示。经筛选后可以生产这种主管道钢管的钢厂有。图中粗线表示铁路,单细线表示公路,双线表示要铺设的管道(假设沿管道或者原有公路,或者建有施工公路),圆圈(点) 表示火车站,, i. }& ^4 T" i6 q' F6 T
      每段铁路、公路和管道旁的阿拉伯数字表示里程(单位km)。
    ! L6 B0 L/ r& C4 U% F  E4 a1 h       为方便计,1km主管道钢管称为1单位钢管。7 z  W; M6 U* P: S( F8 t9 i2 ]
        一个钢厂如果承担制造这种钢管,至少需要生产500个单位。钢厂在指定期限内能生产该钢管的最大数量为个单位,钢管出厂销价1单位钢管为万元,如下表:
    : `& Q1 j3 _; X0 OI           1           2           3          4          5          6           7
    0 O3 n- c+ R4 |. f3 G6 R        800        800        1000        2000        2000        2000        3000% p/ k+ K' X( a
            160        155        155        160        155        150        1606 m% i5 M/ i) j) |7 U3 M  v
      一单位钢管的铁路运价如下表:  H" R' E* v3 V9 \" U
    里程(km)        ≤300        301~350        351~400        401~450        451~500
    ' ~' i+ g4 v& s! |6 C" W0 x运价(万元)        20        23        26        29        321 z7 N! G- S4 Z$ M! O% p
    里程(km)        501~600        601~700        701~800        801~900        901~10007 K* ^9 B& n6 o" n
    运价(万元)        37        44        50        55        60
    - @1 v# t& P' U: F5 X  1000km以上每增加1至100km运价增加5万元。4 r3 Y3 B, E8 ?7 O! n% j
         公路运输费用为1单位钢管每公里0·1万元(不足整公里部分按整公里计算)。5 l9 f5 l" g, f
      钢管可由铁路、公路运往铺设地点(不只是运到点,而是管道全线)。( z7 H# ~6 l9 s3 N6 a' q
    请制定一个主管道钢管的订购和运输计划,使总费用最小(给出总费用)。
    7 m+ j$ _" t. I请就(1)的模型分析:哪个钢厂钢管的销价的变化对购运计划和总费用影响最大,哪个钢厂钢管的产量的上限的变化对购运计划和总费用的影响最大,并给出相应的数字结果。; Y& E5 b0 D* w+ v* A
    如果要铺设的管道不是一条线,而是一个树形图,铁路、公路和管道构成网络,请就这种更一般的情况给出一种解决办法,并对图二按(1)的要求给出模型和结果.
    + M/ {+ A# z# D: U/ G7 Q) L, K, j- L: \
    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, 2025-8-29 11:13 , Processed in 0.759793 second(s), 88 queries .

    回顶部