QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 4365|回复: 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程序。。。。。但是有些看不懂啊~~~那个大神指教一下~~~~' {5 e" K) d' C! d6 N, W
    5 ^. \; P8 m4 |
    Floyd算法函数在matlab下的M函数文件如下:; c$ T: ~* ~4 R2 O  D- ?* a2 S
    function [D,path]=floyd(a)
    + S4 u' l2 M* Pn=size(a,1);- D' l2 Q; R: I* S
    D=a;path=zeros(n,n);' H" f/ j/ M1 D+ n
    for i=1:n5 S0 K: T* o6 s# t: N+ ~/ M8 Z! s
        for j=1:n( m+ K" i3 w0 J4 R7 ?' l
            if D(i,j)~=inf+ ?' F0 L1 u1 \  j2 C
                path(i,j)=j;) t+ f2 p+ s, [4 S# n/ X5 t1 |) y
            end
    8 i; d+ Z: l1 C) n4 M% Q    end. l! {) H) z9 k5 j+ g
    end
    , I" _3 r/ [+ B$ E/ W' o/ Afor k=1:n* |/ ]0 l, j4 e6 V
        for i=1:n
    ; `8 n% K. T( E$ K8 z( N        for j=1:n
    . H0 L9 k" K7 K7 x! J            if D(i,k)+D(k,j)<D(i,j)
    9 ]$ l* n; J5 R2 `                D(i,j)=D(i,k)+D(k,j);
    ; @( e# n" q$ f4 o: o* d                path(i,j)=path(i,k);
    2 i- t& k1 S, m5 H' }) t5 ~            end
    # G( A& b) @9 W* t! ], u        end( ~1 N) u) g$ I! c9 ]* e2 w" ?. i
        end
    7 ]9 z# r! x1 D* [5 e1 V+ c3 Mend: w$ f6 h0 J8 ]- J# y6 i4 P
    上面是一个函数,这一部分可以看懂,但是下面这个求最小费的问题就看不懂了。。。。
    , p: g( s" a+ y# aab=[1 1 2 3 4 5 6 7 8 9 10 11 12 13 15 16 17 18 19 20  20 22 23];
      @! f) M4 z! a6 r: m. ]2 [, abb=[ 14 15 15 16 19 18 23 24 10 10 11 15 13 14 16 17 19 19 20 21 22 23 24];
    . v- d: [8 w* G! D! Dw=[20 202 1200 690  690 462 70 30 450 80 1150 1100 306 195 720 520 170 88 160 70 320 160 290];; Z" a; [; S6 @: R
    ab1=[1 2 4 5 6 7 8 9 10 11 14 15 16 17 18 33 34 35];
    ) p* N% r. R4 X% g9 E1 \bb1=[19 20 21 22 23 24 25 26 27 28 29 30 31 31 19 24 31 32];, l$ {: U  n- I  H
    w1=[3 2 600 10 5 10 12 42 70 10 10 62 30 20  104 31 110 20];
    ; [3 i" w2 t: g# Aa=sparse(ab,bb,w);
    ( U# R; [: G9 w, M1 `, R. u: Qa(24,24)=0;
    . J  D: ^3 y! g3 h5 n: _' r# za=a+a’;
    * N6 g( g- C9 ?+ k# {' Ha=full(a);
    , N$ I6 T+ k5 v2 D$ cfor i=1:24
    0 f* R! k5 w, x$ g" {( U' e( Q    for j=1:24
    . ~: W) p) e# B        if(a(i,j)==0&i~=j)  E, v: \& G& E9 v5 K/ \
                a(i,j)=inf;
    ( j2 a7 u, `6 h, n+ f' |        end
    ! U) l" Y+ V: |' v    end& ^% U3 Q0 f, c0 s1 G
    end' [8 ^2 j* I8 t1 S& P
    [D,path]=floyd(a);) {( D& n. _& v; G* u0 w
    a1=sparse(ab1,bb1,w1);
    + Z9 E+ E1 K1 T# @a1(35,35)=0;
    : B) U# e  c* W- ~( oa1=a1+(a1)';- Z+ P7 E+ Y; k* O+ B( C0 v) n0 V$ h
    a1=full(a1);
    , _# N4 Y9 t) A* c0 _3 x9 Yfor i=1:35# t* M8 t+ d2 b* F0 h
        for j=1:352 X9 D7 R- Y* c' a5 d5 E
            if(a1(i,j)==0&i~=j), b4 H2 q/ T% F+ y5 q* w2 F
                a1(i,j)=inf;
    , b- Y: `5 d% m5 v1 v. M+ y        end9 }7 x8 ?$ R, ^: ^' }
        end
    / J( E. A+ {" f# _3 L1 Z8 q0 Rend
    & U. P  K% C4 l+ ^[D1,path1]=floyd(a1);/ ^" Q- n0 N7 j0 ]  I; I
    上面这一段应该是赋值求最短路了吧,,,但是这赋值是赋得什么值额????有大神的话可以在后面注释一下。。。万分感谢。。。
    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题)
    % b+ s- h$ S! C& h2 w     要铺设一条的输送天然气的主管道,如图所示。经筛选后可以生产这种主管道钢管的钢厂有。图中粗线表示铁路,单细线表示公路,双线表示要铺设的管道(假设沿管道或者原有公路,或者建有施工公路),圆圈(点) 表示火车站,- l' N# |( [* \
      每段铁路、公路和管道旁的阿拉伯数字表示里程(单位km)。8 r+ z5 U- ]% I6 Q5 y
           为方便计,1km主管道钢管称为1单位钢管。
    5 Z. d( a8 X# _, g    一个钢厂如果承担制造这种钢管,至少需要生产500个单位。钢厂在指定期限内能生产该钢管的最大数量为个单位,钢管出厂销价1单位钢管为万元,如下表:* v" y1 _9 E# P7 k4 N3 {
    I           1           2           3          4          5          6           7
    6 v+ H2 G! ?' {  ISi        800        800        1000        2000        2000        2000        3000
    ' [0 r" f3 }( g8 v7 N( lPi        160        155        155        160        155        150        160
    . q0 m6 i0 T/ M  一单位钢管的铁路运价如下表:- {+ _; U9 g3 Q; S! W5 h
    里程(km)        ≤300        301~350        351~400        401~450        451~500
    ) F: ]; p5 C2 Q- Z/ g3 p运价(万元)        20        23        26        29        32
      w, ?2 F  t3 I里程(km)        501~600        601~700        701~800        801~900        901~1000
    9 v( ]; d4 Z& J# F! h! g运价(万元)        37        44        50        55        603 [2 t! ?5 S. K! T. b# \, }
      1000km以上每增加1至100km运价增加5万元。
    ; x. u- I. x& |9 e+ s4 T; d7 n# V     公路运输费用为1单位钢管每公里0·1万元(不足整公里部分按整公里计算)。+ |' k8 I) i* P. V
      钢管可由铁路、公路运往铺设地点(不只是运到点,而是管道全线)。
    9 M5 t8 K- R  _3 O3 N9 g, e3 L1.请制定一个主管道钢管的订购和运输计划,使总费用最小(给出总费用)。
    7 i: M1 P- n, e. S. X$ d) d/ N; S" M0 ?/ i2.请就(1)的模型分析:哪个钢厂钢管的销价的变化对购运计划和总费用影响最大,哪个钢厂钢管的产量的上限的变化对购运计划和总费用的影响最大,并给出相应的数字结果。- k% i4 D0 f, E: r( J
    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题)
    " K9 K. ?. j) @8 }$ m) y( |     要铺设一条的输送天然气的主管道,如图所示。经筛选后可以生产这种主管道钢管的钢厂有。图中粗线表示铁路,单细线表示公路,双线表示要铺设的管道(假设沿管道或者原有公路,或者建有施工公路),圆圈(点) 表示火车站,
    3 p4 N0 k- n. l  每段铁路、公路和管道旁的阿拉伯数字表示里程(单位km)。7 b+ I4 d- t7 n* B. \( M+ G8 {
           为方便计,1km主管道钢管称为1单位钢管。) g3 Y* F! G, v) \3 B
        一个钢厂如果承担制造这种钢管,至少需要生产500个单位。钢厂在指定期限内能生产该钢管的最大数量为个单位,钢管出厂销价1单位钢管为万元,如下表:5 q$ Q% x) w* W) V! Z( z
    I           1           2           3          4          5          6           7/ f( I  B3 U/ [$ Z
            800        800        1000        2000        2000        2000        3000
    ! v! o: x, @" s0 U3 d        160        155        155        160        155        150        160+ N& Y5 H( L- s
      一单位钢管的铁路运价如下表:
    & Q& C+ e1 l0 T  u4 C里程(km)        ≤300        301~350        351~400        401~450        451~500
    ! L( C+ C$ y% s2 ^% P" X& m. H运价(万元)        20        23        26        29        32
    ; A" @+ F  ~. b8 G9 ^里程(km)        501~600        601~700        701~800        801~900        901~1000
    1 s' B) m1 x$ w9 s9 X运价(万元)        37        44        50        55        60
    , e. q/ \1 O3 j* W  1000km以上每增加1至100km运价增加5万元。
    ( H- y2 G' r+ ?# {- z+ \5 f' w: n     公路运输费用为1单位钢管每公里0·1万元(不足整公里部分按整公里计算)。
    4 U5 Q% `; y0 ?; x  钢管可由铁路、公路运往铺设地点(不只是运到点,而是管道全线)。: S# F+ f( i3 H" Z! L& M6 c# n+ Y
    请制定一个主管道钢管的订购和运输计划,使总费用最小(给出总费用)。7 A( `1 l1 X. o: j9 J- n8 a4 Q7 i
    请就(1)的模型分析:哪个钢厂钢管的销价的变化对购运计划和总费用影响最大,哪个钢厂钢管的产量的上限的变化对购运计划和总费用的影响最大,并给出相应的数字结果。
    - F' E& j8 b3 \  h- D+ A5 a如果要铺设的管道不是一条线,而是一个树形图,铁路、公路和管道构成网络,请就这种更一般的情况给出一种解决办法,并对图二按(1)的要求给出模型和结果.
    ! U0 ?: R" n% d% B7 N
    3 k9 B( P' i" _6 q* J! l, k  PC:\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-7-22 10:04 , Processed in 1.541051 second(s), 89 queries .

    回顶部