. . . .. .
硕士生考查课程考试试卷
考试科目: MATLAB教程 考生姓名: 考生学号: 学 院: 专 业:
考
生 成 绩:
任课老师 (签名)
考试日期:20 年 月 日 午 时至 时
c. .. .. .
. . . .. .
《MATLAB教程》试题:
A、利用MATLAB设计遗传算法程序,寻找下图11个端点的最短路径,其中没有连接的端点表示没有路径。要求设计遗传算法对该问题求解。
b26a1d8c791f4136i14721e2h9kgj
B、设计遗传算法求解f(x)极小值,具体表达式如下:
3?2?f(x1,x2,x3)??xi?i?1 ??5.12?x?5.12,i?1,2,3i?要求必须使用m函数方式设计程序。
C、利用MATLAB编程实现:三名商人各带一个随从乘船渡河,一只小船只能容纳二人,由他们自己划行,随从们密约,在河的任一岸,一旦随从的人数比商人多,就杀人越货,但是如何乘船渡河的大权掌握在商人手中,商人们怎样才能安全渡河?
D、结合自己的研究方向选择合适的问题,利用MATLAB进行实验。
以上四题任选一题进行实验,并写出实验报告。
c. .. .. .
. . . .. .
选择题目: A 一、问题分析(10分)
2261148379164136914721528911710
如图如示,将节点编号,依次为1.2.3.4.5.6.7.8.9.10.11,由图论知识,则可写出其带权邻接矩阵为:
0 2 8 1 500 500 500 500 500 500 500 2 0 6 500 1 500 500 500 500 500 500 8 6 0 7 500 1 500 500 500 500 500 1 500 7 0 500 500 9 500 500 500 500 500 1 500 500 0 3 500 2 500 500 500 500 500 1 500 3 0 4 500 6 500 500 500 500 500 9 500 4 0 500 500 1 500 500 500 500 500 2 500 500 0 7 500 9 500 500 500 500 500 6 500 7 0 1 2 500 500 500 500 500 500 1 500 1 0 4 500 500 500 500 500 500 500 9 2 4 0 注:为避免计算时无穷大数吃掉小数,此处为令inf=500。
问题要求求出任意两点间的最短路径,Floyd算法采用的是在两点间尝试插入顶点,比较距离长短的方法。我思考后认为,用遗传算法很难找到一个可以统一表示最短路径的函数,但是可以对每一对点分别计算,然后加入for循环,可将相互之间的所有情况解出。观察本题可发现,所有节点都是可双向行走,则可只计算i到j的路径与距离,然后将矩阵按主对角线翻折即可得到全部数据。 二、实验原理与数学模型(20分)
实现原理为遗传算法原理:
按所选择的适应度函数并通过遗传中的复制、交叉及变异对个体进行筛选,使得适应度高的个体被保留下来,组成新的群体,新的群体既继承了上一代的信息,又优于上一代。这样周而复始,群体中个体适应度不断提高,直到满足一定的条件。
数学模型如下: 设图G 由非空点集合V?{V1,V2...Vn} 和边集合E?{e1,e2...em} 组成,其中
ei?(Pi1,Pi2)且ei?E,若(Pi1,Pi2)?(Pi2,Pi1),则G为一个有向图; 又设ei 的值为
ai ,A?{a1,a2...am}, 故G 可表示为一个三元组G?{P,E,A}
则求最短路径的数学模型可以描述为:
c. .. .. .
相关推荐: