数学建模社区-数学中国

标题: 对B题的一些评论(个人意见,仅供参考) [打印本页]

作者: aqua2001    时间: 2009-9-16 22:44
标题: 对B题的一些评论(个人意见,仅供参考)
本帖最后由 aqua2001 于 2009-9-17 10:56 编辑 2 W# H+ ~/ X/ I

* _* A0 F9 @% Z考虑到维护公平比赛的原则,这次对题目的评论在比赛过后才发出来。照例,仅代表个人观点,与组委会官方观点或标准无涉。欢迎大家讨论和指正。
$ O5 u5 ?# q2 q! Q  h3 @$ _$ {
: S" \" l2 Q; s! w$ [( S5 _  ~' C& |- DB题是一个相当复杂的排队优化问题。它涉及到这样几点知识:对已给数据的统计,应用概率模型,排队论,评价等。由于不同疾病所需治疗时间和紧迫程度的区别,造成了本题的复杂性,以至于难以直接依据排队和优化的理论进行计算。# ~5 ~+ d! L& I! A8 I6 L4 v! h

7 \8 z) z9 h; d9 F" Z! _' U应用怎样的概率模型是本题容易犯错的地方。每天人员到来的数量服从泊松分布,这个假设几乎人人都在用,但是如果涉及到另外的问题,例如服务时间,间隔时间等就需要考量到底服从哪种分布。在排队论里有不同的模型,使用哪一种才符合实际情况?! H& |; ?3 v' }5 M% W( K% B! {" y, }

) l  A9 ?2 ^. l/ s- x本题最难的地方在于如何优化排队的方法,许多同学并没有把精力集中在这个问题上。简单地说,原来的FCFS策略是把所有等待的人排成一个队列,后来的人直接挂到队尾。所谓改进,最直接的想法就是允许后来的人适当地插队。至于以什么规则来插队则是未知的。而这个规则还需要考虑到医院的实际操作,不能太过复杂。
$ v( p" j" d3 \( O* B
( Z. C1 V+ p1 Q4 Q6 m" A所谓评价准则,需要考虑的有两个因素,第一就是提高床位利用和周转的平均效率,第二就是要考虑到是否有部分人被忽视。FCFS策略含有一种内在的公平,而我们可以使用的一个很简单的指标就是队列中的最长等待时间。如果考虑了平均等待时间而忽视了最长等待时间,那么就可能有一些病人,由于“优先级”比较低,无论如何排不到他。当然具体使用哪些指标来做评价是仁者见仁的,但这两个指标为代表的“因素”无疑是本题需要考虑的两个最直接和重要的因素。8 ^7 j2 O5 ?+ @7 N

2 H/ u. d3 [3 F. d. r要研究某个策略效果如何,如果理论的计算比较困难,可以采用数值模拟。熟悉蒙特卡罗方法的同学会觉得顺手许多。使用蒙特卡罗方法进行模拟,加上有效的方法来优化方案(具体什么方法最合适,值得进一步讨论),此题就解决得相当完善了。5 L" O9 |: ]! h$ i
/ P# D1 {0 g* j- e2 _* l3 @
补充一点:最后一问,设置固定比例的床位时,可以看成把原来的一个等待队列分成了几个并行的等待队列。而达到总效率最大的必要条件之一,显然是这几个“线程”的负载均衡。负载均衡在2009年数学中国杯网络挑战赛A题中曾专门涉及。除了模拟以外,也有一些理论的计算方法。不熟悉排队论的同学可以直接使用概率的知识进行分析,和数值模拟的结果相结合,也能得到相当有说服力的结论。
作者: Burgess    时间: 2009-9-16 22:52
我選定是A題
7 L: G6 C" F" D  {+ x$ E: y- q( d也看看! N4 Z+ G  t2 Y7 Z; l
呵呵
- Z5 B0 e0 p* \7 D- G0 a+ N沙發
作者: 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规则安排其他较低优先权的病人入住。
3 |% Y, f: P+ F    这是一种改进了的FCFS规则,可以避免一些像白内障患者在医院住了一个星期才动手术的弊端。我想队列长度如果变短,那么最长等待时间也是变短的。
" t, \, N3 h2 \2 ~; G1 S. f. c    我是用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完全想到一块去了,也实现了) j# w* p& N# G  k' q
可是我总听到别人说建模强调的是创新性,而咱们的思路只能保证正确性和最优性
$ M2 t4 O" V5 e! m. ]! @没什么创新啊我感觉
作者: 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
严重同意楼主
/ {+ m1 f# Q. b说的太好啦
作者: 数学建模不    时间: 2009-9-17 19:16
我们只考虑了平均等待时间,而没有考虑最长等待时间,还有我们只用了excel进行了统计,这样可以吗
作者: pku007    时间: 2009-9-17 20:17
我很想问问楼主 能不能用lingo
( d7 A8 \2 Z6 |# z7 P( T2 p解出102个病人入院的 最优解 7 j0 G1 K8 j5 U) V! S, P, Z
就用0-1变量 第i个人第j天入院 就是
8 Y3 Y- d3 n0 p' i8 x6 C$ n4 x目标函数 最小平均逗留时4 b' {; t# e- T' r' |! n+ c
约束条件就是
" J8 T# M+ M% ^3 V+ x. |/ i& v每天出院人数
7 l9 k8 ]$ i2 K) V$ n) L; w! e" N和每周手术时刻安排
作者: 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 编辑 : _( Q9 P0 h) i1 Z5 v

9 J$ p  x$ h+ |! k% }5 c用lingo解也可以。但这里有这样几个问题需要注意:第一个是我们解的不只是所给数据里的病人情况,而是我们需要替医院拟定一个长久使用的完整方案。所以我们不仅需要一个优化结果,而且需要通过优化结果,总结出一个调度的原则来。至于总结的是否真的好用,还要进行验证。第二个问题是除了平均等待时间最短这个目标函数以外,还应当明确地考虑到“最坏情况”。在只有有限个病人的前提下,无论如何,每个人都能等待不太长时间而得到治疗。但是如果时间无限地延续下去,就可能出现某些病人永远排不到的现象。所以如果只用Lingo根据现有数据做了一个结果,应当说思路是可行的,但还不够完整。
: t4 E9 h6 u# a0 u( Z7 _
/ @/ x3 t# {& u  k: q当然本题还有给出综合评价、以及预测什么时候能住院等另外几问需要单独处理。就我个人经验而言,此题的复杂程度,几乎没法直接算出来各种调度方法的实际效果。恐怕免不了要仿真一下。
作者: 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 编辑
% M) ]+ t0 C; S) N( ^8 R. Y- m$ `# E( ?( z
先求出最优解+ L$ Q  ]* w- Q1 {% c
再归纳出优先原则: |  [( @# ~' u' 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
这道题的关键有两个。
* x) U# r  g6 z一是统计分析历史数据,找到统计规律。
! \! u2 P! W2 B0 ]9 o. ]8 r  W二是利用仿真证明自己设计的分配方案的可行性和优越性。
$ B" o, |, p, g* E至于用什么方法,其实不重要。个人觉得进程调度是不错的方法。
作者: qingkongwanli    时间: 2009-9-26 14:44
我们只用了少部分的排队论的知识,大部分都是动态规划的思想,可是题目里面有很多很难处理的问题,我们的解法很粗糙。
作者: nanashiro    时间: 2009-9-26 17:24
楼主的思路很清晰呢~~~~~~~~~~~~~~~~~~~~~~~~~~~···
作者: logicontrol    时间: 2009-9-26 23:14
想象力比知识更重要~~
5 l% M1 V- }9 R! ], X0 x1 e不要局限于现成的模型
作者: 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进程调度的排队算法来解决的!多级反馈队列!!  数学者
$ \5 e( M) J' ~: |" H1 {' Bwangyx 发表于 2009-9-17 12:20
5 \; m: u$ C/ W& @! f' I) v
/ l  W: \& M6 ~, z/ c: a" z) b
! g& ^" Z: h. f2 a3 D9 b, L
3 m, |3 R. @% D1 t; B
9 G3 z( H5 u  R2 G  B
    论文一看! F$ T3 ?: l2 }; b) i2 R
$ G$ o& G, C7 z9 L; ~
9 {" }* E. A* T8 \
我做的不好,想看看大虾的作品
( Z$ K/ M) e9 B
: ~) O+ Y1 o! f# l* ~呵呵 谢了先
作者: 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