我倾向于在游戏中编写一些代码,其中包括一个排除某些索引的循环,我该如何编写一些循环,例如例外?
u("p1","j1")*o1("p1","j2") - sum(t,v("p1","j1",t)*I1("p1","j2",t))=l=0;
u("p1","j1")*o1("p1","j3") - sum(t,v("p1","j1",t)*I1("p1","j3",t))=l=0;
在这些方程式u中,o一起,v,i1一起具有不同的索引j;如何写这个循环?
您可以使用循环,但是更好的解决方案是将方程式限制在集合的正确组合中。无论如何,可以使用集合和SAMEAS运算符的别名完成。
Alias(p,pp);
Alias(j,jj);
E_myEquation(p,j,pp,jj) $(not (SameAs(p,pp) and SameAs(j,jj)))..
u(p,j)*o1(pp,jj) - sum(t, v(p,j,t)*I1(pp,jj,t)) =l= 0;
这将(p,j)与(p,j)==(p,j)的所有组合定义了所有组合的方程。
我希望我已经正确理解了请求,但是否则您可能会使用别名和SAMEAS函数弄清楚所需的确切实现。