Effacer les filtres
Effacer les filtres

optimization with two-part value range

3 vues (au cours des 30 derniers jours)
Marius Buck
Marius Buck le 11 Juin 2024
Commenté : Marius Buck le 13 Juin 2024
Dear MATLAB users and MathWorks support team,
I cannot find a solution to represent an optimization problem in MATLAB in which variables in the objective function can take on a two-part value range. The variable in the objective function should correspond to the thermal output of a heat pump in a central heating system. The variable should be able to assume the values 0 (heat pump off) and all values between 100 and 400 (heat pump on with an output between 100 and 400 kW).
x ∈ {0} ∪ [100, 400]
Do you know of a way to implement this condition? I would very much appreciate an answer or the opportunity to discuss this in more detail.

Réponse acceptée

Stephan
Stephan le 11 Juin 2024
You could try to define 2 variables x1 and x2 as the solution. x1 is an integer that assumes either 0 or 1 and x2 corresponds to the interval of the output of your heat pump. The actual output is the product of x1 and x2. This should solve your problem.
  3 commentaires
Stephan
Stephan le 12 Juin 2024
Modifié(e) : Stephan le 12 Juin 2024
Can you share your code? This would make it easier for contributers to help you. You could also read here - maybe this is helpful.
Maybe it would be useful to adress this topic in a new question.
Marius Buck
Marius Buck le 13 Juin 2024
Dear Stephan, I found out about another way to solve the problem from Matlab Support. It is possible to keep the problem as a linear MILP and thus solve it with the intlinprog solver.
The trick is to use binary indicator variables. Information on this can be found here, for example:

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Surrogate Optimization dans Help Center et File Exchange

Produits


Version

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by