cplex翻译完全版 下载本文

标值通常会被用做下一个节点的截止。当这一选项被设定为正值时,当目标函数取最小值时(或最大值时),这一值将会被从最新寻找到得整数目标值中减去(或加上)。这使得MIP最优化问题忽略那些比已找到的方案优化程度有限的整数解。这一选项能够通过限制节点的数量来改善问题解决的效率;设定这一选项非零的值(默认值)将产生一些使原有问题的整数解,但是同时它的最优整数解将被错失。这一选项的负值将导致一些比原有产生的解更差的或一样的整数解,但是将未必产生所有可能的整数解。这一选项优于GAMS的Cheat参数。

(默认值= 0) objllim (实数)

设定一个较低的目标函数极值将会使Cplex停止优化程序,一旦最小的目标函数值超过了这个极值。

(默认值 = -1e+075) objrng (字符串)

计算规定的GAMS 变量敏感度。不同于其他的选项,objrng能够被在选项文件中重复多次使用。每一个GAMS定义的变量的敏感度信息都将会产生。所有变量的度量信息都将会在定义的过程中产生。除非rngrestart选项被定义,否则度量信息将会在GAMS 列表文件中的开始的解决列表中被打印出来。

(默认值= 没有目标度量被进行) objulim (实数)

设定一个目标函数的上限,这一上限用于终止Cplex优化程序,一旦最大的目标函数值超过了这个极值。

(default = 1e+075) parallelmode (整数)

设定平行最优化模型。可以使用自动地、确定性地、随机性地产生。在这样的背景下,确定性地产生模式意味着使用同样的模型的同样的参数、同样的平台的不同运算将产生相同的解决路径和结果。相反地,随机性模式表明尽管是线程间的时机或不同线程间任务执行顺序间的微小差异都可能会产生不同的解决路径及相应的结果,或不同解向量。当不同线程共同运行时,随机环境对线程间的时间一致性要求较少,因此将产生更好的效果。在确定性模式中,当获取确定性结果的过程中,Cplex应用了尽可能多的平行度分析,也就是说,当你在一个用于相同参数设定的相同平台上运用同样的模型两次的时候,你将看到相同的最优

化运行方案。

如果你不要求确定性的话,你将会有更多的机会去进行平行度分析。换句话说,如果你不要求不变量、重复解决路径和精确地相同解向量时,Cplex能够提供更多的机会进行平行度分析。使用所有可用的平行度分析,你需要选择随机的平行模型。在这一模型中,为了获得最好的效果,Cplex将会利用所有的机会进行平行度分析。

但是,在随机模式中,实际的优化在每一次运行都会不同,包含求解时间。一个精确的平行的确定性的算法仅仅对于MIP优化是有效的。只有随机的平行的算法(限制和并行的优化程序)对于连续的模型是有效的。(每一个单一的算法在一个连续的模型中能够串联运行。)所以,当平行模式被设定为确定性时,限制和并行的优化程序受到串联运行的约束,而不能平行运行。

除非被明确地规定,一个GAMS/Cplex运行会采用的是确定性模式。 如果平行模式被明确地定于为)0(自动地),平行模式的参数集将作用于threads参数集。设定可用的线程的结果数量为n(记录那些线程参数的负值有助于帮助排除一些非核心的工作)。

n=0:除非平行模式被设定为-1(随机模式),在确定模式中Cplex使用的最大数量的线程(由计算平台决定)

n=1: Cplex按次序运行

n > 1: 除非平行模式被设定为1(确定模式),在随机模式中Cplex使用的最大数量的线程(由计算平台决定)

下面为一个可能的值的清单: (默认值 = 1)

-1 激活随机性平行搜索模式 0 自动

1 激活确定性平行搜索模式 perind (整数)

扰动指标。如果一个问题能够自动地扰动在早期求解过程中,考虑启用求解过程中的扰动指标,并设定perind 为 1。在触发扰动机制之前,手动地扰动这一问题将会节省在一开始时优化问题搁置的时间,但是对于极端退化问题这一作用并不常见,

(默认值 = 0)

0 非自动扰动 1 自动扰动 perlim (整数)

扰动限制. 在扰动之前,这一失速的迭代数据被触发。它的初始值为0时表明这一数值时自动地确定的。

(默认值 = 0)

polishafterepagap (实数)

在好的解决方案用别的方法很难找到的情况下,解抛光能够产生更好的解。比启发式算法更加节省时间,解抛光实质上是在对原有解存在的基础上的多种分支和切割。事实上,它要求一个被有效抛光的解,这个解或者是一个分支和切割后产生的解,或者是被使用者提供的一个MIP初始解。因为解破光的高成本,所以,和其他启发式算法一样并不是对所有的分支和切割进行抛光。而是,解抛光在普通的分支和切割后的第二个阶段进行。作为分支和切割后的补充步骤,解破光能够改善已知解。同时它本身作为一种分支和切割算法,解抛光唯一致力于较好的解。因此,它不验证最有型性,尽管最优解的确被找到。和RINS启发式算法一样,已解决附加MIP问题的方式,解破光探寻了周围的先前已知的解。

设置某个绝对的混合整数规划间距(即整数目标函数最优值与现有节点目标函数最优值之间的差距)后,CPLEX将停止分支定界,并开始抛光可行解。预设值会使CPLEX不会调用抛光之后的解。(预设值为零)

Polishafterepgap (实数)

设置一个相对的混合整数规划间距之后,CPLEX将停止分支定界,并开始抛光可行解。预设值会使CPLEX不会调用抛光之后的解。(预设值为零)

Polishafternode (整数)

如果存在可行解,在CPLEX开始抛光解之前,预先设置分支定界中的节点个数。(预设值为2100000000)

Polishafterintsol (整数)

在CPLEX停止分支定界,并开始抛光可行解之前,设置整数解的个数。预设值会使CPLEX不会调用抛光之后的解。(预设值为2100000000)

Polishaftertime(实数)

在CPLEX开始抛光可行解之前,预设CPLEX完成混合整数优化的运行时间。

预设值会使CPLEX停止解的抛光。(预设值为0)

Populatelim(整数)

当产生PolulateLim解之后,计算停止。若对所有的过滤单元都有效,并且没有被目前的检查程序所拒绝(见userincbcall说明),不论该解是否能改进模型的目标函数,这个解依然是合理的(见divt说明,以及与之相对应的相对、绝对的间距参数(见 solnpoolgap和solnpoolagap说明)。一般来说,这个参数并不适用于混合整数规划方法的优化,而只适用于计算过程。

若要得到某个能控制解集中解的数目的参数,可以考虑用参数solnpoolcapacity。

如果参数达到某一极限,比如时间或节点超出用户设置的范围,那么在参数到达极限之前,程序就会停止。(预设值为20)

Ppriind (整数)

定价算法。类似于对绩效的最大影响效果分析。为了能指导人们选择合适的定价算法,观察整个寻找可行解的时间和第一阶段的数目以及所有的迭代过程。若解决该问题所需的迭代次数与问题的行数差不多时,那意味着求解的效果良好。若迭代次数多于相比问题的行数的三倍之多,这表示还又进行改进的空间。(预设值为0)

-1 成本降低的定价。如果问题较小或比较容易,不需要耗费很长的运算时间,可首先选择这种方法。针对相对较复杂的问题(比如问题有20到30个非零列),该方法也可能有优势。

0 减少成本和Devex定价的混合问题

1 Devex定价法。这可能适用于那些需要通过多次迭代才能完成Phase I的复杂问题。每次迭代可能需要花费很多时间,但是整个迭代次数的减少可能导致整个运行时间的缩短。每减少十倍的迭代次数,就可以加快三倍运行速度。如果问题有许多列和相对较少的行,这种情况下就不能使用devex定价方法。每次迭代所需的计算数量通常庞大,效果并不好。

2 最速边缘定价法。若devex定价有用的话,该方法可能会有良好的效果。虽然最速边缘定价法会耗费大量的计算时间,但是对一些非常困难的问题,却能产生最好的结果。

3 带有初始松弛要求的最速边缘定价法。这种方法能降低最速边缘定价法耗时的特点。

4 全定价法。 Predual (整数)

解决对偶问题。有一些行大于列的线性规划问题可以通过解决很明显的对偶问题。预对偶的方法能使CPLEX解决对偶问题,并返回原问题的解。若不能进行预对偶处理,可忽略该方法。(预设值为0)

-1 不要将对偶问题输入优化器 0 自动化处理

1 将对偶问题输入优化器 Prehind (整数)

效果预处理方法。这种方法可以通过简化、减少和消除冗余,有助于解决很多问题。但是,如果模型没有冗余或简化的余地,可以很快地取消预处理。很少会出现,简单的预处理模型比原问题复杂。这种情况下,取消预处理可以带来更好的效果。预设零也会取消累加器。(预设值为1)

Prelinear (整数)

如果只能线性减少冗余,那么原模型中的每个变量可以表示成预处理模型中变量的线性形式。(预设值为1)

Prepass(整数)

混合整数规划的数目会反映预处理的效果。在默认情况下,Cplex自动决定该值。设置0会取消预处理但不会取消累加器。(预设值为-1)

-1 自动赋值 0 无预处理 Preslvnd(整数)

表示在混合整数规划的解决过程中,是否应该进行节点预处理。对于某些模型来说,节点预处理能显著地减少求解的时间。这种预先设置的环境通常是有效的。(预设值为0)

-1没有节点预处理 0 自动化 1 强制节点预处理 2 找出为整数却不可行的解 pricelim(整数)

候选名单的规模大小。CPLEX软件基于问题规模的大小,动态确定一个比较