非线性规划还没有适用于各种问题的一般算法,各个方法都有自己特定的适用范围。
对一个实际问题把它归结为非线性规划问题时,一般要注意以下几点:
- 确认供选方案:收集与问题有关的资料,全面熟悉问题后,确认供选方案,并用一组变量表示它们
- 提出追求目标:极小化或者极大化目标,用数学关系式表示
- 给出价值标准:要确立所考虑的目标“好”或“坏”的价值标准
- 寻求限制条件:用等式或者不等式表示
非线性规划的MATLAB解法:
MATLAB中的命令是:
X = FMINCON(FUN,X0,A,B,Aeq,Beq,LB,UB,NONLCON,OPTIONS)
A,B,Aeq,Beq定义了线性约束,
NONLCON是用M文件定义的非线性向量函数C(X),Ceq(X)。
求解非线性规划的基本迭代格式
对于非线性规划模型(NP),可以采用迭代方法求解它的最优解。
设是某迭代方法的第k轮迭代点,是第k+1轮迭代点,记:
(求解非线性规划模型的基本迭代格式)
这里,,,并且的方向是从点向着点的方向。
无约束极值问题的解法:
无约束极值问题可表述为:,求解该问题的迭代法分为两点:
1、解析法:用到函数的一阶导数或者二阶导数
1.1、梯度法(最速下降法)
每轮从点出发沿最速下降的方向