【问题标题】:X binary variable and W is dvar float. And i want to have this result if Wi>0 then Xi=1X 二进制变量和 W 是 dvar 浮点数。如果 Wi>0 然后 Xi=1,我想得到这个结果
【发布时间】:2019-07-09 00:45:07
【问题描述】:

X 是二进制变量的向量,W 是浮点变量的向量, 我想写一个约束,如果W[i] > 0,那么我应该有X[i] = 1

dvar boolean X[I]; // we choosed stocks i or not
dvar float W[I];    // weight of stocks i in portfolio

我该如何陈述这个约束?

【问题讨论】:

    标签: cplex portfolio opl


    【解决方案1】:

    您可以使用逻辑约束。让我从 OPL CPLEX 示例中的投资组合示例中为您举一个小示例。

    您可以阅读:

    dvar float  Allocation[Investments] in FloatRange;  // Investment Level
    

    然后你可以添加:

    dvar boolean X[Investments];
    

    然后在要阻止的主题中添加:

    forall(i in Investments) X[i]==(Allocation[i]>=0.001);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-05
      • 2015-01-10
      • 2021-07-19
      • 2020-11-08
      • 1970-01-01
      • 2016-12-14
      • 2021-03-11
      相关资源
      最近更新 更多