最优服务次序问题-算法设计与分析实验三
Posted Time木0101
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最优服务次序问题-算法设计与分析实验三相关的知识,希望对你有一定的参考价值。
1问题
最优服务次序问题:设有n个顾客同时等待一项服务。顾客i需要的服务时间为ti,1≤i≤n。共有s处可以提供此服务。应如何安排n个顾客的服务次序才能使平均等待时间达到最小平均等待时间是n个顾客等待服务时间的总和除以n。
2问题分析
贪心策略:由于每个顾客i的服务时间为ti,要实现等待服务时间总和最小,应该尽可能安排ti值小的顾客,进行服务。
3问题建模
问题建模:假设原问题的时间为T,已经知道了某个最优服务系列,最优解为min=t(1),t(2),…,t(n)(其中t(i)为第i个客户需要的服务时间),那么每个客户需要的等待是时间为:
T(1)=t(1);
T(2)=t(1)+t(2);
…
T(n)=t(1)+t(2)+…+t(n);
那么,总的等待时间,即为最优解
Tmin=n*t(1)+(n-1)*t(2)+(n-2)t(3)…+(n+1-i)t(i)+…+2t(n-1)+1t(n)
4算法描述
输入用户等待所需时间列表
将等待时间按从小到大进行排列
利用数学公式Tmin=n*t(1)+(n-1)*t(2)+(n-2)t(3)…+(n+1-i)t(i)+…+2t(n-1)+1t(n)进行计算得到结果
5算法源码
list = []
i=1
a=1
while a!=0:
a = int(input())
list.append(a)
list.pop()
list.sort()
n=len(list)
sum=0
for i in(list):
b = n*int(i)
sum = sum+b
n-=1
print(sum/len(list))
六、测试数据
12 23 67 34 61
七、程序运行结果(要求:截图说明算法运行的结果)
更多大学课业实验实训可关注公众号:Time木
回复相关关键词
学艺不精,若有错误还望指点
以上是关于最优服务次序问题-算法设计与分析实验三的主要内容,如果未能解决你的问题,请参考以下文章