# How to constrain fmincon unknowns to itself

1 ビュー (過去 30 日間)
somebody 2021 年 10 月 28 日
コメント済み: somebody 2021 年 10 月 31 日
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.

サインインしてコメントする。

### 採用された回答

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
##### 1 件のコメント表示非表示 なし
somebody 2021 年 10 月 31 日
Thank you, that helps a lot.

サインインしてコメントする。

R2021a

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!