Glpk 的语法错误:MathProg 模型处理错误

Syntax error with Glpk: MathProg model processing error

这是我的模型:

set linhas;
set colunas;
param c{j in colunas};
param A{i in linhas,j in colunas};
param b{i in linhas};

var x{j in colunas}>=0;

minimize FO:
   sum{j in colunas} c[j]*x[j];

s.t. R{i in linhas}:
   sum{j in colunas} A[i,j] = b[i];

end;

我在使用 glpsol 求解模型时遇到以下错误:

Arquivo1.txt:3: syntax error in parameter data block
Context:  set linhas ; set colunas ; param c {
MathProg model processing error.

你能帮帮我吗?我找不到这段代码有什么问题。

发生此问题是因为您向求解器提供了一个模型文件也作为数据文件,即您使用以下命令行调用了 glpsol

glpsol -m Arquivo1.txt -d Arquivo1.txt

为了解决语法错误,您需要提供一个数据文件,例如Arquivo1.dat,到与您的型号不同的选项 -d。在数据文件中,您必须为集合 colunaslinhas 以及参数 abc 提供具体数据。拥有数据文件后,您可以 运行:

glpsol -m Arquivo1.txt -d Arquivo1.dat -o solution.sol

最后但同样重要的是,享受 solution.sol 中提供的解决方案。