主要内容

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

mpsread

LPおよび 米尔普最適化データの 议员ファイルの読み取り

説明

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

问题=mpsread(MPS文件,'返回姓名",对)は、返された问题構造体に、MPS文件内に変数と制約の名前が格納された变化无常フィールドと约束名称フィールドを追加します。

すべて折りたたむ

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

公開リポジトリからeil33-2.mpsファイルを読み込みます。問題のタイプを表示します。

枪口('http://miplib.zib.de/WebData/instances/eil33-2.mps.gz')问题=mpsread(“eil33-2.mps”)
问题=f:[4516x1-double]Aineq:[0x4516-double]bineq:[0x1-double]Aeq:[32x4516-double]beq:[32x1-double]lb:[4516x1-double]ub:[4516x1-double]intcon:[4516x1-double]解算器:'intlinprog'选项:[1x1-optim.options.intlinprog]

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

反復表示を抑制し、ソルバーの進行状況に応じてプロットを生成するように、オプションを変更します。

选项=最佳选项(“intlinprog”,“显示”,“决赛”,“PlotFcn”,@milp);problem.options=选项;

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

[x,fval,exitflag,output]=intlinprog(问题);
找到最佳解决方案。Intlinprog已停止,因为目标值在最佳值的间隙公差范围内,options.AbsoluteGaptoreance=0(默认值)。intcon变量是公差范围内的整数,options.IntegerTolerance=1e-05(默认值)。

议员ファイルを読み込んで、その変数名と制約名を取得します。

公開リポジトリからeil33-2.mpsファイルを読み込みます。返された問題構造体を表示します。

枪口('http://miplib.zib.de/WebData/instances/eil33-2.mps.gz')问题=mpsread(“eil33-2.mps”,“返回姓名”,对)
问题=带字段的结构:f:[4516×1 double]Aineq:[0×4516 double]bineq:[0×1 double]Aeq:[32×4516 double]beq:[32×1 double]lb:[4516×1 double]ub:[4516×1 double]intcon:[4516×1 double]解算器:'intlinprog'选项:[1×1 options.intlinprog]变量名称:[4516×1字符串]约束名称:[1×1结构]

各タイプの最初の数個の名前を表示します。

问题.变量名称(1:4)
ans=4×1字符串数组“x1”“x2”“x3”“x4”
problem.constraintNames.eqlin (1:4)
ans=4×1字符串数组“c1”“c2”“c3”“c4”

問題に不等式制約は含まれていません。

problem.constraintNames.ineqlin
ans=0×1空字符串数组

入力引数

すべて折りたたむ

议员ファイルへのパス。文字ベクトルまたは 一串スカラーとして指定されます。MPS文件は、议员形式のファイルでなければなりません。

メモ

  • mpsreadは、半連続的な制約または 紧急求救信号制約をサポートしません。

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

  • mpsread奥布杰森斯およびobjnameなどの拡張子をサポートしていません。

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

例:“文档/优化/milpproblem.mps”

データ型:烧焦|一串

値が逻辑として指定された,议员ファイルから変数名と制約名を返すことを示す名前と値のペア。错误的は、名前を返さないことを指定します。符合事实的は、问题出力構造体に 2.つの追加のフィールドを返すようにmpsreadに指示します。

  • problem.variableNames— 変数名の 一串配列

  • 问题.约束名称— 制約名の構造体:

    • problem.constraintNames.eqlin— 線形等式制約名の 一串配列

    • problem.constraintNames.ineqlin— 線形不等式制約名の 一串配列

问题構造体不等式制約の问题,Aineq问题B.bineqproblem.constraintNames.ineqlin内の名前と同じ順序です。同様に、制約の问题,Aeq问题Bproblem.constraintNames.eqlin内の名前と同じ順序です。problem.variableNamesの順序は、问题構造体に対するlinprogまたはintlinprogの実行後の解の変数xの順序と同じです。

例:mpsread('filename','ReturnNames',true)

データ型:必然的

出力引数

すべて折りたたむ

問題構造体。次のフィールドをもつ構造体として返されます。

F 目的関数f ' * xを表すベクトル
intcon 整数値を取る変数を示すベクトル (LP)では空、米尔普では空でない)
艾奈克 線形不等式制約Aineq*x比内克の行列

比内克

線形不等式制約Aineq*x比内克のベクトル

Aeq

線形等式制約Aeq*x=beqの行列

贝基

線形等式制約Aeq*x=beqのベクトル
下限のベクトル
乌兰巴托 上限のベクトル
解算器 “intlinprog”(intconが空でない場合)、または“linprog”(intconが空の場合)

选择权

次のコマンドによって返される既定のオプション

优化选项(解算器)
变化无常 议员ファイルからの変数名を含む字符串配列。このフィールドは,返回姓名符合事实的の場合にのみ表示されます。
约束名称 议员ファイルからの制約名を含む構造体。詳細は、返回姓名を参照してください。このフィールドは、返回姓名符合事实的の場合にのみ表示されます。

mpsreadは、问题,Aineqおよび问题,Aeqをスパース行列として返します。

R2015bで導入