数学建模
校园垃圾桶布局问题
姓名:于涛
专业:2013级数学与应用数学3班
校园垃圾桶布局问题
摘要
本文通过对整个校园进行分段,将对整个校园的垃圾桶分布建模的问题简化为对每个路段的垃圾桶分布进行建模。使一个复杂的问题简化为若干个相对简单的问题。通过分析路段上各个参数的关系,建立一个路段垃圾桶分布的数学模型。 文中列出了我校垃圾桶布局出现的问题。对于简单的问题我们直接给出解决方案。只对复杂的问题进行讨论,并建立数学模型。
本文建立的数学模型不仅考虑到方案的可行性,还考虑的经济性。在保证垃圾桶布局合理的前提下,找出最经济的方案。
根据已建立的数学模型,用计算机程序来实现模型。便于计算。
1. 问题的重述
一个合理的垃圾桶布局应使人们方便使用且有足够的承载能力,还要兼顾到经济美观。
目前我校垃圾桶大部分布局合理,但个别路段还存在以下问题。 (1)一些路段出现垃圾桶溢满现象。
(2)一些路段两个相邻垃圾桶间距过大,不方便行人使用。这些路段的垃圾产生量很少,不需要太多的垃圾桶。但垃圾桶过少使相邻两垃圾桶间距过大 (3)一些路段上的垃圾桶只放置在道路的一侧。这些路段的行人一侧可以很方便的找到垃圾桶,另一侧的行人需要横穿马路才能找到垃圾桶。
2. 问题的分析
问题(2)和问题(3)的解决方法比较简单。对于问题(2)我们只需要增加垃圾桶个数使相邻两垃圾桶的间距达到一个合适的距离。对于问题(3)我们可以将垃圾桶按摆放顺序编号,奇数编号放在一侧,偶数编号放在另一侧。 对于简单的问题(2)问题(3)我们可以很快解决。问题(1)比较复杂。因此在这里我们重点讨论问题(1)。问题(2)和问题(3)我们不在讨论。 垃圾桶出现溢满现象说明在两次垃圾清运之间的时间段内的垃圾产生量大于路段上垃圾桶的总容量。可以看出一个路段合理的垃圾桶个数和每日垃圾产生量、垃圾清运次数以及垃圾桶本身的容量有关。我们可以找出其中的关系,并加以约束条件来建立数学模型。
3. 模型的假设与符号的说明
3.1模型的假设
(1)假设整个校园是由若干个路段组成(通过对每个路段垃圾桶布局的优化使整个校园的垃圾桶布局得到优化。使一个复杂的校园垃圾桶优化问题简化为若干个路段的垃圾桶优化问题)。 (2)每个路段的产生的垃圾都是均匀分布的(在分段时将近似的垃圾产生均匀的一段路划为一段)。
(3)每天垃圾桶的初始状态都是空的。 (4)一个路段只使用一种规格的垃圾桶。
(5)假设垃圾从每天早上7点钟开始产生,晚上10点后不再产生垃圾。 3.2符号说明
S 表示路段每日垃圾产生总量(本文中的总量、容量等都是指体积); n 表示路段上垃圾桶的个数; m 表示路段上每日垃圾清运次数; L 表示路段的长度;
H 表示相邻两垃圾桶的间距; d 表示相邻两垃圾桶的最小间距;
D 表示相邻两垃圾桶的最大间距(相邻两垃圾桶间距过大使行人使用不便,间距过小影响美观,因此设置最大最小间距。问题(2)的解决方法就是增加垃圾桶个数使间距处于最大最小间距之间。);
V 表示垃圾桶的容量; E 表示垃圾桶的单价;
4. 模型的建立
4.1在垃圾桶容积确定的前提下求垃圾桶个数和每日清运次数的模型 假设选用的垃圾桶容积满足这个路段的需求。要保证这个路段的垃圾桶不会溢满,首先要确保这个路段的垃圾桶总容量乘以每日垃圾清运次数不小于这个路
段的每日垃圾产生量。
即 (1)
一个路段相邻两个垃圾桶的间距为
(2)
因为有最小最大间距的限制,所以 。
即 (3)
由(1)和(3)可得到一个路段垃圾桶的个数和清运次数需要满足的条件。
(4)
以m 为横坐标,n 为纵坐标做出(4)的图像。
图中阴影区域的整数坐标即为满足条件的值。
垃圾桶的资金投入是一次性的。清运次数越多则需要支付的费用越多,且这个费用是长期性的。考虑到经济成本,应使清运次数尽可能的少。在清运次数最少的前提下使垃圾桶的个数最少。由此可以得出最优的m,n 的取值。
(5)
4.2垃圾桶类型选择的模型
若有多种类型的垃圾桶可供选择。我们分别计算出使用各种垃圾桶时的m,n 的值。优先选用m 值最小的垃圾桶。若有多个垃圾桶的m 值都是最小,则对比这几个垃圾桶的nE 的值。选用nE 值最小的垃圾桶。
4.3安排垃圾清运时间的模型
垃圾桶的个数和清运次数得到了,但还不能保证垃圾桶不会出现溢满现象。因为垃圾清运的时间还没有确定。若清运时间安排不合理,两次清运之间产生的垃圾量大于垃圾桶的总容量,则还会出现垃圾桶已满现象。
我们已经计算出清运次数的值m 。由此可以计算出两次清运之间的垃圾产生量应为 。每产生垃圾的时间即为清运时间。
从早上7:00开始每个半小时统计一次累计垃圾产生量。 例如:
画出折线图
为了保证数据的准确。我们从周一开始统计,一共统计7天的数据。取这七天每个时刻的平均值。可以近似的认为每两次统计时间之间的垃圾产生速率是匀速的。根据折线图可以算出每产生垃圾的时间。这个时间就是垃圾的清运时间。
5. 模型的模拟检验
我们选取一段路来检验模型的可行性。选取6号楼东侧的路段,此路段的垃圾桶经常出现溢满现象。这段路的长度S 为380m 。目前我校的垃圾桶有两种规格。一种容量60L ,单价320¥。一种容量25L ,单价110¥。
统计这个路段的垃圾产生量。
为了方便计算根据已建立的模型用C++编写一段计算程序(源代码见附录)。输入以上数据可得到结果。
目前这段路用的是25L 的垃圾桶一共9个,经常出现溢满现象。根据模型的计算结果应该放置12个垃圾桶。可以看出此模型的是可行的。
若对整个校园的垃圾桶分布进行优化,需要统计每个路段的数据。用以上程序输入整个校园所有路段的数据就可以计算出整个校园最优垃圾桶的分布。
6. 模型的评价
优点:模型简单易实现。模型不紧能计算出合理的垃圾桶布局,可以计算出最经济的布局方案。
缺点:按此模型来对校园垃圾桶进行布局会出现路段的连接点处有多个垃圾桶的现象。此模型只是用于线性的道路,不适用于区域性的广场之类的场所。清运时间的安排可以保证垃圾桶不会溢满,但安排的时间不够人性化。对于一些较短的路段次模型得出的结果不太理想。此模型不能兼顾到一些垃圾产生量大的点。如餐厅门口。
附录: C++程序源代码
//////////////////////////////////////////////////////////////////////////
#include #include using namespace std;
class Road {public: void set();
void show_m_n(float a[10][2],int l); void show_time(); private: int n; int m;
float L; float Hmin; float Hmax; float S[31]; int i,j,h; };
void Road::set() {
n=0; m=0; Hmin=10; Hmax=50;
cout>L;
cout0;i--) {
cout>S[31-i]; } }
void Road::show_m_n(float a[10][2],int l) {
h=1;
m=ceil(S[30]/((int(L/Hmin+1))*a[0][0])); n=ceil(S[30]/(m*a[0][0])); for(i=l;i>0;i--) {
if(m>ceil(S[30]/((int(L/Hmin+1))*a[l-i][0]))) {
m=ceil(S[30]/((int(L/Hmin+1))*a[l-i][0]));
n=ceil(S[30]/(a[l-i][0]*m)); h=l-i+1; }
if(m=ceil(S[30]/((int(L/Hmin+1))*a[l-i][0]))) {
if(n*a[h-1][1]>ceil(S[30]/(a[l-i][0]*m))*a[l-i][1]) {
h=l-i+1;
n=ceil(S[30]/(a[l-i][0]*m)); }
} }
cout
void Road::show_time() {
float g=0;
for(i=m,j=0;i>0;i--) {
for(;j
g=S[j]-(m-i)*(S[30]/m); if(g>=(S[30]/m))break; }
cout
"
int main() {
int z;
Road R[200];
cout>z; int l;
cout>l;
float a[10][2]; int i;
for(i=l;i>0;i--)
{
cout
cin>>a[l-i][0];
cout
cin>>a[l-i][1];
}
for(i=z;i>0;i--)
{
cout
R[z-i].set();
}
for(i=z;i>0;i--)
{
cout
R[z-i].show_m_n(a,l);
cout
R[z-i].show_time();
}
return 0;
}
/////////////////////////////////////////////////////////////////
数学建模
校园垃圾桶布局问题
姓名:于涛
专业:2013级数学与应用数学3班
校园垃圾桶布局问题
摘要
本文通过对整个校园进行分段,将对整个校园的垃圾桶分布建模的问题简化为对每个路段的垃圾桶分布进行建模。使一个复杂的问题简化为若干个相对简单的问题。通过分析路段上各个参数的关系,建立一个路段垃圾桶分布的数学模型。 文中列出了我校垃圾桶布局出现的问题。对于简单的问题我们直接给出解决方案。只对复杂的问题进行讨论,并建立数学模型。
本文建立的数学模型不仅考虑到方案的可行性,还考虑的经济性。在保证垃圾桶布局合理的前提下,找出最经济的方案。
根据已建立的数学模型,用计算机程序来实现模型。便于计算。
1. 问题的重述
一个合理的垃圾桶布局应使人们方便使用且有足够的承载能力,还要兼顾到经济美观。
目前我校垃圾桶大部分布局合理,但个别路段还存在以下问题。 (1)一些路段出现垃圾桶溢满现象。
(2)一些路段两个相邻垃圾桶间距过大,不方便行人使用。这些路段的垃圾产生量很少,不需要太多的垃圾桶。但垃圾桶过少使相邻两垃圾桶间距过大 (3)一些路段上的垃圾桶只放置在道路的一侧。这些路段的行人一侧可以很方便的找到垃圾桶,另一侧的行人需要横穿马路才能找到垃圾桶。
2. 问题的分析
问题(2)和问题(3)的解决方法比较简单。对于问题(2)我们只需要增加垃圾桶个数使相邻两垃圾桶的间距达到一个合适的距离。对于问题(3)我们可以将垃圾桶按摆放顺序编号,奇数编号放在一侧,偶数编号放在另一侧。 对于简单的问题(2)问题(3)我们可以很快解决。问题(1)比较复杂。因此在这里我们重点讨论问题(1)。问题(2)和问题(3)我们不在讨论。 垃圾桶出现溢满现象说明在两次垃圾清运之间的时间段内的垃圾产生量大于路段上垃圾桶的总容量。可以看出一个路段合理的垃圾桶个数和每日垃圾产生量、垃圾清运次数以及垃圾桶本身的容量有关。我们可以找出其中的关系,并加以约束条件来建立数学模型。
3. 模型的假设与符号的说明
3.1模型的假设
(1)假设整个校园是由若干个路段组成(通过对每个路段垃圾桶布局的优化使整个校园的垃圾桶布局得到优化。使一个复杂的校园垃圾桶优化问题简化为若干个路段的垃圾桶优化问题)。 (2)每个路段的产生的垃圾都是均匀分布的(在分段时将近似的垃圾产生均匀的一段路划为一段)。
(3)每天垃圾桶的初始状态都是空的。 (4)一个路段只使用一种规格的垃圾桶。
(5)假设垃圾从每天早上7点钟开始产生,晚上10点后不再产生垃圾。 3.2符号说明
S 表示路段每日垃圾产生总量(本文中的总量、容量等都是指体积); n 表示路段上垃圾桶的个数; m 表示路段上每日垃圾清运次数; L 表示路段的长度;
H 表示相邻两垃圾桶的间距; d 表示相邻两垃圾桶的最小间距;
D 表示相邻两垃圾桶的最大间距(相邻两垃圾桶间距过大使行人使用不便,间距过小影响美观,因此设置最大最小间距。问题(2)的解决方法就是增加垃圾桶个数使间距处于最大最小间距之间。);
V 表示垃圾桶的容量; E 表示垃圾桶的单价;
4. 模型的建立
4.1在垃圾桶容积确定的前提下求垃圾桶个数和每日清运次数的模型 假设选用的垃圾桶容积满足这个路段的需求。要保证这个路段的垃圾桶不会溢满,首先要确保这个路段的垃圾桶总容量乘以每日垃圾清运次数不小于这个路
段的每日垃圾产生量。
即 (1)
一个路段相邻两个垃圾桶的间距为
(2)
因为有最小最大间距的限制,所以 。
即 (3)
由(1)和(3)可得到一个路段垃圾桶的个数和清运次数需要满足的条件。
(4)
以m 为横坐标,n 为纵坐标做出(4)的图像。
图中阴影区域的整数坐标即为满足条件的值。
垃圾桶的资金投入是一次性的。清运次数越多则需要支付的费用越多,且这个费用是长期性的。考虑到经济成本,应使清运次数尽可能的少。在清运次数最少的前提下使垃圾桶的个数最少。由此可以得出最优的m,n 的取值。
(5)
4.2垃圾桶类型选择的模型
若有多种类型的垃圾桶可供选择。我们分别计算出使用各种垃圾桶时的m,n 的值。优先选用m 值最小的垃圾桶。若有多个垃圾桶的m 值都是最小,则对比这几个垃圾桶的nE 的值。选用nE 值最小的垃圾桶。
4.3安排垃圾清运时间的模型
垃圾桶的个数和清运次数得到了,但还不能保证垃圾桶不会出现溢满现象。因为垃圾清运的时间还没有确定。若清运时间安排不合理,两次清运之间产生的垃圾量大于垃圾桶的总容量,则还会出现垃圾桶已满现象。
我们已经计算出清运次数的值m 。由此可以计算出两次清运之间的垃圾产生量应为 。每产生垃圾的时间即为清运时间。
从早上7:00开始每个半小时统计一次累计垃圾产生量。 例如:
画出折线图
为了保证数据的准确。我们从周一开始统计,一共统计7天的数据。取这七天每个时刻的平均值。可以近似的认为每两次统计时间之间的垃圾产生速率是匀速的。根据折线图可以算出每产生垃圾的时间。这个时间就是垃圾的清运时间。
5. 模型的模拟检验
我们选取一段路来检验模型的可行性。选取6号楼东侧的路段,此路段的垃圾桶经常出现溢满现象。这段路的长度S 为380m 。目前我校的垃圾桶有两种规格。一种容量60L ,单价320¥。一种容量25L ,单价110¥。
统计这个路段的垃圾产生量。
为了方便计算根据已建立的模型用C++编写一段计算程序(源代码见附录)。输入以上数据可得到结果。
目前这段路用的是25L 的垃圾桶一共9个,经常出现溢满现象。根据模型的计算结果应该放置12个垃圾桶。可以看出此模型的是可行的。
若对整个校园的垃圾桶分布进行优化,需要统计每个路段的数据。用以上程序输入整个校园所有路段的数据就可以计算出整个校园最优垃圾桶的分布。
6. 模型的评价
优点:模型简单易实现。模型不紧能计算出合理的垃圾桶布局,可以计算出最经济的布局方案。
缺点:按此模型来对校园垃圾桶进行布局会出现路段的连接点处有多个垃圾桶的现象。此模型只是用于线性的道路,不适用于区域性的广场之类的场所。清运时间的安排可以保证垃圾桶不会溢满,但安排的时间不够人性化。对于一些较短的路段次模型得出的结果不太理想。此模型不能兼顾到一些垃圾产生量大的点。如餐厅门口。
附录: C++程序源代码
//////////////////////////////////////////////////////////////////////////
#include #include using namespace std;
class Road {public: void set();
void show_m_n(float a[10][2],int l); void show_time(); private: int n; int m;
float L; float Hmin; float Hmax; float S[31]; int i,j,h; };
void Road::set() {
n=0; m=0; Hmin=10; Hmax=50;
cout>L;
cout0;i--) {
cout>S[31-i]; } }
void Road::show_m_n(float a[10][2],int l) {
h=1;
m=ceil(S[30]/((int(L/Hmin+1))*a[0][0])); n=ceil(S[30]/(m*a[0][0])); for(i=l;i>0;i--) {
if(m>ceil(S[30]/((int(L/Hmin+1))*a[l-i][0]))) {
m=ceil(S[30]/((int(L/Hmin+1))*a[l-i][0]));
n=ceil(S[30]/(a[l-i][0]*m)); h=l-i+1; }
if(m=ceil(S[30]/((int(L/Hmin+1))*a[l-i][0]))) {
if(n*a[h-1][1]>ceil(S[30]/(a[l-i][0]*m))*a[l-i][1]) {
h=l-i+1;
n=ceil(S[30]/(a[l-i][0]*m)); }
} }
cout
void Road::show_time() {
float g=0;
for(i=m,j=0;i>0;i--) {
for(;j
g=S[j]-(m-i)*(S[30]/m); if(g>=(S[30]/m))break; }
cout
"
int main() {
int z;
Road R[200];
cout>z; int l;
cout>l;
float a[10][2]; int i;
for(i=l;i>0;i--)
{
cout
cin>>a[l-i][0];
cout
cin>>a[l-i][1];
}
for(i=z;i>0;i--)
{
cout
R[z-i].set();
}
for(i=z;i>0;i--)
{
cout
R[z-i].show_m_n(a,l);
cout
R[z-i].show_time();
}
return 0;
}
/////////////////////////////////////////////////////////////////