簡體   English   中英

如何將excel數組添加到Cplex

[英]How to add excel arrays to Cplex

我想向 cplex 添加一個 excel,但我只是收到此錯誤:IBM ILOG Concert 的異常:excel:范圍的大小不是數組的大小。 我使用了 SheetConnection。

int M1=3;
int M2=3; 
int P1=3; 
int P2=3; 
int T=12;
int D=12; 
int H=2; 
int J=3;
range patients_meli=0..(M1+1);//0ta4
range patients_Tourist=(M1+2)..(M2+M1+2);
range providers_meli=1..P1;//1ta6
range providers_Tourist=(P1+1)..(P2+P1);
range Period=0..H;

int Cexcl[1..P1, 1..J*3]=...;
int C[p in providers_meli][j in 1..J][h in Period]=Cexcl[p,h+3*(J-1)];
int Cpexcl[1..P2, 1..J*3]=...;
int Cp[p in 1..3][j in 1..J][h in Period]=Cpexcl[p,h+3*(J-1)];

in my .dat file i add code like this:


SheetConnection sheetInput("Book1.xlsx");
Cexcl from SheetRead (sheetInput,"'cost1'!B3:G5");   
Cpexcl from SheetRead (sheetInput,"'cost2'!B3:G5");

我改變了數字我覺得我定義了我的數組錯誤。 或者我的excel有什么問題。 請幫忙。

excel文件圖片:[1]: https : //i.stack.imgur.com/MTWvQ.png [1]: https : //i.stack.imgur.com/pRCuS.png

在你寫的 .mod 中

int Cexcl[1..P1, 1..J*3]=...;

所以大小應該是 9 的 3 倍

但在.dat

Cexcl from SheetRead (sheetInput,"'cost1'!B3:G5"); 

尺寸是 6 的 3 倍

所以這不可能是好事。

您可以查看 examples/opl/oil 中的示例油

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM