How to constrain fmincon unknowns to itself
2 次查看(过去 30 天)
显示 更早的评论
I am attempting to use fmincon to solve a problem of multiple unknowns.
unknowns = fmincon(@(x)fun(x),initial,[],[],[],[],lb,ub)
I need four of the unknowns to be constrained such that
(unknowns(1) + unknowns(2)) < (unknowns(3) + unknowns(4))
I cannot hardcode this constraint into the upper and lower bounds of the problem, I was wondering if there was a way to implement it with the other options / nonlinear constraints?
Thanks for any input.
0 个评论
采纳的回答
Alan Weiss
2021-10-29
Or maybe with linear constraints:
A = [1 1 -1 -1];
b = 0;
unknowns = fmincon(@(x)fun(x),initial,A,b,[],[],lb,ub)
What do the A and b arguments represent? Let x represent your unknowns argument.
A*x <= b
x(1) + x(2) -x(3) -x(4) <= 0
x(1) + x(2) <= x(3) + x(4)
unknowns = fmincon(@(x)fun(x),initial,[],[],[],[],lb,ub)
Alan Weiss
MATLAB mathematical toolbox documentation
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!