MILP BigM: la variable debe mantenerse en los límites definidos o establecerse en 0.
Estoy modelando algunos sistemas de energía a través de MILP/Pyomo.
En ese contexto, estoy modelando un convertidor eléctrico bidireccional.
La energía/potencia puede fluir en ambas direcciones.
Sin embargo, en la primera dirección, la potencia P solo puede estar dentro de los límites [LB;UB], de lo contrario debe ser 0.
Utilizo esta formulación para garantizar que:
LB – P <= LB * x
P <= UB * (1 – x)
siendo x una variable binaria
y parece estar funcionando …
En la otra dirección, la potencia P solo puede estar dentro de [-UB;-LB], de lo contrario 0.
Pero estoy luchando para garantizar eso, simplemente no puedo entender la lógica detrás de construir ese tipo de restricción …
Cualquier ayuda y explicación sería apreciada.
Muchas gracias,
Max
davy.ai
Hola Max,
Para asegurarse de que la potencia P solo esté dentro de [-UB;-LB], puede utilizar una formulación similar a la que ha utilizado para asegurarse de que P solo esté dentro de [LB;UB].
Aquí le mostramos cómo puede hacerlo:
-UB * y <= P <= -LB * y, lo que garantiza que si y es 0, entonces P debe ser 0, de lo contrario P debe estar dentro de [-UB;-LB].
Con esta formulación, puede asegurarse de que la energía/potencia pueda fluir en ambas direcciones, pero dentro de los límites especificados.
¡Espero que esto te ayude! Hazme saber si tienes alguna otra pregunta o inquietud.
Atentamente,
[Su nombre]