数学建模小实例_第1页
数学建模小实例_第2页
数学建模小实例_第3页
数学建模小实例_第4页
已阅读5页,还剩4页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1、司乘人员配备问题某昼夜服务的公交路线每天各时间区段内需司机和乘务人员如下:班次时间最少需要人数16:00 10:0060210:00 7014:00314:00 6018:00418:00 5022:00522:00 2:002062:00 6:0030设司机和乘务人员分别在各时间区段一开始上班,并连续工作八小时,问该公交线路至少配备多少名司机和乘务人员?解:设 xi 为第 i 班应报到的人员 (i 1,2, ,6) ,建立线性模型如下:LINGO程序如下:MODEL:min=x1+x2+x3+x4+x5+x6;x1+x6>=60;x1+x2>=70;x2+x3>=60;

2、x3+x4>=50;x4+x5>=20;x5+x6>=30;END得到的解为 :x1=60,x2=10,x3=50,x4=0,x5=30,x6=0;配备的司机和乘务人员最少为150人。2、铺瓷砖问题要用 40 块方形瓷砖铺下图所示形状的地面, 但当时市场上只有长方形瓷砖,每块大小等于方形的两块。一人买了 20 块长方形瓷砖,试着铺地面,结果无法铺好。试问是这人的功夫不到家还是这个问题根本无解呢?解答 :01010010101010101010101010101010101010103、 棋子颜色问题在任意拿出黑白两种颜色的棋子共 n 个,随机排成一个圆圈。然后在两颗颜色相同的

3、棋子中间放一颗黑色棋子,在两颗颜色不同的棋子中间放一颗白色棋子,放完后撤掉原来所放的棋子,再重复以上的过程,这样放下一圈后就拿走前次的一圈棋子,问这样重复进行下去各棋子的颜色会怎样变化呢?分析与求解:由于在两颗同色棋子中放一颗黑色棋子,两颗不同色的棋子中间放一颗白色棋子,故可将黑色棋子用 1 表示,白色棋子用 -1 表示。这是因为 -1 ×(-1)=1 ,1×1=1,这代表两颗同色棋子中放一颗黑色棋子; 1×(-1)= -1 ,这代表两颗不同色的棋子中间放一颗白色棋子。设棋子数为 n , a1, a2 ,L , an 为初始状态。当 n=3 时步数状态 ( 舍掉偶

4、次项 )0a1a2a31a1a2a2a3a3a12a1a3a1a2a2 a33a2 a3a1a3a1a24a1a2a2a3a3a1说明当 n=3 时,经过 3 步进入初始状态。当 n=4 时步数状态 ( 舍掉偶次项 )0a1a2a3a41a1a2a2 a3a3a4a4a12a1a3a2 a4a1a3a2 a43a1a2a3a4a1a2a3a4a1a2 a3 a4a1a2 a3 a44a12 a22 a32a42a12 a22 a32 a42a12 a22 a32 a42a12 a22 a32 a42说明当 n=4 时,经过 4 步全变为黑色棋子。既不循环也不全为黑子结论:当棋子数为2n 时,至

5、多经过2n 次操作,就可以全部变为黑子,当棋子数不为2n 时则一般不能全变为黑子。Matlab 程序 : 进行实验%棋子颜色问题演示% 1-黑子 ,-1 -白子n=4; % 定义棋子数times=6;% 定义迭代次数x0=zeros(1,n);x1=zeros(1,n); %定义数组for i=1:nk=rand(1,1);if(k>0.5) x0(i)=1;else x0(i)=-1;endend; %赋初值x0for i=1:timesifor k=1:n-1x1(k)=x0(k)*x0(k+1);endx1(n)=x0(n)*x0(1);x1 %显示各次结果x0=x1;end程序语

6、句解释:1.zeros(m,n),产生一个 m× n 的 0 矩阵,通常用于定义一个指定大小的矩阵.zeros(1,n)则产生一个全部为0 的行向量。2.rand(m,n),产生一个 m×n 的随机矩阵,每个元素都服从 0,1上的均匀分布 .rand(1,1)则产生一个服从 0,1上的均匀分布的数字。4. 选修课策略问题某学校规定, 运筹学专业的学生毕业时必须至少学习过两门数学课、三门运筹学课和两门计算机课。这些课程的编号、名称、学分、所属类别和先修课要求如表1 所示。那么,毕业时学生最少可以学习这些课程中哪些课程。如果某个学生既希望选修课程的数量少,又希望所获得的学分多,

7、他可以选修哪些课程?表 1课程情况课 程 编课程名称学分所属类别先修课要求号1微积分5数学2线性代数4数学3最优化方法4数学;运筹学微积分;线性代数4数据结构3数学;计算机计算机编程5应用统计4数学;运筹学微积分;线性代数6计算机模拟3计算机;运筹学计算机编程7计算机编程2计算机8预测理论2运筹学应用统计9数学实验3运筹学;计算机微积分;线性代数模型的建立1 不考虑学分情形:记 i=1 ,2, , 9 表示 9 门课程的编号。设xi1表示第 i 门课程选修,xi0 表示第i 门课程不选。问题的目标为选修的课程总数最少,即约束条件包括两个方面:第一方面是课程数量的约束:每个人最少要学习2 门数学

8、课,则每个人最少要学习3 门运筹学课,则每个人最少要学习2 门计算机课,则有:第二方面是先修课程的关系约束:如“数据结构”的先修课程是“计算机编程” ,这意味着如果 x4 1 ,必须 x7 1 ,这个条件可以表示为 x4 x7 (注意当 x4 0 时对 x7 没有限制)。这样,所有课程的先修课要求可表为如下的约束“最优化方法”的先修课是“微积分”和“线性代数”,有:“数据结构”的先修课程是“计算机编程”,有:“应用统计”的先修课是“微积分”和“线性代数”,有:“计算机模拟”的先修课程是“计算机编程”,有:“预测理论”的先修课程是“应用统计”,有:“数学实验”是“微积分”和“线性代数”,有:这样

9、一来,总的0-1 规划模型为:解得:x11, x21, x31,x61, x71, x91。即选修课程为:微积分, 线性代数 . 最优化方法 , 计算机模拟 , 计算机编程 , 数学实验。LINGO程序为:model:sets:item/1.9/:c,x;endsetsdata:c= 5,4,4,3,4,3,2,2,3;enddatamin=sum(item(i):x(i);!课程最少 ;x(1)+x(2)+x(3)+x(4)+x(5)>=2;x(3)+x(5)+x(6)+x(8)+x(9)>=3;x(4)+x(6)+x(7)+x(9)>=2;x(3)<=x(1);x(

10、3)<=x(2);x(4)<=x(7);x(5)<=x(1);x(5)<=x(2);x(6)<=x(7);x(8)<=x(5);x(9)<=x(1);x(9)<=x(2);for(item(i):bin(x(i);end2 考虑学分情形:当要求学分最多时,设各门课程学分为ci ,则增加学分最大的目标函数为:这样总的双目标0-1当把选修课程指定为x11, x21, x31,x5规划模型为:6 门时,对学分最大求最优,解得:1, x71, x91 。最大学分为z=22。即选修课程为:微积分, 线性代数 . 最优化方法 ,应用统计 , 计算机编程 , 数学实验。学分达到 22 分。LINGO程序为:model:sets:item/1.9/:c,x;endsetsdata:c= 5,4,4,3,4,3,2,2,3;enddatamax=sum(item(i):c(i)*x(i);sum(item(i):x(i)=6; !课程为 6 门;x(1)+x(2)+x(3)+x(4)+x(5)>=2;x(3)+x(5)+x(6)+x(8)+x(9)>=3;x(4)+x(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论