数学建模社区-数学中国

标题: lingo运行时提示链接excel表格时发生错误(附Excel表) [打印本页]

作者: 刘静8701    时间: 2014-4-14 10:43
标题: lingo运行时提示链接excel表格时发生错误(附Excel表)
请教个lingo问题,请了解的友友们指导一下,谢谢了!

model:

SETS:
D/1..3/:M;
V(D,D):VMM,VML,VMU,A1,A2,B1,B2;
ENDSETS

Min=@SUM(V(I,J):0.6*(A1(I,J)+A2(I,J))+0.4*(B1(I,J)+B2(I,J)));
!Min=@SUM(V(I,J)|V(I,J)#NE#0:0.6*(A1(I,J)+A2(I,J))+0.4*(B1(I,J)+B2(I,J)));

@FOR(V(I,J)|VMM(I,J)#NE#0:VMM(I,J)*(M(I)+M(J))-M(I)+A1(I,J)-A2(I,J)=0);

@FOR(V(I,J)|VML(I,J)#NE#0:VML(I,J)*(M(I)+M(J))<M(I)+B1(I,J));

@FOR(V(I,J)|VMU(I,J)#NE#0:VMU(I,J)*(M(I)+M(J))+B2(I,J)>M(I));

@SUM(D(I):M(I))=1;
@FOR(V(I,J):A1(I,J)<0.1);
@FOR(V(I,J):A2(I,J)<0.15);
@FOR(V(I,J):B1(I,J)<0.2);
@FOR(V(I,J):B2(I,J)<0.2);

@FOR(V(I,J):A1(I,J)*A2(I,J)=0);

DATA:
VMM,VML,VMU=@OLE('E:\data.XLS');
@OLE('E:\data.XLS')=A1,A2,B1,B2,M;
ENDDATA

END


注:运行时出现错误:链接excel表格时发生错误!不知道错在哪里了,求指导!

[/table]
表1  专家1数字概率推断矩阵V
[table]
   
  
X11
  
X12
  
XITA

     
X11
      
(0.5,0.5,0.5)
      
      
(0.6,0.8,1.0)
   
     
X12
      
      
(0.5,0.5,0.5)
      
(0.5,0.65,0.8)
   
   
XITA
  
(0.0,0.2,0.4)
  
(0.2,0.35,0.5)
  
(0.5,0.5,0.5)
此表是我的原数据

下表Excel是我调用的data数据,我将表1中的三角模糊数拆成单个数字,
使每个表格元素只是一个数字!(为了编写代码方便,但不知道把一个表拆分成三个表这样行不,求教?)

输入VMMX11X12XITA
X110.500.6
X1200.50.5
XITA00.20.5
VMLX11X12XITA
X110.500.8
X1200.50.65
XITA0.20.350.5
VMUX11X12XITA
X110.501
X1200.50.8
XITA0.40.50.5





作者: 刘静8701    时间: 2014-4-14 10:50
呃,表1怎么成这势了,重新写一遍!如下的三角模糊数矩阵:

           X11                         X12                          XITA
X11        0.5,0.5,0.5            0,0,0                        0.6,0.8,1.0

X12           0,0,0                     0.5,0.5,0.5                0.5,0.65 ,0.8

XITA           0,0.2,0.4              0.2,0.35,0.5        0.5,0.5,0.5
作者: wujianjack2    时间: 2014-4-14 12:50
指定块了吗?有没有先打开Excel?
作者: 刘静8701    时间: 2014-4-14 23:35
wujianjack2 发表于 2014-4-14 12:50
指定块了吗?有没有先打开Excel?

用Excel表格中“公式——名称管理器”已经指定域了,经您提示也把data表打开了!刚开始没有指定输出变量A1,A2,B1,B2,M的范围,后来也补上了,但还是在VMM,VML,VMU=@OLE('E:\data.XLS'); 这里链接就出错了!  
作者: wujianjack2    时间: 2014-4-14 23:56
那有指定块VMM等么?你使用了@ole()的缺省方式,表块名要与左端赋的变量名相同。
作者: 刘静8701    时间: 2014-4-15 13:16
wujianjack2 发表于 2014-4-14 23:56
那有指定块VMM等么?你使用了@ole()的缺省方式,表块名要与左端赋的变量名相同。

如我的最开始上传的表格,excel表格中域名称就是VMM等,代码中的输入变量名也是VMM等,域名和变量名相同就缺省了。选择的范围就是3*3数据矩阵,按说名称和数据范围都应该没啥问题,怎么会运行不出来,好晕……

会不会我电脑版本或者是lingo软件的问题,点运行后过几秒总提示lingo11已停止工作,然后自动关闭!


作者: 刘静8701    时间: 2014-4-15 14:19
wujianjack2 发表于 2014-4-14 23:56
那有指定块VMM等么?你使用了@ole()的缺省方式,表块名要与左端赋的变量名相同。

已经解决啦!




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5