Defining different bounds to each variable in fmincon

43 ビュー (過去 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 件)

カテゴリ

Help Center および File ExchangeNonlinear Optimization についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by