4.6.3 非线性约束规划

4.6.3 非线性约束规划

当非线性优化问题有约束条件时,其数学模型为

其中,x=(x1,x2,…,xn);f,gi,hj:Rn→R.

MATLAB中对应的标准形式:

MATLAB调用格式:

x=fmincon(fun,x0,A,b):x0为迭代初值,约束条件只有线性不等式约束;

[x,fval]=fmincon(fun,x0,A,b,Aeq,beq):约束中含有线性等式约束;

[x,fval]=fmincon(fun,x0,A,b,Aeq,beq,lb,ub):变量有下界和上界;

[x,fval]=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon):约束中含有非线性约束;

[x,fval]=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options):options表示优化参数.可选择4种算法之一:active-set、interior-point、sqp或trust-region-reflective.options缺省时,默认算法为trust-region-reflective,其他算法选择可通过optimset或optimoptions完成,如:

非线性约束条件也可写成如下的m-函数形式(nonlcon.m):

例4.24 求解

解:建立函数文件myfun1.m.

键入命令: