【问题标题】:Conditional binary variable logic in gams model游戏模型中的条件二元变量逻辑
【发布时间】:2015-07-08 10:36:53
【问题描述】:

这是游戏中的模型,

我有一个二进制变量 (B(N)) 和一个实变量 (u(N)),其中 N 是一个集合。我希望二进制变量在 u 为零时等于 0,在 u 不为零时等于 1。

如果我可以使用“if”语句,但我不能在模型方程中使用它们,这将很容易,因此需要使用数学逻辑来完成......

【问题讨论】:

    标签: model binary gams-math


    【解决方案1】:

    没关系!我找到了解决方案:

    B(N) =L= rel_ne(u(N),0)
    B(N) =G= rel_ne(u(N),0)
    

    这个接缝工作正常。这可能不是最优雅的解决方案,但无论如何。

    如果u(N)不等于0,rel_ne返回1,否则返回0。

    【讨论】:

      【解决方案2】:

      我认为模拟这种情况的另一种可能性如下:

      B(N)*LB(N) =L= u(N) B(N)*UB(N) =G= u(N)

      其中 UB(N) 是上界,LB(N) 是 u(N) 实变量的下界。因此,当 u(N) 为 0 时,B(N) 为 0,对于正 u(N) 值,B(N) 值为 1。

      如果您没有明确的上限/下限,只需将 LB 设置为 0,将 UB 设置为较大的数字。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-06-02
        • 2011-12-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多