[数学建模]非线性规划

1.3非线性规划

1.3.1定义

如果目标函数或约束条件中包含非线性函数,就称这种规划问题为非线性规划问题,依然是运筹优化类问题的一种。

1.3.2解的性质

线性规划与非线性规划的区别 如果线性规划的最优解存在,其最优解只能在其可行域的边界上达到(特别是可行

域的顶点上达到);而非线性规划的最优解(如果最优解存在)则可能在其可行域的任 意一点达到。

1.3.3matlab程序解决

非线性规划的标准形式

min f(x)

Aeq*x=Beq

A*x\leqslantB

CX\leqslant0

Ceq(x)=0

%matlab代码
X=FMINCON(FUN,X0,A,B,Aeq,Beq,LB,UB,NONLCON,OPTIONS)
  •  它的返回值是向量 x ,其中 FUN 是用 M 文件定义的函数 f ( x) ; 
  • X0 是 x 的初始值;
  • A,B,Aeq,Beq 定义了线性约束 A *X=B, Aeq * X = Beq ,如果没有线性约束,则A=[],B=[],Aeq=[],Beq=[];
  • LB 和 UB 是变量 x 的下界和上界,如果上界和下界没有约 束,则 LB=[],UB=[],如果 x 无下界,则 LB 的各分量都为-inf,如果 x 无上界,则 UB 的各分量都为 inf;
  • NONLCON 是用 M 文件定义的非线性向量函数 C( x), Ceq( x) ;
  • OPTIONS 定义了优化参数,可以使用 Matlab 缺省的参数设置。

用于求解无约束极值问题的函数有 fminunc 和 fminsearch,用 法介绍如下。

 [X,FVAL]=FMINUNC(FUN,X0,OPTIONS,P1,P2, ...)

[X,FVAL,EXITFLAG,OUTPUT]=FMINSEARCH(FUN,X0,OPTIONS,P1,P2,...)
  • 其中的返回值 X 是所求得的极小点,FVAL 是函数的极小值。FUN  是一个 M 文件,当 FUN 只有一个返回值时,它的返回值是函数 f ( x) ;
  • 当 FUN 有两个返回值时,它的第二个返回值是 f ( x) 的梯度向量
  • 当 FUN 有三个返回 值时,它的第三个返回值是 f ( x) 的二阶导数阵(Hessian 阵)。
  • X0 是向量 x 的初始值, OPTIONS 是优化参数,可以使用缺省参数。P1,P2 是可以传递给 FUN 的一些参数。

1.3.4非线性规划的解法

传统解法:最速下降法,牛顿法,阻尼牛顿法以及惩罚函数法

现代解法:遗传算法、自适应遗传算法

关于应用遗传算法于非线性规划可以看下面这篇毕业论文

https://wenku.baidu.com/view/f0977c5b9a6648d7c1c708a1284ac850ad0204d7.html

你可能感兴趣的:(数学建模)