数学建模社区-数学中国
标题:
对B题的一些评论(个人意见,仅供参考)
[打印本页]
作者:
aqua2001
时间:
2009-9-16 22:44
标题:
对B题的一些评论(个人意见,仅供参考)
本帖最后由 aqua2001 于 2009-9-17 10:56 编辑
3 v9 ]: F# x+ |: @
1 L: N, H+ c; c6 d# C4 t- B
考虑到维护公平比赛的原则,这次对题目的评论在比赛过后才发出来。照例,仅代表个人观点,与组委会官方观点或标准无涉。
欢迎大家讨论和指正。
. M$ |6 C) s* B) ~2 d
8 t- A2 x+ d: d# w$ {
B题是一个相当复杂的排队优化问题。它涉及到这样几点知识:对已给数据的统计,应用概率模型,排队论,评价等。由于不同疾病所需治疗时间和紧迫程度的区别,造成了本题的复杂性,以至于难以直接依据排队和优化的理论进行计算。
. S) y1 j& r8 E- n, R, i, D
$ r) x5 B; y, c$ |4 d
应用怎样的概率模型是本题容易犯错的地方。每天人员到来的数量服从泊松分布,这个假设几乎人人都在用,但是如果涉及到另外的问题,例如服务时间,间隔时间等就需要考量到底服从哪种分布。在排队论里有不同的模型,使用哪一种才符合实际情况?
% ]" b; U0 K% i B8 `5 B
" e$ s2 O& S1 w D# M, z* F
本题最难的地方在于如何优化排队的方法,许多同学并没有把精力集中在这个问题上。简单地说,原来的FCFS策略是把所有等待的人排成一个队列,后来的人直接挂到队尾。所谓改进,最直接的想法就是允许后来的人适当地插队。至于以什么规则来插队则是未知的。而这个规则还需要考虑到医院的实际操作,不能太过复杂。
" a& ~8 z6 m; |
. R( |& q5 M" v0 N9 e% t
所谓评价准则,需要考虑的有两个因素,第一就是提高床位利用和周转的平均效率,第二就是要考虑到是否有部分人被忽视。FCFS策略含有一种内在的公平,而我们可以使用的一个很简单的指标就是队列中的最长等待时间。如果考虑了平均等待时间而忽视了最长等待时间,那么就可能有一些病人,由于“优先级”比较低,无论如何排不到他。当然具体使用哪些指标来做评价是仁者见仁的,但这两个指标为代表的“因素”无疑是本题需要考虑的两个最直接和重要的因素。
- {& a( H( Y5 T1 y* ~# }
6 `+ L7 J6 j _
要研究某个策略效果如何,如果理论的计算比较困难,可以采用数值模拟。熟悉蒙特卡罗方法的同学会觉得顺手许多。使用蒙特卡罗方法进行模拟,加上有效的方法来优化方案(具体什么方法最合适,值得进一步讨论),此题就解决得相当完善了。
! N+ n) s h' K: \3 D" t
% C& y& q& D8 L$ O, Q' U
补充一点:最后一问,设置固定比例的床位时,可以看成把原来的一个等待队列分成了几个并行的等待队列。而达到总效率最大的必要条件之一,显然是这几个“线程”的负载均衡。负载均衡在2009年数学中国杯网络挑战赛A题中曾专门涉及。除了模拟以外,也有一些理论的计算方法。不熟悉排队论的同学可以直接使用概率的知识进行分析,和数值模拟的结果相结合,也能得到相当有说服力的结论。
作者:
Burgess
时间:
2009-9-16 22:52
我選定是A題
. }; N% Y( v" b$ i9 H( V
也看看
2 Y& G6 e# b9 }. u
呵呵
- o) _1 V2 j# c: H8 i
沙發
作者:
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规则安排其他较低优先权的病人入住。
: X6 W% i2 G- }9 A1 p2 a
这是一种改进了的FCFS规则,可以避免一些像白内障患者在医院住了一个星期才动手术的弊端。我想队列长度如果变短,那么最长等待时间也是变短的。
) s; W y `1 d6 C3 k
我是用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完全想到一块去了,也实现了
/ G* g9 K1 k4 O/ i% ~
可是我总听到别人说建模强调的是创新性,而咱们的思路只能保证正确性和最优性
: o6 l8 N& }6 ` P* d) O, D$ 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
严重同意楼主
9 {' L- }& t, D' j! N
说的太好啦
作者:
数学建模不
时间:
2009-9-17 19:16
我们只考虑了平均等待时间,而没有考虑最长等待时间,还有我们只用了excel进行了统计,这样可以吗
作者:
pku007
时间:
2009-9-17 20:17
我很想问问楼主 能不能用lingo
* f5 A1 t# I/ C- |5 \
解出102个病人入院的 最优解
8 u M! G% k! B) l7 V: U
就用0-1变量 第i个人第j天入院 就是
8 |8 }6 r0 Q( u
目标函数 最小平均逗留时
) H) j5 L3 A [1 x
约束条件就是
8 v1 _5 Y. o) k$ }3 W
每天出院人数
5 O. }& r8 g$ `) P# I$ Y
和每周手术时刻安排
作者:
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 编辑
0 L2 L4 V- ~& f ]3 E. g- ^# @
7 i/ F$ c6 |$ d& h& i$ [
用lingo解也可以。但这里有这样几个问题需要注意:第一个是我们解的不只是所给数据里的病人情况,而是我们需要替医院拟定一个长久使用的完整方案。所以我们不仅需要一个优化结果,而且需要通过优化结果,总结出一个调度的原则来。至于总结的是否真的好用,还要进行验证。第二个问题是除了平均等待时间最短这个目标函数以外,还应当明确地考虑到“最坏情况”。在只有有限个病人的前提下,无论如何,每个人都能等待不太长时间而得到治疗。但是如果时间无限地延续下去,就可能出现某些病人永远排不到的现象。所以如果只用Lingo根据现有数据做了一个结果,应当说思路是可行的,但还不够完整。
5 q9 w$ z7 V. ]' l( Y
8 l; s; F" E% c0 X+ `! }2 H W
当然本题还有给出综合评价、以及预测什么时候能住院等另外几问需要单独处理。就我个人经验而言,此题的复杂程度,几乎没法直接算出来各种调度方法的实际效果。恐怕免不了要仿真一下。
作者:
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 编辑
+ A$ W/ l, A" n- F X
4 E3 Z& j. {) j) y8 Z9 N7 a" F0 `
先求出最优解
5 j* h; y Q6 P
再归纳出优先原则
& `! k% ~" F1 s: o. @0 Q" a1 J/ 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
这道题的关键有两个。
3 C5 W) O- H! x! Z/ u/ b9 j
一是统计分析历史数据,找到统计规律。
. Q" S9 C) T$ N2 n# e
二是利用仿真证明自己设计的分配方案的可行性和优越性。
2 c6 Y( t1 O o# M0 Y0 n
至于用什么方法,其实不重要。个人觉得进程调度是不错的方法。
作者:
qingkongwanli
时间:
2009-9-26 14:44
我们只用了少部分的排队论的知识,大部分都是动态规划的思想,可是题目里面有很多很难处理的问题,我们的解法很粗糙。
作者:
nanashiro
时间:
2009-9-26 17:24
楼主的思路很清晰呢~~~~~~~~~~~~~~~~~~~~~~~~~~~···
作者:
logicontrol
时间:
2009-9-26 23:14
想象力比知识更重要~~
& B5 a! J8 k: }1 k
不要局限于现成的模型
作者:
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进程调度的排队算法来解决的!多级反馈队列!! 数学者
2 C0 e% n( e- `& T( b# r& i
wangyx 发表于 2009-9-17 12:20
/ d' ]3 \0 M x- R
0 Q3 a/ u g; a# e, F! |
求
" N( ]( h- `) Y! P( G
) C3 N9 u; j7 V" A. F) c
% `! P6 y \* {$ Q. ^5 [2 L
论文一看
' J( F* h' f$ [) D
% W* S9 T" K; W9 `: `
0 b9 o& ^5 k; @7 S: d
我做的不好,想看看大虾的作品
: c: E/ {( ]; s( U/ o6 t$ A
4 ]/ p. X' N k8 x1 O2 J
呵呵 谢了先
作者:
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