aqua2001 发表于 2009-9-16 22:44

对B题的一些评论(个人意见,仅供参考)

本帖最后由 aqua2001 于 2009-9-17 10:56 编辑

考虑到维护公平比赛的原则,这次对题目的评论在比赛过后才发出来。照例,仅代表个人观点,与组委会官方观点或标准无涉。欢迎大家讨论和指正。

B题是一个相当复杂的排队优化问题。它涉及到这样几点知识:对已给数据的统计,应用概率模型,排队论,评价等。由于不同疾病所需治疗时间和紧迫程度的区别,造成了本题的复杂性,以至于难以直接依据排队和优化的理论进行计算。

应用怎样的概率模型是本题容易犯错的地方。每天人员到来的数量服从泊松分布,这个假设几乎人人都在用,但是如果涉及到另外的问题,例如服务时间,间隔时间等就需要考量到底服从哪种分布。在排队论里有不同的模型,使用哪一种才符合实际情况?

本题最难的地方在于如何优化排队的方法,许多同学并没有把精力集中在这个问题上。简单地说,原来的FCFS策略是把所有等待的人排成一个队列,后来的人直接挂到队尾。所谓改进,最直接的想法就是允许后来的人适当地插队。至于以什么规则来插队则是未知的。而这个规则还需要考虑到医院的实际操作,不能太过复杂。

所谓评价准则,需要考虑的有两个因素,第一就是提高床位利用和周转的平均效率,第二就是要考虑到是否有部分人被忽视。FCFS策略含有一种内在的公平,而我们可以使用的一个很简单的指标就是队列中的最长等待时间。如果考虑了平均等待时间而忽视了最长等待时间,那么就可能有一些病人,由于“优先级”比较低,无论如何排不到他。当然具体使用哪些指标来做评价是仁者见仁的,但这两个指标为代表的“因素”无疑是本题需要考虑的两个最直接和重要的因素。

要研究某个策略效果如何,如果理论的计算比较困难,可以采用数值模拟。熟悉蒙特卡罗方法的同学会觉得顺手许多。使用蒙特卡罗方法进行模拟,加上有效的方法来优化方案(具体什么方法最合适,值得进一步讨论),此题就解决得相当完善了。

补充一点:最后一问,设置固定比例的床位时,可以看成把原来的一个等待队列分成了几个并行的等待队列。而达到总效率最大的必要条件之一,显然是这几个“线程”的负载均衡。负载均衡在2009年数学中国杯网络挑战赛A题中曾专门涉及。除了模拟以外,也有一些理论的计算方法。不熟悉排队论的同学可以直接使用概率的知识进行分析,和数值模拟的结果相结合,也能得到相当有说服力的结论。

Burgess 发表于 2009-9-16 22:52

我選定是A題
也看看
呵呵
沙發

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规则安排其他较低优先权的病人入住。
    这是一种改进了的FCFS规则,可以避免一些像白内障患者在医院住了一个星期才动手术的弊端。我想队列长度如果变短,那么最长等待时间也是变短的。
    我是用Matlab程序来实现上面的思想,的确达到了我预期的目的,大大的减短了队列长度。

数学者 发表于 2009-9-17 11:02

当然,外伤(急诊)患者是不受队长限制的,刚才漏打上去了·

welll 发表于 2009-9-17 11:20

楼主说的好!应该从排队论方面建模!

wangyx 发表于 2009-9-17 12:20

我们的做题思路差不多!我们是利用CPU进程调度的排队算法来解决的!多级反馈队列!! 7# 数学者
页: [1] 2 3 4 5 6 7
查看完整版本: 对B题的一些评论(个人意见,仅供参考)