Defining different bounds to each variable in fmincon

13 ビュー (過去 30 日間)
Gábor Dupák
Gábor Dupák 2021 年 4 月 18 日
コメント済み: Gábor Dupák 2021 年 4 月 18 日
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?

採用された回答

Clayton Gotberg
Clayton Gotberg 2021 年 4 月 18 日
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 件のコメント
Gábor Dupák
Gábor Dupák 2021 年 4 月 18 日
Thanks for you help! Yes, I miswrote the x3 bounds, of course I wanted as: 0<=x3<=1.

サインインしてコメントする。

その他の回答 (0 件)

Community Treasure Hunt

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

Start Hunting!

Translated by