1

我想调查投资一个额外的生产设施是否有利可图,因此我必须在我的目标函数中考虑资本化。

因此,我想知道是否有可能,例如,如果 y[t] = 1,那么 y[g] = 1 for g != t, g > t 并且其中 g,t 是时间间隔集的子集T。

我的第一个想法是:

subject to Constraint1:
    y[t] = y[t-1] for all t in T

但这肯定会使 y 的解成为 y[0] 中的起始值,这显然是我不想要的。

为了澄清。假设 y[t] 是一个二元变量,如果投资在时间 t 内进行,则其值为 1,否则为 0。

希望任何人都可以对此有所了解!

问候

4

1 回答 1

1

约束y[t] = 1, then y[g] = 1 for g != t, g > t可以在 AMPL 中表示为:

s.t. c{t in T: t != t0}: y[t + 1] >= y[t];

其中t0是 set 的第一个元素T。注意使用>=代替=。如果y[t]some 为 1 t,它将驱动y所有后续值为t1。

于 2014-12-15T19:59:37.643 回答