首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带矩阵AMPL中的约束

带矩阵AMPL中的约束
EN

Stack Overflow用户
提问于 2021-11-26 19:22:47
回答 1查看 72关注 0票数 1

如何使用AMPL中的矩阵进行约束,其中下一个职位必须小于当前位置?我需要一些像习,j<=xi,j+1这样的东西,但是我不知道如何把它放在AMPL项目中。我已经试过这样做了:subject to prioridade{i in SEM}: {j in PROD-1} d[i,j]<=d[i,j+1],而求解者还给了我这个:

代码语言:javascript
复制
    syntax error
context:  {j in  >>> PROD- <<< 1} d[i,j]<=d[i,j+1]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Checking ampl.mod for gurobi_options...
Checking ampl.com for gurobi_options...
Executing AMPL.
processing data.
processing commands.
Executing on prod-exec-1.neos-server.org
 Error (2) in /opt/ampl/ampl -R amplin```
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-26 21:11:19

约束声明的语法无效AMPL。更具体地说,{j in PROD-1}部件不合适,所以处理器不知道它是什么。

假设PROD是一个参数,我猜您想要这样的东西:

代码语言:javascript
复制
subject to prioridade{i in SEM, j in 1..PROD-1}: d[i,j] <= d[i,j+1];

如果PROD是一个集合,那就不起作用了,因为PROD-1没有任何意义。下次你发问时,一定要说出你的程序的模型实体是什么。更好的是,共享整个代码,或者至少共享其中的相关部分。

我可以看出您是AMPL的新手,所以我推荐您阅读一些基本的AMPL介绍,比如。另外,由于您使用的是NEOS,您可能想看看PIFOP IDE,在这里您可以直接从浏览器中使用NEOS。

免责声明:我是那个工具的开发者。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70129171

复制
相关文章

相似问题

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