Использование переменных решения в определении данных - GAMS

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

table g(i,j) limits
     1    2
1    1    0.5*x("1",j)
2    1    0.5*x("2",j);

положительные переменные
x(i, j) количество работников с уровнем квалификации i в период j
t(i, j) количество переобучений работников с уровнем квалификации i период j

уравнения

t(i, j) =L= g(i,j)

Теперь очевидно, что это не работает, и я не могу понять, как это сделать. Есть ли на самом деле способ использовать переменные решения таким образом в играх? В принципе, я просто хочу создать красивую матрицу, в которой я могу сохранить их для последующего использования в уравнениях.

Надеюсь, что кто-нибудь может мне помочь.


person Sebastian E    schedule 02.10.2015    source источник


Ответы (1)


Невозможно смешать переменные и параметры (или таблицы) в определении. Потому что параметры (или таблицы) постоянны и не должны содержать переменной части. Таким образом, вы не можете создать красивую и понятную матрицу - вам нужно связать переменную с параметрами в части уравнения, например:

t(i, j) =L= g(i,j)*x(i, j)

Если ваша матрица более сложная и не каждый столбец или строка связаны с переменной (как в вашем примере), вы, вероятно, можете использовать условные выражения для более четкой формулировки вашей модели, например:

con1(i,j)$(ord(i) eq 2)..
t(i, j) =L= g(i,j)*x(i, j)

con2(i,j)$(ord(i) eq 1)..
t(i, j) =L= g(i,j)

для того, чтобы не добавлять x в первый столбец таблицы.

person Paul G.    schedule 08.10.2015