lingo问题,对专业的人来说很简单的.MODEL :SETS:集合段XYI/ @FIL E(′data1txt′) / :x ,y ,r ; 定义变量ENDSETSMIN = R1 - R2 ; 目标函数;下面是约束;R1 = @MAX(XYI(J ) :r (J ) ) ; 找出半径的最大值;R2 = @MIN(XYI(J ) :r (J

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 10:16:35
lingo问题,对专业的人来说很简单的.MODEL :SETS:集合段XYI/ @FIL E(′data1txt′) / :x ,y ,r ; 定义变量ENDSETSMIN = R1 - R2 ; 目标函数;下面是约束;R1 = @MAX(XYI(J ) :r (J ) ) ; 找出半径的最大值;R2 = @MIN(XYI(J ) :r (J

lingo问题,对专业的人来说很简单的.MODEL :SETS:集合段XYI/ @FIL E(′data1txt′) / :x ,y ,r ; 定义变量ENDSETSMIN = R1 - R2 ; 目标函数;下面是约束;R1 = @MAX(XYI(J ) :r (J ) ) ; 找出半径的最大值;R2 = @MIN(XYI(J ) :r (J
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文件夹里又应该如何更改程序?

lingo问题,对专业的人来说很简单的.MODEL :SETS:集合段XYI/ @FIL E(′data1txt′) / :x ,y ,r ; 定义变量ENDSETSMIN = R1 - R2 ; 目标函数;下面是约束;R1 = @MAX(XYI(J ) :r (J ) ) ; 找出半径的最大值;R2 = @MIN(XYI(J ) :r (J
语法上没有问题啊.
然后是 data1txt文件应该放在lingo的安装目录下面.例如你是安装在D盘,那么只需要将data1txt文件放在相应的文件夹里面就是了.对于程序是不需要修改的.
下面是我找的关于@FILE语句的用法:
@file函数
该函数用从外部文件中输入数据,可以放在模型中任何地方.该函数的语法格式为@file(’filename’).这里filename是文件名,可以采用相对路径和绝对路径两种表示方式.@file函数对同一文件的两种表示方式的处理和对两个不同的文件处理是一样的,这一点必须注意.
例4.14 以例1.2来讲解@file函数的用法.
注意到在例1.2的编码中有两处涉及到数据.第一个地方是集部分的6个warehouses集成员和8个vendors集成员;第二个地方是数据部分的capacity,demand和cost数据.
为了使数据和我们的模型完全分开,我们把它们移到外部的文本文件中.修改模型代码以便于用@file函数把数据从文本文件中拖到模型中来.修改后(修改处代码黑体加粗)的模型代码如下:
model:
!6发点8收点运输问题;
sets:
warehouses/ @file('1_2.txt') /: capacity;
vendors/ @file('1_2.txt') /: demand;
links(warehouses,vendors): cost, volume;
endsets
!目标函数;
min=@sum(links: cost*volume);
!需求约束;
@for(vendors(J):
@sum(warehouses(I): volume(I,J))=demand(J));
!产量约束;
@for(warehouses(I):
@sum(vendors(J): volume(I,J))