在cplex opl项目 想把决策变量p[K][I][J][T]和adjusted_E1[K][I][J]的结果导出到一个TXT文件里面 另外,希望E[K][I][J]的值可以直接从一个TXT文件里面读取
/*********************************************
* OPL 12.4 Model
* Author: a
* Creation Date: 2020-1-2 at 下午07:07:28
*********************************************/
{string}Experts=...;
{string}Alternatives=...;
{string}Arributes=...;
{string}Arributes2=...;
{string}Term=...;
float E[Experts][Alternatives][Arributes]=...;
float W[Experts]=...;
float NS[Term]=...;
dvar float+ u;
dvar float+ u1;
dvar float+ u0;
dvar float+ EC[Alternatives][Arributes];
dvar float+ adjusted_E1[Experts][Alternatives][Arributes];
dvar float+ adjusted_E2[Experts][Arributes][Arributes2];
dvar float+ adjusted_E3[Experts][Alternatives][Arributes2];
dvar float+ adjusted_E4[Experts][Arributes][Alternatives];
dvar float+ p[Experts][Alternatives][Arributes][Term];
dvar float+ adjusted_p[Experts][Alternatives][Arributes][Term];
minimize u;
subject to {
c1:
forall(K in Experts, I in Alternatives, J in Arributes:J>=I)
sum(K in Experts, I in Alternatives, J in Arributes)
abs(E[K][I][J]-adjusted_E1[K][I][J])==u1;
c2:
2*u1/4/5/4/6==u;
c3:
sum(K in Experts, I in Alternatives, J in Arributes)
abs(adjusted_E1[K][I][J]-EC[I][J])<=(1-0.91)*4*5*4*6;
c4:
forall(K in Experts)
sum(I in Alternatives, J in Arributes, Q in Arributes2)
abs(adjusted_E1[K][I][J]/6+adjusted_E2[K][J][Q]/6-adjusted_E3[K][I][Q]/6-0.5)<=(1-0.84)*3*5*4*3/2;
c5:
forall(I in Alternatives, J in Arributes)
sum(K in Experts)
W[K]*adjusted_E1[K][I][J]==EC[I][J];
c6:
forall(K in Experts, I in Alternatives, J in Arributes, Q in Arributes2:J==Q)
adjusted_E1[K][I][J]-adjusted_E3[K][I][Q]==0;
c7:
forall(K in Experts, I in Alternatives, J in Arributes, Q in Arributes2:J==I)
adjusted_E2[K][J][Q]-adjusted_E3[K][I][Q]==0;
c8:
forall(K in Experts, I in Alternatives, J in Arributes, Q in Arributes2:Q==I)
adjusted_E2[K][J][Q]-adjusted_E4[K][J][I]==0;
c9:
forall(K in Experts, I in Alternatives, J in Arributes)
adjusted_E1[K][I][J]+adjusted_E4[K][J][I]==6;
c10:
forall(K in Experts, I in Alternatives, J in Arributes)
sum(T in Term)
p[K][I][J][T]*NS[T]==E[K][I][J];
c11:
forall(K in Experts, I in Alternatives, J in Arributes)
sum(T in Term)
p[K][I][J][T]==1;
c12:
forall(K in Experts, I in Alternatives, J in Arributes)
sum(T in Term)
adjusted_p[K][I][J][T]*NS[T]==adjusted_E1[K][I][J];
c13:
forall(K in Experts, I in Alternatives, J in Arributes)
sum(T in Term)
adjusted_p[K][I][J][T]==1;
c14:
sum(K in Experts, I in Alternatives, J in Arributes, T in Term)
abs(p[K][I][J][T]-adjusted_p[K][I][J][T])/2/4/5/5==u0;
// c10:
// u0==u;
}