数学建模社区-数学中国

标题: 新人求教,谁能告诉我这个怎么做??? [打印本页]

作者: 我可以叫什么    时间: 2016-6-8 18:03
标题: 新人求教,谁能告诉我这个怎么做???
考虑校园内电缆铺设问题.设中心配电房位于某幢建筑内.有一些主干用户,位于不同的建筑内.为避免相互干扰,中心配电房与每个主干用户有一条专门的电缆相连.电缆均是铺设在地下管道内.为此需要铺设管道.中心配电房与不同主干用户间的电缆可以共用地下管道.假设已知中心配电房与哪些用户、以及哪些用户间可以铺设地下管道.电缆铺设的费用包括购买电缆线的费用,和铺设管道的费用, 它们均与长度成正比.希望寻找一种方案,使总费用尽可能少.' E/ Y$ X9 L# k* j! e
现考虑以下问题:" n. `5 l6 _) A0 R
(1)设有6个用户,下表给出了中心配电房与哪些用户、以及哪些用户间可以铺设地下管道,以及它们间的距离.试建立数学模型和求解算法.问该模型和算法能否推广到用户数任意的一般情形.
0 Y4 z& j' p+ E数据
! c# D7 M0 B. r  r3 v8 b5 L7 ]" i/ Z  c3 r
: J8 [! `* g: K' i0 [

; Q3 A$ _' \% \2 ^. s1 h- T) C
2 X' d% p" d" R8 H* Y9 P: Q4 s

( V- |  O  V& A7 R) f0 c5 b4 D5 D! Y6 G8 C
- G' k. E3 a; d9 j. ?0 {+ h/ T& u

& [4 k. D0 o9 \+ E2 ~  ]
作者: 百年孤独    时间: 2016-6-8 18:05
以下是我的想法,可能有些不完善的地方,希望路过的大神可以加以指正。其实,这是典型的0-1整数规划问题,我们先定义自变量Xij=1(表示普pi和j之间建有管道)否则为0(即没有管道),这个变量X不能取0或1以外的任何数,根据你的表格(i,j)=(0,1)(0,2)(0,6)(1,3)(2,3)(2,4)(2,5)(2,6)(3,4)(4,5)(5,6);然后是这个规划的目标函数:因为费用与管道长度Pij成正比,所以可以直接设为:min Z=sum(Pij*Xij);最后是约束条件,这是最麻烦的地方,首先,不能多建,只能是6条,因为6条管道刚好可以将7个地点全部连通,所以:sum(Xij)=6,这样还远远不够,还要保证每一个地点都至少有一条管道通过,所以有以下七个不等式约束: X01+X02+X06>=1,X10+X13>=1,X20+X23+X24+X25+X26>=1,X31+X32+X34>=1,X42+X43+X45>=1,X52+X54+X56>=1,X60+X62+X65>=1(上面式子中,Xij=Xji,即X01与X10是一样的)。这样就构成了一个整数规划,求解方法可以用matlab或lingo软件。我的表达能力有限,不一定能让你明白,你也可以参考规划方面的书籍资料。
: t* w# [9 I% n- \" ?% c: a/ ?5 i
作者: 百年孤独    时间: 2016-6-8 18:05
以下是我的想法,可能有些不完善的地方,希望路过的大神可以加以指正。其实,这是典型的0-1整数规划问题,我们先定义自变量Xij=1(表示普pi和j之间建有管道)否则为0(即没有管道),这个变量X不能取0或1以外的任何数,根据你的表格(i,j)=(0,1)(0,2)(0,6)(1,3)(2,3)(2,4)(2,5)(2,6)(3,4)(4,5)(5,6);然后是这个规划的目标函数:因为费用与管道长度Pij成正比,所以可以直接设为:min Z=sum(Pij*Xij);最后是约束条件,这是最麻烦的地方,首先,不能多建,只能是6条,因为6条管道刚好可以将7个地点全部连通,所以:sum(Xij)=6,这样还远远不够,还要保证每一个地点都至少有一条管道通过,所以有以下七个不等式约束: X01+X02+X06>=1,X10+X13>=1,X20+X23+X24+X25+X26>=1,X31+X32+X34>=1,X42+X43+X45>=1,X52+X54+X56>=1,X60+X62+X65>=1(上面式子中,Xij=Xji,即X01与X10是一样的)。这样就构成了一个整数规划,求解方法可以用matlab或lingo软件。我的表达能力有限,不一定能让你明白,你也可以参考规划方面的书籍资料。
7 i9 I- R. G2 O0 h
作者: madio    时间: 2016-6-11 20:07
百度的图片,看不到了,需要下载图片,再按照附件上传到论坛上6 Z" m; X$ J  d3 [7 v





欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5