Подмножества, определяющие программирование GAMS

У меня есть три набора, I, J и K, я знаю, что для определения подмножества в GAMS я должен написать его так: I2 (I), когда набор I2 является подмножеством набора I.

Проблема в том, что третий набор, Набор K, является подмножеством набора I и J, и я не знаю, как его закодировать в GAMS.

Заранее спасибо :)

PS Кто-нибудь с достаточной репутацией создайте тег GAMS, потому что в списке нет ничего, связанного с этой темой.


person Sepideh Gh    schedule 22.09.2014    source источник


Ответы (1)


Если I и J не пересекаются, вы можете иметь

set I / i1*i10 /,
    J / j1*j10 /,
    I_U_J / set.I, set.J /,
    K(I_U_J) / i1, i4, j3, j6 /;

Если они не пересекаются, приведенный выше код выдаст ошибку, и вместо этого вы можете сделать

set I_U_J / i1*i10 /,
    I(I_U_J) / i1*i7 /,
    J(I_U_J) / i3*i10/,
    K(I_U_J) / i4*i8/;
person David Prentiss    schedule 29.10.2014