LP および MILP 最適化データの MPS ファイルの読み取り

## 構文

``problem = mpsread(mpsfile)``

## 説明

``problem = mpsread(mpsfile)` は、線形計画法 (LP) および混合整数線形計画法 (MILP) の問題のデータを読み取ります。これによって、`intlinprog` または `linprog` ソルバーが受け入れる構造体にデータが返されます。`

## 例

すべて折りたたむ

`mps` ファイルを読み込み、記述されている問題を解きます。

```gunzip('http://miplib.zib.de/WebData/instances/eil33-2.mps.gz') problem = mpsread('eil33-2.mps')```
```problem = f: [4516x1 double] Aineq: [0x4516 double] bineq: [0x1 double] Aeq: [32x4516 double] beq: [32x1 double] lb: [4516x1 double] ub: [4516x1 double] intcon: [4516x1 double] solver: 'intlinprog' options: [1x1 optim.options.Intlinprog]```

`problem.intcon` が空ではなく、`problem.solver``'intlinprog'` であることがわかります。これは、整数線形計画問題です。

```options = optimoptions('intlinprog','Display','final','PlotFcn',@optimplotmilp); problem.options = options;```

`intlinprog` を呼び出して問題を解きます。

`[x,fval,exitflag,output] = intlinprog(problem);`
```Optimal solution found. Intlinprog stopped because the objective value is within a gap tolerance of the optimal value, options.AbsoluteGapTolerance = 0 (the default value). The intcon variables are integer within tolerance, options.IntegerTolerance = 1e-05 (the default value).``` ## 入力引数

すべて折りたたむ

MPS ファイルへのパス。文字ベクトルとして指定されます。`mpsfile` は、MPS 形式のファイルでなければなりません。

メモ

• `mpsread` は、半連続的な制約または SOS 制約をサポートしません。

• `mpsread` は “固定書式” ファイルをサポートします。

• `mpsread``objsense` および `objname` などの拡張子をサポートしていません。

• `mpsread` は、以前に MPS ファイルの `COLUMNS` セクションに表示されなかった `BOUNDS` セクションの変数を暗黙的に無視します。

データ型: `char`

## 出力引数

すべて折りたたむ

 `f` 目的関数 `f'*x` を表すベクトル `intcon` 整数値を取る変数を示すベクトル (LP では空、MILP では空でない) `Aineq` 線形不等式制約 `Aineq*x `≤` bineq` の行列 `bineq` 線形不等式制約 `Aineq*x `≤` bineq` のベクトル `Aeq` 線形等式制約 `Aeq*x = beq` の行列 `beq` 線形等式制約 `Aeq*x = beq` のベクトル `lb` 下限のベクトル `ub` 上限のベクトル `solver` `'intlinprog'` (`intcon` が空でない場合)、または `'linprog'` (`intcon` が空の場合) `options` 次のコマンドによって返される既定のオプション `optimoptions(solver)`

`mpsread` は、`problem.Aineq` および `problem.Aeq` をスパース行列として返します。

R2015b で導入