主要内容

mpsread

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

描述

例子

问题= mpsread (mpsfile为线性规划(LP)和混合整数线性规划(MILP)问题读取数据。返回结构中的数据intlinproglinprog解决者接受。

例子

问题= mpsread (mpsfile,'ReturnNames”,真的)增加返回的问题结构variableNames而且constraintNames中包含变量和约束的名称的字段mpsfile

例子

全部折叠

加载一个国会议员归档并解决它所描述的问题。

加载eil33 - 2. -国会议员来自公共存储库的文件。查看问题类型。

gunzip (“http://miplib.zib.de/webdata/instances/eil33 - 2. mps.gz”问题= mpsread(“eil33 - 2.议员”
问题= 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 optima .options. intlinprog]

请注意,problem.intcon不是空的,还有problem.solver“intlinprog”.这是一个整数线性规划问题。

更改选项以抑制迭代显示,并在求解程序进行时生成图形。

选择= optimoptions (“intlinprog”“显示”“最后一次”“PlotFcn”, @optimplotmilp);问题。选项= options;

通过打电话来解决问题intlinprog

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

加载一个国会议员文件,并获取其变量名和约束名。

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

gunzip (“http://miplib.zib.de/webdata/instances/eil33 - 2. mps.gz”问题= mpsread(“eil33 - 2.议员”“ReturnNames”,真正的)
problem = struct with fields: 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] solver: 'intlinprog' options: [1×1 optim.com .options. aspl: [4516×1 double]Intlinprog]变量名:[4516×1 string] constraintNames: [1×1 struct]

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

problem.variableNames (1:4)
Ans = 4×1 string数组"x1" "x2" "x3" "x4"
problem.constraintNames.eqlin (1:4)
Ans = 4×1 string数组"c1" "c2" "c3" "c4"

问题中不存在不等式约束。

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

输入参数

全部折叠

MPS文件的路径,指定为字符向量或字符串标量。mpsfile应该在议员格式

请注意

  • mpsread不支持半连续约束或SOS约束。

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

  • mpsread不支持诸如objsense而且objname

  • mpsread对象中的变量会被静默忽略界限中先前没有出现的部分的MPS文件。

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

数据类型:字符|字符串

名称-值对指示从MPS文件返回变量和约束名,其值指定为逻辑的。表示不返回名称。真正的原因mpsread中返回两个额外字段问题输出结构:

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

  • problem.constraintNames-约束名称的结构:

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

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

问题结构不等式约束问题。Aineq而且problem.bineq和里面名字的顺序一样吗problem.constraintNames.ineqlin.同样,约束问题。Aeq而且problem.beq和里面名字的顺序一样吗problem.constraintNames.eqlin.的problem.variableNames顺序与解变量的顺序相同x在运行linprogintlinprog问题结构。

例子:mpsread(“文件名”、“ReturnNames”,真的)

数据类型:逻辑

输出参数

全部折叠

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

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

bineq

向量在线性不等式约束下Aineq * xbineq

Aeq

矩阵的线性等式约束Aeq * x =说真的

说真的

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

选项

默认选项,如命令返回的那样

optimoptions(解决)
variableNames 包含来自MPS文件的变量名的字符串数组。此字段仅在ReturnNames真正的
constraintNames 结构,包含来自MPS文件的约束名称。有关描述,请参见ReturnNames.此字段仅在ReturnNames真正的

mpsread返回问题。Aineq而且问题。Aeq稀疏矩阵。

版本历史

介绍了R2015b

Baidu
map