mpsread

Считайте файл MPS для LP и данных об оптимизации MILP

Синтаксис

Описание

пример

problem = mpsread(mpsfile) считывает данные для проблем линейного программирования (LP) и смешано-целочисленного линейного программирования (MILP). Это возвращает данные в структуре что intlinprog или linprog решатели принимают.

Примеры

свернуть все

Загрузите mps файл и решает задачу, которую он описывает.

Загрузите eil33-2.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 тихо игнорирует переменные в BOUNDS разделите, которые ранее не появляются в COLUMNS раздел файла MPS.

Пример: 'documents/optimization/milpproblem.mps'

Типы данных: 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 isempty,

options

Опции по умолчанию, как возвращено командой

optimoptions(solver)

mpsread возвращает problem.Aineq и problem.Aeq как разреженные матрицы.

Введенный в R2015b