Solving a constrained optimization problem
12 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I am trying to solve an optimization problem in matlab:
minimize( sum_{i,j}(f(M(i,j))) + err )
subject to: - norm(M) < err
- err > 0
- if j == i+1: M(i,j) > 1
- if j == i-1: M(i,j) < -1
- else: -1 <= M(i,j) <= 1
where: - f is a non convex function in general
- M is an n by n matrix
Can anyone point me which function I should use?
0 commentaires
Réponse acceptée
Alan Weiss
le 24 Avr 2015
If you look in the Optimization Decision Table you see that for a constrained nonlinear problem you should use fmincon. The constraint norm(M) < err is a nonlinear inequality constraint. The other constraints on M(i,j) are bound constraints.
Good luck,
Alan Weiss
MATLAB mathematical toolbox documentation
3 commentaires
Alan Weiss
le 30 Avr 2015
That sounds right, with the proviso that you make
A = [M(:);err];
I mean, make a column vector, using a semicolon before err.
Alan Weiss
MATLAB mathematical toolbox documentation
Plus de réponses (0)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!