如何设置AIMMS跟随脚本,从而保持运行一定次数?

How to set AIMMS to follow a script, so as to keep running for a certain number of times?

Objective 函数:

(X*Y1+(1-X)*Y2)*Z

受一些限制:

如果x从0开始我会有一个最优解OS1 然后我再次需要 运行,x 的增量为 0.01,所以如果 x=0.01 就会有 OS2。继续这个过程会有OS1到OS100。

有没有一种方法可以将目标编程为 运行 所有增量,然后 select OS1 到 OS100 中的最大值?

您可以按如下方式完成:

  1. 创建一个包含 101 个元素和索引 s 的集合 "AllSolutions"。
  2. 创建参数"SolutionObjective(s)"
  3. 创建一个具有以下主体的过程: 为了做 x := (ord(s)-1)/card(AllSolutions); 解决 ; 解决方案目标 := ; 结束;
  4. 参数 SolutionObjective 包含您正在寻找的 101 个解决方案。您可以通过以下语句检索最大值: Max(s, SolutionObjective(s));

  5. 对应的x为: x := (ord(argmax(s, SolutionObjective(s)))-1)/100.

此致,

彼得·尼维斯泰格

高级 AIMMS 专家。