English Japanese
 

Xpress-BCL

Xpress-BCL は、アプリケーション内で、問題を構築するためのオブジェクト指向ライブラリーです。それは、ステップ・バイ・ステップのアプローチを使い、変数を追加し、制約式を追加する機能を持っています。開発者は、C/C++、または、Javaプログラム内から、これを呼び出し、順々に完全な問題を構築してゆきます。ひとたび、問題が定義されると、問題は、Xpress-Optimizerを使って解かれます。 さらに、BCL機能により、開発者はアプリケーション内で、直接、解にアクセスすることができます。

勿論、Xpress-Optimizerに直接、問題をロードすることができます。それには、2つの方法があります。 ユーザは、業界標準のMPSマトリックス形式やLPマトリックス形式を使ってファイルから問題をロードしたり、アプリケーションから、直接、呼出す機能を使って問題全体をロードしたりすることができます。

これら4つの方式の具体例や、これらの方式の持つメリット、デメリットについては、「Xpress-MPによるモデリング白書」を参照して下さい。

#include <iostream>
#include "xprb_cpp.h"

using namespace ::std;
using namespace ::dashoptimization;

int main(int argc, char **argv)
{
 XPRBvar xs, xl;      // Decision variables
 XPRBprob p("Chess"); // Initialize a new problem

// Define the decision variables 
 xs = p.newVar("xs");
 xl = p.newVar("xl");

// Define and set the objective function
 p.setObj(p.newCtr("Profit", 5*xs + 20*xl));

// Define the constraint 3*xs + 2*xl <= 160
 p.newCtr("Lathe", 3*xs + 2*xl <= 160);

// Define the constraint xs + 3*xl <= 200
 p.newCtr("Boxwood", xs + 3*xl <= 200);

 p.maxim("");        // Solve the LP-problem

 cout<<"Solution:"<<p.getObjVal()<<endl;
 cout<<"Make "<<xs.getSol()<<"small sets"<<endl;
 cout<<"Make "<<xl.getSol()<<"large sets"<<endl;

 return 0;
}

[最適化] [モデリング] [コンポーネント]

 

[ホーム] [お問い合わせ] [お客様エリア] [検索] [サイトマップ] [リンク] [プリント用]
  © 2005 Dash Optimization
[ホーム]
[お客様エリア]
関連トピック
製品概要
Xpress-MP の評価
Xpress-MP のご注文
白書
BCL の実例