Невозможно определить синтаксическую ошибку в выражении в модели glpk - PullRequest
0 голосов
/ 01 декабря 2018

Я довольно новичок в GLPK.У меня есть следующая модель

set MES;
set MAYORISTA;

param z{m in MES}, binary;
param Ck{m in MES};
param v{i in MAYORISTA, m in MES}, binary;
param Std{m in MES}>= 0;
param St{i in MAYORISTA, m in MES}>= 0;
param D{i in MAYORISTA, m in MES};
param Cfd;
param Cfm;
param Pd;
param P{i in MAYORISTA};
param Cad; 
param Ca {i in MAYORISTA};

var y{m in MES}>= 0;
var x{i in MAYORISTA, m in MES}>= 0;
minimize cost: sum{m in MES} y[m] * Pd + Cfd * sum{m in MES} z[m] + sum{m in MES} Ck[m] + sum{m in MES} (sum{i in MAYORISTA} x[i,m] * P[i] ) + Cfm * sum{i in MAYORISTA, m in MES} v[i,m] + sum{i in MAYORISTA} Ca [i] * ( sum{m in MES} St[i,m]) + sum{m in MES} (Std[m] - sum{i in MAYORISTA} * x[i,m]);

s.t. stock_dini{m in MES: m=1}: Std[m] = 0; 
s.t. stock_d{m in MES: m>1}: Std[m] = Std[m-1] + y[m] - (sum{i in MAYORISTA} x[i,m]);
s.t. stock_mini{i in MAYORISTA, m in MES: m=1}: St[i,m] = 0 ;
s.t. stock_m{i in MAYORISTA, m in MES: m>1}: St[i,m] = St[i,m-1] + x[i,m] - D[i,m];
s.t. costofijo_d {m in MES: z[m]=1}: y[m] > 0;
s.t. costofijo_m {i in MAYORISTA, m in MES: v[i,m]}: x[i,m] > 0;
s.t. entregas1{m in MES: w[m]=250}: prod{i in MAYORISTA} x[i,m] > 0 ;
s.t. entregas1{m in MES: w[m]=0}: sum{i in MAYORISTA} x[i,m] = 0 ;
s.t. entregas1{m in MES: w[m]=200}: sum{i in MAYORISTA} x[i,m] > prod{i in MAYORISTA} x[i,m];

data;
set MES := 1 2 3 4 5 6 7 8 9 10 11 12;
set MAYORISTA := A B;

param Cfd := 5000;
param Cfm := 1000;
param Pd := 5;
param Cad := 1;
param P:    A      B    :=
            13     10 ;

param Ca:    A      B    :=
             3      2 ;

end;

И я получаю следующую ошибку:

Parameter(s) specified in the command line:
 -m lab51.mod -o lab51.txt --tmlim 300
Reading model section from lab51.mod...
lab51.mod:58: syntax error in expression
Context:  ) + sum { m in MES } ( Std [ m ] - sum { i in MAYORISTA } *
MathProg model processing error

Я не могу понять, что с ней не так.Я не уверен, является ли это синтаксической ошибкой, или это ошибка, полученная из определения параметров.Ошибка в биржевой переменной, и я действительно не знаю, как определить их, кроме этого.Я потерян, я был бы очень признателен за помощь здесь

...