最优服务次序问题-算法设计与分析实验三

Posted TIME0101

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
七、程序运行结果(要求:截图说明算法运行的结果)

更多大学课业实验实训可关注公众号回复相关关键词
学艺不精,若有错误还望指点

以上是关于最优服务次序问题-算法设计与分析实验三的主要内容,如果未能解决你的问题,请参考以下文章

最优服务次序问题-算法设计与分析实验三

算法分析与设计之多处最优服务次序问题2

算法设计与分析 实验三 回溯法求解地图填色问题

算法设计与分析 实验二 分治法求解最近点对问题

算法设计与分析 实验一 排序算法性能分析

算法设计与分析 实验六 最大流解决论文评审问题