数理最適化セミナーのご案内

12.10 添字の自動展開で禁止されている演算子

 C++SIMPLEでは,代入式や制約式が添字を含む場合,添字が自動的に展開されます.指定された範囲内の全ての組み合わせに対して制約式や代入文が適用されます.例えば

y[i, j] >= b[i, j] + 3;

と記述すると、添字 i と 添字 j の全ての組み合わせに対してこの条件が適用されます.

 ただし,以下の演算子は添字の自動展開で用いることはできない,あるいは結果が不定です.

  • 三項演算子 ?
  • インクリメント/デクリメント演算子:++(インクリメント)、--(デクリメント)

 例えば以下のように記述することはできません.

y[i, j] = (i > j) ? a[i] : b[j];

 

 

上に戻る