How can I using fmincon on both vector variables and matrix variables
10 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Jingyu Liu
le 16 Fév 2022
Commenté : Walter Roberson
le 15 Sep 2023
I have a optimization problem with two variables: x is a vector and U is a matrix. I want to solving it by fmincon. My question is, how I can write the fmincon. More exactly, how to write the objective function and constraints? Or I have to transform U into a vector variable.
Any suggestion is appreciated. Thanks!
8 commentaires
Joshua Scott
le 15 Sep 2023
@Walter Roberson, What if you have both scalars and a matrix that need to be optimized?
Would I: Vectorize the matrix, reshape within the function getting called by fmincon, and reshape after fmincon?
Or am I missing a step?
Thank you for the guidance!
Walter Roberson
le 15 Sep 2023
function [c, ceq] = nonlcon(X) %example
x = X(1);
U = reshape(X(2:end), 5, 20); %U is 5 x 20
%now use x and U to compute c and ceq
end
And yes, after the optimization when you have the packed vector, you would to the same extraction to get the final values.
Réponse acceptée
Alan Weiss
le 16 Fév 2022
You might enjoy the problem-based approach, which does not require you to put all variables into one.
Alan Weiss
MATLAB mathematical toolbox documentation
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Solver Outputs and Iterative Display dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!