MCM1988 问题B_lingo_装货问题
两辆平板车的装货问题有七种规格的包装箱要装到两辆铁路平板车上去包装箱的宽和高是一样的但厚度(t,以厘米计)及重量(
,以公斤计)是不同的.下表给出了每种包装箱的厚度重量以及数量每辆平板车有10.2 米长的地方可用来装包装箱像面包片那样载重为40吨由于当地货运的限制对C5
,C6
,C7
类的包装箱的总数有一个特别的限制这类箱子所占的空间厚度不能超过302.7厘米试反包装箱见下表装到平板车上去使得浪费的空间最小.







t (厘米) 48.7 52.0 61.3 72.0 48.7 52.0 64.0
W(公斤) 2000 3000 1000 500 4000 2000 1000
件数 8 7 9 6 6 4 8

解:
假设
表示在第j辆车上所装的i类货物的个数(i=1,2,…,7;j=1,2);
表示第i类货物的厚度(i=1,2,…,7);
表示第i类货物的质量(i=1,2,…,7);
表示第i类货物的数量(i=1,2,…,7);
则建立模型如下:

Lingo运行代码及结果:
model:
sets:
row/1..7/:t,w,n;
col/1..2/:cl;
matrix(row,col):x;
endsets
data:
t=48.7,52,61.3,72,48.7,52,64;
w=2000,3000,1000,500,4000,2000,1000;
n=8,7,9,6,6,4,8;
cl=1020,1020;
enddata
max=@sum(row(i):t(i)*(x(i,1)+x(i,2)));
@for(row(i):@sum(col(j):x(i,j))<=n(i));
@for(col(j):@sum(row(i):t(i)*x(i,j))<=cl(j));
@for(col(j):@sum(row(i):w(i)*x(i,j))<=40000);
@sum(row(i)|i#GE#5:t(i)*(x(i,1)+x(i,2)))<=302.7;
@for(row(i):@for(col(j):@gin(x(i,j))));
End
运行结果:
Global optimal solution found.
Objective value: 2039.400
Objective bound: 2039.400
Infeasibilities: 0.000000
Extended solver steps: 44712
Total solver iterations: 114375
Variable Value Reduced Cost
T( 1) 48.70000 0.000000
T( 2) 52.00000 0.000000
T( 3) 61.30000 0.000000
T( 4) 72.00000 0.000000
T( 5) 48.70000 0.000000
T( 6) 52.00000 0.000000
T( 7) 64.00000 0.000000
W( 1) 2000.000 0.000000
W( 2) 3000.000 0.000000
W( 3) 1000.000 0.000000
W( 4) 500.0000 0.000000
W( 5) 4000.000 0.000000
W( 6) 2000.000 0.000000
W( 7) 1000.000 0.000000
N( 1) 8.000000 0.000000
N( 2) 7.000000 0.000000
N( 3) 9.000000 0.000000
N( 4) 6.000000 0.000000
N( 5) 6.000000 0.000000
N( 6) 4.000000 0.000000
N( 7) 8.000000 0.000000
CL( 1) 1020.000 0.000000
CL( 2) 1020.000 0.000000
X( 1, 1) 5.000000 -48.70000
X( 1, 2) 3.000000 -48.70000
X( 2, 1) 0.000000 -52.00000
X( 2, 2) 7.000000 -52.00000
X( 3, 1) 9.000000 -61.30000
X( 3, 2) 0.000000 -61.30000
X( 4, 1) 1.000000 -72.00000
X( 4, 2) 5.000000 -72.00000
X( 5, 1) 1.000000 -48.70000
X( 5, 2) 2.000000 -48.70000
X( 6, 1) 2.000000 -52.00000
X( 6, 2) 1.000000 -52.00000
X( 7, 1) 0.000000 -64.00000
X( 7, 2) 0.000000 -64.00000
Row Slack or Surplus Dual Price
1 2039.400 1.000000
2 0.000000 0.000000
3 0.000000 0.000000
4 0.000000 0.000000
5 0.000000 0.000000
6 3.000000 0.000000
7 1.000000 0.000000
8 8.000000 0.000000
9 0.1000000 0.000000
10 0.5000000 0.000000
11 12500.00 0.000000
12 500.0000 0.000000
13 0.6000000 0.000000
MCM1988 问题B_lingo_装货问题的更多相关文章
- LinGo:装货问题——线性规划,整数规划,1988年美国数模B题
7种规格的包装箱要装有两辆铁路平板车上去,包装箱的宽和高相同,但厚度(t,以cm计)和重量(以kg计)不同, 表A-1给出了每包装箱的厚度.重量和数量,每辆车有10.2m长的地方用来装包装箱(像面包片 ...
- 【转】为什么我们都理解错了HTTP中GET与POST的区别
GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二. 最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数. 你可能自己 ...
- 从零开始学 Java - 数据库连接池的选择 Druid
我先说说数据库连接 数据库大家都不陌生,从名字就能看出来它是「存放数据的仓库」,那我们怎么去「仓库」取东西呢?当然需要钥匙啦!这就是我们的数据库用户名.密码了,然后我们就可以打开门去任意的存取东西了. ...
- 99%的人都理解错了HTTP中GET与POST的区别(转载
GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二. 最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数. 你可能自己 ...
- (转)完全用GNU/Linux工作 by 王珢
完全用GNU/Linux工作 王珢 (看完这篇博文,非常喜欢王珢的这篇博客,也我坚定了学gnu/linux的决心,并努力去按照国外的计算机思维模式去学习编程提高自己.看完这篇文章令我热血沸腾 ...
- 99%的人都理解错了HTTP中GET与POST的区别
GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二. 最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数. 你可能自己 ...
- 货运APP产品魔力=卓越功能×情感诉求
货运APP产品魔力=卓越功能×情感诉求 [导语]在滴滴打车.快的打车软件风靡全国之际,很多企业也在探索如何将其应用到公路货运领域用以整合社会运力资源.但一方面大多数人聚焦的是干线运输中的长途货车运 ...
- Dynamics AX 2012 R2 业务系列-销售业务流程
在博文Dynamics AX R2 业务系列中,Reinhard对这个系列做了一个规划,下面我们就按照规划开始说业务吧. 1.销售的主要职责 其实这里说的职责主要是针对销售文员,并非整天外面满世界跑业 ...
- fenxi
线路:通过定义而来(固定线路可以定义,随机和临时线路怎么来) 订单:线路上点对点的关系 装车单:同意线路上的车辆可以有多个订单组成的装车单 车辆任务:给调度接口输入车辆和订单集合,根据订单产生多个车的 ...
随机推荐
- 用java流方式判断文件类型
这个方法只能在有限的范围内有效.并不是万金油 比如 图片类型判断,音频文件格式判断,视频文件格式判断等这种肯定是2进制且专业性很强的文件类型判断. 下面给出完整版代码 首先是文件类型枚取 packag ...
- NetAnalyzer笔记 之 五 一些抓包技巧分享(不定期更新)
[创建时间:2016-03-12 10:00:00] [更新时间:2016-05-21 10:00:00] NetAnalyzer下载地址 前一段时间应为工作关系,NetAnalyzer笔记系列已经很 ...
- (转)iOS Wow体验 - 第五章 - 利用iOS技术特性打造最佳体验
本文是<iOS Wow Factor:Apps and UX Design Techniques for iPhone and iPad>第五章译文精选,其余章节将陆续放出.上一篇:Wow ...
- CentOS7--Xshell网络中断引起的vi编辑文件问题
在编写Python的程序时,由于不小心触碰网线使xshell出现网络中断问题,当再次以vi命令打开文件准备编辑时,发现爆出英文错误: 该错误的英文翻译大概是(1)另一个程序也在编译这个文件,如果是这样 ...
- mp4文件格式之fragment mp4
目前网络上对mp4文件格式的总结已经相当多了,我就不在这里抄别人总结的东西了,想入门的话百度一下会有许多这方面的文章.这里介绍一下其他文章中很少涉及的一种mp4文件结构,即fragment mp4,也 ...
- FileZilla 安装配置参考
http://www.admin10000.com/document/72.html 解决 NAT issue https://wiki.filezilla-project.org/Network_C ...
- scala中的view bound与context bound
1.scala中的<%意识是“view bounds”(视界) ,它比<:的使用范围更广,还能进行隐式转换,是一种语法糖. 下面的两种写法是等效的,在编译之后完全一样. object Te ...
- ASP.NET 动态编译、预编译和 WebDeployment 项目(转)
概述 在 Web 服务器上,既可以部署源文件,也可以部署编译后程序集. 若部署源文件,则当用户访问时,Web 应用程序会被动态编译,并缓存该程序集,以便下次访问. 否则,若部署程序集,Web 应用程序 ...
- Android学习之Activity之间的数据传递
Activity与Activity之间很多情况下都需要进行数据的传递,下面就用几个简单的例子来看一下. (一).一个Activity启动另一个Activity并将数据传递到这个Activity当中 思 ...
- Wireshark 使用教程
原文出处 http://blog.sina.com.cn/s/blog_5d527ff00100dwph.html Wireshark是世界上最流行的网络分析工具.这个强大的工具可以捕捉网络中的数 ...