Filter löschen
Filter löschen

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

6 Ansichten (letzte 30 Tage)
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:

Antworten (1)

Walter Roberson
Walter Roberson am 13 Dez. 2023
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 Kommentare
Matt J
Matt J am 18 Dez. 2023
Bearbeitet: Matt J am 18 Dez. 2023
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 am 18 Dez. 2023
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.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Linear Programming and Mixed-Integer Linear Programming finden Sie in Help Center und File Exchange

Produkte


Version

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by