Я пытался выполнить некоторую работу над GLPK / AMPL о простом упражнении, в котором я должен проверить, какое место подходит для минимального расстояния в пределах ряда городов.
Я сделал следующий код в самом конце, но ограничения всегда выдают ошибку, говоря:
.\work.sol:12: operand preceding >= has invalid type
Context: ...bject to DX1 : sum { c in CIDADE } ( latitude [ c ] - lat >=
Мне нужно сделать это ограничение, чтобы это работало, как я могу это сделать?
Я пытался поиграть с круглыми скобками, но ничего не получалось
set CITY;
param longitude {CITY};
param latitude {CITY};
param population {CITY} >= 0;
var lat;
var long;
minimize distancia: sum {c in CITY} (((((lat-latitude[c]) * 3.1415 * 6371.009)/180) + (((long-longitude[c]) * 3.1415 * 6371.009)/180)));
subject to DX1 : sum {c in CITY} (latitude[c] - lat >= latitude[c] - lat);
subject to DX2 : sum {c in CITY} (latitude[c] - lat >= lat - latitude[c]);
subject to DY1 : sum {c in CITY} (long-longitude[c] >= long - longitude[c]);
subject to DY2 : sum {c in CITY} (long-longitude[c] >= longitude[c]-long);