cplex opl项目 结果输出到TXT文件和从TXT文件读取数据

在cplex opl项目 想把决策变量p[K][I][J][T]和adjusted_E1[K][I][J]的结果导出到一个TXT文件里面 另外,希望E[K][I][J]的值可以直接从一个TXT文件里面读取。最后,我还有一个约束条件 也写不出来代码 adjusted_p[K][I][J][T]=adjusted_p[K][J][I][6-T]
/*********************************************
 * 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; 
 
     }       
 

以下网站希望对你有所帮助:
https://www.thinbug.com/q/21985262

你这是啥语言?

https://perso.ensta-paris.fr/~diam/ro/online/cplex/cplex1271/refjsopl/html/IloOplOutputFile.html
OPL有个扩展ILOG可以写文件,你参考下,我不太会

参考一下这个呢 希望对你有帮助

这个语言,还真没接触过,而我看你再2021年都已经提问过这门语言了:


如果你研究了一年这门语言,都无法修改的话,没接触过的人更无法帮你了
这里有一个这门语言的例子:
https://download.csdn.net/download/bj1963875241/9031859?utm_medium=distribute.pc_relevant_download.none-task-download-2~default~BlogCommendFromBaidu~Rate-11-9031859-download-10118785.pc_relevant_download_topnsimilarv2&depth_1-utm_source=distribute.pc_relevant_download.none-task-download-2~default~BlogCommendFromBaidu~Rate-11-9031859-download-10118785.pc_relevant_download_topnsimilarv2&dest=https%3A%2F%2Fdownload.csdn.net%2Fdownload%2Fbj1963875241%2F9031859&spm=1003.2020.3001.6616.11

学生阶段就搞这么复杂的了,加油

网上的方案

SheetConnection sheet("test.xls");//连接Excel的工资表
Gasolines from SheetRead(sheet,"'sheet 1'!A1:A4");//从工作表中读取A1--A4的内容
a to SheetWrite(sheet,"RESULT!A1:A4");

这个数学优化语言资源太少,没有接触过。但是如果按照其他的导出Excel的方法可以尝试一下

1.
txtConnection sheet ("test.txt");//连接Excel的工资表
text1 to SheetWrite(sheet,"RESULT");
2.
public Cplex Model= new Cplex();    
TextWriter TWoutput = File.CreateText("test.txt"));
Model.SetOut(TWoutput);

不懂,还在学习中,加油,大家都很棒的

参考链接,希望有帮助哦