1

GNU MathProg の単純化されたデータ セットは次のとおりです。Verts頂点のインデックスのセットでありcoords、これらの頂点の座標のテーブルです。

data;
set Indices := X Y;
set Verts := 1 2 3 4;

param Coords : X Y :=
1 1.2   0.3
2 4.2   13.0
3 1.5   1.0
4 0.5 0.8;
end;

これは機能しますが、Verts の定義を次のように置き換えると:

set Verts := (1..4);

この段階でコンパイルは成功しVertsますが、パラメータ テーブルにインデックスを付けることができませんCoords。具体的には、 をglpsol返しますCoords[1,X] out of domain

直観的に、短縮形を使用した定義は整数セットを定義すると仮定しますが、索引付けにはある種の記号的な「文字列」型が必要です。私の直感は正しいですか?もしそうならset Verts := ?;、テーブルに4つではなく10 000の要素がある場合、どのように記述すればよいですか?

4

1 に答える 1

1

AMPL (または AMPL のサブセットである MathProg) データ モードでは認識されない..ような式を設定します。すべてのセットメンバーを明示的にリストするか、移動する必要があります

set Verts := 1..4;

モデルに。

于 2017-01-03T14:22:04.217 に答える