2016-09-25 40 views
1

如何声明变量取决于其他变量作为AMPL中的约束?如何声明变量取决于其他变量作为AMPL中的约束?

我试图解决最小化之间的“变量的最大数量 - 变量的最低数量”的区别

所以,我的目标方程 减少最多{在0..T T】生产[T ] + min {t in 0..T} production [t]; (t是指标,T是时间段参数,生产是决策变量。)

但是,它不是线性代数。 因此,我试图将'max {t in 0..T} production [t]'声明为变量'y'。 所以,我想写'var y> =所有产品'。 但它不工作。

+0

服从const2 {i in 1..T}:z <= production [i]; – Hoon

回答

0

约束

s.t. max_production{t in 0..T}: y >= production[t]; 

将确保y大于或小于production[t]所有t in 0..T相等。如果您最小化y那么它将确切地为max{t in 0..T} production[t]