5.1 モデル
次に示すプログラムはこのアプリケーションの核心となるモデル記述です.通常のモデルと異なるのは,パラメータの宣言部分にrequiredというキーワードがあることですが,これはこの指定のあったデータをC++の配列から入力することを示しています.その他は通常のモデル記述と同じです.この例ではこのモデルが次のようなknapsack.smpというファイルに記述されたものとします.
//
// ナップサック問題
//
Set S;
Element i(set = S);
IntegerVariable x(index = i, type = binary); // 整数変数
Parameter c(index = i, required);
Parameter a(index = i, required);
Parameter b(required);
Objective obj(type = maximize);
obj = sum(c[i] * x[i], i); // 目的関数
sum(a[i] * x[i], i) <= b; // 制約条件このファイルは
(Nuorium Optimizerのインストール場所)\samples\app
にあるzipファイルに含まれています.
上に戻る
