Syntax AMPL语法错误:“uuuuu”“不是一套”&&“uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu”不是参数<;或约束或var>&引用;
我是AMPL编程的新手,尽管我对其他编程语言很有经验。 我将此作为.dat文件的第一个.run文件列出:Syntax AMPL语法错误:“uuuuu”“不是一套”&&“uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu”不是参数<;或约束或var>&引用;,syntax,ampl,Syntax,Ampl,我是AMPL编程的新手,尽管我对其他编程语言很有经验。 我将此作为.dat文件的第一个.run文件列出: data; #set declarations set TIME = {0..1680} ordered; #time # set GENHRS := {150..1660} ; #generation hours #Scalars param StorageMin :=1;# Minimum reservoir storage level par
data;
#set declarations
set TIME = {0..1680} ordered; #time
# set GENHRS := {150..1660} ; #generation hours
#Scalars
param StorageMin :=1;# Minimum reservoir storage level
param StorageMax :=50;# Maximum reservoir storage level
param Qmin :=1;# Minimum total outflow
param QturbMax :=20;# Maximum level of outflow through turbine
#param Qin {t in TIME};# need to read in from file.
正如在标题中一样,我运行它(通过cmd)时出错
“时间不是一个集合”以及上面列出的所有其他参数:“\uuuuuuuuu”不是一个参数”
我很困惑。据我所知,它们都是用正确的语法定义的,尽管我无法找出“:=”和“=”之间的区别,但我已经尝试了这两种方法,两种方法都不起作用
我不知道它是否相关,但约束、变量和目标在我的.mod文件中指定。AMPL语言由两部分或两种模式组成,一种用于指定优化模型的建模语言,另一种用于提供集合和参数数据。
data
语句将AMPL切换到数据模式,在该模式下,它将输入解释为用数据规范语言编写的
AMPL码
set TIME = {0..1680} ordered;
给出set
时间的声明,因此它应该在模型中使用,而不是在数据中使用。AMPL语言由两部分或两种模式组成,一种用于指定优化模型的建模语言,另一种用于提供集合和参数数据。data
语句将AMPL切换到数据模式,在该模式下,它将输入解释为用数据规范语言编写的
AMPL码
set TIME = {0..1680} ordered;
给出setTIME
的声明,因此应该在模型中使用,而不是在数据中使用