自习教室开放的优化管理.docx
《自习教室开放的优化管理.docx》由会员分享,可在线阅读,更多相关《自习教室开放的优化管理.docx(19页珍藏版)》请在冰豆网上搜索。
自习教室开放的优化管理
自习教室开放的优化管理
摘要
本文在合理的假设之下,针对三个问题建立了合适的模型。
在求解方面,我们充分利用计算机模拟顺利求得结果。
对于各个问题,既能达到省电的目的,又能使同学们的满意程度在合理范围内。
问题一,针对其要求,要使用电量达到最省,并且又要更好的满足同学们的需要。
我们把用电量最省作为目标函数,其它条件(如上自习的学生人数、同学的满足程度、教室满座率)作为约束条件建立了一个线性优化模型。
为了验证该模型,我们又采用了整数规划的0-1规划模型。
对比两个模型的结果,利用lingo软件,我们得到了开放一个1类教室,2个二类教室,3个三类教室和不开放四类教室的结论。
问题二,对于如何安排教室既达到节约用电的目的又能提高学生的满意度的问题,先考虑值开放一区教室的时候上自习的人数与自习室开放程度的关系。
在次基础上,在增开第二区的自习室。
仍然是以最小用电量为目标函数建立起来的一个优化模型。
在对模型的求解时,我们采用了lingo软件,得出了开放一区教室8个,二区教室全部开放的结论。
问题三,是问题一的一个变形,改变问题一的条件。
唯一需要我们判定的是即使全部开放自习室是否能满足上自习学生人数的需求。
当我们用问题一的模型计算时发现,其实是满足要求的,开放的教室依次是一类教室4个,二类教室3个,三类教室3个,四类教室2个。
问题四,要我们重做问题一、二、三,改变的条件是可以打开自习室的部分灯。
由于这一条件限定,很多条件都需要变化。
但是具体的模型依旧是不变的,我们仅仅只需要对这一变化用相应的约束条件来代替即可,最后利用lingo软件,得出了问题的在此条件下的结果开放一类所有教室的控制开关为8个32盏,二类教室开放全部的3的教室,三类教室开放8个开关相当于2个教室,四类教室开放2个开关相当于1个教室。
具体的模型将在正文中详细的给出。
本模型的缺点在于模型的单一化,对于相似的问题没有采取不同的模型求解,这样是文章看起来有少许的重复性。
在分析所得结果的基础上,我们指出了这几个模型的优缺点。
通过以上几个方案,以及提出的关于如何合理利用学校教室资源的方法,能够有效加强学校教室资源管理使节约资源的做法有了科学依据与科学方法。
关键字非线性规划lingo软件最优解计算机仿真模拟整数0-1规划
一、问题提出
近年来,大学用电浪费比较严重,集中体现在学生上晚自习上,一种情况是去某个教室上自习的人比较少,但是教室内的灯却全部打开,第二种情况是晚上自习的总人数比较少,但是开放的教室比较多,这要求我们提供一种最节约、最合理的管理方法.
下面是理学院的教室相关数据.
表1教室相关数据
教室类别
座位数
灯管数
开关数
一个开关控制的灯管数
每只灯管的功率/W
教室个数
1
48
16
4
4
40
18
2
82
16
4
4
50
3
3
156
24
4
6
48
3
4
32
4
2
2
60
2
其中前3类教室均匀分布在3个楼层,第四类在3楼
管理人员只需要每天晚上开一部分教室供学生上自习,每天晚上从7:
00—10:
00开放(如果哪个教室被开放,则假设此教室的所有灯管全部打开).完成以下问题:
1.假如我院有1000名同学,每个同学是否上自习相互独立,上自习的可能性为0.6,要使需要上自习的同学满足程度不低于90%,开放的教室满座率不低于4/5,同时尽量不超过90%。
问该安排哪些教室开放,能达到节约用电的目的?
2.假设现有的26个教室分为3个自习区,第一类为第一区,第二类及第四类为第二区,第三类为第三区。
教室的开放次序先开放第一区,在开放第二区,最后考虑第三区教室。
在满足问题1条件下,教室开放情况又是如何?
3.假设临近期末,上自习的人数突然增多,每个同学上自习的可能性增大为0.85,要使需要上自习的同学满足程度不低于99%,开放的教室满座率不低于4/5,同时尽量不超过95%。
应该怎样开放教室?
若假设每个教室中每个灯管照亮座位的情况是一致的,开放的教室可以只打开部分灯管,这时的各种情况的教室开放情况又是如何?
二、基本假设
1、假设同学们上自习的概率不受天气影响,即概率不变。
2、假设该校在晚上没有安排任何课程,即晚上由学生自由活动。
3、同学们的满足程度与到自习室的距离无关;即同学们会自动的找到符合要求的教室。
4、因为每天开放的时间是相同的,所以把时间假设为一个整体1。
5、假设每一个自习室对学生的满意程度是一致的,部分同学不会因为任何原因选择只
去某一教室。
即学生在选择任何一个教室是等可能事件。
三、符号说明
符号
意义
表示第i个教室
表示第
个教室的灯管数量
表示相应教室的灯管的功率
表示相应教室的灯管的功率表示去相应教室上自习的学生人数
表示相应教室的座位数
表示总用电量
表示第
个区的总用电量
表示总人数
编号为j的教室控制开关打开的个数
表示事件;
表示相应的分区
表示在相应的区域的教室开放与不开放
编号为j的教室里上自习的人数
编号为i的教室控制开关打开的个数
四、问题分析
近年来,大学用电浪费比较严重,集中体现在学生上晚自习上,一种情况是去某个教室上自习的人比较少,但是教室内的灯却全部打开,第二种情况是晚上自习的总人数比较少,但是开放的教室比较多。
为了达到节约资源的目的,求我们需要提供一种最节约、最合理的管理方法。
问题一中给我提供了学院的学生人数,与学生去上自习的期望。
现在限定了每一个教室必须达到多少人的情况下,要求我们给出一种方案来达到开放多少教室能使总的用电量最少。
这显然是一个多约束条件的非线性规划。
显然,每一个教室上自习的人数肯定不等。
这是一个随机概率问题,处理起来有一定的难度。
但是好在,每一个教室要求的满座率都必须达到80%,且又必须小于90%。
所以在这一区间上的总人数来说相差并不大。
所以我们在此假设在同一类教室里上自习的人数近似相等,这样的既满足的条件的约束,又降低了解题的难度。
当然,我们不能仅仅的限于简化模型,为了得到更为精确的结果,我们又建立了一种每一个教室人数随机分配的模型。
这样就得到了更为精确的结果。
最后两个结果对比,根据误差的比较。
我们可以决定前者模型是否可取。
将在模型的建立与求解里我们详细的给出具体的结果。
问题二,是在问题一的模型上稍微的做了一些变化。
要求规定了自习室开放的顺序的情况下来分析用怎样的方式来达到最优的配置。
我们按着这一规定,分别讨论了在仅仅开放第一类教室,开放一、二教室,开放一、二、三类教室的自习室的分配情况。
最后分析结果,得出了最优的方案。
问题三,与问题一几乎一致。
由于期末上自习的人数突然增加,但是好在,每一个教室要求的满座率都必须达到80%,且又必须小于95%。
所以我们完全可以按照问题一的模型。
但是,这是我们存在了一个问题。
假设由于上自习的人数超出了自习室所能容纳的最大值,那么我们就的建议学校的相关部门增开自习室了。
问题四去掉了之前问题的假设,开放的自习室里的灯并不一定都打开。
我们可以根据教室里的具体人数确定打开相应的几盏灯。
这样一来,每一个自习室里做的人就会显得相对的分散,具有更大的不确定性。
而且每一个教室又会因为人数的不确定性而导致打开的灯的个数的不确定性。
也正事因为存在这么多的不确定因素,我们只有用计算机来进行随机拟合,用计算机仿真的思想来模拟具体的情况。
我们把一类教室编号1-18,二类教室编号1-3,三类教室编号1-3,四类教室编号1-2。
这样,利用软件算法来确定开放哪些教室,教室的具体开灯情况会是如何。
五、模型的建立与求解
5.1问题一模型建立与求解
5.1.1问题一模型的建立与求解
由题意,我们得知学生去上自习的数学期望是0.6,我们学院一共有1000人。
所以我们可以认为上自习的总人数就近似的取为600人。
我们设每一种类型开放自习室的个数为
、
、
、
,这样每一类教室里灯管的消耗的总功率就应该是
,而教室总人数的约束应该在区间[540,600]之间,每一个教室所做的人数也在区间[
]上(
为各类教室中上自习的人数)。
最后,我们建立了一下模型:
(5.1)
(5.2)
利用lingo软件(程序见附录一),我们求解出了
、
的整数解。
得出具体结果:
x1=1,x2=2,x3=3,x4=0;
y1=43,y2=70,y3=139,y4=26
(5.3)
根据分析,该结果为可靠的。
于是得出了最小的用电量为
。
5.1.2问题一结果的分析及验证
考虑到上诉模型简化了同类教室上自习的人数为相同的常数。
而实际上每一个教室里的人数是不可能相等的,并且都是随机的,不可控的。
这样,我们考虑到改进模型,利用0-1模型,把开放的教室记为1,把未开放的教室记为0。
于是,我们得到了如下改进后的模型(
为0-1变量,
为每一个教室上自习的人数):
目标函数:
Min
(5.4)
约束条件:
(5.5)
利用lingo软件(程序见附录),我们求解出了开放的教室数一共为6个,分别是第一种教室1个,第二种教室2个,第三种教室3个。
由于软件给出的只是一个近似的局部最优解。
故我们可以认为两种模型得到的结果完全一致。
这样,我们就得出了当开放自习室人数是否为随机的情况下,得到的结果仍然为全局最优解。
这样,为了程序的简便,以后我们都只用第一种模型求解了。
最小用电量仍然为5696瓦。
5.2问题二模型建立与求解
5.2.1问题二的建立与求解
问题二将一类教室,二、四类教室和三类教室分为了三个区。
首先,我们只能开放第一区,如果第一区自习室的个数已经满足了学生的需求,那么学校将不再开放二、三区的自习室。
这样,虽然达不到最小电量的目的,但在一定程度上减小了学生的选择性,也就间接的达到了节省用点的效果,并且更便于自习室的综合管理。
但是,如果第一区的教室不能满足学生的需求,那么我们就必须考虑第二区、甚至第三区的开放情况了。
首先分析第一区教室的一些基本参数,教室座位数
=48,灯管个数
,每盏灯的用电功率
,而一区教室一共有18个。
于是我们同样的建立一个优化模型:
目标函数:
(5.6)
约束条件:
(5.7)
利用lingo软件求解,得出找不到一个x、y满足(5.7),也就是说,上述束条件的本身存在矛盾。
故,我们可以理解为只开放第一区教室不能满足学生的上自习的需求。
在这种情况下,我们就必须考虑开放第二区的教室了。
增加了第二区的教室,模型的本质并没有发生实质行的变化,我们就不再详细说明了。
记开放一区教室的个数为x1,二区教室的个数为x2,则我们得出了以下模型[1]:
目标函数:
(5.8)
约束条件:
(5.9)
仍然利用lingo软件帮助我们求解该模型(程序见附录二)[4],得到了如下结果。
(5.10)
因此,需要开放一区教室8个,二区教室去不开放。
这样仅能达到有效控电的目的,还能全面的满足学生上自习的需求。
通过上式,得到了做小用电量将达到8000瓦.
算法步骤与结果。
5.2.2问题二结果的分析及验证
问题二仅仅只开放了一、二两区的教室,最后得到的结果应该为局部最优解。
和问题一得到的全局最优解相比应该远大于其结果。
而实际上也确实符合这一规律。
所以我们这一模型为正确的,可取的。
该模型是建立在上自习的人数仅为一固定的期望值,但是,我们知道任何时候上自习的人数都是一个不可知的随机变量。
而且上自习的学生也往往会中途离去也可能会中途到来。
故在教室上自习的人数也是一个动态的随机变量。
这对我们的模型提出了更高的要求。
但是限于题目的要求,我们也不再进一步的深入讨论,仅以一个近似解来代表整体模型的结果。
这也可以说是该模型的一大缺陷。
5.3问题三模型建立与求解
5.3.1问题三的建立与求解
问题三,与问题一几乎一致。
由于期末上自习的人数突然增加,但是好在,每一个教室要求的满座率都必须达到80%,且又必须小于95%。
所以我们完全可以按照问题一的模型。
但是,这是我们存在了一个问题。
假设由于上自习的人数超出了自习室所能容纳的最大值,那么我们就的建议学校的相关部门增开自习室了。
调用问题一的模型,得到了如下目标函数与约束条件。
目标函数:
(5.11)
约束条件:
(5.12)
利用lingo软件,我们得出了具体结果(程序见附录三)[2]:
(5.13)
上述结果说明开放4个一类教室,其余教室全部开放为最优方案。
最小用电量为8896瓦。
5.3.2问题二结果的分析及验证
从上诉结果,我们看出,第二类、三类、四类教室是全部开放了而一类教室只是因为前面的教室还不能满足上自习学生人数的需求而开放的。
所以,在上自习人数较多的情况下,优先开放二、三、四类教室是最为节省电量的。
从整体来看,一类教室是比较耗能的,所以开放一类教室数应该尽量的少。
而平时,当人数不够多的时候,以问题一为例。
从问题一的结果我们仍然可以看出这一结论。
问题一中上自习人数期望仅为0.6,开放一类教室的个数只有一个。
所以,我们建议应尽量减少一类教室的开放情况。
5.4问题一模型建立与求解
5.4.1问题一模型的建立与求解
问题四改变了只要自习室开放则所有灯就全部打开这一假设。
而是,即使开放了某一个教室,由于同学都有节能意识,只会打开适合教室人数的一些灯。
这样就避免了不必要的浪费。
所以,我们先做一个具体的假设:
假设某一教室内的座位情况是均匀分布的,被灯照亮的范围也是均匀的。
这时,由于我们不知道每一个教室上自习的人数具体为多少,所以我们用
来分别表示在一类教室编号为i的自习室的人数,二类教室编号为j的自习室的人数,三类教室编号为k的自习室的人数,四类教室编号为n的自习室的人数。
而每一个教室所控制的灯的开关数也是不确定的,我们分别用
、
、
、
来表示相应教室里打开的开关个数。
最后,我们以上诉问题一所示的情况来研究一下自习室在这种模式下的开放情况,由于,情况二、三与情况一具有很大部分的相似性。
所以,就不再详细的介绍了。
下面,我们将依照上诉假设来建立一个新的模型来确定自习室的重新开放情况。
目标仍然是最小用电量,由各个教室打开的灯的个数与功率的乘积之和来决定的,由于我们把教室分为了四种类型,故利用求和公式我们得到了如下目标函数:
(5.14)
由于开放的座位总数必须大于去上自人数期望的90%,当然最好不要大于上自习人数的期望值,故开放的座位数应该在区间[540,600]上。
于是:
(5.15)
每一个教室上自习的人数又必须大于开放的座位数的80%且小于90%,即上座率必须在区间[0.8,0.9],所以,我们又得到了如下约束条件:
(5.16)
在每一个教室上自习的人数之和应该等于上自习的人数期望,于是:
(5.17)
综上所述,我们建立了如下数学模型来表示在约束条件下的最小用电量E:
目标函数:
约束条件:
(5.18)
利用lingo软件编程得出最后计算结果(程序见附录四)[2],仅给出一种结果:
开放一类所有教室的控制开关为8个32盏,二类教室开放全部的3的教室,三类教室开放8个开关相当于2个教室,四类教室开放2个开关相当于1个教室。
根据模型(5.18),改变一下教室种类,先仅开放一区教室去掉
的约束计算一次,在增开第二区教室,即在模型(5.18)的基础上去掉
的约束,在计算一次即可。
而在问题三的情况下,即期末上自习的人数突增的情况下,只需要改变模型(5.18)的座位数开放区间改为[842,850]上,上座率区间改为[0.8,0.95]即可,在计算一次即可。
5.4.2问题四结果的分析及验证
问题四中涉及到了大量的随机参数,即使利用软件求解也会出现一些问题。
在对结果的处理上,我们选择了取近似值。
因为本过程就是一个随机处理的过程[3],只能用计算机仿真模拟来编程才会取得较好的结果。
但是,我们此处却只选着了lingo软件,利用具体的约束条件来建立的目标函数来求得的近似解。
在要求精度不高的条件下,还是完全可以选择的。
对于这一个问题的研究,我们可以发现实际生活中,学校浪费电力的情况确实很严重。
就从问题四的假设可得看出来。
学生其实是不会按照教室的既定人数来选择打开多少灯的。
绝大多数的学生都会把全部教室的灯打开。
所以,根据模型的结果,我们建议学校采用问题一的模型来控制自习室的开放情况。
解决问题,这也是我们数学建模的实际意义所在。
六、模型的评价与推广
6.1模型的评价
本文主要采用的是优化模型,把最小用电量最为模型的目标值。
紧扣约束条件建立起来的一个线性优化模型在对约束条件的建立时,处理了很多随机变量的问题。
在前三个问题中,我们把在每一个教室上自习的人数这一随机变量处理成为了一个固定的参数值,这显然会对模型的整体结构产生一定的影响。
但是,本文的优点在于认识到了这样处理的不足,又建立了一个用随机变量表示教室人数的模型。
最后在两个模型的结果对比中,我们发现,其实两种模型都得到了相同的结果。
这主要是因为教室上自习的人数必须是整数,而开放教室的个数也是整数,这样就自然的给我消去了误差。
所以在这个结果的基础上,为了简化模型,我们大胆的采用了前一个模型来作为以后计算的基础。
对了问题四的模型,我们就完全是按照随机变量的模型来求解的。
而当时想到的是利用计算机仿真模拟来进行整体的计算。
这样也许在多次模拟之后会得到一个更为精确的值,但是在程序的编写上除了问题,所以又不得不用之前采用的优化模型来求解。
这不能不说是一大遗憾。
但是,好在我们同样的给出了相对正确的模型,还得到了具体反日结果。
6.2模型的推广
本模型是一个常用的优化模型,可以用在很多地方,比如说工厂在固定生产产品的时候,怎样的合理运输才能到来最大的利润,公路、铁路在选线的问题上,怎样来计算成本会使整条路线有最优的造价,在学校还可以用来计算上课时学生宿舍离上课教室总路程最近的情况下,教室的合理安排问题。
图书馆在开放时间里多少位置为满足上自习学生的要求。
总之,这是一个典型的优化问题,任何有关优化的模型都可以按照本文的思路进行求解。
七、参考文献
[1]姜启源等,《数学模型》(第三版),高等教育出版社,2003年8月
[2]lingo教程。
网址
2010年12月7号
[3]韩明、王家宝、李林著,《数学实验(Matlab版)》,同济大学出版社,2009年1月。
第200页—234页
[4]《数学模型与lingo软件课件》,
网址
八、附录
8.1附录清单
附录1:
求解问题一的LINGO程序
附录2:
求解问题二的LINGO程序
附录3:
求解问题三的LINGO程序
附录4:
求解问题四的LINGO程序
8.2附录正文
附录1:
求解问题一的LINGO程序
min=40*16*x1+50*16*x2+48*24*x3+60*4*x4;
48*x1+42*x2+156*x3+32*x4>=540;
48*x1+42*x2+156*x3+32*x4<=600;
x1<=18;
x2<=3;
x3<=3;
x4<=2;
y1<=0.9*48;
y1>=0.8*48;
y2<=0.9*82;
y2>=0.8*82;
y3<=0.9*156;
y3>=0.8*156;
y4>=0.8*32;
y4<=0.9*32;
x1*y1+x2*y2+x3*y3+x4*y4=600;
@GIN(x1);@GIN(x2);@GIN(x3);@GIN(x4);@GIN(y1);@GIN(y2);@GIN(y3);@GIN(y4);
部分结果:
Localoptimalsolutionfoundatiteration:
2657
Objectivevalue:
5696.000
VariableValueReducedCost
X11.000000148.5714
X22.0000000.000000
X33.0000000.000000
X40.000000-57.14288
Y143.00000-11.42856
Y270.00000-22.85714
Y3139.0000-34.28571
Y426.00000-0.1149361E-04
附录2:
求解问题二的Lingo程序
min=40*16*x1+50*16*x2+60*4*x4;
48*x1+42*x2+32*x4>=540;
48*x1+42*x2+32*x4<=600;
x1<=18;
x2<=3;
x4<=2;
y1<=0.9*48;
y1>=0.8*48;
y2<=0.9*82;
y2>=0.8*82;
y4>=0.8*32;
y4<=0.9*32;
x1*y1+x2*y2+x4*y4=600;
@GIN(x1);@GIN(x2);@GIN(x4);@GIN(y1);@GIN(y2);@GIN(y4);
部分结果:
Localoptimalsolutionfoundatiteration:
391
Objectivevalue:
8000.000
VariableValueReducedCost
X18.0000000.000000
X23.0000000.000000
X42.0000000.000000
Y143.00000-119.0698
Y268.00000-44.65116
Y426.00000-29.76744
附录3:
求解问题三的Lingo程序
min=40*16*x1+50*16*x2+48*24*x3+60*4*x4;
48*x1+42*x2+156*x3+32*x4>=842;
48*x1+42*x2+156*x3+32*x4<=850;
x1<=18;
x2<=3;
x3<=3;
x4<=2;
y1<=0.95*48;
y1>=0.8*48;
y2<=0.95*82;
y2>=0.8*82;
y3<=0.95*156;
y3>=0.8*156;
y4>=0.8*32;
y4<=0.95*32;
x1*y1+x2*y2+x3*y3+x4*y4=850;
@GIN(x1);@GIN(x2);@GIN(x3);@GIN(x4);@GIN(y1);@GIN(y2);@GIN(y3);@GIN(y4);
部分结果:
Localoptimalsolutionfoundatiteration:
507
Objectivevalue:
8896.000
VariableValueReducedCost
X14.00000094.54545
X23.0000000.000000
X33.0000000.000000
X42.0000000.000000
Y145.00000-48.48484
Y266.00000-36.36364
Y3140.0000-36.36364
Y426.00000-24.24242
附录4:
问题四的LINGO程序