How to constrain the optimized variable using fmincon ?
显示 更早的评论
Hi everyone,
I am currently using fmincon function to solve an optimization problem.
Basically I am trying to minimize the integral (sum(abs)) of a variable u. The thing is that I want these u to always be >0, and I am not sure if what I do is correct or how to set correctly the constraint function "noncol" to create this condition.
Here it is what I am doing now: I compute the variable u in my costfun (then its integral), I put these u in global and put another global u in the noncol function to use it. I just set c=-u (as the c<0 and I want u>0). Is it correct ?
Matlab doesn't return any error and run correctly I am just not sure if it is the right way to do it.
Thanks in advance
6 个评论
Torsten
2017-3-8
You should check whether the design vector x is identical in both "costfun" and "nonlcon". If this is the case, you can proceed as you described.
Best wishes
Torsten.
Vincent DUFOUR
2017-3-8
Torsten
2017-3-8
To be safe, just calculate your u both in "costfun" and in "nonlcon" from the design vector x.
Best wishes
Torsten.
Vincent DUFOUR
2017-3-8
编辑:Vincent DUFOUR
2017-3-8
Torsten
2017-3-8
No. As you can see from your notation c(u(v(x))): In the end, everything depends on x.
Best wishes
Torsten.
Vincent DUFOUR
2017-3-8
回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Get Started with Optimization Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!