English Japanese
 

Xpress-Kalis


Xpress-Kalis を使用すると、Mosel モジュール Kalis から Artelys Kalis© の制約ソルバーにアクセスできます。Xpress-Kalis のソフトウェアは、 Artelys 社が所有し開発しています。Xpress-Kalis を使用すると、Kalis の制約プログラミング機能が Mosel 環境で使用可能になり、ユーザは制約プログラミング(CP)モデルを Mosel 言語で定式化し、解くことができます。メモリ内でのデータ転送(Mosel IO ドライバ使用)やデータベースへの ODBC アクセス(mmodbc モジュールより)など、Mosel 環境の機能を扱うすべてのデータの使用が Kalis によって容易にできるようになります。


model "Gardner 10-digit number"
 uses "kalis"

 declarations
  VALUES = 0..9                 ! Digits     
  digit: array(VALUES) of cpvar ! Decision var.s
 end-declarations

! Set variable domains
 forall(i in VALUES) setdomain(digit(i), VALUES)

 digit(0)<>0      ! First digit different from 0

! Cardinality constraint for each digit
 forall(i in VALUES)
   occurrence(i, digit) = digit(i)

! Solve the problem and output the solution
 if cp_find_next_sol then
   forall(i in VALUES)
     writeln(i, ": ", getsol(digit(i)))
 end-if
end-model

機能

Xpress-Kalis は、標準線形制約の他に、'all-different'、'element'、'occurrence'、 'equivalence'、および'implication' などの有限領域の変数に対する一定数のいわゆるグローバルな制約関係を定義します。また、いくつかの制約を、例えば分離を記述するような論理表現と組み合わせることも可能です。

制約処理:制約は自動的に、あるいはユーザの明確なリクエストによって、書き込むことができるので、様々なレベルの双方向性を持つモデルの書き込みが可能です。

Kalis 特有の強みは、列挙戦略を柔軟に定義できることです。ユーザは様々な選択肢の中から分岐スキーム(探索木の形状を決定)を選択し、ビルトイン変数と値抽出戦略の組み合わせを自分自身の経験則によって定義します。

Xpress-IVE による表示

ビジュアル開発環境である Xpress-IVE は、CP 探索木と CP 統計ペインのグラフ表示など、複数のソフトウェア固有の表示によるCPモデルの開発と分析をサポートしています。もちろん、IVE の標準機能(例:ブラウズ可能なエンティティ表示 、構文強調表示、デバッガ、その他)はすべて同じように使用できます。

       
ユーザのグラフ付モデル探索木表示CP 統計

ソルバーを組み合わせる

Mosel 言語は異なるソルバーを組み合わせるプラットフォームとして使用できます。特に、Xpress-Kalis にXpress-Optimizer を組み合わせると、CP と LP/MIP による問題解決ができます。

 CP と MP による問題解決についての白書をダウンロードするにはここをクリックしてください。

 

[ホーム] [お問い合わせ] [お客様エリア] [検索] [サイトマップ] [リンク] [プリント用]
  ゥ 2005 Dash Optimization
[ホーム]
[お客様エリア]
関連トピック
Xpress-Kalis の実例
Xpress-MP の書籍から CP の実例をダウンロード