两辆平板车的装货问题有七种规格的包装箱要装到两辆铁路平板车上去包装箱的宽和高是一样的但厚度(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_装货问题的更多相关文章

  1. LinGo:装货问题——线性规划,整数规划,1988年美国数模B题

    7种规格的包装箱要装有两辆铁路平板车上去,包装箱的宽和高相同,但厚度(t,以cm计)和重量(以kg计)不同, 表A-1给出了每包装箱的厚度.重量和数量,每辆车有10.2m长的地方用来装包装箱(像面包片 ...

  2. 【转】为什么我们都理解错了HTTP中GET与POST的区别

    GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二. 最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数. 你可能自己 ...

  3. 从零开始学 Java - 数据库连接池的选择 Druid

    我先说说数据库连接 数据库大家都不陌生,从名字就能看出来它是「存放数据的仓库」,那我们怎么去「仓库」取东西呢?当然需要钥匙啦!这就是我们的数据库用户名.密码了,然后我们就可以打开门去任意的存取东西了. ...

  4. 99%的人都理解错了HTTP中GET与POST的区别(转载

    GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二. 最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数. 你可能自己 ...

  5. (转)完全用GNU/Linux工作 by 王珢

    完全用GNU/Linux工作 王珢      (看完这篇博文,非常喜欢王珢的这篇博客,也我坚定了学gnu/linux的决心,并努力去按照国外的计算机思维模式去学习编程提高自己.看完这篇文章令我热血沸腾 ...

  6. 99%的人都理解错了HTTP中GET与POST的区别

    GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二. 最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数. 你可能自己 ...

  7. 货运APP产品魔力=卓越功能×情感诉求

    货运APP产品魔力=卓越功能×情感诉求   [导语]在滴滴打车.快的打车软件风靡全国之际,很多企业也在探索如何将其应用到公路货运领域用以整合社会运力资源.但一方面大多数人聚焦的是干线运输中的长途货车运 ...

  8. Dynamics AX 2012 R2 业务系列-销售业务流程

    在博文Dynamics AX R2 业务系列中,Reinhard对这个系列做了一个规划,下面我们就按照规划开始说业务吧. 1.销售的主要职责 其实这里说的职责主要是针对销售文员,并非整天外面满世界跑业 ...

  9. fenxi

    线路:通过定义而来(固定线路可以定义,随机和临时线路怎么来) 订单:线路上点对点的关系 装车单:同意线路上的车辆可以有多个订单组成的装车单 车辆任务:给调度接口输入车辆和订单集合,根据订单产生多个车的 ...

随机推荐

  1. linux文件系统学习

    linux系统支持很多种文件系统. 1. 如何确认当前系统挂载了哪些文件系统? 使用mount命令可以查看当前系统上已经挂载了哪些文件系统, sh-# mount rootfs on / type r ...

  2. day52

    今天依旧 阅读2篇的整理 数学试卷一套 综合练习计算 政治视频一个 范帅长难句一个 翻译两句 作文大小各一个 linux基础 今天折腾最久的应该是linux了 自己重新手动安装了一下 遇到的不少问题在 ...

  3. linux shell在while中用read从键盘输入

    系统是ubuntu 14.04 64bit,之前曾想安装Stream来玩dota2,但最终没成功.由于Stream只有32bit,安装Stream时也安装了大量32bit的库.删除Stream后,这些 ...

  4. pyqt之倒计时例子

    from PyQt4.Qt import *from PyQt4.QtCore import *from PyQt4.QtGui import *import sysdef main():    a= ...

  5. 同一台电脑启动两个或多个tomcat

    今天要在机子的tomcat上部署新的项目,需要访问的端口为80,与之前不同. 但要求不能更改原tomcat部署项目的端口,因为该tomcat内的项目正在对外使用中,且不能断开服务器. 那么,我就需要再 ...

  6. Android实现程序前后台切换效果

    本文演示如何在Android中实现程序前后台切换效果. 在介绍程序实现之前,我们先看下Android中Activities和Task的基础知识. 我们都知道,一个Activity 可以启动另一个Act ...

  7. .NET基础拾遗(4)委托和事件1

    一.委托初窥:一个拥有方法的对象 (1)本质:持有一个或多个方法的对象:委托和典型的对象不同,执行委托实际上是执行它所“持有”的方法. (2)如何使用委托? ①声明委托类型(delegate关键字) ...

  8. MySQL的一些语法总结

    初学MySQL,今天遇到了一个问题,然后汇总了一下MySQL的一些语法 1. date和datetime类型是不同的 date只记录日期(包括年月日),datetime记录日期和时间(包括年月日时分秒 ...

  9. c#转码解码

    ///反转码                          mdata[k].MNAME = unescape(mdata[k].MNAME);程家楠 13:51:00 Microsoft.JSc ...

  10. Material Design说明

    原文链接: Material Design 引言 我们挑战自我,为用户创造了一种视觉语言,综合了好设计的经典原则,革新以及科技的可能性.这就是material design.这份说明是一个动态的文档, ...