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

     

     

     

  • 相关阅读:
    Vue源码解析-源码目录及源码调试运行
    Vue.js源码解析-从scripts脚本看vue构建
    ps 命令显示不完整的问题
    Linux中10个实用命令,千万不要错过
    Linux 下如何使用 fc 和 alias 命令
    Mac 查看正在后台运行(显示)的程序
    Mac 显示桌面
    Mac如何批量关闭同一个程序
    Mac 选中删除
    Mac 中 vscode 打开项目文件夹
  • 原文地址:https://www.cnblogs.com/orangebook/p/3265125.html
Copyright © 2011-2022 走看看