资源描述:
《数学建模选课问题》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1.问题提出对于问题一,我们必须考虑在学校和院系的规定的条件下对同学选课最少进行求解。所以我们先从已知条件入手,把他们转化为约束条件,然后建立0-1整数优化模型,利用LINGO软件对其进行求解。对于问题二,我们同样考虑在选修学分最少的情况下对同学选课最多进行求解。但两者不能同时都满足,所以我们必须把这个双优化模型转化为单优化模型,然后再利用LINGO对其进行求解。问题三则是考虑了选修课程限选人数的问题,所以必须针对不同的学生类型设计相应的选择方案。同时考虑到选修的课程能否如愿选上,需要在已只知不同课程
2、限选人数的情况下,利用对不同目标加权的方法对问题进行优化。2符号说明与模型假设2.1符号说明表2:符号说明表注:其它符号在文中另加说明2.2模型假设(1):各个同学在选修课程时不受其他因素影响,只受学分和选修课程门数影响。(2):学生选课是独立的,相互之间不影响。(3):选课的学生有两种类型,一类是对这门课真正感兴趣的,另一类是“混学分”的,且这两类各占选课学生人数的一半。(4):学生的信息是不公开的。(5):问题三中没有提到的课程表示人数没有限制。3模型建立和求解3.1问题一的解决3.1.1模型的建
3、立用xi表示选修表中按照编号顺序的18门课程的选择(i=1,2,…18),其中xi取值为1或者0。其定义如下:采用目标规划的方法,考虑到学校的各种约束条件,将约束条件用数学表达式表示为一下几点:1:要使选修课程的总学分数不少于18,既有下面的不等式:2:任选课程的比例不能少于所修总学分的1/6,也不能超过1/3:3:课程号为5、6、7、8的课程必须至少选一门:4:选修某些课程必须同时选修其他课程,可以表示为:在达到以上要求的情况下,只考虑选修课程最少的情况,相应的目标函数为:在Lingo[1]中可以对
4、该目标函数进行优化,其中约束条件为①②③④,由于上述条件中有大于关系,可以在两边乘以—1将约束条件全部转换成小于关系,这样便于在Lingo中求解.最后本文建立了如下的优化模型3.1.2模型的求解利用LINGO软件求解可以得到3.1.3问题一的结果最后本文得到了在学校和院系的要求下选课最少是选五门,选择方案是选择课程1,2,6,10,14。3.2问题二的解决3.2.1模型的建立对上述两个目标函数进行向量优化[2],其中将乘以-1,即得到了双目标规划:T=(minS,-maxZ)。如下:3.2.2模型的求
5、解在求解双线性规划问题时,我们引入偏好系数[3]的概念,即学生在选择学分最少和课程最多时的偏向趋势。设λ1为学生偏向选择学分最少的趋势,λ2为学生偏向选择课程最多的趋势。则最后的最优目标化为:如果只考虑学分最少,而不管课程多少。即考虑时,λ1=1,λ2=0用LINGO解得应该选择课程:3,4,6,8,9,14。如果只考虑课程最多,而不管学分多少。即考虑λ1=0,λ2=1时,用LINGO求解得到:应该选择课程:1,2,3,4,5,6,7,8,13,15,16,17,18在选修学分最少的情况下,我们可以把
6、和结合起来,把双优化问题转化为单优化问题,得到如下优化模型。利用LINGO软件对其进行求解得到如下结果:应该选择课程:2,6,7,8,14,16,17,18.下面对学分和课程数进行加权形成一个新的目标计算,本文采用三七分于是问题转化为所以应该选择课程:1,3,6,8,15,16,17,183.2.3问题二的结果最后本文得到了在学分和课程三七分的情况下,所选的课程是1,3,6,8,15,16,17,18。3.3问题三的解决为了解题的方便,对课程感兴趣的学生用G(Good)型表示和不感兴趣的学生用B(Ba
7、d)表示。设某一课程的人数要求是N,用p1表示课程1,2,3,4的权重,用p2表示课程5,6,7,8的权重,用p3表示课程13,17,18的权重。因为课程1,2,3,4的限选人数比课程5,6,7,8多,而课程5,6,7,8限选人数比13,17,18多,所以也可以用pi(i=1,2,3),来表示学生选上相应课程的概率。首先我们针对G学生设计相应的选课方案,由之前分析知道G学生希望是在学生少的情况下多选一些课程,所以有第二问得到了他们所选的课程是:1,3,6,8,15,16,17,18。因为p1>p2>p
8、3,所以G学生选课的顺序是:1,3,6,8,17,18,15,16。再针对B学生,也由之间的分析知道B学生希望在满足学分要求内所选课程越少越好,根据第一问得到了他们所选的课程是:1,2,6,10,14。因为p1>p2>p3,所以B学生选课的顺序是:1,2,6,10,14。4模型的检验我们从LINGO软件求解的结果可以看出问题一中的ReducedCost全部是正的,它表明如果改变任何一变量xi,的结果将变大,同样问题二中的ReducedCost全部是负的,