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

 找回密码
 注册会员

扫一扫,访问微社区

查看: 1284|回复: 0
打印 上一主题 下一主题

§7.1 MPS格式文件生成命令SMPS

[复制链接]
  • TA的每日心情
    奋斗
    2015-7-30 23:05
  • 签到天数: 12 天

    [LV.3]偶尔看看II

    852

    主题

    972

    帖子

    4804

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    4804
    QQ
    跳转到指定楼层
    楼主
    发表于 2015-7-14 13:17:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    §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命令。

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册会员

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条


    id="mn_portal" >首页Portalid="mn_P18" onmouseover="navShow('P18')">应用id="mn_P15" onmouseover="navShow('P15')">技术id="mn_P37" onmouseover="showMenu({'ctrlid':this.id,'ctrlclass':'hover','duration':2})">前沿id="mn_P36" onmouseover="navShow('P36')">宝箱id="mn_P61" onmouseover="showMenu({'ctrlid':this.id,'ctrlclass':'hover','duration':2})">专栏id="mn_P65" >企业id="mn_Nd633" >导航 折叠导航 关注微信 关注微博 关注我们

    QQ|广告服务|关于我们|Archiver|手机版|小黑屋|大数据人 ( 鄂ICP备14012176号-2  

    GMT+8, 2024-4-27 10:33 , Processed in 0.284306 second(s), 34 queries .

    Powered by 小雄! X3.2

    © 2014-2020 bigdataer Inc.

    快速回复 返回顶部 返回列表