Defining different bounds to each variable in fmincon
8 views (last 30 days)
Show older comments
Gábor Dupák
on 18 Apr 2021
Commented: Gábor Dupák
on 18 Apr 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?
0 Comments
Accepted Answer
Clayton Gotberg
on 18 Apr 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.
More Answers (0)
See Also
Categories
Find more on Nonlinear Optimization in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!