• 双原油问题


    双原油问题

    清华大学肖秀波梁湧老师翻译的Rardin教授的《运筹学》[1]已于今年年中出版,感谢机械工业出版社张有利老师的推荐和赠书,让我能看到如此完美的千页级宏篇译著。该书的翻译质量非常高,书中内容深入浅出,附有大量的应用案例(Application)和练习题库。尤其让人欣喜的是该著作能与计算实践密切结合,凡有计算机图案标记的练习都是与计算和软件应用相关的,彰显了运筹学的应用数学本质。有鉴于此,笔者计划对该书中的问题进行大量实践,争取达到双位数的规模,编号先从001开始。

    双原油问题

    双原油问题是该书中的一个案例(Application),见原书第二章,案例2-1(Page 19, Page 22)。我们对此模型进行了+Leapms建模和求解。

    +Leapms生成的模型摘录

    对任何问题,+Leapms都建议直接用+Leapms建模语言直接写出模型,并进行模型调试。

    我们的经验是,模型调试能够发现模型的不足、促进建模的完美性,甚至可以促进对问题的更加深入的了解。

    当模型调试完毕,对模型的正确性有充分的信心后,+Leapms系统可生成模型摘录,包括数学概念模型(即使用标引符号表示的数学模型)和+Leapms源码供思路交流使用。

    以下是双原油问题的+Leapms模型摘录(pdf屏幕截图):

    +Leapms模型求解结果

    change home path done.
    +Leapms>load
     Current directory is "ROOT".
     .........
            RLX2-1.leap
     .........
    please input the filename:RLX2-1
    ================================================================
    1:  //Rardin R. L 著,肖勇波、梁湧译. 运筹学. 北京:机械工业出版社,2018
    2:  //Rardin-Liang&Xiao:案例2-1(Page 19, Page 22)
    3:
    4:  min 100x1 +75 x2
    5:  s.t.
    6:      0.3 x1+0.4x2>=2.0//汽油需求
    7:      0.4x1+0.2x2>=1.5//气体燃料需求
    8:      0.2x1+0.3x2>=0.5//润滑油需求
    9:      x1<=ub[1] //沙特原油供应量
    10:     x2<=ub[2] //委内瑞拉原油供应量
    11:  where
    12:     ub is a set of numbers
    13:     x1,x2 are variables of nonnegative numbers
    14:  data
    15:     ub={9 6}
    16:
    ================================================================
    >>end of the file.
    Parsing model:
    1D
    2R
    3V
    4O
    5C
    6S
    7End.
    ..................................
    number of variables=2
    number of constraints=5
    ..................................
    +Leapms>solve
    The LP is solved to optimal.
    找到线性规划最优解.非零变量值和最优目标值如下:
        .........
        x1*=2
        x2*=3.5
        .........
        Objective*=462.5
        .........
    +Leapms>

    讨论

    在原书中,双原油问题并未被当成标引模型(即对大规模模型中的变量和常量符号等实用脚标标引形式给出)举例,但因为+Leapms是一种以标引模型为主要表达方式的语言,因此此处的+Leapms还是采用的标引模型的形式。当然,+Leapms也支持非标引形式模型。

    参考文献

    [1] Rardin R. L 著,肖勇波、梁湧译. 运筹学. 北京:机械工业出版社,2018

  • 相关阅读:
    谈谈toLocaleString()
    如何理解NaN?
    Element--->>>最新骨架屏Skeleton使用
    自定义select组件
    微信小程序之配置业务域名踩过的坑
    Vue watch监听 date中的变量 与 数组或者对象的数据变化
    Vue + Element table的@select方法获取当table中的id值都相同时,获取他们索引
    Vue + Element table中的某行触发enter事件后,使该行disabled
    Vue + Element tree树形控件的懒加载使用
    Vue web使用LeapFTP 上传到服务器
  • 原文地址:https://www.cnblogs.com/leapms/p/10201480.html
Copyright © 2020-2023  润新知