上海卡贝信息技术有限公司

 

 

AMPL 发行说明

 

20230124

在块模式下显示错误上下文(调用 “”).ampl -b ...

20221013

修复了版本 20220505 中引入的处理数据部分的错误。 例:

set A := 1..2; param p{A}; param q{A};  
data;  
param: p q :=  
[*] 1 2.5 3	# erroneously complained about "."      
    2 4 5.6;  
display p, q;

20221008

修复了 64 位 ARM 二进制文件中在某些情况下导致错误值的配置错误,比如某些要计算的内容。跟今天的 64 位 ARM 二进制文件“”将报告版本 20221008Normal01()ampl -vvq

20220927

修复由于变量的不当使用而导致的几条错误消息。以前的例子

 var x >= 0 integer; var y >= 0 integer;  
subj to con: x + y in {0,3,5};  
solve;  

收到令人惊讶的错误消息

presolve, constraint con:      
            Logical constraint is always false.  
Infeasible constraints determined by presolve.  

现在第二行引发错误消息

Cannot test whether a variable expression is in a set expression.  
context:  subj to con: x + y in  >>> {0,3,5}; <<<   

此示例可以重述为

var x >= 0 integer; var y >= 0 integer;  
var z in {0,3,5};  
s.t. con: x + y == z;  

以前是小例子的第二行

var x >= 0;  
subj to con: x in {0,3,5};  

引发了令人惊讶的错误消息

continuous variable in tuple  
context:  subj to con: x in  >>> {0,3,5}; <<<   

不是它得到

Cannot test whether a variable is in a set expression.  
context:  subj to con: x in  >>> {0,3,5}; <<<   

该示例可以重写(无报错)为

var x in {0,3,5};  

对于 “” 声明,AMPL无声地生成二进制文件 由 SOS1 条件和定义 x 的约束var x in set_expr相关的变量。

20220812

修复20220730更改中的错误,该错误导致定义变量的某些使用出错 - 仅当20220730的更改相关时。

20220730

修复定义变量的错误:如果一个定义的变量非线性地使用了一个问题变量,另一个定义的变量线性地使用第一个问题变量,没有对问题变量进行其他使用,并且第二个定义的变量是非线性使用的,那么就不计算关于问题变量的导数。例:

set I = 1..3; var x{i in I} := i;    
var v1 = x[1] + x[2]^2;    
var v2 = v1 + x[3]^3;  
minimize obj: v2^2;  

由于 .nl 文件x[2]中的错误,未计算有关的导数。

20220703

修复版本 20220505 中引入的故障:在数据部分中,下标集的下标中未引号的“-”给出了错误消息。例:

set S; set T{S}; data;    
set S := 2022-06-26_03;    
set T[2022-06-26_03] := a b c;    
display T;  

将第三行更改为

set T['2022-06-26_03'] := a b c;  

是一个变通办法。

20220621

修复控制台输入的故障:如果光标位于当前行的开头(可能是因为按了 HOME 键),则 DELETE 键不执行任何操作。

使用历史记录和向上和向下箭头键可以正确调用的最长行从 1000 个字符增加到 4000 个字符。

20220506

在数据部分中,当 x 是变量时,当 x 还没有当前值时,将 x.val 视为 x,当 c 是约束时,对于 c 和 c.dual ,同样。

在小例子中

var x; data; var x.dual := 3;    

将错误消息从“dual 不是后缀”更改为“dual 不是可分配的后缀”。(当 x 是用 “” 声明的已定义变量时,x.dual 是隐含约束 “x = 表达式” 的对偶变量的值。定义的变量被替换出问题,因此求解器看不到它们,但有时希望看到它们的对偶变量值。var x = expression;

20220505

修复了 “” 命令中的一个错误,该错误未打印约束的默认值(双精度)。例:show

var x; s.t. cx default 1: x <= 4;    
show cx;  

允许后缀(关于变量、约束、目标、问题)出现在数据部分中。像通常的数据部分一样,约束、目标或问题的名称可以用“param”或“var”引入。例如

var x;    
minimize o: (x-3)^2;    
suffix foo;    
data;    
var o.foo 3.2; # or "var o := 3.2"; the ":=" is optional here.    
# or "param o.foo 3.2", etc.    

这是为了使“快照”更有效率;不会检查是否替换后缀值。

如果指定了 ,并且在预解后没有变量仍然使用,输出x[2] “# No .nl file written: no variables used.”"option show_write_files 2"

悄悄地减少 printf 格式中荒谬的大精度。例如,出错。现在它可以工作并静默减少到 ."%.410g""%.500g""%.415g"

 

 

 

 

 

 

联系我们

 

微信公众号

咨询微信

企业店铺

400-621-1085

(节假日期间办公室座机如无人接听,请选择其他联系方式,感谢理解!祝您节日快乐!)

 

联系我们 快速链接 相关产品 上海卡贝信息技术有限公司

©2023  上海卡贝信息技术有限公司

产品中心

下载中心

站点地图

隐私政策

 

销售QQ咨询

产品QQ咨询

淘宝店铺

 

综述

最新更新:20230124

下载试用

 

 

GAMS

LINGO

What'sBest!

SmarPLS

Stata

IBM SPSS Statistics