Hi all,
I am a newbie in using OPL,i have written like this:
int M=…;
float P2=…;
float H1[1..M][1..M]=…;
float B0=…;
float n0=…;
dvar float+ Yji1[1..M][1..M]in 0..1 ;
//dvar int Yji1[1..M][1..M] in 0..1 ;
maximize
B0*sum(i in 1..M)(
log(1+sum(j in 1..M)(
P2*H1[j][i]*Yji1[j][i]/
(n0+sum(n,q in 1..M)P2*H1[n][i]*Yji1[n][q]
-P2*H1[j][i]*sum(k in 1..M)Yji1[j][k])
)
)/log(2)
);
When I run the code i get errors like:
CPLEX(default) cannot extract expression: maximize (sum(i in 1..3) (ln(sum(j in 1..3) ((H1[j][i]*0.126)*Yji1[j][i]) / (sum(n in 1..3, q in 1..3) (H1[n][i]*0.126)*Yji1[n][q]+((H1[j][i]*0.126)*(sum(k in 1..3) Yji1[j][k]))*(-1)+6.3e-13)+1) / 2.30258509299405) / (ln(2) / 2.30258509299405))*20000000. 20180120.mod /Solve 20:1-30:5 /home/sky/opl/Solve/20180120.mod OPL Problem Marker
When I remove the sum of noise power behind, the procedure is right, and this is why
maximize
B0*sum(i in 1..M)(
log(1+sum(j in 1..M)(
P2*H1[j][i]*Yji1[j][i]/n0
//(n0+sum(n,q in 1..M)P2*H1[n][i]*Yji1[n][q]
//-P2*H1[j][i]*sum(k in 1..M)Yji1[j][k])
)
)/log(2)
);
I dont know how to fix this or other problems in the code.