Defining different bounds to each variable in fmincon

18 vues (au cours des 30 derniers jours)
Gábor Dupák
Gábor Dupák le 18 Avr 2021
Commenté : Gábor Dupák le 18 Avr 2021
Hi!
I have a nonlinear optimalization problem with 2 equality constraints and 3 variables (x1, x2, x3):
x1+0.13*x2*x3=50000;
0.7*x2-0.25x2*x3=60000;
where x1,x2 >=0 and 0>=x3>=1 are the uppern and lower bounds.
My objective function is MIN f(x)=0.4*x1+0.6*x2.
My question is how to define these bounds if i use fmincon?

Réponse acceptée

Clayton Gotberg
Clayton Gotberg le 18 Avr 2021
The documentation for fmincon has the answer: you are allowed to pass upper and lower bounds as vectors.
For example,
lower_bound = [0 0 0];
upper_bound = [1 2 1];
Defines the boundaries for three inputs: the first between 0 and 1, the second between 0 and 2, and the third between 0 and 1. I believe that you can fill in Inf or -Inf for a boundary as well.
I would also check on the boundaries you quote in your post. 0>=x3>=1 is impossible, as it says that x3 must be less than or equal to 0 but also greater than or equal to 1.
  1 commentaire
Gábor Dupák
Gábor Dupák le 18 Avr 2021
Thanks for you help! Yes, I miswrote the x3 bounds, of course I wanted as: 0<=x3<=1.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Nonlinear Optimization 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!

Translated by