QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 4570|回复: 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程序。。。。。但是有些看不懂啊~~~那个大神指教一下~~~~
    # D! q) a+ ]; ?# E6 P+ w' B4 _% P1 m6 t! h2 j' v* F
    Floyd算法函数在matlab下的M函数文件如下:0 s7 l: g3 x3 w  w9 {+ c
    function [D,path]=floyd(a)# u) o2 A- z5 |7 |/ M- x- f  s
    n=size(a,1);7 P! P6 e0 d9 y" J8 C
    D=a;path=zeros(n,n);
    + Y6 H" I. K$ Z% t' e  t3 ]+ Tfor i=1:n
    - S4 }5 z' V8 A    for j=1:n
    + z$ `$ w  i, K( `! M9 }+ q        if D(i,j)~=inf( R7 o- Z/ Z% U# O; ^
                path(i,j)=j;1 p7 Z& ^: W6 e
            end( t9 ^! _' V( |& k8 ~7 B
        end5 W3 x9 z; y- Q" L# B  s
    end: C; H4 \6 z5 Y' a9 U8 n
    for k=1:n
    9 \* G% S* t# z' B$ z    for i=1:n+ V& C6 l& ?; F) a1 c1 v" j! H
            for j=1:n% V5 W9 X0 J9 c  R" ]
                if D(i,k)+D(k,j)<D(i,j)3 z$ a' r* A: l/ ~4 ]) m8 K
                    D(i,j)=D(i,k)+D(k,j);4 y2 [* E$ ~4 q8 ~5 Z5 r. o
                    path(i,j)=path(i,k);
    9 h% }6 o: _$ l            end
    $ I; _% t* ^3 m# D: {; g' F! E. V        end( U% y. ^; k, E
        end( m% c) j3 |& g7 v0 j2 J
    end
    # y/ @/ V7 p' E8 Y上面是一个函数,这一部分可以看懂,但是下面这个求最小费的问题就看不懂了。。。。
    4 m* U: g& ?% E6 K% s3 vab=[1 1 2 3 4 5 6 7 8 9 10 11 12 13 15 16 17 18 19 20  20 22 23];
    * o: K" K' L4 s" }/ m/ Ebb=[ 14 15 15 16 19 18 23 24 10 10 11 15 13 14 16 17 19 19 20 21 22 23 24];
    " e4 A7 {: U1 Z; e5 x6 }w=[20 202 1200 690  690 462 70 30 450 80 1150 1100 306 195 720 520 170 88 160 70 320 160 290];7 p7 `( A! H( y! u! l2 }& ^
    ab1=[1 2 4 5 6 7 8 9 10 11 14 15 16 17 18 33 34 35];
    ( j$ b. B6 j5 @0 o& Z0 a' D7 g6 n/ }bb1=[19 20 21 22 23 24 25 26 27 28 29 30 31 31 19 24 31 32];
    + @/ S; r5 @# p# D% I; J8 p0 Q! Cw1=[3 2 600 10 5 10 12 42 70 10 10 62 30 20  104 31 110 20];$ y/ w& D) H9 N8 u
    a=sparse(ab,bb,w);6 S+ g1 [3 K. ]  n: _3 l6 n, v
    a(24,24)=0;0 O1 }5 R' f& c$ u: D" z
    a=a+a’;1 z4 i6 a% Q: x' U; E
    a=full(a);
    * w$ i* V- _' h7 V) Y: s3 nfor i=1:24& }% a9 F4 V# t
        for j=1:24, d1 T9 O5 e. b$ u
            if(a(i,j)==0&i~=j)
    * N8 [2 d8 A$ F: B            a(i,j)=inf;
    * w. Y, _) ]1 O8 F: Z        end$ P4 B1 Z9 \6 |( {
        end
    # g9 r* c8 j+ r$ z6 z) B7 iend3 g& r- u# j$ x; X, D
    [D,path]=floyd(a);6 }4 G$ d3 p# _+ {& s0 ~. Q, Y) M
    a1=sparse(ab1,bb1,w1);
    $ m+ g% d$ C/ b  T3 @9 Ja1(35,35)=0;6 k) H2 R2 I) k
    a1=a1+(a1)';, b! E: f3 L1 J& s
    a1=full(a1);/ c! J6 A$ {1 O! u" i& r. |
    for i=1:35
    1 m& ^+ j! F5 f; a* U# K! B0 W    for j=1:35
    * t7 h, Z" @; a. N$ U# p        if(a1(i,j)==0&i~=j)
    6 A1 q& @4 l8 g            a1(i,j)=inf;
    % E# S4 b5 O& ^% v  V2 f5 d        end
    6 r# w- E/ p2 Q    end' m, I; N4 {( h; A( S* W( K
    end/ l6 Q+ d9 h4 V5 ]; b) }
    [D1,path1]=floyd(a1);
    ) M8 B. a7 q( d6 [6 C上面这一段应该是赋值求最短路了吧,,,但是这赋值是赋得什么值额????有大神的话可以在后面注释一下。。。万分感谢。。。
    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题)5 i" q1 ^' m5 j4 Q6 R+ z0 p
         要铺设一条的输送天然气的主管道,如图所示。经筛选后可以生产这种主管道钢管的钢厂有。图中粗线表示铁路,单细线表示公路,双线表示要铺设的管道(假设沿管道或者原有公路,或者建有施工公路),圆圈(点) 表示火车站,* I4 F& V' \% q/ R( H# Z' E# Q0 J
      每段铁路、公路和管道旁的阿拉伯数字表示里程(单位km)。' t9 `: p% W" t# J# j
           为方便计,1km主管道钢管称为1单位钢管。3 I  h: \; o  x$ y5 O2 A
        一个钢厂如果承担制造这种钢管,至少需要生产500个单位。钢厂在指定期限内能生产该钢管的最大数量为个单位,钢管出厂销价1单位钢管为万元,如下表:$ ~3 x: x6 r: _
    I           1           2           3          4          5          6           7
    , _6 a- L! q! H5 x! {) w2 L        800        800        1000        2000        2000        2000        3000
    ) P; V  E/ z, s        160        155        155        160        155        150        160
    $ D. p% n' C3 X; O, J( b* B3 z  一单位钢管的铁路运价如下表:
    " c! i6 ^/ G! H% m里程(km)        ≤300        301~350        351~400        401~450        451~500
    8 l# G7 F$ a( E5 Z3 U2 c运价(万元)        20        23        26        29        32
    8 u1 G, {4 L9 b' p3 S" g里程(km)        501~600        601~700        701~800        801~900        901~1000* H- M  o% f1 L% {- G. P
    运价(万元)        37        44        50        55        60  X+ j& G8 M. [  g0 x
      1000km以上每增加1至100km运价增加5万元。+ y; J2 R( P' I2 t- V+ ?1 t! ?
         公路运输费用为1单位钢管每公里0·1万元(不足整公里部分按整公里计算)。, ^8 j$ N/ T4 n5 P8 F
      钢管可由铁路、公路运往铺设地点(不只是运到点,而是管道全线)。% F5 {$ {. \) r) e5 `5 T4 ]
    请制定一个主管道钢管的订购和运输计划,使总费用最小(给出总费用)。, U2 h0 n6 Q8 ~
    请就(1)的模型分析:哪个钢厂钢管的销价的变化对购运计划和总费用影响最大,哪个钢厂钢管的产量的上限的变化对购运计划和总费用的影响最大,并给出相应的数字结果。
    8 E9 c' i: @/ |& W& \- k# E0 D, h如果要铺设的管道不是一条线,而是一个树形图,铁路、公路和管道构成网络,请就这种更一般的情况给出一种解决办法,并对图二按(1)的要求给出模型和结果.+ V$ G; s$ _7 T/ f% }; B: n, E7 O

    % I  {) V& A) uC:\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题)
    * D& F% M, l6 a0 ]9 k     要铺设一条的输送天然气的主管道,如图所示。经筛选后可以生产这种主管道钢管的钢厂有。图中粗线表示铁路,单细线表示公路,双线表示要铺设的管道(假设沿管道或者原有公路,或者建有施工公路),圆圈(点) 表示火车站,, \; u  N# o) L, B6 y
      每段铁路、公路和管道旁的阿拉伯数字表示里程(单位km)。
    " w, [5 X0 J9 y8 _       为方便计,1km主管道钢管称为1单位钢管。
    , Q2 t( O: y- X, o2 }; b    一个钢厂如果承担制造这种钢管,至少需要生产500个单位。钢厂在指定期限内能生产该钢管的最大数量为个单位,钢管出厂销价1单位钢管为万元,如下表:- j' M" y0 V6 ?
    I           1           2           3          4          5          6           72 c: K5 L2 z6 m, i
    Si        800        800        1000        2000        2000        2000        3000
    - x, u, X5 y! QPi        160        155        155        160        155        150        160' J; w5 \; s5 _, [7 m
      一单位钢管的铁路运价如下表:
    ) d- \" }0 D- d9 b) {1 o2 a里程(km)        ≤300        301~350        351~400        401~450        451~5008 m9 H8 _6 l+ r: V) Z5 R
    运价(万元)        20        23        26        29        32
    % s, f% \  B9 g! s4 j- f里程(km)        501~600        601~700        701~800        801~900        901~10001 I3 v  t2 Y4 j- [
    运价(万元)        37        44        50        55        600 u! l# W' g% m  C
      1000km以上每增加1至100km运价增加5万元。
    2 ]! D; P" |- X; J2 w     公路运输费用为1单位钢管每公里0·1万元(不足整公里部分按整公里计算)。$ f4 S6 X2 ?4 ?. v; O% a- G
      钢管可由铁路、公路运往铺设地点(不只是运到点,而是管道全线)。
    : k; N) B  G7 {" G, e1.请制定一个主管道钢管的订购和运输计划,使总费用最小(给出总费用)。7 H/ Y: i, B3 z% I8 b2 T
    2.请就(1)的模型分析:哪个钢厂钢管的销价的变化对购运计划和总费用影响最大,哪个钢厂钢管的产量的上限的变化对购运计划和总费用的影响最大,并给出相应的数字结果。8 d" p* f' y' x9 _5 ?) _9 z
    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

    回复

    使用道具 举报

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

    fastpost qq
    收缩
    • 电话咨询

    • 04714969085

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2026-10-31 14:24 , Processed in 0.231631 second(s), 86 queries .

    回顶部