1、考试内容分布:1、 线性规划2题,有1题需编程; 2、 非线性规划2题,有1题需编程;3、 微分方程 1题,需编程;4、 差分方程2题,纯计算,不需编程; 5、 插值2题,拟合1题,纯计算,不需编程; 6、 综合1题(4分),纯计算,不需编程。一、 列出下面线性规划问题的求解模型,并给出matlab计算环境下的程序1. 某车间有甲、已两台机床,可用于加工三种工件,假定这两台车床的可用台时数分别为800和900,三种工件的数量分别为400,600和500,且已知用两种不同车床加工单位数量不同工件所需的台时数和加工费用如下表。问怎样分配车床的加工任务,才能即满足加工工件的要求,又使加工费用最低。(
2、答案见课本P35, 例1)2. 有两个煤厂A,B,每月进煤分别不少于60t、100t, 它们负责供应三个居民区的用煤任务,这三个居民区每月需用煤分别为45t, 75t, 40t。 A厂离这三个居民区分别为10km, 5km, 6km, B厂离这三个居民区分别为4km, 8km, 15km, 问这两煤厂如何分配供煤,才能使总运输量最小?(1) 问题分析设A煤场向这三个居民区供煤分别为x1,x2,x3;B煤场向这三个居民区供煤分别为x4,x5,x6,则min f=10* x1+5*x2+6*x3+4*x4+8*x5+15*x6,再根据题目约束条件来进行解题。(2) 模型的求解 f=10 5 6 4
3、 8 15; A=-1 -1 -1 0 0 00 0 0 -1 -1 -1-1 0 0 -1 0 00 -1 0 0 -1 00 0 -1 0 0 -1; b=-60;-100;-45;-75;-40; Aeq=; beq=; vlb=zeros(6,1); vub=; x,fval=linprog(f,A,b,Aeq,beq,vlb,vub)Optimization terminated.(3) 结果分析x = 0.0000 20.0000 40.0000 45.0000 55.0000 0.0000fval = 960.0000即A煤场分别向三个居民区供煤0t,20t,40t;B煤场分别向
4、三个居民区供煤45t,55t,0t可在满足条件下使得总运输量最小。3. 某工厂利用两种原料甲、乙生产,三种产品,每月可供应的原料数量(单位:t)、每万件产品所需各种原料的数量以及每万件产品的价格如下表所示原料每万件产品所学原料/t每月原料供应量/t甲431180乙263200价格/万元1254试制定每月最优生产计划,使得总收益最大。解:设A1生成x1万件,A2生成x2万件,A3生成x3万件那么总收入为:12*x1+5*x2+4*x3目标:总收入最大,即:max 12*x1+5*x2+4*x3约束条件:1.甲原材料:4*x1+3*x2+x3=1802.乙原材料:2*x1+6*x2+3*x3=0,
5、x2=0,x3=0在Matlab中输入:f=-12;5;4; A=4,3,1;2,6,3; b=180;200; Aeq=; beq=; xmin=0,0,0; xmax=inf,inf,inf; x0=xmin; x,fmin=linprog(f,A,b,Aeq,beq,xmin,xmax,x0); x,-fmin结果为:x = 34.0000 0.0000 44.0000ans = 584.0000即当生产34万件的A1和44万件的A3。总收入达到最大,为584万。4、某医院负责人每日至少需要下列数量的护士:班次时间最少护士数16时10时60210时14时70314时18时60418时22
6、时50522时02时20602时06时30每班护士在职半开时向病房报道,连续工作八小时,医院领导为满足每班所需要的护士数,最少需雇佣多少护士? 试根据你了解的实际情况建立一个较好的数学模型及相应的算法和程序。解:一、问题假设1、每名值班护士都正常工作,没有请假现象。2、该医院不存在大的人员变动。3、每名护士都可以连续工作八小时。二、问题分析分析该问题,可以得出该问题是一个线性规划问题,求解需雇佣的最少护士人数,所以应该,建立目标函数以及对应的约束条件。根据每班的人数列出目标函数,根据六个时间段所需要的最少护士数建立六个约束条件。三、符号说明符号表示意义需要雇佣的最少护士数第个班次加入值班的人数
7、四、模型建立根据题意判断出该问题属于求解最优化问题,需要确定目标函数和约束条件,具体模型如下:五、模型求解利用matlab软件,编写m文件,求解该模型。程序代码:%diertif=1,1,1,1,1,1A=-1 0 0 0 0 -1; -1 -1 0 0 0 0; 0 -1 -1 0 0 0; 0 0 -1 -1 0 0; 0 0 0 -1 -1 0; 0 0 0 0 -1 -1;b=-60;-70;-60;-50;-20;-30;lb=zeros(6,1);x,fval,exitflag,output,lambda=linprog(f,A,b,lb)计算结果:f = 1 1 1 1 1 1A
8、 = -1 0 0 0 0 -1 -1 -1 0 0 0 0 0 -1 -1 0 0 0 0 0 -1 -1 0 0 0 0 0 -1 -1 0 0 0 0 0 -1 -1b = -60 -70 -60 -50 -20 -30x = 41.9176 28.0824 35.0494 14.9506 9.8606 20.1394fval = 150.0000六、模型求解分析根据计算的结果可以得出,该医院至少要雇用150护士,其中在每个班次中添加的具体人员如下表:表一:每个班次中加入的人员数班次护士数142228335415510620综上,求解出该值班安排问题。二、 列出下面问题的求解模型,并给出
9、matlab计算环境下的程序1.炼油厂将A、B、C三种原料加工成甲乙丙三种汽油。一桶原油加工成汽油的费用为4元,每天至多能加工汽油14,000桶。原油的买入价、买入量、辛烷值、硫含量,及汽油的卖出价、需求量、辛烷值、硫含量由下表给出。问如何安排生产计划,在满足需求的条件下使利润最大?原油类别买入价(元/桶)买入量(桶/天)辛烷值()硫含量()A455000 120.5B35500062.0C25500083.0汽油类别卖出价(元/桶)需求量(桶/天)辛烷值()硫含量()甲703000101.0乙60200082.0丙50100061.0解:2. 要设计和发射一个带有X射线望远镜和其他科学仪器的
10、气球,对于性能的粗糙的度量方法是以气球所能达到的高度和所携仪器的重量来表达,很清楚,高度本身是气球体积的一个函数。根据过去的经验作出的结果,是求极大满意性能函数 , 此处是体积,是仪器重量。 承包项目的预算限额是1040美元,与体积有关的费用是,与设备有关的费用是,为了保证在高度方面的性能与科学设备方面的性能之间的合理平衡,设计者需要满足约束条件。找出由体积和设备重量来表达的最优设计模型。解:由题意可以问题的V和W应满足的约束条件为s.t. V+2W520;5V-4W0;然后求解目标函数P=f( V, W)=100 V-0.3V2+80W-0.2W2的最大值。我们可以用非线性规划的线性逼近的方
11、法将目标函数转化成近似的线性函数然后用线性规划的求解的方法即可得出结果。根据题意建立模型:Max f = 100 V-0.3V2+80W-0.2W2s.t. V+2W520;5V-4W0;模型求解的Matlab程序如下:(1)建立非线性目标函数文件function f=qiqiu01(x) f=0.3*x(1)2-100*x(1)+0.2*x(2)2-80*x(2);(2) 建立主程序求解clear all;x0=1;1;A=1,2;5,-4;b=520;0;Aeq=;beq=;vlb=0;0; vub=;x,fval=fmincon(qiqiu01,x0,A,b,Aeq,beq,vlb,vu
12、b);xfval%求出的结果为:x = 148.5714 185.7143fval = 1.6194e+0043、某厂向用户提供发动机,合同规定,第一、二、三季度末分别交货40台、60台、80台每季度的生产费用为 (元),其中x是该季生产的台数若交货后有剩余,可用于下季度交货,但需支付存储费,每台每季度c元已知工厂每季度最大生产能力为100台,第一季度开始时无存货,设a=50、b=0.2、c=4,问工厂应如何安排生产计划,才能既满足合同又使总费用最低解:问题的分析和假设: 分析:问题的关键在于由于工厂的生产能力足以满足每个季度用户的需求,但是为了使总费用最少,那么利用每个季度生产费用的不同,可
13、用利用上个生产费用低的季度多生产来为下个季度进行准备,前提是本月节省下的费用减去总的发动机存储费用还有剩余,这样生产才有价值,才可能满足合同的同时又能使总费用最低。基本假设:1工厂的生产能力不受外界环境因素影响。2为使总费用最低,又能满足合同要求,各个季度之间的生产数量之间是有联系的。3第一季度开始时无存货。4工厂每季度的生关费用与本季度生产的发动机台数有关。5生产要按定单的数量来进行,生产的数量应和订单的数量相同,以避免生产出无用的机器。符号规定:X1第一季度生产发动机的数量X2第二季度生产发动机的数量X3第三季度生产发动机的数量建模: 1三个季度发动机的总的生产量为180台。2每个季度的生
14、产量和库存机器的数量之和要大于等于本季度的交货数量。3每个月的生产数量要符合工厂的生产能力。4将实际问题转化为非线性规划问题,建立非线性规划模型目标函数min f(x)=50(x1+x2+x3)+0.2(x12+x22+x32)+4(x1-40)+4(x1+x2-100)整理,得min f(x)=50(x1+x2+x3)+0.2(x12+x22+x32)4(2x1+x2-140)约束函数s.t x1+x2100; X1+x2+x3=180; 40x1100; 0x2100; 0x3100;求解的Matlab程序代码: M-文件 fun.m: function f=fun (x);f=50*(x
15、(1)+x(2)+x(3)+0.2*(x(1)2+x(2)2+x(3)2)+4*(2*x(1) +x(2)-140)主程序fxxgh.m:x0=60;60;60;A=-1 -1 0;b=-100;Aeq=1 1 1;beq=180;vlb=40;0;0;vub=100;100;100;x,fval=fmincon(fun,x0,A,b,Aeq,beq,vlb,vub)计算结果与问题分析讨论: 计算结果:x =50.0000 60.0000 70.0000fval =11280 问题分析讨论: 由运算结果得:该厂第一季度、第二季度、第三季度的生产量分别是50台、60台和70台时,才能既满足合同又
16、使总费用最低,费用最低为11280元。三、 给出下列为微分方程数值解的求解程序1. (课本,P132页例4)2. (课本,P132页例5)3. (课本,P132页例4,系数“1000”被改为了“7”)4. 解:(1) 微分方程M函数文件function dy=daodan01(x,y)dy=zeros(2,1);dy(1)=y(2);dy(2)=0.2*(1/(1-x)*sqrt(1+y(2)2)(2)建立主程序求解clear all;t0=0;tf=10;t,y=ode45(daodan01,t0,tf,0,0);plot(t,y,r*);t , y5. (课本,P132页例6)四、 求解下
17、列差分方程的通解1. 斐波那契数列 (课本,P138页例7 )2. 求解 , 初值 (课本,P138页例8 )3. 求解 ,初值 (课本,P139页例10 )4. ,求其通解 解:对应的特征方程 ,化简 求解得:,所以通解: 5. 某人上一共有级台阶的楼梯,如果规定他每步只能上1级台阶或2级台阶,问共有多少种不同的上楼梯的方法。解:第一步上1级台阶,则有H(n-1)种上楼梯的方法;第二步上2级台阶,则有H(n-2)种上楼梯的方法。因此 H(n)=H(n-1)+H(n-2),特征方程为: 特征根为:,写出通解并根据H(1)=1,H(2)=2求和6. 只由3个字母组成的长度为的一些单词将在通信信道
18、上传输,传输中应满足条件:不得有两个连续出现在任一单词中,确定通信信道允许传输的单词的个数。解:设单词的总长度是n。若第1个字母是a,那么第2个字母可以是b或c,即开头两个字母是ab或ac,这种情况的单词方案为2*f(n-2)。若第1个字母是b或c,那么第2个字母可以任取,这种情况的单词方案为2*f(n-1)。故有f(n)=2f(n-1) +2f(n-2)对应的特征方程为 ,求解得特征根为 ,所以通解为 将初值 ,代入得 ,7. 某人有n(n1)元钱,他每天买一次物品,或者买一元钱的甲物品,或者买两元钱的乙物品。问此人有多少种方式花完这n元钱?解:H(n)=H(n-1)+H(n-2); n=1
19、时, H(1)=1; n=2时, H(2)=3; 求出特征根。自己求解即可。8. 求长度为n的0,1符号串,不出现00的符号串总数。解:第1个符号为0时,第二个符号只能为1,此时共有H(n-2)中排法;第1个符号为1时,第二个符号可任意排,此时共有H(n-1)种排法。因此 H(n)=H(n-1)+H(n-2)。可求出特征根,并根据H(1)=2, H(2)=3求其参数和9. 从n个文字中取k个文字作允许重复的排列,但不允许一个文字连续出现3次,求这样的排列的数目。解: 首先,假设取n个文字作允许重复的排列,不允许一个字连续出现3次的排列数为an,假设取n-1个文字最后一位为x,最后一位与x不同的取法有(k-1)种,(k-1)an-1种。少算了最后一位也取x的情况,就是最后两位都是x的情况,也就是最后两位与倒数第三位不同的情况,有(k-1)an-2种。,可求出k1,k2五、 插值与拟合1. 根据下表给出的平方根值,(1)用线性插值计算; (2)用抛物线法计算149161234(答案见课本P151, 例1和例2)2. 已知的函数表 1312求线性插值多项式,并计算的值。解:7. 用二次多项式函数拟合下述给定数据,求其超定方程和相应的正规方程。1 2 3 44 10 18 36解:设,得,记系数矩阵为F,则, 故正规方程组为解得