QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 4422|回复: 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程序。。。。。但是有些看不懂啊~~~那个大神指教一下~~~~
    : s5 d' a: S. e" q& I9 x4 @6 r' I, J* z2 q' C5 [3 V) m, W
    Floyd算法函数在matlab下的M函数文件如下:. n6 y6 S, z% A* x9 |3 Y3 g
    function [D,path]=floyd(a)5 W3 R7 T6 C' u+ {7 P# G
    n=size(a,1);
    - g! A* y# U/ hD=a;path=zeros(n,n);
    5 ]) m- [4 y' b3 {/ p/ p" Ofor i=1:n
    * {5 I  f2 n; L; X5 v- R    for j=1:n
    1 V4 Q! ?1 K1 T7 s1 T        if D(i,j)~=inf
    9 M% K/ B9 l$ y$ g            path(i,j)=j;
    - u- H  N' A4 h) ^) I" V  ~: J% o        end, ^( p( ~* D7 o
        end2 e" T2 ^- `: p6 b- S
    end% f5 I' B' L% X& {$ L' ?6 x- M
    for k=1:n6 o* q$ r& c# d0 ]- B- k, n
        for i=1:n. N$ k/ [$ V/ Q4 n4 a
            for j=1:n, N+ U0 j6 z- R+ J
                if D(i,k)+D(k,j)<D(i,j)
    & h7 I$ s% e6 w6 D4 u. c; O                D(i,j)=D(i,k)+D(k,j);
    6 p# y- Q; L( [- t                path(i,j)=path(i,k);
    + ^6 w' [  c; u  j+ ?( `# S6 @9 U            end
    ; B% M" h* B* f) f        end
    2 c3 o( e" p" U8 s    end6 @6 V( t6 G# y  F+ G+ t( x
    end
      P. [; J( r0 T; A" F上面是一个函数,这一部分可以看懂,但是下面这个求最小费的问题就看不懂了。。。。' c, G  R8 o+ F8 v, T, 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];& e( G2 w  M% K
    bb=[ 14 15 15 16 19 18 23 24 10 10 11 15 13 14 16 17 19 19 20 21 22 23 24];
    8 A+ V1 n2 N+ N" y5 p* v1 Sw=[20 202 1200 690  690 462 70 30 450 80 1150 1100 306 195 720 520 170 88 160 70 320 160 290];+ w8 ^, k  I& O" e& {( b) R1 a  @
    ab1=[1 2 4 5 6 7 8 9 10 11 14 15 16 17 18 33 34 35];- M6 v, w2 g- {6 [1 _
    bb1=[19 20 21 22 23 24 25 26 27 28 29 30 31 31 19 24 31 32];5 ?8 ?4 M9 W; i( w$ }# |
    w1=[3 2 600 10 5 10 12 42 70 10 10 62 30 20  104 31 110 20];
    ! x+ T1 N" A2 y: z) j4 O$ }$ Fa=sparse(ab,bb,w);7 W. j5 D/ `2 D9 ^) T) F, Y- S) [9 c
    a(24,24)=0;; n$ b8 q# T  @$ a" G+ d" O
    a=a+a’;! n/ N) o8 @/ ]: P* I
    a=full(a);
      }/ W; r3 O0 G! O" s1 @9 g; B, Zfor i=1:24
    . R: }& P6 P. ^" C( G2 u) H4 U: t    for j=1:24
    / E4 |- D0 Q) u7 |# S$ e! j        if(a(i,j)==0&i~=j)) q6 Z7 h, p/ p) N, ?" T
                a(i,j)=inf;
    8 J: E( H+ B' g; {9 t+ Z$ m, D: w$ }        end9 ]6 V( x5 z' }/ r# D
        end
    . j. h4 X7 @. J4 F; [3 o9 rend2 I7 [9 F) x* D2 r; r# Z
    [D,path]=floyd(a);
    8 Y6 U1 D6 }1 `* ka1=sparse(ab1,bb1,w1);1 o) U2 ?2 G3 x2 @
    a1(35,35)=0;
    : `$ T/ P2 {, ]$ s$ m" Va1=a1+(a1)';8 S" O0 q7 L& C. @  g
    a1=full(a1);
    % M. {1 M& m5 K6 C- U: T2 N" hfor i=1:355 [# F1 N( |# I& t6 ?% b! x
        for j=1:35* U0 _% X1 b% E. g/ K2 R
            if(a1(i,j)==0&i~=j)
    2 @* a8 ^6 D3 s- r1 p% `2 h            a1(i,j)=inf;# e9 Y- ?* ~2 y
            end
    + }' @, W1 R( r: p/ e* d) R/ [    end
    , n0 h9 ^! J. u+ [end; @0 f6 [) d% s, w; Y# E' p$ G
    [D1,path1]=floyd(a1);
    . a, ]7 U7 r, X- Y: R- h上面这一段应该是赋值求最短路了吧,,,但是这赋值是赋得什么值额????有大神的话可以在后面注释一下。。。万分感谢。。。
    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题)8 G* N) ^# [3 ?$ k" J8 h' y
         要铺设一条的输送天然气的主管道,如图所示。经筛选后可以生产这种主管道钢管的钢厂有。图中粗线表示铁路,单细线表示公路,双线表示要铺设的管道(假设沿管道或者原有公路,或者建有施工公路),圆圈(点) 表示火车站,( b: w# K' w4 g( k5 E& c3 r+ Y
      每段铁路、公路和管道旁的阿拉伯数字表示里程(单位km)。
    : W6 R& g  m) i& }  ~' e5 z       为方便计,1km主管道钢管称为1单位钢管。
    3 }# {6 y& E) [/ P    一个钢厂如果承担制造这种钢管,至少需要生产500个单位。钢厂在指定期限内能生产该钢管的最大数量为个单位,钢管出厂销价1单位钢管为万元,如下表:) l5 `% R. R! Z- ^. ^2 n* z
    I           1           2           3          4          5          6           7
    & e, L3 V! l, }" v( p        800        800        1000        2000        2000        2000        3000" I- O) _3 s3 K* v
            160        155        155        160        155        150        1606 m6 A8 j+ G5 G8 V
      一单位钢管的铁路运价如下表:" {  q/ f9 m4 g0 D- P
    里程(km)        ≤300        301~350        351~400        401~450        451~5009 j/ X9 V# s! W4 j1 S. j
    运价(万元)        20        23        26        29        32, d& b( x  t8 u7 T$ J
    里程(km)        501~600        601~700        701~800        801~900        901~1000
    ) W" m1 _6 f" A5 X运价(万元)        37        44        50        55        605 Q( j: A  ~( |  l' P; z" k( e
      1000km以上每增加1至100km运价增加5万元。- h. D  H, R5 H, w! }
         公路运输费用为1单位钢管每公里0·1万元(不足整公里部分按整公里计算)。
    - I8 c$ L+ [' V8 ]- C7 C7 [& Z  钢管可由铁路、公路运往铺设地点(不只是运到点,而是管道全线)。7 g- J4 G, U7 Y) @  q8 Z& ^7 n
    请制定一个主管道钢管的订购和运输计划,使总费用最小(给出总费用)。
    0 ]- e/ L2 c" a: e请就(1)的模型分析:哪个钢厂钢管的销价的变化对购运计划和总费用影响最大,哪个钢厂钢管的产量的上限的变化对购运计划和总费用的影响最大,并给出相应的数字结果。; O4 Y& J1 ^$ ]4 Z
    如果要铺设的管道不是一条线,而是一个树形图,铁路、公路和管道构成网络,请就这种更一般的情况给出一种解决办法,并对图二按(1)的要求给出模型和结果.
    - y( H; B0 u$ N9 z. m" }0 h
    1 o# A7 U7 b; ~4 ]  B3 ]% Y& H0 XC:\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题)
    ) i7 i" e1 M# q     要铺设一条的输送天然气的主管道,如图所示。经筛选后可以生产这种主管道钢管的钢厂有。图中粗线表示铁路,单细线表示公路,双线表示要铺设的管道(假设沿管道或者原有公路,或者建有施工公路),圆圈(点) 表示火车站,* I/ f: E. \0 e# `6 ]8 l
      每段铁路、公路和管道旁的阿拉伯数字表示里程(单位km)。! z* L5 W. v0 z/ K) d' N
           为方便计,1km主管道钢管称为1单位钢管。
    - w; Q( L/ r$ t/ \    一个钢厂如果承担制造这种钢管,至少需要生产500个单位。钢厂在指定期限内能生产该钢管的最大数量为个单位,钢管出厂销价1单位钢管为万元,如下表:
    9 t, z/ y) G9 U) V" K2 o& lI           1           2           3          4          5          6           7
    9 K% R# p" f" T( w! \; s+ U- p& S% aSi        800        800        1000        2000        2000        2000        30009 L' Y& \, A* o! G
    Pi        160        155        155        160        155        150        160
    9 Z$ t1 ]/ K$ |& F  一单位钢管的铁路运价如下表:
    & ^) {2 {9 w( M& `$ O* I8 V0 S& M里程(km)        ≤300        301~350        351~400        401~450        451~5001 q4 q* D" }: L
    运价(万元)        20        23        26        29        32
    , W2 {* L2 w" N$ l  A% H里程(km)        501~600        601~700        701~800        801~900        901~1000
    " u, I4 M6 p1 W5 f. z4 o0 I运价(万元)        37        44        50        55        60
    ; I: z+ z8 z4 Q; W; s  1000km以上每增加1至100km运价增加5万元。
    $ W- }- F) \3 r, Y     公路运输费用为1单位钢管每公里0·1万元(不足整公里部分按整公里计算)。) u  K% @3 C" b: ?! _4 C# i
      钢管可由铁路、公路运往铺设地点(不只是运到点,而是管道全线)。% e) v* W5 a+ g3 Q3 {' Y
    1.请制定一个主管道钢管的订购和运输计划,使总费用最小(给出总费用)。
    ) ^& g* h& p2 b  |2.请就(1)的模型分析:哪个钢厂钢管的销价的变化对购运计划和总费用影响最大,哪个钢厂钢管的产量的上限的变化对购运计划和总费用的影响最大,并给出相应的数字结果。
    ; s3 Q% v3 z; y$ |; X4 _3 ]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-9-9 18:12 , Processed in 0.368567 second(s), 85 queries .

    回顶部