最適化セミナーのご案内

5.1.1 モデル(VC++)

 次に示すプログラムはこのアプリケーションの核心となるモデル記述です.通常のモデルと異なるのは,パラメータの宣言部分に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);
    VariableParameter d(index=i);

    obj = sum(c[i]*x[i],i);    // 目的関数
    sum(a[i]*x[i],i) <= b;     // 制約条件

 このファイルは

(Numerical Optimizerのインストール場所)\samples\app

にあるzipファイルに含まれています.


 

 

上に戻る