大数据人|大数据第一社区

标题: §7.1 MPS格式文件生成命令SMPS [打印本页]

作者: admin    时间: 2015-7-14 13:17
标题: §7.1 MPS格式文件生成命令SMPS
§7.1   MPS格式文件生成命令SMPS

1.命令功能:将当前模型转换成MPS格式并存盘。
2.命令格式:
              :SMPS[文件名·扩展名]<CR>
其中的扩展名可以缺省,如缺省,系统将自动给予MPS作为扩展名。
3.命令使用:使用SMPS命令之后,内存中原有的LIN格式文件仍有保留,另外生成新的MPS格式文件。请看下面的操作及讲解:
OOK ALL

MAX    3 X1 + 4 X2 + 5 X3 + 3 X4 + 2 X5
SUBJECT TO
        2)  2 X1 + 3 X2 + 4 X3 + 5 X4 +    X5<=   11
        3)  3 X1 + 4 X2 + 2 X3 +    X4 + 3 X5<=   16
        4)  7 X1 + 2 X2 + 5 X3 + 4 X4 + 2 X5 <=  19
END

:INT X1
:GIN X2
:SUB X3 5
:SLB X4 1.5
:SMPS MPS.LIS
IUT
C>TYPE MPS.LIN
NAME                                                          ( MAX)
ROWS
  N 1      
  L 2      
  L 3      
  L 4      
COLUMNS
    INTEGER1 'MARKER'                 'INTORG'
    X1       1            3.0000000
    X1       2            2.0000000
    X1       3            3.0000000
    X1       4            7.0000000
    X2       1            4.0000000
    X2        2            3.0000000
    X2       3            4.0000000
    X2       4            2.0000000
    INTEGER2 'MARKER'                 'INTEND'
    X3       1            5.0000000
    X3       2            4.0000000
    X3       3            2.0000000
    X3       4            5.0000000
    X4       1            3.0000000
    X4       2            5.0000000
    X4       3            1.0000000
    X4       4            4.0000000
    X5       1            2.0000000
    X5       2            1.0000000
    X5       3            3.0000000
    X5       4            2.0000000
RHS
    RHS      2           11.0000000
    RHS      3           16.0000000
    RHS      4           19.0000000
BOUNDS
LO LINDOBND X1         0.000000000
UP LINDOBND X1           1.0000000
LO LINDOBND X3         0.000000000
UP LINDOBND X3           5.0000000
LO LINDOBND X4           1.5000000
ENDATA

可见,一个用MPS格式文件由模型名、行信息、变量信息、常数列信息、变量上界信息和文件结束符六段组成。
第一段是模型名,只包括一行。其中NAME是关键字,其余由用户输入。如果MPS文件是由LINDO自动产生的,则自动生成模型名就是输入模型的标题TITL。
行信息段由关键字“ROWS”开始,以下每一行说明模型的一行。每一行由行标识和行号组成。行标识符为:
N           目标函数
L            “小于等于”约束
E            “等于”约束
G           “大于”约束
行号以ROW开头,后继以行编号,如ROW10001,ROW10002等。
MPS格式文件的一个重要优点是可以定义一个以上的目标函数,即在行信息段中可以出现一个以上的以“N”为标识的行。例如:

NAMEexample of a model with muliti-objective functions

ROWS
  N   ROW10001
  N   ROW10002
  L   ROW10003
  E   ROW10004
  G   ROW10005
COLUMNS
  ..........

当一个多于目标函数的MPS格式文件读入后,系统将会提示目标函数行号,要求用户确认其中一个目标函数作为当前运行的目标函数。在运行的结果中,系统将会输出当前最优解时各目标函数的值。这一功能为多目标评价提供了很大方便。
MPS格式文件的变量信息段由关键字“COLUMNS”开始,每一行中包括:变量名(即系数矩阵的列)、行号(即系数矩阵的行)以及该变量在该行中的系数。矩阵中的零元素不进行描述。
第四段是右边常数段,由关键字“RHS”开始,其中每一行包括:“RHS”、行号以及相应的右边常数三部分,右边常数为零的行也不出现。
第五段是变量上下界段,由关键字“UP LINDOBND”或“LO LINDOBND”开始,每一行包括:关键字、变量名和上下界值。
最后一段是文件结束符“ENDATA”。
如果把已经已生成的MPS格式模型文件调入内存,那么就需要用到下一节的 RMPS命令。






欢迎光临 大数据人|大数据第一社区 (http://www.bigdata.ren/) Powered by Discuz! X3.2