资源描述:
《2011建模培训-数学规划经典》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、一、引言二、线性规划模型三、整数规划模型数学建模专题----规划理论及模型四、0-1规划模型五、几种常用的线性规划模型六、非线性规划模型七、多目标规划模型八、LINGO入门一、引言我们从2005年“高教社杯”全国大学生数模竞谈起.其中第二个问题是一个如何来分配有限资源,从而达到人们期望目标的优化分配数学模型.它在数学建模中处于中心的地位.这类问题一般可以归结为数学规划模型.赛的B题“DVD在线租赁”问题的第二问和第三问规划模型的应用极其广泛,其作用已为越来来越急速地渗透于工农业生产、商业活动、军事行为核科学研究的各个方面,为社会节省的财富、创造的价值无法估量.在数模竞赛过程中,规划
2、模型是最常见的一类数学模型.从92-08年全国大学生数模竞赛试题越多的人所重视.随着计算机的逐渐普及,它越的解题方法统计结果来看,规划模型共出现了16次,占到了近50%,也就是说每两道竞赛题中就有一道涉及到利用规划理论来分析、求解.二、线性规划模型线性规划模型是所有规划模型中最基本、最例1.(食谱问题)设有n种食物,各含m种营养素,第j种食物中第i种营养素的含量为aij,n种食物价格分别为c1,c2,…,cn,请确定食谱中n种食物的数量x1,x2,…,xn,要求在食谱中m种营养素简单的一种.2.1线性规划模型的基本形式的含量分别不低于b1,b2,…,bm的情况下,使得总总的费用最低
3、.首先根据食物数量及价格可写出食谱费用为其次食谱中第i种营养素的含量为因此上述问题可表述为:解上述食谱问题就是一个典型的线性规划问题,寻求以线性函数的最大(小)值为目标的数学模型.它是指在一组线性的等式或不等式的约束条件下,线性规划的数学模型maxz=S.T线性规划、线性规划的可行解,最优解的概念线性规划一般可写作min(ormax)f=s.t.线性规划问题还可以用矩阵表示minf=s.tAx≥b,x≥0其中f被称作目标函数,目标函数下的等式或不等式被称作约束条件,A=,b=一组满足约束条件的变量的值称为一组可行解。可行解的集合称为可行解域,或可行解空间。线性规划问题也就是在可行解
4、域上寻找使目标函数取得极小(或极大)值的可行解,称之为最优解。针对标准形式的线性规划问题,其解的理论分析已经很完备,在此基础上也提出了很好的算单纯形方法是线性规划问题的最为基础、也法——单纯形方法及其相应的变化形式(两阶段2.2线性规划模型的求解法,对偶单纯形法等).是最核心的算法。它是一个迭代算法,先从一个特殊的可行解(极点)出发,通过判别条件去判断该可行解是否为最优解(或问题无界),若不是最优解,则根据相应规则,迭代到下一个更好的可行解(极点),直到最优解(或问题无界).关于线性规划问题解的理论和单纯形法具体的求解过程可参见相关文献.然而在实际应用中,特别是数学建模过程中,遇到
5、线性规划问题的求解,我们一般都是利用现有的软件进行求解,此时通常并不要求线性规划问题是标准形式.比较常用的求解线性规划模型的软件包有LINGO、LINDO和MATLAB。MATLAB中有关求解线性规划问题的指令X=linprog(f,A,b,Aeq,beq)X=linprog(f,A,b,Aeq,beq,lb,ub)X=linprog(f,A,b,Aeq,beq,lb,ub,x0)X=linprog(f,A,b,Aeq,beq,lb,ub,x0,options)[x,fval,exitflag,output]=linprog(…)用MATLAB优化工具箱解线性规划minz=cX1、
6、模型:命令:x=linprog(c,A,b)2、模型:minz=cX命令:x=linprog(c,A,b,Aeq,beq)注意:若没有不等式:存在,则令A=[],b=[].9/10/2021143、模型:minz=cXVLB≤X≤VUB命令:[1]x=linprog(c,A,b,Aeq,beq,VLB,VUB)[2]x=linprog(c,A,b,Aeq,beq,VLB,VUB,X0)注意:[1]若没有等式约束:,则令Aeq=[],beq=[].[2]其中X0表示初始点4、命令:[x,fval]=linprog(…)返回最优解x及x处的目标函数值fval.9/10/202115解编
7、写M文件如下:c=[-0.4-0.28-0.32-0.72-0.64-0.6];A=[0.010.010.010.030.030.03;0.02000.0500;00.02000.050;000.03000.08];b=[850;700;100;900];Aeq=[];beq=[];vlb=[0;0;0;0;0;0];vub=[];[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub)9/10/202116解:编写M文件如下:c=[-7-5];