数学建模社区-数学中国
标题:
对B题的一些评论(个人意见,仅供参考)
[打印本页]
作者:
aqua2001
时间:
2009-9-16 22:44
标题:
对B题的一些评论(个人意见,仅供参考)
本帖最后由 aqua2001 于 2009-9-17 10:56 编辑
2 u, Q" d# Q. l" f% j* L4 k$ X8 q
- \( d0 e& Y$ @- p* y( x- @$ V, {
考虑到维护公平比赛的原则,这次对题目的评论在比赛过后才发出来。照例,仅代表个人观点,与组委会官方观点或标准无涉。
欢迎大家讨论和指正。
# L! i* ?! k; j z6 ~
! }- c9 m$ U+ w5 `
B题是一个相当复杂的排队优化问题。它涉及到这样几点知识:对已给数据的统计,应用概率模型,排队论,评价等。由于不同疾病所需治疗时间和紧迫程度的区别,造成了本题的复杂性,以至于难以直接依据排队和优化的理论进行计算。
1 I7 V6 d; s$ Z0 u5 r2 [1 F# Z5 B
9 {0 Y- Q+ M8 e( G0 J! j9 @
应用怎样的概率模型是本题容易犯错的地方。每天人员到来的数量服从泊松分布,这个假设几乎人人都在用,但是如果涉及到另外的问题,例如服务时间,间隔时间等就需要考量到底服从哪种分布。在排队论里有不同的模型,使用哪一种才符合实际情况?
6 A# \9 n; ?& \- D& d5 }: l$ [
$ o) s' n7 Q% r' `3 M$ y
本题最难的地方在于如何优化排队的方法,许多同学并没有把精力集中在这个问题上。简单地说,原来的FCFS策略是把所有等待的人排成一个队列,后来的人直接挂到队尾。所谓改进,最直接的想法就是允许后来的人适当地插队。至于以什么规则来插队则是未知的。而这个规则还需要考虑到医院的实际操作,不能太过复杂。
! W0 t3 ]# I; x* ~5 J
$ @/ \- V- p- ~% F+ o
所谓评价准则,需要考虑的有两个因素,第一就是提高床位利用和周转的平均效率,第二就是要考虑到是否有部分人被忽视。FCFS策略含有一种内在的公平,而我们可以使用的一个很简单的指标就是队列中的最长等待时间。如果考虑了平均等待时间而忽视了最长等待时间,那么就可能有一些病人,由于“优先级”比较低,无论如何排不到他。当然具体使用哪些指标来做评价是仁者见仁的,但这两个指标为代表的“因素”无疑是本题需要考虑的两个最直接和重要的因素。
2 V: G H9 ^, P5 b# e
3 W* H0 w* {% s* G( m* T. j
要研究某个策略效果如何,如果理论的计算比较困难,可以采用数值模拟。熟悉蒙特卡罗方法的同学会觉得顺手许多。使用蒙特卡罗方法进行模拟,加上有效的方法来优化方案(具体什么方法最合适,值得进一步讨论),此题就解决得相当完善了。
6 `8 }/ Q& {( H. W6 u x# h. [
c: K+ r7 n3 k8 v# I
补充一点:最后一问,设置固定比例的床位时,可以看成把原来的一个等待队列分成了几个并行的等待队列。而达到总效率最大的必要条件之一,显然是这几个“线程”的负载均衡。负载均衡在2009年数学中国杯网络挑战赛A题中曾专门涉及。除了模拟以外,也有一些理论的计算方法。不熟悉排队论的同学可以直接使用概率的知识进行分析,和数值模拟的结果相结合,也能得到相当有说服力的结论。
作者:
Burgess
时间:
2009-9-16 22:52
我選定是A題
. ?! w% @1 b6 g* N
也看看
! O# C. i1 Y6 Y' J# @
呵呵
0 \! O+ C. r0 w. \, f, b
沙發
作者:
ultra1989
时间:
2009-9-16 23:03
选了B题,但是对排队论不熟,虽然熟悉优化模型,但做的不是很好。。。
作者:
liali
时间:
2009-9-17 09:14
分析得很好!单总觉得太笼统了,如果再详细一点就好了!
作者:
xuyin
时间:
2009-9-17 09:41
排队论能用进去吗,没看懂的说
作者:
aqua2001
时间:
2009-9-17 10:42
因为是在比赛的那两天写成的,所以只是一个大致的框架。没有认真斟酌,也没有详细讨论。大家可以把自己的做法和经验分享一下。
作者:
数学者
时间:
2009-9-17 10:59
我差不多就是按照楼主说的思路去做的,适当允许插队才能解决目前的问题。只是我的指标是队列长度,把5种病人分成5个队(每个队按FCFS规则安排住院)。我们设定在不同时间段不同病人住院的优先权不同,高优先权的病人先住院(前提是高优先权病人的等待队长大于低优先权的等待队长)。当拥有高优先权的病人住院后有床位剩余时,再按FCFS规则安排其他较低优先权的病人入住。
7 i) J4 A) K1 c" l2 r# q* o
这是一种改进了的FCFS规则,可以避免一些像白内障患者在医院住了一个星期才动手术的弊端。我想队列长度如果变短,那么最长等待时间也是变短的。
, L. j' |5 b* B) m/ o4 Q' I# L v
我是用Matlab程序来实现上面的思想,的确达到了我预期的目的,大大的减短了队列长度。
作者:
数学者
时间:
2009-9-17 11:02
当然,外伤(急诊)患者是不受队长限制的,刚才漏打上去了·
作者:
welll
时间:
2009-9-17 11:20
楼主说的好!应该从排队论方面建模!
作者:
wangyx
时间:
2009-9-17 12:20
我们的做题思路差不多!我们是利用CPU进程调度的排队算法来解决的!多级反馈队列!!
7#
数学者
作者:
hugoczx
时间:
2009-9-17 12:51
一个简单的问题被说复杂了!
作者:
dennes1988
时间:
2009-9-17 12:57
我们和LZ完全想到一块去了,也实现了
3 ?( I, ?4 A3 z1 w
可是我总听到别人说建模强调的是创新性,而咱们的思路只能保证正确性和最优性
% w, d$ z) ], e
没什么创新啊我感觉
作者:
ykl126
时间:
2009-9-17 12:59
有点,差不多吧
作者:
三年十班
时间:
2009-9-17 13:06
同意·12楼。。。。。。
作者:
glngln1989
时间:
2009-9-17 13:48
楼主分析的挺有道理的,我们做的一些地方思路一样,但有的地方还是不同。
作者:
liuyaliss
时间:
2009-9-17 14:15
我们的思路差不多 就是排队论的优化我们只用到最后一道题的 总的还是用的优化的思想
作者:
aqua2001
时间:
2009-9-17 15:01
题目出出来以后,我们的工作主要是为了解决问题。“解决”是最终的目的,能有创新的解决方法当然是锦上添花的事情,但毕竟不能为了创新而创新。“有效性”肯定是第一位的,而如何让大家尽量多地表现出“创新性”来,则是出题水平的问题了。
作者:
数学者
时间:
2009-9-17 15:35
楼主说的好,不能盲目创新~
作者:
dennes1988
时间:
2009-9-17 16:44
严重同意楼主
* s* S c; _% [: g0 u: U
说的太好啦
作者:
数学建模不
时间:
2009-9-17 19:16
我们只考虑了平均等待时间,而没有考虑最长等待时间,还有我们只用了excel进行了统计,这样可以吗
作者:
pku007
时间:
2009-9-17 20:17
我很想问问楼主 能不能用lingo
. y2 j7 J% N5 B7 m1 i
解出102个病人入院的 最优解
: K/ b& M0 u7 j% Y: z
就用0-1变量 第i个人第j天入院 就是
( W" D- k8 R' s7 D+ k& T8 i# x: M
目标函数 最小平均逗留时
4 ]* C. h$ L- j6 e8 S" S( v9 u
约束条件就是
1 A7 J9 H. N$ d. x( j' r
每天出院人数
# \+ |% h5 w/ [8 x; A
和每周手术时刻安排
作者:
pku007
时间:
2009-9-17 20:18
在线等lz简单回答一下吧
作者:
yunbuhuiku
时间:
2009-9-17 21:24
应该可以吧 我们构造出矩阵后就是用这样的优化模型解得。要说不同的话,我们可能用的解得方法不太一样~
22#
pku007
作者:
馒头帮帮主
时间:
2009-9-17 23:22
差不多啊,我是对五类病人进行分类啊,分出他们的优先级啊,
作者:
sdoerhang
时间:
2009-9-18 11:40
大家说得好!排队论!不好弄吧!改成优化占主体算了
作者:
liuyaliss
时间:
2009-9-18 22:28
恩···这道题想创新都是其次吧···真的能在正确解决的基础上创新才是难的
作者:
aqua2001
时间:
2009-9-18 22:33
本帖最后由 aqua2001 于 2009-9-18 22:45 编辑
! Z3 h* U5 j6 O, N4 d
% o9 u& c& M! T! z+ y' V* H/ _
用lingo解也可以。但这里有这样几个问题需要注意:第一个是我们解的不只是所给数据里的病人情况,而是我们需要替医院拟定一个长久使用的完整方案。所以我们不仅需要一个优化结果,而且需要通过优化结果,总结出一个调度的原则来。至于总结的是否真的好用,还要进行验证。第二个问题是除了平均等待时间最短这个目标函数以外,还应当明确地考虑到“最坏情况”。在只有有限个病人的前提下,无论如何,每个人都能等待不太长时间而得到治疗。但是如果时间无限地延续下去,就可能出现某些病人永远排不到的现象。所以如果只用Lingo根据现有数据做了一个结果,应当说思路是可行的,但还不够完整。
3 P ]. Q9 B4 G. @- P3 c- |9 J3 g" e" m
$ ^, O0 L, t3 ?
当然本题还有给出综合评价、以及预测什么时候能住院等另外几问需要单独处理。就我个人经验而言,此题的复杂程度,几乎没法直接算出来各种调度方法的实际效果。恐怕免不了要仿真一下。
作者:
zhy11
时间:
2009-9-18 22:38
发现我们的思路跟分析不怎么沾边,哎,没戏了。。。
作者:
aqua2001
时间:
2009-9-18 22:44
那倒不一定,这些分析也只是一种思路而已,另外的思路或许会更好。其实上面有人说的用Lingo来帮我们总结较好的原则,就是一种很有意义的思路。否则空口无凭,很难说什么样的排队原则真的“够”好。
作者:
古诗词
时间:
2009-9-18 22:58
提示:
作者被禁止或删除 内容自动屏蔽
作者:
libo
时间:
2009-9-18 23:46
标题:
觉得这组同学思想恨不错
本帖最后由 libo 于 2009-9-18 23:49 编辑
7 L! Y3 w8 [4 I$ g
& ?. y2 V3 c _
先求出最优解
- L9 x. h3 C! C; S" q: K
再归纳出优先原则
) d; G, O- m: N X% F& O
进行模拟仿真
作者:
汤秀琴
时间:
2009-9-19 08:21
没事,也可以不用排队论嘛!
作者:
何挺
时间:
2009-9-20 10:08
喜欢啊 喜欢的不得了
作者:
liguianpost
时间:
2009-9-20 15:36
选的B题,楼主分析的很好,大家的思路基本差不多。具体细节可能不一样
作者:
wangweio31519
时间:
2009-9-20 18:31
我们选的B题~
作者:
wangweio31519
时间:
2009-9-20 18:48
LZ说得好!
作者:
李广瑞
时间:
2009-9-20 21:27
膜没有考虑到公平性
作者:
身边
时间:
2009-9-25 23:52
唉,做的不是很好
作者:
pangheming
时间:
2009-9-26 00:09
跟7楼的做法几乎一样,只不过我们用的是java进行仿真。
作者:
ttcpu
时间:
2009-9-26 00:51
这道题的关键有两个。
. K9 c3 s R7 ^# M1 W7 _9 R
一是统计分析历史数据,找到统计规律。
# i3 {1 ~( i; Z* ~2 H
二是利用仿真证明自己设计的分配方案的可行性和优越性。
3 l6 c2 ]$ H& c, q1 @ ^5 H; T3 Z
至于用什么方法,其实不重要。个人觉得进程调度是不错的方法。
作者:
qingkongwanli
时间:
2009-9-26 14:44
我们只用了少部分的排队论的知识,大部分都是动态规划的思想,可是题目里面有很多很难处理的问题,我们的解法很粗糙。
作者:
nanashiro
时间:
2009-9-26 17:24
楼主的思路很清晰呢~~~~~~~~~~~~~~~~~~~~~~~~~~~···
作者:
logicontrol
时间:
2009-9-26 23:14
想象力比知识更重要~~
6 R% K5 p4 E5 ?) Q' @
不要局限于现成的模型
作者:
mengkecai07
时间:
2009-10-10 10:44
不知道了~~~~~~~~~~
作者:
走召羊君
时间:
2009-10-10 21:34
见解很独特,尤其是第5问的解析,其他的关键在于如何确定优先级!!
作者:
有凤来仪
时间:
2009-10-13 17:16
大家都好厉害,我们也是改进FCFS体系的,只是不会用matlab实现,简单说明的
作者:
coolguylyc
时间:
2009-10-16 23:45
感谢楼主~~
作者:
macling
时间:
2009-10-17 23:56
路过,看看看看看看
作者:
bai0du
时间:
2009-10-28 22:48
我们选的B题 没做完 遗憾
作者:
logicontrol
时间:
2009-10-29 21:13
我们的做题思路差不多!我们是利用CPU进程调度的排队算法来解决的!多级反馈队列!! 数学者
+ Z. P" }- N4 U) |( L5 g
wangyx 发表于 2009-9-17 12:20
6 w' m1 K; }# \$ W1 |# Q X2 V
3 h# i4 ?5 s6 q- |# r# J* m8 C6 C
求
1 h" D' m2 s; S
# w( _8 t2 F) n+ ~% ]0 f
4 ^, S- F; p. `) M; ?
论文一看
6 C/ S4 X" s! E9 k9 C8 f
4 b+ y$ v5 H3 W0 V. @
; O2 S0 V* B A9 H! c/ p ~ y
我做的不好,想看看大虾的作品
* m' r2 g' T6 ~2 ?( z
, Y0 n9 q; e! V
呵呵 谢了先
作者:
chip
时间:
2009-10-29 21:38
楼主很强大,分析的很好
作者:
gulugulu
时间:
2009-11-2 10:21
B题不太好做啊
作者:
mingwu1987
时间:
2009-11-2 16:45
我们获奖咯
作者:
terrance_ho
时间:
2009-11-2 20:59
看看看看~~
作者:
lj641224243
时间:
2009-11-2 21:44
结果应该出来了吧
作者:
陈龙
时间:
2009-11-7 17:55
最后我用了拟合的方法来求解的。效果也不是很好。
作者:
陈龙
时间:
2009-11-7 17:55
过来看看。
作者:
霖御
时间:
2009-11-10 23:44
学习了 谢谢~~~~~~~~~~~
作者:
fritter123
时间:
2009-11-14 16:39
改进了的FCFS规则,可以避免一些像白内障患者在医院住了一个星期才动手术的弊端。我想队列长度如果变短,那么最长等待时间也是变短的。
作者:
MCM2010
时间:
2009-11-19 12:58
看来得好好学习排队论的知识啊,很有用嘛!
作者:
leabclove
时间:
2009-11-26 22:45
分享分享,谢谢楼主啦!拿来分析分析,增加自己的能力~~~
作者:
黑就是爱
时间:
2013-8-28 13:52
09年的B题啊...好厉害的样子
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5