为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

兰州市机动车尾号限行问题数学建模

2017-10-16 15页 doc 35KB 17阅读

用户头像

is_003124

暂无简介

举报
兰州市机动车尾号限行问题数学建模兰州市机动车尾号限行问题数学建模 2012年兰州交通大学大学生数学建模竞赛 承 诺 书 我们仔细阅读了数学建模的竞赛规则。 我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮 件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问 题。 我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他 公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正 文引用处和参考文献中明确列出。 我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。如有违反 竞赛规则...
兰州市机动车尾号限行问题数学建模
兰州市机动车尾号限行问数学建模 2012年兰州交通大学大学生数学建模竞赛 承 诺 我们仔细阅读了数学建模的竞赛规则。 我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮 件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问 题。 我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他 公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正 文引用处和参考文献中明确列出。 我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。如有违反 竞赛规则的行为,我们将受到严肃处理。 我们参赛选择的题号是(从A/B/中选择一项填写): A 参赛队员 (打印并签名) :1. 2. 3. 指导教师或指导教师组负责人 (打印并签名): 日期: 2012 年 5月 7日 机动车尾号问题 摘要 本文针对机动车辆尾号限行问题,提出这样的假设:不管周末和节假日以及六类特殊情况,建立了如下的数学模型:每个尾号在不同年限内被限制的天数-对应年限内的周末和节假日天数。运用计算机语言编程解决模型的运算。 对于问题一,用每个尾号在一年内的被限制天数减去一年内的周末和节假日天数,通过模型得知,被限制天数与车辆尾号相关,与车辆的价位无关,而车辆尾号与车辆价位之间没有必然联系。所以,该限行方案具有年公平性。 对于问题二,用同样的模型,把年限换成五年,即可得出尾号最优获益与最大亏损度,最优获益度为0.02131 ,最大亏损度0.05762 ,最优尾号为 2,7 ,最亏尾号为 1,6 。 对于问题三,用同样的模型,把年限换成10年,10年为国家规定的机动车辆使用年限,得出尾号限行对每辆机动车不具有同样的公平性。 1、问题的提出 一个城市的交通秩序是一个城市形象与风貌的重要风向标。随着经济发展和人民生活水平提高,出行的人流和私家车的数量与日俱增,解决交通拥堵问题势在必行,机动车辆尾号限制无疑是解决交通拥堵问题很有效的一种方案。 我们考虑机动车辆尾号限制的公平性问题建立模型。 这里讨论的公平性有两个层面的含义: (1),不同价位的车支付不同的交通费用金额,限行对高价车与低价车是否具有同样的公平性。 (2),不同尾号的车在同样的限行期限内是否具有同样的公平性。 问题一属于第一个层面的含义,讨论限行对不同价位的车的公平性。问题二、问题三属于第二个层面的含义,谈论限行对不同尾号的车的公平性。 问题1:不同价格的机动车年需付各类金额(如:保险费,路桥费,保养费等)不同;车价越高,相应付出各类金额越多;试建模型讨论机动车尾号限行办法的年公平性。 问题2:若兰州市机动车尾号限行办法实施5年,试讨论尾号最优获益和最大亏损度,并给出最优和最亏具体尾号, 问题3、若兰州市机动车尾号限行办法长期使用,是否对每辆机动车具有同样的公平性, 2、问题分析 针对上面提出的问题,进行相关分析。问题的核心是公平性,对于机动车辆限行而言,公平性指在某个确定的时间段内,被限行天数是否相同,因此,问题转换为计算不同尾号的车辆的被限行天数。 3、模型假设 1、假设六类特殊车辆不参与模型建立,六类特殊情形如下: 第一,在限行时间上,只限白天不限夜晚,不是全天都限。具体限行时间为每日早7时至晚8时;双休日、节假日不限号。 第二,在限行范围上,只限城关、七里河两区中心城区道路,不是市内四区都限,也不是所有道路都限。具体限行范围为桃树坪三岔路口以西,北滨河路、靖远路、盐场路以南,南山战备路、工林路、兰工坪路、晏家坪北路以北,武威路、敦煌路、七里河大桥以东范围内所有道路(含上述路段)。 第三,在限行车型上,外地来兰机动车3天内不受限行规定限制,以路桥收费票据为凭。 第四:本市各级党政机关每日在限行规定的基础上停驶20%的公务用车;双休日和法定节假日,本市城区各级党政机关公务用车一律停驶(执行公务除外)。 第五、六类机动车不限行 1、军车、警车、消防车、救护车、工程救险车等执行紧急任务的特种车辆; 2、公交车、公路客运车、出租车(原单双日运行规定不变)、旅游车以及9座以上(含9座)客车; 3、喷涂统一标识并执行任务的行政执法车辆、邮政专用车辆、清障专用车辆; 4、环卫、园林、道路养护部门的专项作业车辆,殡仪馆的殡葬车辆; 5、运送危重病人等紧急情况确需通行的车辆(事前或事后须向辖区交警大队书面说明并提供证明材料); 6、机要通讯、运送城市重要生产生活物资等其他特殊情况确需通行的车辆(凭市公安局交警支队核发的通行手续通行) 2、假设车辆尾号与价位之间没有直接关系。 3、假设参与建模车辆的国家规定的使用年限均为10年。 4、模型建立 直接建立数学模型:每个尾号在某一时间段内的被限行天数-该时间段内的周末和节假日天数 问题一求解:每个尾号在一年内被限行的天数,一年内的周末和节假日天数如下图 一年内被限行的天数一年内节假日数 实际被限制的天数 尾号 (不含周末) (不含周末) 1 56 1 55 2 52 4 48 3 52 1 51 4 50 1 49 5 51 1 50 6 56 1 55 7 52 4 48 8 52 1 51 9 50 1 49 0 51 1 50 计算结果得出结论,限制天数的长短只与尾号相关,再结合假设尾号与车的价位无关,所以,车的价位不同产生的交通费用不同,不会影响车辆限行的年公平性。 问题二求解:每个尾号在五年内的被限制情况如下 尾号 五年内被限行的天数 五年内周末和节假日数 实际被限制的天数 (不含周末) (不含周末) 1 281 13 268 2 257 9 248 3 257 8 249 4 255 6 249 5 255 2 253 6 281 13 268 7 257 9 248 8 257 8 249 9 255 6 249 0 255 2 253 由图得出: 限行天数总和:1267 每组尾号的平均现行日期:1267/5 = 253.4 最优获益度为: 1 - 248 / 253.4 = 0.02131 最大亏损度为: 268 / 153.4 - 1 = 0.05762 最优尾号为: 2,7 最亏尾号为: 1,6 问题三求解:每个尾号在10年内的被限制情况 尾号 十年内被限行的天数 十年内周末和节假日数 实际被限制的天数 (不含周末) (不含周末) 1 565 26 539 2 514 15 499 3 514 15 499 4 509 12 497 5 509 7 502 6 565 26 539 7 514 15 499 8 514 15 499 9 509 12 497 0 509 7 502 由图得出结论,该方案长期使用,对每个尾号不同的车辆对应不同的被限制天数,即对每个车辆不具有同样的公平性。 5、计算方法设计 我们对模型的分析与推理后,最终通过如下程序实现了尾号的限行日期的初步计算。 采用的编程语言是C#。 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace shuXueJianMo { public partial class Form1 : Form { public Form1() { InitializeComponent(); //label1.Text = Week(); //lbl05.Text = CaculateWeekDay(2012, 5, 31); WeiHaoXianXingRiQiTongJi(2010, 9, 18,5); } //尾号限行日期统计 public void WeiHaoXianXingRiQiTongJi(int year,int month,int day,int n) { int _zero; //定义5个变量,作为各个 尾号限行日期的变量 int _one; int _two; int _three; int _four; int _weekend; //记录周末有多少天 int _account,_accountOne,_accountTwo,_accountThree,_accountFour,_accountFive; //记录限行的日期总数 int Maxmonth; //需要循环到那一个月 int Maxday; //这个月的总天数 int Middlemonth; //记录月份的中间变量 int Middleday; //记录一月中天数的中间变量 int Testyear, Testmonth, Testday; Testyear = Testmonth = Testday = 0; _zero = _one = _two = _three = _four = _weekend = 0; Maxday = 0; Middlemonth = month; Middleday = day; for ( Testyear = year; Testyear <= year + n; Testyear++) { if (Testmonth == 13 && Testyear == year + n) //当加到十三是返回到1 { Middlemonth = 1; Maxmonth = month; } else if (Testmonth == 13) { Middlemonth = 1; Maxmonth = 12; } else { Maxmonth = 12; } for ( Testmonth = Middlemonth; Testmonth <= Maxmonth ; Testmonth++) { Maxday = Day(Testyear, Testmonth); //得到当月的总天数 if (Testday == 32 || Testday == 31 || Testday == 30 || Testday == 29) { Middleday = 1; if (Testyear == year + n && Testmonth == month) Maxday = day; } else { Middleday = day; } for (Testday = Middleday; Testday <= Maxday; Testday++) { if ((Testday == 5) || (Testday == 10) || (Testday == 15) || (Testday == 20) || (Testday == 25) || (Testday == 30)) { if ((CaculateWeekDay(Testyear, Testmonth, Testday) == "星期六") || (CaculateWeekDay(Testyear, Testmonth, Testday) == "星期日 ")) { _weekend++; continue; } else _zero++; } else if ((Testday == 1) || (Testday == 6) || (Testday == 11) || (Testday == 16) || (Testday == 21) || (Testday == 26) || (Testday == 31)) { if ((CaculateWeekDay(Testyear, Testmonth, Testday) == "星期六") || (CaculateWeekDay(Testyear, Testmonth, Testday) == "星期日 ")) { _weekend++; continue; } _one++; } else if ((Testday == 2) || (Testday == 7) || (Testday == 12) || (Testday == 17) || (Testday == 22) || (Testday == 27)) { if ((CaculateWeekDay(Testyear, Testmonth, Testday) == "星期六") || (CaculateWeekDay(Testyear, Testmonth, Testday) == "星期日 ")) { _weekend++; continue; } _two++; } else if ((Testday == 3) || (Testday == 8) || (Testday == 13) || (Testday == 18) || (Testday == 23) || (Testday == 28)) { if ((CaculateWeekDay(Testyear, Testmonth, Testday) == "星期六") || (CaculateWeekDay(Testyear, Testmonth, Testday) == "星期日 ")) { _weekend++; continue; } _three++; } else if ((Testday == 4) || (Testday == 9) || (Testday == 14) || (Testday == 19) || (Testday == 24) || (Testday == 29)) { if ((CaculateWeekDay(Testyear, Testmonth, Testday) == "星期六") || (CaculateWeekDay(Testyear, Testmonth, Testday) == "星期日 ")) { _weekend++; continue; } _four++; } } } } _account = _zero + _one + _two + _three + _four; text05.Text = Convert.ToString(_zero); text16.Text = Convert.ToString(_one); text27.Text = Convert.ToString(_two); text38.Text = Convert.ToString(_three); text49.Text = Convert.ToString(_four); textAll.Text = Convert.ToString(_account); textWeekend.Text = Convert.ToString(_weekend); textAccount.Text = Convert.ToString(_account + _weekend); } //看看今天是星期几, public string Week() { string[] weekdays = { "星期日", "星期一", " 星期二", "星期三", "星期四", "星期五", "星期六" }; string week = weekdays[Convert.ToInt32(DateTime.Now.DayOfWeek)]; return week; } //计算某一天是星期几 public string CaculateWeekDay(int y, int m, int d) { if (m == 1) m = 13; if (m == 2) m = 14; int week = (d + 2 * m + 3 * (m + 1) / 5 + y + y / 4 - y / 100 + y / 400) % 7;//基姆拉尔森计算公式 string weekstr = ""; switch (week) { case 0: weekstr = "星期一"; break; case 1: weekstr = "星期二"; break; case 2: weekstr = "星期三"; break; case 3: weekstr = "星期四"; break; case 4: weekstr = "星期五"; break; case 5: weekstr = "星期六"; break; case 6: weekstr = "星期日"; break; } return weekstr; } //判断某一年是否为闰年,闰年返回1,平年返回0 public int LeapYear(int year) { if ((year % 400 == 0) || (year % 100 != 0) && (year % 4 == 0)) return 1; else return 0; } //判断某月有几天 public int Day(int year,int month) { const int _yisan = 31; // 一三五七八十腊 是三十一天 const int _erNotLeap = 28; //非闰月为二十八天 const int _erLeap = 29; //二月闰月为二十九 天 const int _siliu = 30; //4 6 9 11为三十 天 int day ; //记录天数的变量 day = 0; if ((month == 1) || (month == 3) || (month == 5) || (month == 7) || (month == 8) || (month == 10) || (month == 12)) { day = _yisan; } else if ((month == 4) | (month == 6) | (month == 9) | (month == 11)) { day = _siliu; } else if (month == 2 && LeapYear(year) == 1) { day = _erLeap; } else if (month == 2 && LeapYear(year) != 1) { day = _erNotLeap; } return day; } } } 6、结果分析与检验 对于第一个问题的结果,完全符合生活常规。即使不限行,高价车支付的交通费用金额高于低价车,限行天数与车的价位之间没有必然的关系。对于第二,第三个问题,在假定范围内,数据具有较高的精确性,误差在合理范围内,数据稳定性较好。 7、模型的改进与推广 本文模型假设中,第三点假设假定参与模型建立的车辆国家规定的使用年限为10年,可以适当放宽,以作改进。计算15甚至20年内的公平性问题,本模型虽是针对机动车辆限行公平性问题提出的,但在建模的方法上不失一般性,在遇到相似问题时可以发挥较好的模型作用。
/
本文档为【兰州市机动车尾号限行问题数学建模】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索