【问题标题】:Pulp - LP Objective function formulation纸浆 - LP 目标函数公式
【发布时间】:2023-01-12 10:37:45
【问题描述】:

我正在努力解决电动汽车充电站的集合覆盖问题。我的目标是最大化充电站半径所覆盖的需求。

我有两个变量来构成目标函数。 Yij 表示需求位置 i 被充电站 j 的半径覆盖。 类似地,Xj 表示充电站 j 是否开放。

我正在寻找创建一个目标函数,如下所示: 最大化 OF = ((Y11 + Y21+ Y31 + .... Yn1) * X1) + ((Y12 + Y22+ Y32 + .... Yn2) * X2) + ....

我尝试了以下方法,但遇到了问题:

OptModel += lpSum(((Y[i,j] for i in range (I)) * X[j]) for j in range(J))

关于如何制定这个的任何想法?

【问题讨论】:

    标签: linear-programming pulp


    【解决方案1】:

    你的描述不清楚为什么Y是一个变量?如果需求位置在某个来源的半径范围内,这听起来应该是一个参数(已知值)......关于为什么这不为人知,必须有一些其他的细微差别。 (如果能算出来,算出来,做成参数,你的问题就解决了。)

    您提出的陈述是非法的,因为您将变量相乘并且使陈述非线性。你需要重新制定......

    你有一个隐含的“和”条件,如果YX都为真,你只想获得信用,所以你需要一个额外的变量或者巧妙地关联X和@987654325 @ 因为你不能将它们相乘。

    你为什么不添加这个约束:

    Y[i, j] <= X[j]    for each j
    

    这将从根本上将 Y 的含义更改为“在工作充电器的范围内”。

    还要意识到,如果您总结所有这些 Y 变量(或者您似乎在目标中试图做的那样),您将重复计算可以从多个站点收取的任何需求——不确定这是故意的还是不是。

    【讨论】:

      猜你喜欢
      • 2016-01-14
      • 1970-01-01
      • 2022-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多