【问题标题】:How to write this set in CPLEX如何在 CPLEX 中编写此集合
【发布时间】:2021-05-06 09:46:04
【问题描述】:

设 B={4,2,8,6,5};

如何在 CPLEX 中编写以下集合

设置 E={p|对于所有 b∈B ,p=范围内的随机整数(0,b)}

Set F= {Set of all E}(需要多个 E 的集合,使用不同的随机整数 p)

【问题讨论】:

    标签: set cplex opl ilog


    【解决方案1】:
    {int} B={4,2,8,6,5};
    
    range r=1..4;
    
    {int} E[i in r]={rand(b) | b in B};
    
    tuple f
    {
      {int} s;
    }
    
    {f} F={<E[i]> | i in r};
    
    execute
    {
      writeln(F);
    }
    

    给予

    {<{0 2 4}> <{3 1 0 5}> <{0 5 2 3}> <{3 1 6 4}>}
    

    但可以给出其他结果(随机)....

    【讨论】:

    • 谢谢亚历克斯。当 Set B 有 5 个元素时,为什么 E[1] 只有 3 个元素,其余的有 4 个?不应该为 B 的每个元素生成一个随机数。
    • 因为 E 中的集合是集合,而不是列表或数组或类似的。如果随机数生成器多次给出相同的数字,它不会存储重复。
    猜你喜欢
    • 1970-01-01
    • 2021-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-11
    • 2017-02-26
    • 1970-01-01
    • 2015-11-30
    相关资源
    最近更新 更多