MPS (.mps)

予備知識

    • MPS 数学ファイル形式.
    • 線形計画(LP)問題を指定するための事実上の標準.
    • LPソルバが入力形式としてよく使用する.
    • MPSは,Mathematical Programming System(数学的プログラミングシステム)の頭字語である.
    • プレーンテキストのASCII形式で,バイナリファイルに圧縮されることもある.
    • 固定幅の表形式でデータを保持する.
    • 1970年代にIBMで開発された.

Import

  • Import["file.mps"] は最適化問題を表す式を返して,MPSファイルをインポートする.
  • Import["file.mps"]は,NMinimizeの入力に適する形式で目的関数と制約のリストを返す.
  • Import["file.mps",elem]は,指定された要素をMPSファイルからインポートする.
  • Import["file.mps",{elem,suba,subb,}]はサブ要素をインポートする.
  • Import["file.mps",{{elem1,elem2,}}]は複数の要素をインポートする.
  • インポートの形式はImport["file", "MPS"]あるいはImport["file",{"MPS",elem,}]で指定することができる.
  • Importについての完全な一般情報は,関数ページを参照のこと.
  • ImportStringはMPS形式をサポートする.
  • 一般的な情報は,以下の関数ページを参照のこと.
  • Importファイルからインポートする
    CloudImportクラウドオブジェクトからインポートする
    ImportString文字列からファイルからインポートする
    ImportByteArrayバイト配列からインポートする

Import要素

  • 一般的なImport要素:
  • "Elements" ファイル中の有効な要素とオプションのリスト
    "Summary"ファイルの概要
    "Rules"使用可能なすべての要素の規則のリスト
  • データ表現要素:
  • "Equations"目的関数と制約のリスト
    "LinearProgrammingData"線形計画を表すベクトルと行列
    "ConstraintMatrix"線形計画問題の制約を示す行列
  • Import はデフォルトで"Equations" 要素を使う.

オプション

  • Import オプション:
  • "FreeFormat"Falseファイル内でデータフィールドがゆったりと並べられているか,それともきっちりと並べられているか
    "EMPS"Falseファイルが圧縮されているかどうか

例題

  (3)

Import 要素のリストをMPSファイルから得る:

MPSファイルをLinearOptimization または NMinimize に適する式である目的関数と制約のリストとして読み取る:

それをLinearOptimizationの入力として使う:

それをNMinimizeの入力として使う:

MPSデータをLinearOptimizationの入力に適する形式で読み取る:

それをLinearOptimizationの入力として使う:

上の例の制約行列をインポートしてプロットする: