Effacer les filtres
Effacer les filtres

How to constrain fmincon unknowns to itself

2 vues (au cours des 30 derniers jours)
somebody
somebody le 28 Oct 2021
Commenté : somebody le 31 Oct 2021
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.

Réponse acceptée

Alan Weiss
Alan Weiss le 29 Oct 2021
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 commentaire
somebody
somebody le 31 Oct 2021
Thank you, that helps a lot.

Connectez-vous pour commenter.

Plus de réponses (0)

Produits


Version

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by