[英]GEKKO - Indicator Variable for Columns of Variables as Constraints of Problem
假設“我”如下:(指標)
列代表充電器 1 和充電器 2。
行代表 EV1、EV2、EV3。
時間戳等於 6。
每輛電動汽車只能使用一個充電器充電。 例如對於 EV 1:在時間 0,I = [0,1],在時間 1,I = [1,0],這不是有效的情況。 我想在充電器數量大於 2 時實現它。
什么樣的約束可以滿足這個要求?
I= [[[0.0], [1.0]],
[[0.0], [1.0]],
[[0.0], [1.0]]],
[[[1.0], [0.0]],
[[1.0], [0.0]],
[[1.0], [0.0]]],
[[[0.0], [0.0]],
[[0.0], [0.0]],
[[0.0], [0.0]]],
[[[0.0], [0.0]],
[[0.0], [0.0]],
[[0.0], [0.0]]],
[[[0.0], [0.0]],
[[0.0], [0.0]],
[[0.0], [0.0]]],
[[[0.0], [0.0]],
[[0.0], [0.0]],
[[0.0], [0.0]]]], dtype=object)
此類問題的典型方法是創建一個變量數組供充電器使用,例如I = m.Array(m.Var,(3,6),integer=True,lb=0,ub=1)
用於 3 個 EV 和 6 個時間段。 如果只有一個充電器,則可以使用每個時間段的方程式創建約束,例如:
for i in range(6):
m.Equation(m.sum(I[:,i])==1)
指示變量I
對於其中一輛車輛只能是一個(充電)。 還有關於如何使用 integer 編程形成調度優化問題的附加信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.