我是一名学习AMPL的学生,并且正在研究线性问题。当我尝试用一些数据解决它时,我收到以下消息:
文件存在 您正在使用求解器cplexamp。 正在检查ampl.mod中的cplex_options ... 正在检查ampl.com中的cplex_options ... 执行AMPL。 处理数据。 处理命令。 在prod-exec-3.neos-server.org上执行 没有声明任何变量。
我不知道“文件存在”指的是什么。应该在这里吗?但是我担心“没有声明变量”。这是什么意思?我已经搜索了很多有关如何正确声明变量的信息,但是找不到任何有用的信息。
我尝试过多种声明变量P的方法,但我认为这是正确的(过去它在另一个问题上对我有用)。
这是我的模型的副本。
param n_persones;
param n_unitats;
param max_caps;
param min_caps;
set caps := 1..n_persones;
set unitats := 1..n_unitats;
param si_unitats{caps,unitats};
param no_unitats{caps,unitats};
param si_cocaps{caps,caps};
param no_cocaps{caps,caps};
param pes{caps};
var P{i in caps, k in unitats} binary;
maximize f :
sum {i in caps} (pes[i] * (sum {k in unitats} (sum {j in caps} (si_cocaps[i,j] * P[i,k] * P[j,k] - no_cocaps[i,j] * P[i,k] * P[j,k])))
+ ((1 - pes[i]) * (sum {k in unitats} (si_unitats[i,k] * P[i,k] - no_unitats[i,k] * P[i,k]))));
subject to fitasup {k in unitats}:
(sum {j in caps} P[j,k]) <= max_caps;
subject to fitainf {k in unitats}:
(sum {j in caps} P[j,k]) >= min_caps;
subject to una_unitat_per_cap {i in caps}:
(sum {k in unitats} P[i,k]) == 1;