数学建模渡口问题Word下载.docx
- 文档编号:19557143
- 上传时间:2023-01-07
- 格式:DOCX
- 页数:14
- 大小:27.07KB
数学建模渡口问题Word下载.docx
《数学建模渡口问题Word下载.docx》由会员分享,可在线阅读,更多相关《数学建模渡口问题Word下载.docx(14页珍藏版)》请在冰豆网上搜索。
0
卡车轿车摩托车
图1
如图1所示,用一个0到1之间的随机数的分布来确定车的所属类型。
当random=0~时,为卡车;
当random=~时,为轿车;
当random=~时,为摩托车。
车身的长度问题也应用这个思路。
题中给出轿车的长度为~,重新定义一个0~1之间的随机数random。
和之间的差值是2,即:
random*2,所以轿车的车身长度为:
Length=(+random*2)。
同理得出:
卡车的车身长度为:
length=8+random*2,摩托车的车身长度为:
length=+random*2。
(图2)
2
轿车
82
卡车
摩托车
图2
(3)由于甲板上一共可以停放两列车,所以车上甲板的顺序就不确定。
通过我们的研究发现,如果将这一问题考虑的过于复杂会导致算法过于复杂,问题复杂化。
所以我们设定先来的车先都上同一个甲板,当第一个甲板排满之后再排第二个甲板。
(4)船在海上行驶的时候会有摇晃,为了保证安全,车辆之间应该留有一定的空间,我们假定为米。
首辆车距离甲板头我们定为0.5米。
最后一辆车通常情况下一定会和船尾有一定距离,所以不需再空出距离了。
具体解决问题:
经过讨论决定使用java语言来编译一个模拟环境,模拟出两个甲板和每个甲板上停车的数量、类型。
首先我们编写了3个车的类:
Car、Truck和Motorcycle。
接着是假定每个相同车类组成的队列类:
CarDateBase、TruckDateBase、
MotorcycleDateBase。
最后是模拟类:
Demo。
(详见附录)
最后用这几个类组成一个完整的模拟程序。
测试出来的结果如下。
测试结果:
(1)随机出来的车的长度:
车的类型
长度
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
……
轿车数量
卡车数量
摩托车数量
总长度
测试1
1
3
0
测试2
0
3
31
测试3
2
测试4
测试5
6
(3)测试出来的每个板上的车的种类和数量:
总结:
以上只是一部分测试数据,总体上来看,我们完成了题目中的要求。
由于是第一次参赛而且时间比较紧,我们的这个建模做得还不是很完美,有几个细节的地方只能是假定一种情况,而不能将所有的情况都写出来。
希望下次能将我们所想的全部都表达出来。
最重要的是我们通过这次活动学到很多,为我们的专业学习也带来了很大的帮助,以后一定会继续努力,争取在建模和编程上有所成就!
附录
模拟停车的java程序:
(1)Car类:
publicclassCar
{
privatedoublelength;
publicCar(doubled)
{
=d;
}
publicdoublegetLength()
returnlength;
}
(2)Truck类:
classTruck
publicTruck(doublel)
=l;
(3)Motorcycle类:
classMotorcycle
publicMotorcycle(doublel)
(4)CarDataBase类:
import.*;
classCarDataBase
privateVectorcars;
publicCarDataBase()
cars=newVector();
publicvoidaddCar(Carinitialcar)
}
publicIteratorgetCarIterator(){
return();
publicCargetCar(floatlength){
for(Iteratori=();
();
){
Cartemp=(Car)();
if()==length)
returntemp;
}
returnnull;
publicintgetNumberOfCars(){
return}
(5)TruckDataBase类:
classTruckDataBase
privateVectortrucks;
publicTruckDataBase()
trucks=newVector();
publicvoidaddTruck(Truckinitialcar)
publicIteratorgetTruckIterator(){
publicTruckgetTruck(floatlength){
Trucktemp=(Truck)();
publicintgetNumberOfTrucks(){
(6)MotorcycleDataBase类:
classMotorcycleDataBase
privateVectormotorcycles;
publicMotorcycleDataBase()
motorcycles=newVector();
publicvoidaddMotorcycle(Motorcycleinitialmotorcycle)
publicIteratorgetMotorcycleIterator()
publicMotorcyclegetMotorcycle(floatlength){
Motorcycletemp=(Motorcycle)();
publicintgetNumberOfMotorcycle(){
(7)Dome类:
publicclassDome
privateCarDataBasecardatabase;
privateTruckDataBasetruckdatabase;
privateMotorcycleDataBasemotorcycledatabase;
privateintNUMBEROFCARS=0;
privateintNUMBEROFTRUCKS=0;
privateintNUMBEROFMOTORCYCLES=0;
privatedoubleTOTLELENGTH=0;
privatestaticintRAN;
publicDome()
cardatabase=loadCar();
truckdatabase=loadTruck();
motorcycledatabase=loadMotorcycle();
publicstaticvoidmain(String[]args)
Domea=newDome();
Domeb=newDome();
for(inti=0;
i<
10;
i++){
RAN=(int)()*1000);
();
"
NUMBEROFCARSare"
+;
NUMBEROFTRUCKSare"
NUMBEROFMOTORCYCLESare"
TOTLELENGTHis"
+(double)(((int)*100))/100));
for(intj=0;
j<
j++){
RAN=(int)()*1000);
privateCarDataBaseloadCar()
//"
loadCar!
"
);
CarDataBasecardatabase=newCarDataBase();
doubleran=(double)()*2);
(newCar+ran));
returncardatabase;
privateTruckDataBaseloadTruck()
TruckDataBasetruckdatabase=newTruckDataBase();
4;
(newTruck+ran));
returntruckdatabase;
privateMotorcycleDataBaseloadMotorcycle()
MotorcycleDataBasemotorcycledatabase=newMotorcycleDataBase();
100;
doubleran=(double)()*;
(newMotorcycle+ran));
returnmotorcycledatabase;
privatebooleanJudge(){
if(TOTLELENGTH<
=32){
returntrue;
}else{
returnfalse;
publicvoidrun(){
if(RAN>
=0&
&
RAN<
450){
for(Iteratori=();
();
){
Carcars=(Car)();
if(TOTLELENGTH==0){
TOTLELENGTH+=;
}else
if(TOTLELENGTH<
={
}
TOTLELENGTH+=();
if(Judge()){
"
Thiscar'
lengthis"
+(double)((int)()*1000))/1000);
NUMBEROFCARS++;
}else{
TOTLELENGTH-=();
}
}else
=450&
=950){
Trucktrucks=(Truck)();
TOTLELENGTH+=;
}else
if(TOTLELENGTH<
}
Thistruck'
NUMBEROFTRUCKS++;
}else
if(RAN>
950&
=1000)
Motorcyclemotorcycles=(Motorcycle)();
Thismotorcycle'
NUMBEROFMOTORCYCLES++;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数学 建模 渡口 问题