QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 4267|回复: 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程序。。。。。但是有些看不懂啊~~~那个大神指教一下~~~~* N, x0 U$ r  f' D8 i
    5 _3 _& G# X! N: C' C5 r- a
    Floyd算法函数在matlab下的M函数文件如下:1 n0 c. J% G  W. |5 n0 v( @
    function [D,path]=floyd(a)) B* I3 A. _( J- z1 B4 C
    n=size(a,1);
    ) g. @5 @8 W) KD=a;path=zeros(n,n);3 I8 u0 u& k+ e- F& O% Q
    for i=1:n
    % P4 w! V- E# R( ~1 D  b: X  u    for j=1:n
    % |/ n6 D  ]8 y        if D(i,j)~=inf7 X: P; h9 z8 `* ]. y; D8 p
                path(i,j)=j;
    , ~& w! p0 O- y8 c        end
    - @9 l) r' r% h0 D, ^5 s' Q    end
    ) E; ]9 W" S& ]: a. Hend' x! y* _# `5 T+ Q; ~
    for k=1:n
    2 P# S# x6 V) n1 R# ]    for i=1:n
    # b; X) k2 S' V9 y" t0 D1 L        for j=1:n. U! x: ]9 m# c3 F6 R3 J
                if D(i,k)+D(k,j)<D(i,j); ~9 q$ W9 E. t$ Z
                    D(i,j)=D(i,k)+D(k,j);
    % I8 y- E" m% f8 p0 F                path(i,j)=path(i,k);1 y7 H  ~  o! Z& k: J7 U  ^1 X
                end) V9 X+ @1 j$ a" Z% m& O1 g8 a
            end! E+ {2 o" f" j5 F3 O. b* M
        end3 q9 r  [& ~) z( Y9 k0 V: I. k. U
    end8 z9 @7 o$ j5 Y/ U
    上面是一个函数,这一部分可以看懂,但是下面这个求最小费的问题就看不懂了。。。。: X4 h8 O! l8 j
    ab=[1 1 2 3 4 5 6 7 8 9 10 11 12 13 15 16 17 18 19 20  20 22 23];
    - B* |3 c# x4 p5 W7 f7 G( W* Nbb=[ 14 15 15 16 19 18 23 24 10 10 11 15 13 14 16 17 19 19 20 21 22 23 24];# C" [1 H, l% U; M
    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 {5 M- l# c" m& q5 o
    ab1=[1 2 4 5 6 7 8 9 10 11 14 15 16 17 18 33 34 35];
    5 x! k/ m' P( x; @; M8 a- B) J: Hbb1=[19 20 21 22 23 24 25 26 27 28 29 30 31 31 19 24 31 32];
    7 e" V( b1 f7 zw1=[3 2 600 10 5 10 12 42 70 10 10 62 30 20  104 31 110 20];
    - x' U) h* v: a% q; Ka=sparse(ab,bb,w);
    1 U+ [4 \: T; F* G( f5 xa(24,24)=0;! d/ x9 D. M6 D4 F- Q
    a=a+a’;
    1 \2 ^5 [6 p; J  h9 Da=full(a);" v) _/ E  V$ a3 \0 A; }( g
    for i=1:24% }) c! n) T9 g3 G
        for j=1:24, t3 O: W% {4 r& k, i8 I
            if(a(i,j)==0&i~=j)' K+ c6 N; e) {0 }# M5 R
                a(i,j)=inf;
    & {' I1 D0 v7 g  J" d        end: {% @/ g5 d$ \' B4 L6 ]! D
        end
    ; o- P" v- u2 j' eend) x# A6 z+ T; R5 V
    [D,path]=floyd(a);- `5 `; O) c. m2 u. m9 Q
    a1=sparse(ab1,bb1,w1);. d1 h# n; }* [& Y- t  g- q# }/ f
    a1(35,35)=0;
    $ ?8 A* I1 l# X4 U: C5 b$ Xa1=a1+(a1)';
    2 u4 d" u# L  _- m4 S2 W. r" s7 |a1=full(a1);0 l9 s3 D3 K2 J
    for i=1:35* q% o1 p; F6 _( S" z, U( v4 H! R
        for j=1:35
    ; h. `% ^% k% K# D        if(a1(i,j)==0&i~=j)* V, U- f- Q" J& K7 O
                a1(i,j)=inf;/ _1 L  V1 @) n" ?% p
            end$ I5 J" O5 u% F
        end! j+ ^# J0 B- J' E. P# A
    end5 ]  T: n9 B1 d0 B: v
    [D1,path1]=floyd(a1);
    / {( N; s2 e0 j, [* F& t' X, U上面这一段应该是赋值求最短路了吧,,,但是这赋值是赋得什么值额????有大神的话可以在后面注释一下。。。万分感谢。。。
    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题)
    0 i" L+ Y: r9 H7 i: M. m     要铺设一条的输送天然气的主管道,如图所示。经筛选后可以生产这种主管道钢管的钢厂有。图中粗线表示铁路,单细线表示公路,双线表示要铺设的管道(假设沿管道或者原有公路,或者建有施工公路),圆圈(点) 表示火车站,
    ) a) B# U1 ?; x- Q% S+ V' b5 ^  每段铁路、公路和管道旁的阿拉伯数字表示里程(单位km)。: l: z: D8 m) v, k- G
           为方便计,1km主管道钢管称为1单位钢管。
    ; E+ x) s+ F- D; a    一个钢厂如果承担制造这种钢管,至少需要生产500个单位。钢厂在指定期限内能生产该钢管的最大数量为个单位,钢管出厂销价1单位钢管为万元,如下表:
    8 `, m& o" h+ [2 n/ vI           1           2           3          4          5          6           7' d8 u/ l- e# ^1 z% h2 l$ S
            800        800        1000        2000        2000        2000        3000
    6 a' Y' T; c9 x/ o; K- S        160        155        155        160        155        150        160
    ( Q, q! [( b  K  一单位钢管的铁路运价如下表:
    9 ^9 x  n7 f4 I+ u( s8 i里程(km)        ≤300        301~350        351~400        401~450        451~500% h8 s& Y" G3 h1 F4 d
    运价(万元)        20        23        26        29        327 d5 n0 P) W7 G# K
    里程(km)        501~600        601~700        701~800        801~900        901~1000
    ( t" X( l$ a7 M1 s运价(万元)        37        44        50        55        601 \$ y# s2 \# H
      1000km以上每增加1至100km运价增加5万元。0 P$ K8 o+ Q  N# H
         公路运输费用为1单位钢管每公里0·1万元(不足整公里部分按整公里计算)。
    ; a% A0 H) ?+ Q0 i  钢管可由铁路、公路运往铺设地点(不只是运到点,而是管道全线)。
    ' C7 P9 B0 D+ L8 ?4 T1 B0 w请制定一个主管道钢管的订购和运输计划,使总费用最小(给出总费用)。
    ) @, v6 T* S' @; n- a请就(1)的模型分析:哪个钢厂钢管的销价的变化对购运计划和总费用影响最大,哪个钢厂钢管的产量的上限的变化对购运计划和总费用的影响最大,并给出相应的数字结果。
    * p! U" J$ ]+ U- i) m, h如果要铺设的管道不是一条线,而是一个树形图,铁路、公路和管道构成网络,请就这种更一般的情况给出一种解决办法,并对图二按(1)的要求给出模型和结果.1 o* ~7 d" ]4 L/ \! f7 ^) @
    + r. A6 k" z* K0 O# a9 B7 R# K
    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题)
    0 x; m  s" }- h/ A) a; r     要铺设一条的输送天然气的主管道,如图所示。经筛选后可以生产这种主管道钢管的钢厂有。图中粗线表示铁路,单细线表示公路,双线表示要铺设的管道(假设沿管道或者原有公路,或者建有施工公路),圆圈(点) 表示火车站,
    6 w+ j' v6 q4 L+ H$ D  每段铁路、公路和管道旁的阿拉伯数字表示里程(单位km)。
    ' f5 _3 {7 s2 y4 q; j8 H       为方便计,1km主管道钢管称为1单位钢管。
    3 L$ ]# n0 A7 u. A& g& G& w! B7 a    一个钢厂如果承担制造这种钢管,至少需要生产500个单位。钢厂在指定期限内能生产该钢管的最大数量为个单位,钢管出厂销价1单位钢管为万元,如下表:. n4 R% t3 t6 P
    I           1           2           3          4          5          6           7
    % F$ `6 Z& g- Z/ m% ~* MSi        800        800        1000        2000        2000        2000        3000! m: \* n# P9 c8 a2 |- O8 B5 V8 K
    Pi        160        155        155        160        155        150        160: p3 X! c, D9 b7 Y7 i
      一单位钢管的铁路运价如下表:
    - ?" g% P. m$ R3 G. L+ W" R里程(km)        ≤300        301~350        351~400        401~450        451~500' g: a. N9 t$ U4 Q- V: }5 q  p! b/ e" O* b
    运价(万元)        20        23        26        29        32
    * H3 X* Q8 ]* v5 g; A5 W; _' ~+ d8 s3 k里程(km)        501~600        601~700        701~800        801~900        901~1000! f0 r; X, X, M! y# y+ v, p% m, ~
    运价(万元)        37        44        50        55        606 c( E& _7 s6 P6 _; S6 D; N# E, @6 v
      1000km以上每增加1至100km运价增加5万元。
    ) f4 C5 }  p$ n' C6 w0 E4 m     公路运输费用为1单位钢管每公里0·1万元(不足整公里部分按整公里计算)。
    3 c2 H9 g4 d' r* ^( `  钢管可由铁路、公路运往铺设地点(不只是运到点,而是管道全线)。
    ) S3 T0 L+ @% y% s/ v! n6 v+ F1 b1.请制定一个主管道钢管的订购和运输计划,使总费用最小(给出总费用)。
    3 F' a4 r# h+ y: ^; l0 b2.请就(1)的模型分析:哪个钢厂钢管的销价的变化对购运计划和总费用影响最大,哪个钢厂钢管的产量的上限的变化对购运计划和总费用的影响最大,并给出相应的数字结果。
    7 i5 C/ U+ g# I# b. e6 P3.如果要铺设的管道不是一条线,而是一个树形图,铁路、公路和管道构成网络,请就这种更一般的情况给出一种解决办法,并对图二按(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-4-21 08:27 , Processed in 0.492790 second(s), 85 queries .

    回顶部