Effacer les filtres
Effacer les filtres

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

6 vues (au cours des 30 derniers jours)
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:

Réponses (1)

Walter Roberson
Walter Roberson le 13 Déc 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 commentaires
Matt J
Matt J le 18 Déc 2023
Modifié(e) : Matt J le 18 Déc 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 le 18 Déc 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.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Linear Programming and Mixed-Integer Linear Programming dans Help Center et File Exchange

Produits


Version

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by