超市选址课程设计报告Word格式.doc
- 文档编号:13271189
- 上传时间:2022-10-09
- 格式:DOC
- 页数:12
- 大小:94.50KB
超市选址课程设计报告Word格式.doc
《超市选址课程设计报告Word格式.doc》由会员分享,可在线阅读,更多相关《超市选址课程设计报告Word格式.doc(12页珍藏版)》请在冰豆网上搜索。
□合理□基本合理□不太合理
(10分)(8分)(5分)
对问题的答辩情况
(占总成绩40%)
□概念正确有创新□能正确回答所有问题□基本能正确回答
(40分)(35分)(30分)
□部分问题回答概念不清晰
(20分)
学生的工作态度与独立工作能力
□工作态度认真能独立完成任务□工作态度认真但独立性较差
(10分)(8分)
□工作态度基本认真但缺乏独立性
(5分)
设计报告的规范性
□符合规范□基本符合规范□规范性较差
(10分)(8分)(5分)
优秀:
90分~100分良好:
80分~89分中等:
70~79分及格:
60~69分不及格0分~59分
武汉科技大学计算机科学与技术学院制表
计算机科学与技术学院
课程设计报告
数据结构课程设计
专业:
计算机科学与技术
班级:
2011级03班
学号:
201113137131
姓名:
彭伟华
指导老师:
李顺新
2013年9月20日
计算机科学与技术专业课程设计任务书
设计题目
小区便利店选址问题
学生姓名
所在院系
计算机科学与技术
专业、班级
主要内容:
对于某一小区便利店,其他各栋楼到其的距离不同,同时各栋楼的居民数也各不相同,不考虑各居民去超市的频率,请为便利店选址,要求实现总体最优,方便更多的住户购物。
【提示】
1)便利店无论选址何处,八栋楼的居民均可直接到达,即八栋楼与便利店均相邻,且距离为直线距离;
2)八栋楼的居民人数为权重,应该方便大多数人,实现总体最优。
学生应完成的工作:
l设计友好的用户界面
l数据设计合理,模块划分清晰
l程序能正确无错误地运行,提交完整源代码
l写出符合要求的课程设计报告书
参考文献阅读:
[1]《数据结构(C语言版)》严蔚敏清华大学出版社.
[2]《数据结构题集(C语言版)》严蔚敏清华大学出版社.
[3]《c语言程序设计》谭浩强清华大学出版社.
[4]《数据结构与算法分析》张铭
电子工业出版社
[5]《DATASTRUCTUREWITHC++》WilliamFord,WilliamTopp清华大学出版社
工作计划:
第1-2天:
课题分析与总体设计
第3-7天:
程序设计,调度与测试
第8-9天:
设计总结,完成课程设计报告书
第10天:
检查考核
任务下达日期:
2013年9月10日
任务完成日期:
2013年9月20日
学生(签名):
便利店选址
摘要:
该课题是为小区内的某一便利店选址,要求实现总体最优,这是带权的最小生成树的问题,小区平面图采用邻接矩阵表示,设计小区的平面图是一有向网,边表示各单位到便利店的路径,边上的权值表示路径的长度。
关键词:
权邻接矩阵有向网
1引言
1.1课题背景
便利店的选址问题是一个很复杂的决策过程,既需要定性分析,又需要定量计算。
选址问题主要取决于店铺位置的地形特点及其周围的人口状况、城市设施状况、交通条件、地租成本和竞争环境等,正确的选址决策能在减少投资运行成本的同时提高经济效益。
近几年,由于选址数据的愈加复杂以及计算机技术的迅速发展,人们开始利用计算机的强大计算能力对选址数据进行分析计算,从而决定最佳的选址方案。
1.2课程设计目的
数据结构是计算机学科实践性很强的一门核心课程。
课程设计是加强学生实践能力的一个强有力手段,要求学生掌握数据结构的应用、算法的编写、类C语言的算法转换成C(C++)程序并上机调试的基本方法,还要求学生在完成程序设计的同时能够写出比较规范的设计报告。
严格实施课程设计这一环节,对于学生基本程序设计素养的培养和软件工作者工作作风的训练,将起到显著的促进作用。
1.3课程设计任务
通过该题目的设计过程,可以加深理解图数据结构,掌握某些基本运算的实现,进一步理解和熟练掌握课本中所学的各种数据结构,学会如何把学到的知识用于解决实际问题,培养学生的动手能力。
1.4系统开发平台
1、题目:
2、开发工具:
MicrosoftVisualC++6.0
3、操作系统:
Windows7
2系统结构分析
2.1需求分析
核心问题:
求最短路径(选址的要求就是便利店到各单位权值之和最少)
数据模型(逻辑结构):
带权有向图(权值计算:
距离*人数)
存储结构:
typedefstruct
{
stringvexs[MAX_VERTEX_SIZE];
intarcs[MAX_VERTEX_SIZE][MAX_VERTEX_SIZE];
intvexnum;
//,arcnum;
}MGraph;
核心算法:
Floyd算法(弗洛伊德算法-每一对顶点之间的最短路径)
输入数据:
单位个数、各单位地址、各单位人数
输出数据:
便利店地址值
总体思路:
如果便利店所选地址为(x,y),那么先求出各单位到该地址的含参直线距离,在保证总体最优(权值最小)的情况下计算出便利店地址的精确值。
2.2方案选择
1)直角距离选址模型
使总体最优的的便利店选址问题可表述为:
minZ=∑CjQj(|X-Xa|+|Y-Ya|)
可将问题分解成两个单独最小化问题:
minZ=minZ1+minZ2
minZ1=min∑CjQj|X-Xa|
minZ2=min∑CjQj|Y-Ya|
2)欧式距离选址模型
两点之间的欧式距离定义如下:
Dj=√[(X-Xa)*(X-Xa)+(Y-Ya)*(Y-Ya)]
使总体最优的便利店选址问题可表述为:
minZ=∑CjQj√[(X-Xa)*(X-Xa)+(Y-Ya)*(Y-Ya)]
分别求Z对Xa和Ya的偏导数,令所得方程等于零,求Xa和Ya的值:
Xa=(∑CjQjXj/Dj)/(∑CjQj/Dj)
Ya=(∑CjQjYj/Dj)/(∑CjQj/Dj)
3)修正距离选址模型
在方案2)所得结果的基础上,采用迭代法求解更精确的结果。
Dj=k√[(X-Xa)*(X-Xa)+(Y-Ya)*(Y-Ya)]
minZ=∑kCjQj√[(X-Xa)*(X-Xa)+(Y-Ya)*(Y-Ya)]
由于本课题所给数据比较简单,通过综合比较分析,本课题决定采用方案1)。
3应用程序设计
3.1流程图设计
开始
Main()
输入基本信息
GreatMgraph(Gh)
建立邻接矩阵的存储结构
Floyd算法
N
Y
A[i][j]==INF,i!
=j
i到j不存在路径
输出i->
j的路径和路径长度
Floyed(Gh)
输出超市的最佳地址:
i
结束
3.2源程序
#include<
iostream>
cmath>
usingnamespacestd;
structbuilding
{
doublex;
doubley;
doublevalue;
};
buildingbd[1000];
intn;
//n栋楼
doubleminx,maxx,miny,maxy;
//记录各栋楼的区域
doublemidx,mmidx,midy,mmidy;
doubleresult_x,result_y,sum=100000;
//最后结果
doubledis(doublex,doubley)//计算距离
doublesum=0;
for(inti=0;
i<
n;
i++)
{
sum+=sqrt((x-bd[i].x)*(x-bd[i].x)+(y-bd[i].y)*(y-bd[i].y))*bd[i].value;
}
returnsum;
}
voidD_Divide()//三分法求位置
midx=(minx+maxx)/2;
mmidx=(midx+maxx)/2;
midy=(miny+maxy)/2;
mmidy=(midy+maxy)/2;
while((maxx-minx)>
0.01)
{
while((maxy-miny)>
0.01)
{
if(dis(midx,midy)>
dis(midx,mmidy))
miny=midy;
else
maxy=mmidy;
midy=(miny+maxy)/2;
mmidy=(midy+maxy)/2;
};
if(dis(midx,midy)>
dis(mmidx,midy))
minx=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 超市 选址 课程设计 报告