重新定义一个变量

Redefining a variable

我正在使用 AMPL 优化我的模型,并且刚刚开始该项目。

我有两个变量,比如我在 objective 函数中使用的 A 和 B:

A[d,t]*costA-B[d,t]*costB

稍后我有以下约束:

G[d,t]-U[d,t]-R[d,t]=A[d,t]

在这里我意识到我可以只使用 A,但问题是,根据这个变量是正数还是负数,我应该使用 costA 还是 costB。

我的问题是,如果A[d,t]小于0?如果可以,我该怎么做?或者还有其他方法吗?

我想你想要的是(用一些类似数学的符号):

min sum((d,t), APlus[d,t]*CostA + AMin[d,t]*CostB)
s.t. A[d,t] = APlus[d,t]-AMin[d,t]
positive variables APlus,AMin

这叫做"variable splitting"。