Использование массивов в диапазоне для CPLEX OPL - PullRequest
0 голосов
/ 16 мая 2018
{int} t1 = {1,2,3};
{int} t2 = {4,5,6};
range t= t1..t2;

C[t4] >= sum (d in d) d * task[t4][d];          

В основном я хочу использовать конкретные значения для каждого t1 t2 t3. Я хочу, чтобы мой диапазон между t1 и t4. И тогда я называю t1, я хочу использовать 1 2 3 в качестве индексов. Я не мог найти способ обойти это, и я новичок в CPLEX OPL. Это возможно? Если да, то как мне этого добиться?

1 Ответ

0 голосов
/ 16 мая 2018

позвольте мне помочь вам с синтаксисом:

{int} t1 = {1,2,3};
{int} t2 = {4,5,6};
range D=1..10;



tuple tuple4
{
int i;
int j;
}

{tuple4} t4={<i,j> | i in t1,j in t2};

int task[<i,j> in t4][d in D]=i+j+d;

dvar int C[t4];

subject to
{

forall(i4 in t4)C[i4] >= sum (d in D) d * task[i4][d]; 

}

привет

...