1

私が持っているGAMSモデルがあります

 Set   i       / 1*6 /;
 Alias (i,ip,il) ;
 Variables
  x(i,ip) ;

そして、同じベクトルの積を除いて、x のすべてのベクトルのスカラー積に作用する方程式を生成したいと考えています。何かのようなもの:

 scalarProduct(i)..
  sum(ip,x(i,ip)x(i,il)) =e= someConstant;

ただし、これは同一のベクトルの積を排除するものではありません。これを追加するには?どうにかしてドル明細でできますか?とにかく、そのステートメントにはおそらくいくつかのバグがあります。必要な除外が欠落していると思うので、試しませんでした。

4

1 に答える 1

1

だから私がやりたかったのはこれです:

Sets
i        / 1*13 /
ii(i,i) diagonal elements / #i:#i /
ij(i,i) all elements / #i.#i /
ij_wo_ii(i,i);

対角要素なしですべての組み合わせを取得します。

ij_wo_ii(i,j) = ij(i,j) - ii(i,j);

そして、次のような方程式で使用します。

equation(j,k)..
  sum(i,x(i,j)*x(i,k)$ij_wo_ii(j,k)) =l= 1;

これは、行列内のベクトルの積がある値よりも小さくなければならず、必ずしも 0 ではないことを除いて、直交性と同様のことを行います。これを表す用語があるかどうかはわかりません。それが他の誰かにも役立つことを願っています。

于 2015-08-26T18:45:45.623 に答える