Set gradual parameter constraints in fmincon
1 次查看(过去 30 天)
显示 更早的评论
Hello everyone,
Here is my problem, I want to optimize a function with several parameters. Let's say that my function is: modelFun=@(a) a(1)x^2 +a(2);, so my paramers are a(1) and a(2). Therefore, I want fmincon to give me those parameters given a noise measure. Additionally, i know the bounds of the parameters lb=[0 0]; ub=[4 2]; So far, this is easy to implement: fminxon(modelFun,seed,[],[],[],[],lb,up);. However i know one more constrain for the parameters and it's that a(1)>a(2). This is the constraint I can not implement, and i'm asking for your help to implement it if possible.
I think it can not be implemented neither with inequality constraints nor nonlinear constraints.
Do you have any idea? Thank you very much, Oscar
0 个评论
采纳的回答
John D'Errico
2016-4-8
Why cannot it be implemented? This is not even a nonlinear inequality constraint. Use the linear inequality constraints.
Is your fear that they implement the constraint with an >= instead of > ?
So then just require that
a(1) >= a(2) + delta
for some REASONABLY small value of delta. I would suggest using a larger value of delta than you have for TolCon, so that any constraint violation will not be a problem.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Nonlinear Optimization 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!