matlab中fmincon函数的非线性条件如何写?

2024-11-29 11:41:22
推荐回答(1个)
回答1:

主要问题:
1、关于Trust-region-reflective算警告
该类适用于存非线性约束情况所用警告式提示使用别介意看警告信息直接忽略妨;想看警告主程序调用:
opt=optimset('Algorithm', 'active-set',);
x0=[2.5 21 7];
[x,FVAL] = fmincon(@myfun,x0,[4 -1 0;-18 1 0],[0;0],[],[],[2.2;16;3],[3.5;28;Inf],@mycon,opt)

2、程序现问题给初始解行域内说满足所约束条件(容易验证满足非线性等式约束c(x)<=0)

通更进步析我看非线性约束条件第四完全没能满足:
c(4) =10*w-3.56*10^5*x(1)/(x(2)^2*x(3))
式考虑x1-x3界条件尽量使c(4)取值显应该取x(1)=3.5x(2)=16x(3)=3计算c(4)=1.3378e+004值数能满足约束

至结论:所给约束条件冲突行解集合空论用优化算都能求结

顺便再说句第三约束条件疑我于x1、x2取值区间及x3100000内数取值(几万)都没发现满足第三约束条件行解