OMMXとは?#
OMMX(Open Mathematical prograMming eXchange; オミキス)とは、実務で数理最適化を応用する過程で必要となる、ソフトウェア間や人間同士のデータ交換を実現するためのオープンなデータ形式と、それを操作するためのSDKの総称です。
数理最適化のワークフローは、通常、複数のメンバーやチームによって遂行されます。例えば、最適化問題を解くためにプログラムを実装する役割とデータ分析に基づく戦略を立案する役割とで作業分担するなど、各プロセスに専門のメンバーやチームが割り当てられます。それに伴い、複数の作業者の間でデータ交換が頻繁に発生します。
さらに、ワークフローの各段階では、数理最適化ソフトウェアだけでなく、一般的なデータ分析ツールなど多様なソフトウェアが使用されるため、異なるソフトウェア間でも頻繁なデータ交換が発生します。
また、データ交換に伴い、データに付随するメタ情報の管理も必要になります。例えば、データの作成日時、作成者、使用したソフトウェアのバージョン、適用したアルゴリズムの詳細、入力パラメータの設定値などです。これらの情報を適切に管理することは、試行錯誤や反復的なモデル修正が必要となる数理最適化のプロセスにおいて、分析や結果の再現性を確保するために不可欠です。
このように、数理最適化のワークフローを実践する際には、その過程で生じるデータの交換と管理が極めて重要です。OMMXは、このような課題に対応するために設計されました。OMMXによって、人間同士やソフトウェア間でのシームレスなデータ交換を可能にし、ワークフローの効率化と精度向上を実現します。
OMMXを構成する要素#
OMMXは次の4つのコンポーネントで構成されています:
OMMX Message
ソフトウェア間でデータを交換するためのデータ形式
OMMX Artifact
人間同士でデータを交換するためのパッケージ形式
OMMX SDK
OMMX MessageとOMMX Artifactを操作するための多言語ソフトウェア開発環境
OMMX Adapter
数理最適化ソフトウェアとOMMXとを相互に連携するためのソフトウェア
OMMXは、複数の数理最適化ソフトウェア間で統一的なデータ交換を実現するために、OMMX Adapterを提供します。OMMX Adapterは、既存の数理最適化ソフトウェアとOMMXを連携させ、その入出力形式をOMMX Messageに準拠させます。これにより、OMMXユーザーはOMMX SDKを使ってOMMX Messageを作成するだけで、複数のソフトウェア間で統一的にデータを利用できるようになります。
また、人間同士のデータ交換を実現するため、OMMXはOMMX Artifactを提供します。OMMX Artifactは、OMMX Messageと関連メタデータを含む、OCI Artifact準拠のコンテナベースパッケージ形式です。これにより、OMMXユーザーはOMMX SDKを用いてOMMX Artifactを作成し、一般的なコンテナ基盤を活用してデータの管理・共有を効率的に行うことができます。