Имею следующую модель.
param nbpdt;
set J;
set I;
param p{i in I, j in J};
var S, integer, >=0;
var O, integer, >=0;
var E, integer, >=0;
#objectif
minimize surface: sum{i in I} p[i,1]-(p[i,2] * S)-(p[i,3] * O)-(p[i,4] * E);
Когда я пытаюсь запустить его, появляется эта ошибка:
pv.mod:9: i not defined
Context: ; minimize surface : sum { i in I } p [ i , 1 ] - ( p [ i ,
У кого-нибудь есть идея?
Оператор суммы имеет тот же приоритет, что и операторы плюса и минуса.
Итак, в ваш срок
sum{i in I} p[i,1] - (p[i,2] * S)
сумма применяется только к p [i, 1], а не к следующему члену. Просто добавьте круглые скобки по мере необходимости, например
sum{i in I} ( p[i,1] - (p[i,2] * S) )