作业帮 > 综合 > 作业

lingo问题,MODEL :SETS:集合段XYI/ @FIL E(′data1txt′) / :x ,y ,r ;

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/01 07:20:31
lingo问题,
MODEL :
SETS:集合段
XYI/ @FIL E(′data1txt′) / :
x ,y ,r ; 定义变量
ENDSETS
MIN = R1 - R2 ; 目标函数;
下面是约束;
R1 = @MAX(XYI(J ) :
r (J ) ) ; 找出半径的最大值;
R2 = @MIN(XYI(J ) :
r (J ) ) ;
找出半径的最小值;
@BND(x0LOW ,x0 ,
x0HIGH) ; x0 的范围
@BND(y0LOW ,y0 ,
Y0HIGH) ; y0 的范围
@FOR(XYI( I) :r ( I) = ( (x ( I) - x0) 3 (x ( I) - x0 + (y ( I) -
y0) 3 (y( I) - y0) ∧(1/ 2) ) ; 计算第i 点处的半径ri ;
DATA :数据段
x = @FIL E(′data1txt′) ;
y = @FIL E(′data1txt′) ; 读入测量点的坐标值
x0LOW = @FIL E(′data1txt′) ;
x0HIGH = @FIL E(′data1txt′) ; 读入x0 的上下界
y0LOW = @FIL E(′data1txt′) ;
Y0HIGH = @FIL E(′data1txt′) ; 读入y0 的上下界
ENDDATA
END
这个程序对不?
data1txt文件应该建在哪个盘里?
XYI/ @FIL E(′data1txt′) / :
如果我的安装文件在d盘,我想把data1txt文件放在D:\lingo8.0\lingo8.0文件夹里又应该如何更改程序?
我把那个点加上了……
先谢谢各位认真的回答,对我这个菜鸟帮助真的很大,
先把位置占好,@FIL E(′data1txt′)就是调用文本文件data1.txt的意思,你少加了一个点,data1.txt应该放在你这个程序所在文件夹,放在其他文件夹我也不知道怎么改.我来随便写个文件帮你试试啊.
程序要改一下,你看看啊..
MODEL :
SETS: ! 集合段;
XYI/ @FILE('data1.txt') / :x ,y ,r ; ! 定义变量;
ENDSETS
MIN = R1 - R2 ; ! 目标函数;
! 下面是约束;
R1 = @MAX(XYI(J ) :r (J ) ) ; ! 找出半径的最大值;
R2 = @MIN(XYI(J ) :r (J ) ) ; !找出半径的最小值;
@BND(x0LOW ,x0 , x0HIGH) ; ! x0 的范围;
@BND(y0LOW ,y0 , Y0HIGH) ; ! y0 的范围;
@FOR(XYI( I) :r ( I) = ( (x ( I) - x0)* (x ( I) - x0) + (y ( I) -y0) *(y( I) - y0))^(1/ 2) ) ; ! 计算第i 点处的半径ri ;
DATA : ! 数据段;
x = @FILE('data1.txt') ;
y = @FILE('data1.txt') ; ! 读入测量点的坐标值;
x0LOW = @FILE('data1.txt') ;
x0HIGH = @FILE('data1.txt') ; ! 读入x0 的上下界;
y0LOW = @FILE('data1.txt') ;
Y0HIGH = @FILE('data1.txt') ; ! 读入y0 的上下界;
ENDDATA
END
这是数据部分,我假设的一组数据;
3 2 3 4 ~
2 3 4 5 ~
7 6 8 9 ~
1 ~
6 ~
6 ~
10 ~
结果你也看看吧,以后有什么这方面的问题你可以问我.
Local optimal solution found.
Objective value: 0.9683709
Objective bound: 0.9683709
Infeasibilities: 0.7470247E-11
Extended solver steps: 1
Total solver iterations: 101
Variable Value Reduced Cost
R1 2.549510 0.000000
R2 1.581139 0.000000
X0LOW 1.000000 0.000000
X0 4.500000 0.000000
X0HIGH 6.000000 0.000000
Y0LOW 6.000000 0.000000
Y0 6.500000 0.000000
Y0HIGH 10.00000 0.000000
X( 3) 2.000000 0.000000
X( 2) 3.000000 0.000000
X( 3) 4.000000 0.000000
X( 4) 5.000000 0.000000
Y( 3) 7.000000 0.000000
Y( 2) 6.000000 0.000000
Y( 3) 8.000000 0.000000
Y( 4) 9.000000 0.000000
R( 3) 2.549510 0.000000
R( 2) 1.581139 0.000000
R( 3) 1.581139 0.000000
R( 4) 2.549510 0.000000
Row Slack or Surplus Dual Price
1 0.9683709 -1.000000
2 0.000000 -1.000000
3 0.000000 1.000000
4 0.000000 -0.6327822
5 0.000000 0.3672178
6 0.000000 0.6327822
7 0.000000 -0.3672178
意思就是不能打开文件,我的经验就是要么当前目录下没有数据文件,要么就是你的程序@FILE('data1.txt')部分的分号格式不对.你自己试试吧.以后这方面问题你可以问我哈,尽量帮助新人啊,记得当年我不懂又没人可以问真是难受啊 .