You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GAMS中排除特定方程EQX('d','k')的语法问题咨询

GAMS方程过滤逻辑错误修正

问题根源

你写的过滤条件not sameAs(i,"d") and not sameAs(j, "k")逻辑完全偏离需求:

  • 这个条件的意思是只保留既不是i='d'、也不是j='k'的组合,会把所有i='d'的条目(包括(d,h))和所有j='k'的条目(包括(a,k)、(b,k)、(C,k))全部排除,最终只剩(a,h)、(b,h)、(C,h)三个方程。你说所有方程都被排除,大概率是后续方程定义不完整,但核心问题是逻辑判断错误。

正确写法

你需要仅排除(d,k)这一个组合,有两种简洁的实现方式:

方式一:对“同时满足i=d且j=k”取反

EQX(i,j)$(not (sameAs(i,"d") and sameAs(j,"k")))..

方式二:直接判断元素组合不等

GAMS支持直接对集合元素组合做比较,代码更直观:

EQX(i,j)$((i,j) <> ("d","k"))..

内容的提问来源于stack exchange,提问作者ChinG

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 19:27:22