如何写不等于ampl或为变量的参数设置条件?

问题描述 投票:0回答:1

我正在尝试在M中设置变量W {m,在N中设置n},其中M和N是同一组值。 M和N代表位置。变量W表示m和n之间的转移。因此,变量W中的m不能等于n。例如,当m = 1时,n只能等于2和3(M = N = c(1,2,3))。

这是成本最小的两阶段随机模型。我试图将m <> n写入求和条件,并在约束中写入m <> n。所有返回的语法错误。

我试图将条件添加到目标函数中:

sum {m in M,n in N | m <> n} W [m,n];

sum {m中的m,n中的n,m <> n} W [m,n];

sum {m中的m,n中的n,m!= n} W [m,n];

sum {m in M,n in N | m!= n} W [m,n];

我也试图将其添加到变量定义中:

var W {m in M,n in N,m <> n};

等等。

我尝试了很多方法,但是都没有用。如果我将m <> n或m!= n添加到模型中,则AMPL返回语法错误。删除m!= n条件后,模型可以工作,但返回错误的数字。

algorithm optimization ampl
1个回答
0
投票

sum {m中的m,N中的n:m <> n} W [m,n];

© www.soinside.com 2019 - 2024. All rights reserved.