Pi Hybrids问题

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

Pi Hybrids问题

Pi Hybrids问题,见原书第二章,案例2-2(Pi Hybrids, Page 33,37,56-58)。

Pi Hybrids问题是一个叠加了生产问题的运输问题,是一个包含了三脚标标引变量的模型,该著作在一开始就介入如此有一定深度的模型展现了作者应用导向的理念。

+Leapms生成的模型摘录

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

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

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

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

+Leapms模型求解结果

+Leapms>load
Current directory is "ROOT".
.........
RLX2-.leap
.........
please input the filename:RLX2-
================================================================
: //Rardin R. L 著,肖勇波、梁湧译. 运筹学. 北京:机械工业出版社,2018
: //Rardin-Liang&Xiao:案例2-2(Pi Hybrids, Page 33,37,56-58)
:
: min sum{f=,..,l;h=,..,m}p[f][h]x[f][h]+ -->
: sum{f=,..,l;h=,..,m;r=,..,n}s[f][h][r]y[f][h][r]
: s.t.
: sum{h=,..,m}a[h]x[f][h]<=u[f] | f=,..,l
: sum{f=,..,l}y[f][h][r]=d[h][r]| h=,..,m;r=,..,n
: sum{r=,..,n}y[f][h][r]=x[f][h]| f=,..,l;h=,..,m
: where
: l,m,n are integers
: a[h] is a number|h=,..,m
: u[f] is a number|f=,..,l
: p[f][h] is a number|f=,..,l;h=,..,m
: d[h][r] is a number|h=,...,m;r=,...,n
: s[f][h][r] is a number|f=,..,l;h=,..,m;r=,..,n
: x[f][h] is a variable of nonnegative number-->
: |f=,..,l;h=,..,m
: y[f][h][r] is a variable of nonnegative number-->
: |f=,..,l;h=,..,m;r=,..,n
: data
: l=
: m=
: n=
: u={ } // corn processing capacity of facility f
: a={ } // number of corn to obtain a hybrid h
: p={
: 1.10 0.89 2.05 1.45
: 1.55 1.13 2.15 1.56
: 0.95 0.83 1.80 1.22
: }
: d={ //number of hybrid h demanded in region r
:
:
:
:
: }
: s={ //cost of shipping hybrid h from facility f to region r
: 0.89 0.91 0.77
: 1.00 0.84 0.89
: 0.77 0.76 0.78
: 0.99 1.03 0.85
:
: 0.92 0.89 0.92
: 0.87 0.95 0.90
: 0.91 0.83 0.77
: 0.89 0.79 0.86
: }
:
================================================================
>>end of the file.
Parsing model:
1D
2R
3V
4O
5C
6S
7End.
..................................
number of variables=
number of constraints=
..................................
+Leapms>solve
The LP is solved to optimal.
找到线性规划最优解.非零变量值和最优目标值如下:
.........
x1_1*=
x1_2*=
x1_3*=
x1_4*=93.7222
x2_4*=736.278
y1_1_1*=
y1_1_2*=
y1_1_3*=
y1_2_1*=
y1_2_2*=
y1_2_3*=
y1_3_1*=
y1_3_2*=
y1_3_3*=
y1_4_3*=93.7222
y2_4_1*=
y2_4_2*=
y2_4_3*=346.278
.........
Objective*=7400.61
.........
+Leapms>

讨论

在原书中,Pi Hybrids问题是讲述标引模型(即对大规模模型中的变量和常量符号等实用脚标标引形式给出)的举例。+Leapms是一种以标引模型为主要表达方式的语言。

另外,在英文原版书中,参数数据可能有误,导致生产能力不足以满足市场需求,此处把生产能力参数 u 从英文原书中的{2200 2555}更改为{22000 25550}。

参考文献

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

Pi Hybrids问题的更多相关文章

  1. Raspberry Pi(树莓派)上安装Raspbian(无路由器,无显示器)

    一. 准备工作 1. 树莓派主板 型号:树莓派3 B型 处理器:四核64位ARM Cortex-A53 CPU 内核架构:ARMv8 2. 一张大于8G的TF卡(本人用的是32G的,也作为PiLFS用 ...

  2. 让Mono 4在Raspberry Pi上飞

    最近公司有项目想要在树莓派上做,代替原来的工控机(我们是把工控主机当作小的主机用,一台小的工控主机最少也要600左右,而树莓派只要200多).于是,公司买了一个Raspberry Pi B+和一个Ra ...

  3. Kali v2.1.2 for Raspberry Pi 3B

    最新的下载地址是: https://www.offensive-security.com/kali-linux-arm-images/ 按照官网的说法是找不到树莓派版本的SHA1SUM和SHA1SUM ...

  4. A new comer playing with Raspberry Pi 3B

    there are some things to do for raspberry pi 3b for the first time: 1, connect pi with monitor/KB/mo ...

  5. Windows Iot:让Raspberry Pi跑起来(1)

    首先请大家原谅我的"不务正业",放着RabbitHub不写,各种系列的文章不写搞什么Iot,哈哈,最近心血来潮想搞个速度极快的遥控车玩,望着在角落的Raspberry Pi恶狠狠的 ...

  6. 【转】【Raspberry Pi】Unix NetWork Programming:配置unp.h头文件环境

    一.初衷 近期正在做网络计算编程的作业.要求平台为unix/linux,想着Raspberry Pi装的Debian系统也是Linux改的,也应该能够勉强用着,所以就用它来做作业了! 二.说明 先把环 ...

  7. 【Raspberry Pi】新入手的Raspberry Pi3拼装日志

    一.概述 2016年暑假某宝入手Raspberry Pi 3,装机清单: 树莓派主板 亚克力外壳 小风扇 散热片 30G SD card 螺丝若干颗 因机型问题,可能与你的机器有微小差异 二.装机过程 ...

  8. orange pi pc 体验(一)

    最近在淘宝上看到一款和树莓派差不多的卡片机,定价才99元,而且是国产的,忍不住入手了一个,就是orange pi 感兴趣的可以百度搜索下,深圳一个公司出的,不过资料比树莓派少了很多,论坛中人也没多少, ...

  9. 【树莓派】【转】将树莓派Raspberry Pi设置为无线路由器(WiFi热点AP,RTL8188CUS芯片)

    下文为转载,文章转自:http://wangye.org/blog/archives/845/,仅供本次学习实践参考. 最近又开始折腾起Raspberry Pi来了,因为某处上网需要锐捷拨号,于是我就 ...

随机推荐

  1. (4)STM32使用HAL库实现串口通讯——理论讲解

    一.查询模式 1. 二.中断模式 1.中断接收. 1.1先看中断接收的流程(以 USART2 为例) 在启动文件中找到中断向量 USART2_IRQHandler 找到USART2_IRQHandle ...

  2. MyBatis新手教程(一)

    MyBatis本是apache的一个开源项目iBatis,2010年这个项目由apache 迁移到了 google,并改名为MyBatis,2013年迁移到Github. MyBatis是一个优秀的持 ...

  3. 第十四章——循环神经网络(Recurrent Neural Networks)(第二部分)

    本章共两部分,这是第二部分: 第十四章--循环神经网络(Recurrent Neural Networks)(第一部分) 第十四章--循环神经网络(Recurrent Neural Networks) ...

  4. eclipse使用Git基本流程

    1.安装GIT 2.Git的使用 ①下载代码到eclipse(右键导入工程) ②提交代码到本地(commit) ③更新代码到本地(pull) ④当本地出现冲突时,解决冲突,没有冲突当然就最好啦 ⑤提交 ...

  5. 使用Entity Framework Core访问数据库(Oracle篇)

    前言 哇..看看时间 真的很久很久没写博客了 将近一年了. 最近一直在忙各种家中事务和公司的新框架  终于抽出时间来更新一波了. 本篇主要讲一下关于Entity Framework Core访问ora ...

  6. 【STM32H7教程】第9章 STM32H7重要知识点数据类型,变量和堆栈

    完整教程下载地址:http://forum.armfly.com/forum.php?mod=viewthread&tid=86980 第9章   STM32H7重要知识点数据类型,变量和堆栈 ...

  7. 通过JDK常用工具监控Java进程的内存占用情况

    目录 1 JDK 工具的使用 2 查看 GC 日志信息 3 添加 JMS 远程监控 Tomcat是一款常用的Web容器, 它是运行在 JVM(Java Virtual Machine) 中的一个Jav ...

  8. Mysql常用基础操作(备忘录)

    常常忘记mysql的一些命令行操作,甚至于说,比较复杂的sql格式记不住或忘记了,也可能根本不会考虑去记,因此,做一下汇总,当下次出现恍惚时不至于去百度挨个找,有时就是记不起来,但是只要给点药引子,立 ...

  9. 安全性测试:OWASP ZAP使用入门指南

    免责声明: 本文意在讨论使用工具来应对软件研发领域中,日益增长的安全性质量测试需求.本文涉及到的工具不可被用于攻击目的. 1. 安全性测试 前些天,一则12306用户账号泄露的新闻迅速发酵,引起了购票 ...

  10. 为什么VUE注册组件命名时不能用大写的?

    这段时间一直在弄vue,当然也遇到很多问题,这里就来跟大家分享一些注册自定义模板组件的心得 首先"VUE注册组件命名时不能用大写"其实这句话是不对的,但我们很多人开始都觉得是对的, ...