自习教室开放的优化管理.docx
《自习教室开放的优化管理.docx》由会员分享,可在线阅读,更多相关《自习教室开放的优化管理.docx(37页珍藏版)》请在冰点文库上搜索。
![自习教室开放的优化管理.docx](https://file1.bingdoc.com/fileroot1/2023-5/15/cb2f32e0-8876-4055-8475-3a8363784691/cb2f32e0-8876-4055-8475-3a83637846911.gif)
自习教室开放的优化管理
装订线
2011长安大学数学建模暑期培训
第
轮模拟竞赛题目
B题
参赛队编号:
J0301
队员1
队员2
队员3
姓名
但佳洪
杨亚情
吴玲
学号
1202090113
2202090228
2202090230
自习教室开放的优化管理
摘要
本文在合理的假设之下,针对三个问题建立了合适的模型。
对于各个问题,既能达到省电且方便管理的目的,又能使同学们的满意程度在合理范围内。
问题一:
针对其要求,要使用电量达到最省,并且又要更好的满足同学们的需要。
我们把用电量最省作为目标函数,其它条件(如上自习的学生人数、同学的满足程度、教室满座率)作为约束条件建立了一个0-1规划模型,并利用Lingo9.0求得应该开放35个教室,其用电量最合理为74093w。
问题二:
对于如何安排教室既达到节约用电的目的又能提高学生的满意度的问题,先考虑到学生的满意度与教室的满座率和宿舍区到自习区的距离这两个因素有关,我们运用模糊数学建立满意度函数,对满意度进行量化,最后再运用最优规划模型建立0-1规划模型,并用Lingo9.0求解得出最优结果,既能达到省电的目的又能提高学生的满意程度使得满意度达到0.9717。
问题三:
我们先假设开放全部教室,很显然,不能满足要求,所以我们先计算出了还所需的座位数,再由用电量最省作为约束条件,并利用VisualC++6.0求出最优方案。
最后对各模型做出了评价。
【关键词】0-1规划模型模糊数学VisualC++6.0
一、问题的重述
近年来,大学用电浪费比较严重,集中体现在学生上晚自习上,一种情况是去某个教室上自习的人比较少,但是教室内的灯却全部打开,第二种情况是晚上上自习的总人数比较少,但是开放的教室比较多,这要求我们提供一种最节约、最合理的管理方法。
附录表1是某学校收集的部分数据,管理人员只需要每天晚上开一部分教室供学生上自习,每天晚上从7:
00---10:
00开放(如果哪个教室被开放,则假设此教室的所有灯管全部打开)。
请完成以下问题:
1.假如学校有8000名同学,每个同学是否上自习相互独立,上自习的可能性为0.7.要使需要上自习的同学满足程度不低于95%,开放的教室满座率不低于4/5,同时尽量不超过90%。
问该安排哪些教室开放,能达到节约用电的目的。
2.假设这8000名同学分别住在10个宿舍区,现有的45个教室分为9个自习区,按顺序5个教室为1个区,即1,2,3,4,5为第1区,…,41,42,43,44,45为第9区。
这10个宿舍区到9个自习区的距离见表2。
学生到各教室上自习的满意程度与到该教室的距离有关系,距离近则满意程度高,距离远则满意程度降低。
假设学生从宿舍区到一个自习区的距离与到自习区任何教室的距离相同。
请给出合理的满意程度的度量,并重新考虑如何安排教室,既达到节约用电目的,又能提高学生的满意程度。
另外尽量安排开放同区的教室。
3.假设临近期末,上自习的人数突然增多,每个同学上自习的可能性增大为0.85,要使需要上自习的同学满足程度不低于99%,开放的教室满座率不低于4/5,同时尽量不超过95%。
这时可能出现教室不能满足需要,需要临时搭建几个教室。
假设现有的45个教室仍按问题2中要求分为9个区。
搭建的教室紧靠在某区,每个区只能搭建一个教室,搭建的教室与该区某教室的规格相同(所有参数相同),学生到该教室的距离与到该区任何教室的距离假设相同。
问至少要搭建几个教室,并搭建在什么位置,既达到节约用电目的,又能提高学生的满意程度。
二、模型假设与符号说明
1、模型假设
(1)距离与座位数(满座率)的权重为
;
(2)如果哪个教室被开放,则假设此教室的所有灯管全部打开;
(3)学生从宿舍区到一个自习区的距离与到自习区任何教室的距离相同。
2、符号说明
符号
含义
各教室的灯管数
各教室每根灯管的功率
各教室的用电功率
各教室的座位数
三、问题的分析
问题一,针对其要求,要使用电量达到最省,并且又要更好的满足同学们的需要。
我们把用电量最省作为目标函数,其它条件(如上自习的学生人数、同学的满足程度、教室满座率)作为约束条件建立了一个0-1规划模型,并利用Lingo9.0求得应该开放35个教室,其用电量最合理为74093w。
问题二,对于如何安排教室既达到节约用电的目的又能提高学生的满意度的问题,先考虑到学生的满意度与教室的满座率和宿舍区到自习区的距离这两个因素有关,我们运用模糊数学建立满意度函数,对满意度进行量化,最后再运用最优规划模型建立0-1规划模型,并用Lingo9.0求解得出最优结果,既能达到省电的目的又能提高学生的满意程度使得满意度达到0.9717。
问题三,我们先假设开放全部教室,很显然,不能满足要求,所以我们先计算出了还所需的座位数,再由用电量最省作为约束条件,并利用VisualC++6.0求出最优方案。
四、模型的建立及求解
Ø问题一
我们对附录表1中表格的数据进行计算,得到了45个教室的用电功率:
即:
这样就得到了每一个教室的用电功率,如下表所示:
教室
座位数
该教室的总用电功率
1
64
1680
2
88
1680
3
193
2400
4
193
2400
5
128
1620
6
120
1620
7
120
1728
8
120
1620
9
110
1440
10
120
1620
11
64
1080
12
247
3375
13
190
2304
14
210
2500
15
70
1680
16
85
1680
17
192
2400
18
195
2400
19
128
1620
20
120
1620
21
120
1728
22
120
1620
23
110
1440
24
160
1620
25
70
1080
26
256
3375
27
190
2304
28
210
2500
29
190
2304
30
205
2500
31
110
1440
32
160
1620
33
70
1080
34
256
3375
35
190
2304
36
210
2500
37
190
2304
38
190
2304
39
210
2500
40
200
2304
41
150
2500
42
150
2304
43
180
2304
44
70
1250
45
120
2160
SUM
6844
91187
依条件,上自习的学生相互独立,且去上自习的可能性为0.7。
显然,去上自习的学生人数服从二项分布:
那么上自习的学生人数R为
其次我们要满足开放的教室满座率不低于
,同时尽量不超过90%,那么每一个开放的教室上自习的学生数为:
由题意的要求,要求达到节约用电的目的,那么要求总用电功率最小,在这里我们引入0-1变量:
依据上面的两个条件,我们建立以下目标函数Z上的线性表达式和约束条件,得到了以下的标准形式:
对此0—1线性规划问题,我们用Lingo9.0软件进行求解,运行得到的结果见附录程序一,各自习区教室开放与关闭的情况整理如下表所示(红色表示关闭,绿色表示开放):
1区
2区
3区
4区
5区
6区
7区
8区
9区
1
6
11
16
21
26
31
36
41
2
7
12
17
22
27
32
37
42
3
8
13
18
23
28
33
38
43
4
9
14
19
24
29
34
39
44
5
10
15
20
25
30
35
40
45
按上表所示的安排,我们在满足学生上自习的同时,可以近最大程度达到节约节约用电的目的。
Ø问题二
实际生活中上自习学生的满意度一般与两个因素有关,即宿舍区距教室的距离和教室中的座位的满座率。
在现实生活中,对我们每个人而言,我们肯定会选择靠近宿舍的教室上自习,如果靠近的教室得不到满足,我们选择较远教室时同时满意程度就相应下降,距离越远,则越不满意,在确定学生区到自习区距离和教室中的座位数对满意度的影响时,可以用模糊分布函数来描述。
关于距离因素,结合实际情况,我们对模糊分布函数提出以下假设:
1.在300—400米,满意度接近为1;
2.函数是单调递减的;
3.当距离增加趋于
时,函数应该趋近为0。
关于教室中的座位数因素,结合实际情况,我们对模糊分布函数也提出以下假设:
1.由问题一,开放的教室满座率不低于
同时尽量不超过90%时,满意程度就不低于95%。
在第二题中如果一个区的学生去一个自习区,若要使满意度为95%,由每区800人可知,则座位数不低于约600,不超过700,即当一个自习区的的座位数达到600—700时,满意度为95%;
2.函数是单调递增的;
3.当座位数增加较多时,函数应该趋近为1。
只考虑学生区到自习区距离对满意度的影响
根据问题二的分析,综合目标模糊分布函数要求,同时参考我们主观心理,最终选择偏大型的正态分布函数为满意度函数
,表达式为:
其中,X为学生区到自习区的距离。
对于未知的求解,由假设可知,当距离为300左右,满意度接近1,所以我们假设当距离为350时,满意度为0.99,因此求得
,通过MATLAB,我们将距离和满意度的关系表示如下:
由图形可知,当X=300时满意度为1,同时符合单调递减,在距离增加时,函数趋近于0,符合我们的假设。
只考虑教室的满座率即总共的座位数对满意度的影响
与上述相同,得到满意度函数
,表达式为:
其中,X为座位数。
由假设可知,当座位数达到
时,满意度为95%,因此求得
,通过MATLAB,我们将座位数和满意度的关系表示如下:
函数是单调递增的,同时当座位数增加时,函数趋近于1,符合我们的假设。
由图可知各指标所对应的满意度约为:
距离指标
座位数指标
距离
满意度
座位数
满意度
300-400
1
>800
1
400-500
0.95
700-800
0.98
500-600
0.9
600-700
0.95
600-700
0.8
500-600
0.9
因此我们建立模糊函数综合评价模型,然后我们以10个区分别讨论,这里以
区为例:
该矩阵是学生区
分别到
分别关于距离(第一行)、座位数(第二行)的满意度的评价矩阵。
由我们假设可知距离与座位数(满座率)的权重为
,即距离与座位数(满座率)同等重要,它的综合模糊评价向量
,
就是
分别到
的满意度。
由以上的方法可以分别得到
的满意度,最终,所有满意度可得出如下所示:
令
,则
表示第j个宿舍区到第i个自习区的满意度矩阵。
多目标优化模型
1.节约用电的目标;
2.满意程度高的目标;
3.尽量安排开放同区的教室的目标。
✓节约用电的目标模型:
✓满意程度高的目标模型:
即:
✓尽量安排开放同区的教室的目标模型:
下面我们将三个目标函数相乘,由约束条件取最小值,转化为单目标优化模型如下:
我们用Lingo9.0软件进行求解,运行得到的结果见附录程序二,各自习区教室开放与关闭的情况整理如下表所示(红色表示关闭,绿色表示开放):
1区
2区
3区
4区
5区
6区
7区
8区
9区
1
6
11
16
21
26
31
36
41
2
7
12
17
22
27
32
37
42
3
8
13
18
23
28
33
38
43
4
9
14
19
24
29
34
39
44
5
10
15
20
25
30
35
40
45
通过运用软件对模型的求解,可以得到总目标函数的值为35588750,
通过表格,可以看出9个自习区全部开放,且每个自习区开放的教室数最少为3个,尽量安排了开放同区的教室。
下面,我们根据上表求最优用电量,根据开放的教室,以及各个教室中的灯管数和每只灯管的功率,可以得到总的用电功率最小为:
用电时间为晚
,共计三个小时,
利用物理学中的公式:
可以计算得到最小的用电量为:
将所得结果返回第一个分目标函数,可得到此种安排方式的最低满意程度为90.94%,最高可达100%。
Ø问题三
通过题意知道了上自习的同学的期望值为
(人),要使需要上自习的同学的满足程度不低于
,所以最少提供
个座位。
我们先假设开放全部教室(都开放的话共计6844个座位),很显然,这并不能满足要求开放的教室满座率不低于4/5、同时尽量不超过95%的要求,故必须搭建临时教室。
根据题意知道需要建教室,在不考虑教室座位的限制的情况下,让学生的满意度达到最大值。
下面,我们将计算出在全部45个教室都开放的前提下还所需的座位数(设G为还所需的座位数),则由下式:
可得,
。
再者,由用电量最省作为约束条件,并利用VisualC++6.0可求得出的优化方案如下所示:
方案
搭建数
搭建总功率
搭建总座数
搭建教室1
教1所在区
教1座位数
教1总功率
搭建教室2
教2所在区
教2座位数
教2总功率
方案01
2
3060
270
23
5
110
1440
32
7
160
1620
方案02
2
3060
270
24
5
160
1620
31
7
110
1440
方案03
2
3060
270
9
2
110
1440
32
7
160
1620
方案04
2
3060
238
19
4
128
1620
31
7
110
1440
方案05
2
3060
238
9
2
110
1440
22
5
128
1620
方案06
2
3060
238
9
2
110
1440
24
5
128
1620
方案07
2
3060
238
5
1
128
1620
31
7
110
1440
方案08
2
3060
238
5
1
128
1620
9
2
110
1440
方案09
2
3060
230
22
5
120
1620
31
7
110
1440
方案10
2
3060
230
20
4
120
1620
31
7
110
1440
方案11
2
3060
230
6
2
120
1620
31
7
110
1440
方案12
2
3060
230
8
2
120
1620
31
7
110
1440
方案13
2
3060
230
10
2
120
1620
31
7
110
1440
从上表中可以看出,上表中的13种临时教室搭建方案中,搭建的教室的总功率均为最优(最小):
3060W,且均是搭建两个教室,但是相比之下方案1、方案2和方案3为最优,因为这三种方案不仅最节电,而且教室的总座位数(270)相比之下均比其它方案多。
所以,最优方案为上表中的方案1、方案2或方案3。
五、结果的分析
对于问题二,应用模糊数学求得满意度,利用最优化模型并用Lingo9.0求得结果,可以减少一些人工误差,但是为了求解的简便,我们赋权重
,这样会使答案与实际有一定的偏差。
六、模型评价与推广
Ø模型评价
优点
1.对问题所给的数据进行了仔细的分析和全面的统计;
2.模型一的最优化方案的设计综合考虑了教室满座率和用电量最少,具有实用性。
缺点
在权重的赋值时,存在人为因素,导致结果有偏差。
Ø模型推广
该模型不仅应用在学校,而且还在其他的优化系统中有着很广泛的应用,由于线性规划的问题涉及的因素很多,因此我们建立约束条件来满足所有的因素。
因此我们在解答线性规划的优化问题时,首先建立目标函数,其次依据所有的因素建立目标函数的约束条件,最后借助数学软件来求解,得到我们满意的方案。
因此,对于生活中的实际问题,我们依据模型中的方法,我们可以为决策者提供一定经验,让决策者采用更合理的方案。
对决策者有一定的指导意义。
参考文献
【1】谭浩强,C程序设计(第二版),清华大学出版社,2005年7月
【2】C++面向对象程序设计,清华大学出版社,2006年1月
【3】姜起源,谢金星,叶俊,数学模型,高等教育出版社,2003年8月
【4】董臻圃,数学建模方法与实践,国防工业出版社,2006年8月
【5】
【6】
附录
Ø表1教室相关数据
教室
座位数
灯管数
开关数
一个开关控制的灯管数
灯管的功率/每只
1
64
42
3
14
40w
2
88
42
3
14
40w
3
193
48
4
12
50w
4
193
50
5
10
48w
5
128
36
2
18
45w
6
120
36
2
18
45w
7
120
36
4
9
48w
8
120
36
3
12
45w
9
110
36
3
12
40w
10
120
36
4
9
45w
11
64
27
3
9
40w
12
247
75
5
15
45w
13
190
48
3
16
48w
14
210
50
5
10
50w
15
70
42
3
14
40w
16
85
42
3
14
40w
17
192
48
4
12
50w
18
195
50
5
10
48w
19
128
36
2
18
45w
20
120
36
2
18
45w
21
120
36
4
9
48w
22
120
36
3
12
45w
23
110
36
3
12
40w
24
160
36
4
9
45w
25
70
27
3
9
40w
26
256
75
5
15
45w
27
190
48
3
16
48w
28
210
50
5
10
50w
29
190
48
3
16
48w
30
205
50
5
10
50w
31
110
36
3
12
40w
32
160
36
4
9
45w
33
70
27
3
9
40w
34
256
75
5
15
45w
35
190
48
3
16
48w
36
210
50
5
10
50w
37
190
48
3
16
48w
38
190
48
3
16
48w
39
210
50
5
10
50w
40
200
48
3
16
48w
41
150
50
5
10
50w
42
150
48
3
16
48w
43
180
48
3
16
48w
44
70
25
5
5
50w
45
120
45
3
15
48w
Ø表2学生区(标号为A)到自习区(标号为B)的距离(单位:
米)
B1
B2
B3
B4
B5
B6
B7
B8
B9
A1
355
305
658
380
419
565
414
488
326
A2
695
533
469
506
434
473
390
532
604
A3
512
556
384
452
613
572
484
527
618
A4
324
541
320
466
422
650
306
607
688
A5
696
616
475
499
386
557
428
684
591
A6
465
598
407
476
673
573
385
636
552
A7
354
383
543
552
448
530
481
318
311
A8
425
305
454
573
337
314
545
543
306
A9
307
376
535
323
447
553
587
577
334
A10
482
477
441
361
570
580
591
491
522
Ø程序一
Lingo9.0源代码:
model:
sets:
row/1..3/:
b;
col/1..45/:
c,x;
matrix(row,col):
A;
endsets
min=@sum(col:
c*x);
@for(col:
@BIN(x));
@for(row(i):
@sum(col(j):
A(i,j)*x(j))>=b(i));
data:
c=1680,1680,2400,2400,1620,1620,1728,1620,1440,1620,1080,3375,2304,2500,1680,1680,2400,2400,1620,1620,1728,1620,1440,1620,1080,3375,2304,2500,2304,2500,1440,1620,1080,3375,2304,2500,2304,2304,2500,2304,2500,2304,2304,1250,2160;
b=5320,-5320,1;
A=57.6,79.2,173.7,173.7,115.2,108,108,108,99,108,57.6,222.3,171,189,63,76.5,172.8,175.5,115.2,108,108,108,99,144,63,230.4,171,189,171,184.5,99,144,63,230.4,171,189,171,171,189,180,135,135,162,63,108,
-51.2,-70.4,-154.4,-154.4,-102.4,-96,-96,-96,-88,-96,-51.2,-197.6,-152,-168,-56,-68,-153.6,-156,-