(数学建模)非线性规划
定义 如果目标函数或约束条件中包含非线性函数,就称这种规划问题为非线性规划问 题。 非线性规划目前还没有适于各种问题的一般算法,各个方法都有自己特定的适用范围。 一般形式: 线性规划与非线性规划的区别 如果线性规划的最优解存在,其最优解只能在其可行域的边界上达到(特别是可行域的顶点上达到);而非线性规划的最优解(如果最优解存在)则可能在其可行域的任意一点达到。 极值约束问题 二次规划 若某非线性规划的目标函数为自变量x的二次函数,约束条件又全是线性的,就称 这种规划为二次规划。 Matlab 中二次规划的数学模型可表述如下: Matlab 中求解二次规划的命令是: [x,fval]=quadprog(H,f,A,b,Aeq,Beq,lb,ub,x0,options) 例: 求解二次规划 h=[4,-4;-4,8]; f=[-6;-3]; a=[1,1;4,1]; b=[3;9]; [x,value]=quadprog(h,f,a,b,[],[],zeros(2,1)) 罚函数法 利用罚函数法,可将非线性规划问题的求解,转化为求解一系列无约束极值问题, 因而也称这种方法为序列无约束小化技术,简记为 SUMT . 罚函数法求解非线性规划问题的思想是,利用问题中的约束函数作出适当的罚函 数,由此构造出带参数的增广目标函数,把问题转化为无约束非线性规划问题。主要有两种形式,一种叫外罚函数法