2.1 実行形式の作成
まずはC++SIMPLEのモデルファイルknapsack.smpから実行形式を作成します.ここでは,
という5変数のナップサック問題を解きます.以下にコマンドプロンプト上で実行形式を作成する例を示しますが,詳細についてはNuorium Optimizerマニュアルをご参照ください.
//
// ナップサック問題
//
Set S;
Element i(set = S);
IntegerVariable x(index = i, type = binary); // 整数変数
Parameter c(index = i);
Parameter a(index = i);
Parameter b;
Objective obj(type = maximize);
obj = sum(c[i] * x[i], i); // 目的関数
sum(a[i] * x[i], i) <= b; // 制約条件
solve(); // 求解
// 結果のファイル出力
FILE* fout = fopen("result.txt", "w");
if(fout){
simple_fprintf(fout, "%f\n", obj);
simple_fprintf(fout, "%d\n", x[i]);
fclose(fout);
}else{
fprintf(stderr, "file open error!\n");
}- 実行形式の作成
prompt> mknuopt.bat knapsack.smp
上に戻る
