QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 4070|回复: 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& N  Z0 X& W6 Z* E$ N9 i3 [) v
    0 z# Z+ Z+ e2 ^8 G
    Floyd算法函数在matlab下的M函数文件如下:0 w' j' Q+ F$ G) s) R7 e# O; B2 f3 f9 R
    function [D,path]=floyd(a)* H9 z& D2 j& _. t+ l
    n=size(a,1);
    3 D" f9 M8 ]1 hD=a;path=zeros(n,n);! W& ]5 l3 j; J/ k! R3 g
    for i=1:n
    ! u( l: m' Z1 q( a& P    for j=1:n
      N, |9 Q% M3 F$ R" V        if D(i,j)~=inf; L! Z+ z7 m6 \; s
                path(i,j)=j;
    % w' J6 i& i9 }. W$ Y        end
    . h, y/ [: H3 M    end
    9 `3 j' j6 Q; ?2 a9 {& yend/ C  N. |+ n9 V( p5 h5 t0 {& f
    for k=1:n
    2 b, |- T& h; a" i2 p: r; Z    for i=1:n" p  S! S9 H1 S
            for j=1:n8 }" s2 a5 x) X1 f8 t' ^
                if D(i,k)+D(k,j)<D(i,j)
    1 \1 ^; u$ U* Y" z$ ~& e                D(i,j)=D(i,k)+D(k,j);
    ' Y% B( Z4 {! h2 ?. y                path(i,j)=path(i,k);. [0 s; x. r* s, t$ v5 U
                end
    9 X1 t# q# h5 }        end
    ! y: q) j' d& Y; Y3 ]5 X  ?    end# w( b9 G9 b$ a
    end
    4 [7 L& X: l* w; ^# C# x- j上面是一个函数,这一部分可以看懂,但是下面这个求最小费的问题就看不懂了。。。。8 c2 o2 D& W$ |7 [
    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" U7 I  N" p% k' f  O6 p" 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];0 c: I, r! i/ {  ?
    w=[20 202 1200 690  690 462 70 30 450 80 1150 1100 306 195 720 520 170 88 160 70 320 160 290];# [- b# S3 u3 [/ t  T: q
    ab1=[1 2 4 5 6 7 8 9 10 11 14 15 16 17 18 33 34 35];  X6 U: L. y9 L& y" F
    bb1=[19 20 21 22 23 24 25 26 27 28 29 30 31 31 19 24 31 32];/ S5 q# X* Z# a, A% h* R5 Q; n  \
    w1=[3 2 600 10 5 10 12 42 70 10 10 62 30 20  104 31 110 20];. C. D! {$ Z; y: f& X4 T& P
    a=sparse(ab,bb,w);
    5 D4 l/ P0 X* R* W" ~$ T0 ka(24,24)=0;3 s/ |, h9 e  c5 v0 [7 _1 n1 n3 \, t( g
    a=a+a’;
    * z" W0 g0 W  W8 [' e( p7 [+ q# Ea=full(a);9 L- J# R, M" ^" o
    for i=1:24
    " x$ t& g' g" W& h$ Q2 q( B- r    for j=1:24* F, R) `( {( B$ O5 F1 a
            if(a(i,j)==0&i~=j)
    * [3 [+ X+ K7 S: n! U1 r, T            a(i,j)=inf;
    0 |' Q2 e4 t$ q4 d        end6 X/ _* u; h4 ^: b
        end
    % j3 I+ s' R% K8 `! Hend& Q7 H: e& a  ?
    [D,path]=floyd(a);1 W% k7 L  {, e' U8 r
    a1=sparse(ab1,bb1,w1);4 a$ T7 @) F+ Z, ^$ B
    a1(35,35)=0;1 r0 Y0 x& B$ {' \& [2 Q5 x
    a1=a1+(a1)';, \7 t; `( v4 P$ O5 K( f
    a1=full(a1);
    / U& t2 Q. M0 h0 v2 Sfor i=1:35
    2 c" u9 a  n. f* r$ q! c; P4 ^- ?    for j=1:35+ x2 {9 o6 G4 _. u' G; [0 B$ d
            if(a1(i,j)==0&i~=j). e+ C  V6 E# l, C
                a1(i,j)=inf;& k. E9 o8 C( H$ S
            end
    ( k* Z* {. q$ l/ @4 f0 o( Z    end
    0 W0 Z; w% w0 K) Q9 g, v2 Eend, D; r3 m; v2 [. Z
    [D1,path1]=floyd(a1);/ m$ K' u$ g" 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题)5 j/ i, [( n- v' u# ^
         要铺设一条的输送天然气的主管道,如图所示。经筛选后可以生产这种主管道钢管的钢厂有。图中粗线表示铁路,单细线表示公路,双线表示要铺设的管道(假设沿管道或者原有公路,或者建有施工公路),圆圈(点) 表示火车站,  h  L0 O' v  g2 c
      每段铁路、公路和管道旁的阿拉伯数字表示里程(单位km)。" m+ ?) J% o2 Z' {4 @
           为方便计,1km主管道钢管称为1单位钢管。
      M/ c! X* i  V; L    一个钢厂如果承担制造这种钢管,至少需要生产500个单位。钢厂在指定期限内能生产该钢管的最大数量为个单位,钢管出厂销价1单位钢管为万元,如下表:+ [) @, S: p1 ^4 O) j
    I           1           2           3          4          5          6           76 j7 |7 H8 Z' A7 @; a
            800        800        1000        2000        2000        2000        3000
    , b  H5 s: a: Y0 e) w        160        155        155        160        155        150        160
    $ K3 E( G5 f  l# W2 G; r9 Q2 h  一单位钢管的铁路运价如下表:
    ' v7 F8 j7 q# R  G  N里程(km)        ≤300        301~350        351~400        401~450        451~500
    * d  {( G" v, N2 ~/ V运价(万元)        20        23        26        29        326 P" F" s) I) F' l
    里程(km)        501~600        601~700        701~800        801~900        901~1000
    * S9 W6 K; B6 D. z6 l' \( K运价(万元)        37        44        50        55        60$ s: [( b6 V1 ?
      1000km以上每增加1至100km运价增加5万元。; R+ }7 O! @3 c. E
         公路运输费用为1单位钢管每公里0·1万元(不足整公里部分按整公里计算)。
    7 y' P- y; @' k% A2 x. V4 G2 z* F  钢管可由铁路、公路运往铺设地点(不只是运到点,而是管道全线)。. x& [2 O0 m$ {$ j
    请制定一个主管道钢管的订购和运输计划,使总费用最小(给出总费用)。" g4 ?  b) \- ]0 `
    请就(1)的模型分析:哪个钢厂钢管的销价的变化对购运计划和总费用影响最大,哪个钢厂钢管的产量的上限的变化对购运计划和总费用的影响最大,并给出相应的数字结果。" \9 T9 {$ G  d0 @( w: h. m; r' |8 X
    如果要铺设的管道不是一条线,而是一个树形图,铁路、公路和管道构成网络,请就这种更一般的情况给出一种解决办法,并对图二按(1)的要求给出模型和结果.+ ?, d& y7 ~  `1 _

    2 p8 q; ]  B1 @2 p/ v/ ~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题)* r4 a3 n/ ^0 S! H- d
         要铺设一条的输送天然气的主管道,如图所示。经筛选后可以生产这种主管道钢管的钢厂有。图中粗线表示铁路,单细线表示公路,双线表示要铺设的管道(假设沿管道或者原有公路,或者建有施工公路),圆圈(点) 表示火车站,6 a% R0 e5 c% I0 C9 A0 o6 E
      每段铁路、公路和管道旁的阿拉伯数字表示里程(单位km)。
    8 O: ]; q2 k0 [# q! h       为方便计,1km主管道钢管称为1单位钢管。
    4 D' ~7 u. `! f  v+ E0 d    一个钢厂如果承担制造这种钢管,至少需要生产500个单位。钢厂在指定期限内能生产该钢管的最大数量为个单位,钢管出厂销价1单位钢管为万元,如下表:
    4 j+ D# k! H% YI           1           2           3          4          5          6           74 S+ \% G; T8 ~7 O- k
    Si        800        800        1000        2000        2000        2000        3000
    : @, R5 Q8 G2 qPi        160        155        155        160        155        150        1602 ^8 z. T3 ?" T
      一单位钢管的铁路运价如下表:
    . v9 S$ {. e$ ~) U5 b0 V0 i  @里程(km)        ≤300        301~350        351~400        401~450        451~500" W7 n2 E3 P* m: }7 y. d' q
    运价(万元)        20        23        26        29        326 d$ M$ l3 q: \( `
    里程(km)        501~600        601~700        701~800        801~900        901~1000
    3 e, h# W! p) Y0 V# ?运价(万元)        37        44        50        55        60
    4 T- n7 d7 ?/ F! {  1000km以上每增加1至100km运价增加5万元。
    9 h4 z1 X! U  H* h$ D     公路运输费用为1单位钢管每公里0·1万元(不足整公里部分按整公里计算)。0 F# T' R2 f- ?0 j0 \& K& y. }. D" H
      钢管可由铁路、公路运往铺设地点(不只是运到点,而是管道全线)。! ~$ e& [; L: p4 d
    1.请制定一个主管道钢管的订购和运输计划,使总费用最小(给出总费用)。
    & J3 N8 t2 ~/ E4 s2.请就(1)的模型分析:哪个钢厂钢管的销价的变化对购运计划和总费用影响最大,哪个钢厂钢管的产量的上限的变化对购运计划和总费用的影响最大,并给出相应的数字结果。
    ( q2 ?5 P! @9 {. T4 W) }9 ?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, 2025-8-28 05:02 , Processed in 1.943519 second(s), 85 queries .

    回顶部