【问题标题】:create equation summing over variables with shifting index gaps in GAMS在 GAMS 中创建具有移动索引间隙的变量的方程求和
【发布时间】:2021-08-28 11:00:22
【问题描述】:

我想在游戏中添加一个约束,该约束对一个变量求和,该变量采用索引之间的移动间隙。例如,我在一年中有一组小时 (h)。我的变量是 g(h)。我想要的方程式是:

g(1) + g(2) + g(3) = 0
g(3) + g(4) + g(5) = 0
g(5) + g(6) + g(7) = 0

所以每三个连续的 g(h) 求和,但每次移动 2 个索引。有没有办法做到这一点?谢谢

【问题讨论】:

    标签: modeling gams-math


    【解决方案1】:

    给你:

    Set i /i1*i10/;
    Alias (i,ii);
    
    Variable z, g(i);
    
    Equation dummy, e(i);
    
    dummy.. z =e= 1;
    e(i)$(mod(ord(i),2)=1).. sum(ii$((ord(ii)>=ord(i) and (ord(ii)<=ord(i)+2))), g(ii)) =e= 0;
    
    option LimRow = 10;
    model m /all/;
    solve m min z use lp;
    

    这将产生以下解决方案列表:

    ---- e  =E=  
    
    e(i1)..  g(i1) + g(i2) + g(i3) =E= 0 ; (LHS = 0)
         
    e(i3)..  g(i3) + g(i4) + g(i5) =E= 0 ; (LHS = 0)
         
    e(i5)..  g(i5) + g(i6) + g(i7) =E= 0 ; (LHS = 0)
         
    e(i7)..  g(i7) + g(i8) + g(i9) =E= 0 ; (LHS = 0)
         
    e(i9)..  g(i9) + g(i10) =E= 0 ; (LHS = 0)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多