第6讲-matlab中非线性规划的应用.ppt
文本预览下载声明
* 第6讲 非线性规划 数学建模与数学实验 非线性规划 主讲教师:鄢化彪 供应与选址 某公司有6个建筑工地要开工,每个工地的位置(用平面坐标系a,b表示,距离单位:km)及水泥日用量d(t)由下表给出.目前有两个临时料场位于A(5,1),B(2,7),日储量各有20t.假设从料场到工地之间均有直线道路相连. (1)试制定每天的供应计划,即从A,B两料场分别向各工地运送多少水泥,可使总的吨千米数最小. (2)为了进一步减少吨千米数,打算舍弃两个临时料场,改建两个新的,日储量各为20t,问应建在何处,节省的吨千米数有多大? *非线性规划的基本解法 非线性规划的基本概念 非线性规划 返回 定义 如果目标函数或约束条件中至少有一个是非线性函数,则最优化问题就叫做非线性规划问题. 非现性规划的基本概念 一般形式: (1) 其中 , 是定义在 Rn 上的实值函数,简记: 其它情况: 求目标函数的最大值,或约束条件小于等于零两种情况,都可通过取其相反数化为上述一般形式. 1 n j 1 n i 1 n R : h , R : g , R : R R R f ? ? ? ( ) n T n R x x x X ? = , , , 2 1 L ( ) ( ) ? ? ? í ì = = = 3 . ,..., 2 , 1 0 m; 1,2,..., 0 . . l j X h i X g t s j i 定义1 把满足问题(1)中条件的解 称为可行解(或可行点),所有可行点的集合称为可行集(或可行域).记为D.即 问题(1)可简记为 . 定义2 对于问题(1),设 ,若存在 ,使得对一切 ,且 ,都有 ,则称X*是f(X)在D上的局部极小值点(局部最优解).特别地,当 时,若 ,则称X*是f(X)在D上的严格局部极小值点(严格局部最优解). 定义3 对于问题(1),设 ,若对任意的 ,都有 则称X*是f(X)在D上的全局极小值点(全局最优解).特别地,当 时,若 ,则称X*是f(X)在D上的严格全局极小值点(严格全局最优解). 返回 ) ( n R X ? ( ) ( ) { } n j i R X X h X g X D ? = 3 = , 0 , 0 | ( ) ( ), X f X f £ * 非线性规划的基本解法 SUTM外点法 SUTM内点法(障碍罚函数法) 1、罚函数法 2、近似规划法 返回 MATLAB求解函数 1、二次规划函数 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,output]=quaprog(…); 1.二次规划 例1 min f(x1,x2)=-2x1-6x2+x12-2x1x2+2x22 s.t. x1+x2≤2 -x1+2x2≤2 x1≥0, x2≥0 MATLAB(youh1) 1.写成标准形式: 2.输入命令: H=[1 -1; -1 2]; c=[-2 ;-6];A=[1 1; -1 2];b=[2;2]; Aeq=[];beq=[]; VLB=[0;0];V
显示全部