フィルターのクリア

How can I associate complicated constraints in optimization problems using fmincon or intlinprog?

6 ビュー (過去 30 日間)
Gabriel
Gabriel 2023 年 12 月 13 日
コメント済み: Gabriel 2023 年 12 月 18 日
Greetings,
I'm trying to solve an optimization problem using fmincon or intlinprog, but I need to associate some very complicated restrictions with the problem. My cost function is defined by the absolute value of a sum of complex numbers in which the phases are the variables that must be optimized and the absolute values of these complex numbers are known. That said, I would like to add a restriction defined by the absolute value of the difference between the absolute values of two sums of complex numbers: the first term is the cost function itself and the second term is another absolute value of the sum of complex numbers with absolute values known and phases corresponding to the problem variables. I would like to know how to add this restriction (Is this really possible?) using fmincon and intlinprog (these phases can be continuous or discrete). I attached the mathematical expressions to make everything clear.
Optimization Problem:
Restriction:

回答 (1 件)

Walter Roberson
Walter Roberson 2023 年 12 月 13 日
Use the nonlinear contraint function.
f(x)-g(x)<=c translates into f(x)-g(x)-c <= 0 so return f(x)-g(x)
Caution: nonlinear contraints are not necessarily valid at all times .
  3 件のコメント
Matt J
Matt J 2023 年 12 月 18 日
編集済み: Matt J 2023 年 12 月 18 日
intlinprog cannot be applied to nonlinear discrete problems. You would have to use ga(), where nonlinear constraint are expressed in the same manner.
Gabriel
Gabriel 2023 年 12 月 18 日
Excellent! I will try to use the genetic algorithm function and come back here with an example of discrete variables and non-linear constraints. Thank you for the tip.

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

カテゴリ

Help Center および File ExchangeLinear Programming and Mixed-Integer Linear Programming についてさらに検索

製品


リリース

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by