1. Xpressホーム
  2. Xpress製品情報
  3. Xpress基本コンポーネント

Xpress基本コンポーネント

Xpressは、複数の関連プログラムを一つにまとめた最適化ソフトウェアのパッケージであり、線形、整数、2次、および非線形の最適化問題を解くために使用されます。
Xpressは、次の3通りの方法で使われます。

  • OEM製品内に最適化機能を組み込んで使う。
  • コンサルタントが、自分のクライアントに最適化に基づく解を提供するのに使う。
  • ビジネス・アナリストや大きな企業のエンドユーザが、直接最適化問題を解くときに使う。

Xpressは、例えばサプライチェーン計画からポートフォリオ管理、装置産業での精製プロセス計画からEコマースに至るまでの様々な問題を解くために、世界中で何千ものユーザにより使用されています。

ここでは、このような広範囲なアプリケーションで使用される、Xpressソフトウェアの数々の機能、製品とコンポーネントについてご説明致します。
Xpressの特長には、下記のようなものがあります。

  • 問題タイプにより、異なる最適化アルゴリズムが使える。
  • 問題のサイズに応じて、Xpressの能力の選択ができる。
  • 複数のモデリング・インターフェースがあり、ユーザは、自分の環境に適したモデリング・インターフェースを選択できる。
  • 多様なソフトウェア製品とコンポーネントがあり、これによりXpressをシステムに組み込んで使用することもでき、またスタンドアロン・アプリケーションとしても使用できる。
  • 通常使われている様々なコンピュータプラットフォーム(Windows,UNIX,LINUX)で使用できる。

図:最適化アルゴリズム

Xpress の最適化コンポーネント

Xpress-Optimizer

Xpress-Optimizerは、3 つの最適化アルゴリズムを持ち、ユーザはこれらのアルゴリズムを使って、線形計画問題(LP)、混合整数計画問題(MIP)、2次計画問題(QP)、混合整数二次元計画問題(MIQP)、非線形計画問題(NLP)および混合整数非線形計画問題(MINLP)を解くことができます。

シンプレックス・オプティマイザー

主問題を解く方式と双対問題を解く方式をあわせ持つシンプレックス・オプティマイザーを使ってLP問題を解きます。また、シンプレックス・オプティマイザーは、分枝限定法のフレームワークの中で、MIPとMIQP問題を解くときにも使われます。ニュートン・バリア・オプティマイザーは、LP問題とQP問題を内点法で解きます。またXpressは、「疎行列 (sparse matrix)」を高い効率で処理する方式の採用により、大きな問題でも、素早く解く能力を持っています。プレソルブ機能により、問題は解かれる前にサイズが縮小され、場合によっては縮小の度合いは、極めて大きなものとなります。Xpressは、数値的に難しい、ないしは不安定な問題を解く能力に優れていると評価されています。これは、Xpressが装置産業で他の追随を許さないマーケットリーダーである理由の一つです。

MIP / MIQP オプティマイザー

MIP / MIQPオプティマイザーは、MIPとMIQP問題を解くために高度な分枝限定アルゴリズムを使用しています。このMIP / MIQPオプティマイザーは、とりわけ高品質の解を短時間で見つけられるとして良く知られています。 MIP問題には、指数関数的な数の可能解がありますが、Xpress MIPオプティマイザーの特性は、解の数を処理可能なサイズにまでに枝切りして、良い解を素早く得るためにナビゲートできる能力です。

Xpress MIP オプティマイザーでは、高機能な技法が使われていますが、それらには、いろいろな枝切り手法が含まれています。これらにより、最適化の過程で枝切りが自動的に生成され、境界の限定の質を改善し、探索の規模を縮小します(こうして、MIPアルゴリズムは、本質的に、「分枝カット」といえます)。プレソルブは、MIP問題で特に有効です。何故なら、問題の定式化を厳しくし、これにより、最初の解の質が改善され、より良い枝切りが生成されるからです。

Xpress-SLP

Xpress-SLPは、Xpress 7の新しい非線形のオプティマイザーであり、非線形問題(NLP)と混合整数問題を解くことができます。 Xpress-SLPは、世界で最初の大規模なMINLPコンポーネントであり、全世界で支持されています。Xpress-SLPは、LPオプティマイザー、QPオプティマイザー、MIPオプティマイザーで解けるよりもさらに広範囲な最適化問題を解くことができます。Xpress-SLPは、Xpress-MoselとXpress-IVEの中で、モデル作成が完全にサポートされており、また、Xpressファミリーで使用可能なLPオプティマイザー、MIPオプティマイザー、QPオプティマイザー、MIQPオプティマイザーと同様に、全ての範囲の組み込み、および、インターフェースのケイパビリティを持っています。

最短時間で MIP 問題を解いたり、非常に難しい MIP 問題の解を得たりする必要があるときには、マルチプロセッサーの使用が理想的なソリューションです。マルチプロセッサー・マシンで動かすことにより、ユーザは、並行処理能力を利用し、MIP問題を並列処理で解くことができます。

Hyper版の Xpress は、問題サイズに関して、内部的な制限はありません。したがって、ユーザは、問題がコンピュータの物理的な制限に収まる限り、これらの問題を解くことができます。必要であれば、さらにXpressを使用して32ビットおよび64ビット・コンピュータ上で処理することができます。

Xpress モデリング・インターフェース

Xpress には、3つのXpressコンポーネントがあり、これらを使って、ユーザはXpress-Optimizerを使って解く最適化問題を定義します。

Xpress-Mosel

ユーザはXpress-Moselにより問題の定式化を行い、Xpress-Optimizer を使って解き、そして分析のために特に設計されたプログラミング言語を使って、解を分析することができます。Moselプログラミング言語により定式化された問題はコンパイルされ、実行されます。Moselプログラムは、インタラクティブな方式でランすることができ、またアプリケーションに組み込むこともできます。

Mosel 言語は、簡単におぼえられ、使用できます。 それにより、最適化問題を一から開発し、他人が書いた問題を理解し、チェックし、問題を修正し、維持することが容易にできます。ビジュアルな開発環境であるXpress-IVEは、さらにこのプロセスを簡単にしてくれます。アービトラリーなレンジ(range)、インデクッス・セット、疎なオブジェクト(sparse object)を完全にサポートしているので、大規模で複雑な問題を明確に、しかも特定のデータ例に完全に独立して表現できます。

Mosel には拡張ライブラリーが含まれ、その一つにより、Mosel プログラム内の最適化ステートメントを通して、Xpress-Optimizerを直接制御することができます。 また、ODBCデータ・ドライバーが提供され、それによりユーザは、すべての共通なデータベースや表計算に直接インターフェースすることができ、これにより、データは直接テキストファイルからインポート、またエクスポートできます。

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

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

Xpress-Kalis は、Mosel から theArtelys Kalis©ソルバーにアクセスできます。これにより、Constraint Programming技法を使い、組合せ問題をモデル化し、解くことができます。Xpress-Kalis は、現時点では、32-bit Windows、Linux、Solarisで利用可能です。

XAD、すなわち Xpress-Application Developerは、Mosel を使って行うグラフィカル・ユーザ・インターフェースのためのAPIです。

Xpress ソフトウエア製品とコンポーネント

Xpress-IVEは、Windows 環境での、Xpress-Mosel のための完全なビジュアル開発環境です。それには、Moselのプログラム・エディター、コンパイラーと実行環境が組み込まれています。ユーザは、エンティティー・ツリーにより、モデル・プログラム内のオブジェクトをブラウズできます。これにより、すべての最適化オブジェクトに対するの解の値を見ることができます。 Moselのソース・ファイルとデータ・ファイルは、プロジェクト別に構成できます。そして、実行時にビジュアライゼーションを行うと、オプティマイザーのパフォーマンスの分析もできます。

Xpress-IVE は、アプリケーション用の Mosel プログラムを開発したり、特定の問題向けにオプティマイザーを分析して調整したり、スタンドアロンのビジュアル環境で、最適化問題のアプリケーションを開発し、実行したりするのに理想的です。

Xpress-Optimizer、Xpress-BCL、Xpress-Mosel というこれら 3 つのコンポーネントは、すべて、ライブラリーとして提供されており、これにより、開発者はアプリケーションにXpress全体を組み込むことができます。最も基本的な機能により、開発者は、アプリケーション・コード内で問題を定義し、解き、そして、解を調べることのすべてを行えます。より高度な機能により、開発者は最適化のアルゴリズムを制御したり調整したりでき、解を得たあとに問題について操作を行え、最適化のためのヒューリスティックやテクニックを作成し、複数の問題を別個の処理の流れで取り扱うことができます。最下位のレベルでは、開発者は、コールバック機能を宣言することにより、MIP最適化処理の最中にXpress-Optimizerとやり取りし、自分の戦略に基づく枝切りを生成し、分枝戦略を実行できます。

すべての製品の主なライブラリー・インターフェースは、C/C++です。 Java や VB のような、インターフェースもあります。

Xpress-Optimizer、および、Xpress-Mosel は、コンソール形式でも利用可能です。すなわち、単純なテキスト形式のインターフェースを使ってコントロールし、スタンドアロンで実行可能です。最小限の労力で、簡単なバッチ形式のアプリケーションを立上げ、実行するための簡単な手段を提供します。

Xpress の評価

Xpressのご購入をお考えの企業は、評価のために30 日間無料で試用できます。お客様がこのソフトウェアから最大のものを引き出していただけるよう、この期間、皆様からのご質問に喜んでお答えし、また必要に応じアドバイスを差し上げます。

お問い合わせ

Xpress 製品の詳細、評価のための無料 CD-ROM、フィーチャー、容量、価格等につきましては、お気軽に下記までお問合せください。

MSI株式会社

TEL
043-279-2897
FAX
043-372-9722
E-mail
xpress@msi-jp.com
URL
http://www.msi-jp.com/xpress/

このページの先頭へ