资源描述:
《第6讲 matlab中非线性规划的应用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数学建模与数学实验非线性规划主讲教师:鄢化彪供应与选址某公司有6个建筑工地要开工,每个工地的位置(用平面坐标系a,b表示,距离单位:km)及水泥日用量d(t)由下表给出.目前有两个临时料场位于A(5,1),B(2,7),日储量各有20t.假设从料场到工地之间均有直线道路相连.(1)试制定每天的供应计划,即从A,B两料场分别向各工地运送多少水泥,可使总的吨千米数最小.(2)为了进一步减少吨千米数,打算舍弃两个临时料场,改建两个新的,日储量各为20t,问应建在何处,节省的吨千米数有多大?*非线性规划的基本解法非线性规划的基本概念非线性规划返回定义如果目标函数或约
2、束条件中至少有一个是非线性函数,则最优化问题就叫做非线性规划问题.非现性规划的基本概念一般形式:(1)其中,是定义在Rn上的实值函数,简记:其它情况:求目标函数的最大值,或约束条件小于等于零两种情况,都可通过取其相反数化为上述一般形式.1nj1ni1nR:h,R:g,R:RRRf®®®()nTnRxxxXÎ=,,,21L()()ïîïíì===³.,...,2,10m;1,2,...,0..ljXhiXgtsji定义1把满足问题(1)中条件的解称为可行解(或可行点),所有可行点的集合称为可行集(或可行域).记为D.即问题(1)可简记为.定义2对于问题(1),
3、设,若存在,使得对一切,且,都有,则称X*是f(X)在D上的局部极小值点(局部最优解).特别地,当时,若,则称X*是f(X)在D上的严格局部极小值点(严格局部最优解).定义3对于问题(1),设,若对任意的,都有则称X*是f(X)在D上的全局极小值点(全局最优解).特别地,当时,若,则称X*是f(X)在D上的严格全局极小值点(严格全局最优解).返回)(nRXÎ()(){}njiRXXhXgXDÎ=³=,0,0
4、()(),XfXf£*非线性规划的基本解法SUTM外点法SUTM内点法(障碍罚函数法)1、罚函数法2、近似规划法返回MATLAB求解函数1、二次规划函数
5、2、一般非线性函数用MATLAB软件求解,其输入格式如下:1.x=quadprog(H,C,A,b);2.x=quadprog(H,C,A,b,Aeq,beq);3.x=quadprog(H,C,A,b,Aeq,beq,VLB,VUB);4.x=quadprog(H,C,A,b,Aeq,beq,VLB,VUB,X0);5.x=quadprog(H,C,A,b,Aeq,beq,VLB,VUB,X0,options);6.[x,fval]=quaprog(…);7.[x,fval,exitflag]=quaprog(…);8.[x,fval,exitflag,o
6、utput]=quaprog(…);1.二次规划例1minf(x1,x2)=-2x1-6x2+x12-2x1x2+2x22s.t.x1+x2≤2-x1+2x2≤2x1≥0,x2≥0MATLAB(youh1)1.写成标准形式:2.输入命令:H=[1-1;-12];c=[-2;-6];A=[11;-12];b=[2;2];Aeq=[];beq=[];VLB=[0;0];VUB=[];[x,z]=quadprog(H,c,A,b,Aeq,beq,VLB,VUB)3.运算结果为:x=0.6671.333z=-8.222s.t.1.首先建立M文件fun.m,用来定义目
7、标函数F(X):functionf=fun(X);f=F(X);2.一般非线性规划其中X为n维变元向量,G(X)与Ceq(X)均为非线性函数组成的向量,其他变量的含义与线性规划、二次规划中相同.用MATLAB求解上述问题,基本步骤分三步:3.建立主程序.求解非线性规划的函数是fmincon,命令的基本格式如下:(1)x=fmincon(‘fun’,X0,A,b)(2)x=fmincon(‘fun’,X0,A,b,Aeq,beq)(3)x=fmincon(‘fun’,X0,A,b,Aeq,beq,VLB,VUB)(4)x=fmincon(‘fun’,X0,A,
8、b,Aeq,beq,VLB,VUB,’nonlcon’)(5)x=fmincon(‘fun’,X0,A,b,Aeq,beq,VLB,VUB,’nonlcon’,options)(6)[x,fval]=fmincon(…)(7)[x,fval,exitflag]=fmincon(…)(8)[x,fval,exitflag,output]=fmincon(…)输出极值点M文件迭代的初值参数说明变量上下限注意:[1]fmincon函数提供了大型优化算法和中型优化算法.默认时:若在fun函数中提供了梯度(options参数的GradObj设置为’on’),并且只有上
9、下界存在或只有等式约束,fmincon函数将选择大型