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. BZOJ_3697_采药人的路径_点分治

    BZOJ_3697_采药人的路径_点分治 Description 采药人的药田是一个树状结构,每条路径上都种植着同种药材. 采药人以自己对药材独到的见解,对每种药材进行了分类.大致分为两类,一种是阴性 ...

  2. 查看Linux下系统资源占用常用命令(top、free、uptime)

    本文介绍下,在linux中查看系统资源占用的三个命令:top.free.uptime,通过实例学习下它们的用法,有需要的朋友参考下 一,top命令 1.作用top命令用来显示执行中的程序进程,使用权限 ...

  3. python接口自动化(二十六)--批量执行用例 discover(详解)

    简介 我们在写用例的时候,单个脚本的用例好执行,那么多个脚本的时候,如何批量执行呢?这时候就需要用到 unittest 里面的 discover 方法来加载用例了.加载用例后,用 unittest 里 ...

  4. SOLID原则(OOD&OOP)

    SOLID原则是面向对象编程和面向对象设计的头五大原则.学习及应用这五大原则可以构建一个易于维护和扩展的应用程序,我们一起看看到底是那五大原则. S--单一责任原则(SRP) --Single Res ...

  5. Vue.js-10:第十章 - 组件间的数据通信

    一.前言 在上一章的学习中,我们继续学习了 Vue 中组件的相关知识,了解了在 Vue 中如何使用组件的 data.prop 选项.在之前的学习中有提到过,组件是 Vue 中的一个非常重要的概念,我们 ...

  6. ASP.NET Core 实战:构建带有版本控制的 API 接口

    一.前言 在上一篇的文章中,主要是搭建了我们的开发环境,同时创建了我们的项目模板框架.在整个前后端分离的项目中,后端的 API 接口至关重要,它是前端与后端之间进行沟通的媒介,如何构建一个 “好用” ...

  7. [区块链] 密码学——椭圆曲线密码算法(ECC)

    今天在学椭圆曲线密码(Elliptic Curve Cryptography,ECC)算法,自己手里缺少介绍该算法的专业书籍,故在网上查了很多博文与书籍,但是大多数博客写的真的是...你懂的...真不 ...

  8. 如何给列表降维?sum()函数的妙用

    上个月,学习群里的 S 同学问了个题目,大意可理解为列表降维 ,例子如下: oldlist = [[1, 2, 3], [4, 5]] # 想得到结果:newlist = [1, 2, 3, 4, 5 ...

  9. Kubernetes集群部署关键知识总结

    Kubernetes集群部署需要安装的组件东西很多,过程复杂,对服务器环境要求很苛刻,最好是能连外网的环境下安装,有些组件还需要连google服务器下载,这一点一般很难满足,因此最好是能提前下载好准备 ...

  10. python爬虫踩坑教程

    我们的目标是爬取下面这个个网址上的2010~2018年的数据 http://stockdata.stock.hexun.com/zrbg/Plate.aspx?date=2015-12-31 获取我们 ...