首页
学习
活动
专区
圈层
工具
发布

AMPL语法
EN

Stack Overflow用户
提问于 2015-01-18 10:57:59
回答 1查看 984关注 0票数 1

我正在努力学习AMPL语法(这是我的第一个项目)。在我的模型里:

代码语言:javascript
复制
set GRID; # a grid represented by a sequence of integer
param W; # width of the grid
param d{i in GRID, j in GRID}; # distance between point of the grid

在我的数据中:

代码语言:javascript
复制
set GRID = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16;
param W = 4;
param d{i in GRID, j in GRID} = sqrt( (abs(i-j) mod W)**2 + (abs(i-j) div W)**2 ); # I want to calculate the distance between each pair of points

但在最后一行,我得到了一个错误:

代码语言:javascript
复制
 (offset 7)
 expected ; ( [ : or symbol
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-19 15:02:10

AMPL数据格式不允许表达式,因此需要在模型本身中指定d参数的初始化:

代码语言:javascript
复制
set GRID; # a grid represented by a sequence of integer
param W; # width of the grid
param d{i in GRID, j in GRID} = sqrt((abs(i-j) mod W)**2 + (abs(i-j) div W)**2);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28008910

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档