zoukankan      html  css  js  c++  java
  • 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

     

     

     

  • 相关阅读:
    Python 从入门到进阶之路(一)
    Egg 企业级应用开发框架的搭建
    koa2 从入门到进阶之路 (七)
    koa2 从入门到进阶之路 (六)
    koa2 从入门到进阶之路 (五)
    衣服洗一个月之后失踪,这个互联网洗衣平台把衣服洗出了翅膀
    CSS3 Gradient 渐变还能这么玩
    MessageChannel 消息通道
    前端面试(算法篇)
    JavaScript 中的相等操作符 ( 详解 [] == []、[] == ![]、{} == !{} )
  • 原文地址:https://www.cnblogs.com/orangebook/p/3265125.html
Copyright © 2011-2022 走看看