非线性规划
非线性规划在求解起来更困难,没有适用于任何情况的方法。不同的问题,需要不同的算法。因此掌握接口的使用是必要的,而且需要积累模型建立时的一些技巧。
技巧1: 例子中xi只能取0或1,等价地在约束中建立方程xi(xi-1) = 0。
求解 更重要的,要掌握MATLAB接口的调用。
注意,API中规定:非线性不等式约束右端必须是0。
接口里包含了线性规划的部分参数A,b,Aeq,beq,lb,ub。使用方法与linprog是一致的。其余参数需要注意。
fun是目标函数,需要用.m文件表示。
x0是初始解,必须指定。
nonlcon是非线性约束,包含了等式约束与不等式约束。
对于(2)非线性约束而言,g是不等式约束,不等号右端必须是0。当含有多个不等式约束时,每个约束之间以回车隔开。h是等式约束用法类似。
二次规划
MATLAB为这一类特殊的非线性规划提供了独特的接口。
H,f和目标函数中的矩阵保持一致,其余参数和linprog保持一致。