python - GEKKO - 作为问题约束的变量列的指示变量

标签 python optimization constraints operation gekko

假设“I”如下:(指示符)

列代表充电器 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只能为1(正在充电)。有关如何形成 scheduling optimization problems with integer programming 的其他信息.

关于python - GEKKO - 作为问题约束的变量列的指示变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68765720/

相关文章:

python - Qt状态栏颜色

python - Mapreduce无法按值排序[python]

python - 删除N个随机对象Django orm

cocoa - 如何更新 CALayer 上的约束?

具有相对宽度/高度的 IOS8 自动布局

python - 如何在 Python 3 中一次迭代两个列表?

algorithm - 再现具有原始形状的图像。 (图形优化问题)

java - 为什么 Android API 要求结果参数而不是返回方法?

php - 一对多的最优数据库结构设计

ios - 由于未捕获的异常 'NSGenericException' 而终止应用程序,原因 : 'Unable to activate constraint with anchors