欢迎来到天天文库
浏览记录
ID:16693784
大小:27.50 KB
页数:5页
时间:2018-08-24
《3.6 多处最优服务次序问题》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、3.6多处最优服务次序问题算法设计思想:该问题比3.5(只有一个服务站)更具普遍性,需要考虑多个服务站的整体最优服务次序。问题要使顾客的平均等待时间最短,容易想到要对顾客和服务站分别采用不同的贪心策略:一方面,对于顾客,需要服务时间短的优先进行服务;另一方面,对于服务站,处理当前服务任务的结束时间早的优先分配新的顾客。通过这两种贪心策略,即可保证顾客的等待时间尽量短,得到最优服务次序,即整体的最优解。对于第一个贪心策略,我们对顾客的服务次序进行预处理,按照服务时间升序排列;对于第二个贪心策略,我们定义函数,得到当前结束时间最早的服务站。对顾客的服务时间采用快速排序。虽然程序代码比冒
2、泡排序和选择排序复杂,但对于处理大规模的问题,在时间复杂度上有明显的改善。为顾客、服务处分别定义了一个结构体,在处理过程中,只需要对结构体变量的属性进行判断和修改。为服务次序定义了一个类,并且类的公有函数只有一个求解函数,其他处理函数和参数被定为保护和私有,增强了类对象的封装性。通过类和对象来解决规划问题,使程序思路清晰,简单易懂。采用动态数组,节省了内存,使程序变得灵活,可以处理大规模数据。求解函数Solve()很简洁,首先是一个对服务时间的快排函数,然后在一个for循环内,用一个指派函数完成对顾客的服务分配,最后一个输出函数记录结果。除此之外,程序对鲁棒性做了增强,对非法输入和
3、文件错误进行了检测。程序设计代码:/*头文件最优服务次序问题.h*/#ifndefKNAP_H#defineKNAP_H#include#include#include#includeusingnamespacestd;structclient//顾客{unsignedintnumber;//顾客编号floatservice_time;//所需服务时间floatwait_time;//等待时间};locatedintheTomb,DongShenJiabang,deferthenextdayfocusedont
4、heassassination.Linping,Zhejiang,1ofwhichliquorwinemasters(WuzhensaidinformationisCarpenter),whogotAfewbayonets,duetomissedfatal,whennightcamestructservice//服务处{unsignedintnumber;//服务处编号unsignedintclient_num;//接待顾客数量unsignedint*clients_num;//接待的顾客编号数组floatcurrent_time;//服务处计时器};classService//最
5、优服务次序{public:Service(char*in,char*out);//构造函数~Service();//析构函数voidSolve();//输出结果到文件protected:voidQuickSort(intlow,inthigh);//按服务时间从小到大快速排序intPartition(intlow,inthigh);//快速排序的一次划分voidGetService(inti,intj);//贪心策略:顾客i到服务处jintEarliestPlace();//最早可以服务的服务处下标voidOutput();//输出最优服务次序private:unsignedint
6、client_num;//顾客数unsignedintservice_num;//服务处数client*clients;//顾客数组service*services;//服务处数组floatave_ser_time;//平均服务时间ofstreamfout;//输出结果文件指针};#endif/*函数实现文件最优服务次序问题.cpp*/#include"最优服务次序问题.h"Service::Service(char*in,char*out):fout(out){ifstreamfin(in);if(!fin){cerr<<"文件"<7、1);}fin>>client_num;//初始化顾客数fin>>service_num;//初始化服务处数locatedintheTomb,DongShenJiabang,deferthenextdayfocusedontheassassination.Linping,Zhejiang,1ofwhichliquorwinemasters(WuzhensaidinformationisCarpenter),whogotAfewbayonets,duetomissedf
7、1);}fin>>client_num;//初始化顾客数fin>>service_num;//初始化服务处数locatedintheTomb,DongShenJiabang,deferthenextdayfocusedontheassassination.Linping,Zhejiang,1ofwhichliquorwinemasters(WuzhensaidinformationisCarpenter),whogotAfewbayonets,duetomissedf
此文档下载收益归作者所有