重新定义一个变量
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"。
我正在使用 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"。