Matlab fmincon函数用法
这个函数在之前优化工具箱一文中已经介绍过,由于其应用广泛,所以这里通过实例单独整理一下其用法。 一、基本介绍 求解问题的标准型为 min F(X) s.t AX <= b AeqX = beq G(x) <= 0 Ceq(X) = 0 VLB <= X <= VUB 其中X为n维变元向量,G(x)与Ceq(X)均为非线性函数组成的向量,其它变量的含义与线性规划,二次规划中相同,用Matlab求解上述问题,基本步骤分为三步: 1. 首先建立M文件fun.m定义目标函数F(X): function f = fun(X); f = F(X) 2. 若约束条件中有非线性约束:G(x) <= 0 或 Ceq(x) = 0,则建立M文件nonlcon.m定义函数G(X)和Ceq(X); function [G, Ceq] = nonlcon(X) G = ... Ceq = ... 3. 建立主程序,非线性规划求解的函数时fmincon,命令的基本格式如下: 其形式如下:x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon) 求解问题的标准型为 min F(X) s.t AX <= b(线性不等式约束) AeqX = beq(线性等式约束) G(x) <= 0(非线性不等式约束) Ceq(X) = 0(非线性等式约束) lb <= X <= ub(变量约束)