微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

错误处理约束 apertura['A']:无法将 'A' 转换为数字放大器

如何解决错误处理约束 apertura['A']:无法将 'A' 转换为数字放大器

我正在处理 AMPL 中的模型。 在 puntiofferta.mod 我有

set SITI ; 
set CITTA ;
######
param T > 0;
param tempo{SITI,CITTA} ;
param costo{SITI};
######
var x{SITI} binary ; # =1 se il sito vien creato 
###### 
subject to vicinanza{i in CITTA}: sum{j in SITI : tempo[j,i] <= T} x[j] >= 1;
subject to apertura{j in SITI}: x[j] <= x[j + 1] + x[j + 2];
######
minimize costo_apertura: sum{j in SITI} costo[j]*x[j];

使用 puntiofferta.dat 中的数据

######
set SITI := A B C ; 
set CITTA := Milano Napoli Roma Palermo;
######
param T := 8;
param costo := 
                        A 10
                        B 8 
                        C 12;
                
param tempo:    
                Milano Roma Napoli Palermo:=
            A     5     6   10      2
            B     6     7   8       7
            C     9     11  2       1;

当我尝试解决我得到的模型时:

ampl: reset;
ampl: option solver gurobi;
ampl: model puntiofferta.mod;
ampl: data puntiofferta.dat;
ampl: solve;
Error executing "solve" command:
error processing constraint apertura['A']:
        can't convert 'A' to a number.

你能帮我吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。