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ファイルに含まれています.
上に戻る