主要内容

mpsread

读取LP和MILP优化数据的MPS文件

描述

实例

问题=mpsread(MPS文件)读取线性规划(LP)和混合整数线性规划(MILP)问题的数据。它以intlinproglinprog解决者接受。

实例

问题=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”. 该问题是一个整数线性规划问题。

更改选项以抑制迭代显示,并在解算器进行时生成打印。

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

打电话解决问题intlinprog

[x, fval exitflag、输出]= intlinprog(问题);
找到最优解。Intlinprog停止是因为客观值在最优值选项的间隙公差范围内。AbsoluteGapTolerance = 0(默认值)。intcon变量是在公差选项内的整数。IntegerTolerance = 1e-05(默认值)。

载入议员文件并获取其变量和约束名称。

加载eil33-2.mps来自公共存储库的文件。查看返回的问题结构。

枪口('http://miplib.zib.de/WebData/instances/eil33-2.mps.gz')问题=mpsread(“eil33-2.mps”,“ReturnNames”,对)
问题=带字段的结构: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结构]

查看每种类型的前几个名称。

problem.variableNames (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文件的路径,指定为字符向量或字符串标量。MPS文件应该是一个文件议员格式

笔记

  • mpsread不支持半连续约束或金宝appSOS约束。

  • mpsread金宝app支持“固定格式”文件。

  • mpsread不支持扩展,例如金宝app奥布杰森斯objname

  • mpsread静默地忽略界限以前未出现在中的节MPS文件的。

例子:“文件/优化/ milpproblem.mps”

数据类型:字符|一串

名称-值对,指示从MPS文件返回变量和约束名称,值指定为逻辑值。错误的指示不返回名称。真正的原因mpsread问题产出结构:

  • problem.variableNames-变量名的字符串数组

  • 问题.约束名称—约束名称的结构:

    • problem.constraintNames.eqlin线性等式约束名称的字符串数组

    • problem.constraintNames.ineqlin线性不等式约束名称的字符串数组

这个问题结构不等式约束问题,Aineqproblem.bineq与中的名称顺序相同problem.constraintNames.ineqlin.同样,限制因素问题,Aeq问题B与中的名称顺序相同problem.constraintNames.eqlin.这个problem.variableNames顺序与解变量的顺序相同x在运行linprogintlinprog问题结构

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

数据类型:必然的

输出参数

全部崩溃

问题结构,作为带字段的结构返回:

F 向量代表客观f ' * x
intcon 向量表示接受整数值的变量(LP为空,MILP为非空)
Aineq 线性不等式约束中的矩阵Aineq*x比内克

比内克

线性不等式约束中的向量Aineq*x比内克

Aeq

线性等式约束中的矩阵Aeq*x=beq

贝基

线性等式约束中的向量Aeq*x=beq
下界向量
乌兰巴托 上界向量
解算器 “intlinprog”(如果intcon是非空的),或“linprog”(如果intcon是空的)

选择权

命令返回的默认选项

optimoptions(解决)
变化无常 包含MPS文件中变量名的字符串数组。此字段仅在以下情况下显示:返回姓名真正的
约束名称 结构中包含来自MPS文件的约束名称。有关描述,请参见返回姓名.此字段仅当返回姓名真正的

mpsread返回问题,Aineq问题,Aeq作为稀疏矩阵。

介绍了R2015b