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. Python Django 2.1登录功能_1

    #在上篇的基础上进行#在.../sign/templates/index.html文件,开发登录表单 <html> <head> <title>Django Pag ...

  2. 【源码安装】Heartbeat3.0.9

    1.概述1.1 关于Heartbeat1.2 本篇博客实践环境2. 部署基础环境2.1 通过YUM安装依赖环境2.2 创建Heartbeat用户和组3. 编译安装3.1下载源码包3.2 编译安装3.2 ...

  3. 聊聊Socket、TCP/IP、HTTP、FTP及网络编程

    1 这些都是什么 既然是网络传输,涉及几个系统之间的交互,那么首先要考虑的是如何准确的定位到网络上的一台或几台主机,另一个是如何进行可靠高效的数据传输.这里就要使用到TCP/IP协议. 1.1 TCP ...

  4. csc.exe的环境变量设置

    csc.exe使用来编译*.cs文件的,但必须要在安装目录下使用.所以需要设置一下环境变量. C#的环境变量设置 1.“win+R” 打开运行窗口,并输入 “cmd”: 2.运行“set path=% ...

  5. Guess 任意猜

    age_of_oldboy = 56 count = 0 while count <3: guess_age = int(input("guess age:")) if gu ...

  6. Pandas之groupby( )用法笔记

    groupby官方解释 DataFrame.groupby(by=None, axis=0, level=None, as_index=True, sort=True, group_keys=True ...

  7. selenium IDE 使用方法整理

    1.设置起始点(确定case从哪步开始执行),快捷键:S,效果图如下: 2.设置断点(case执行到添加断点处,将自动停止),快捷键:B,效果图如下: 3.设置判断点    如:百度输入ceshi,点 ...

  8. C# 语言历史版本特性(C# 1.0到C# 8.0汇总)

    历史版本 C#作为微软2000年以后.NET平台开发的当家语言,发展至今具有17年的历史,语言本身具有丰富的特性,微软对其更新支持也十分支持.微软将C#提交给标准组织ECMA,C# 5.0目前是ECM ...

  9. Hive 查询元数据库获取某个分区的count数

    =========查询分区的大小========= select d.NAME,t.TBL_NAME,p.PART_NAME,prm.PARAM_KEY,prm.PARAM_VALUE from TB ...

  10. 『zkw线段树及其简单运用』

    阅读本文前,请确保已经阅读并理解了如下两篇文章: 『线段树 Segment Tree』 『线段树简单运用』 引入 这是一种由\(THU-zkw\)大佬发明的数据结构,本质上是经典的线段树区间划分思想, ...