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

     

     

     

  • 相关阅读:
    leetcode 78. 子集 JAVA
    leetcode 91. 解码方法 JAVA
    leetcode 75. 颜色分类 JAVA
    leetcode 74 搜索二维矩阵 java
    leetcode 84. 柱状图中最大的矩形 JAVA
    last occurance
    first occurance
    classical binary search
    LC.234.Palindrome Linked List
    LC.142. Linked List Cycle II
  • 原文地址:https://www.cnblogs.com/orangebook/p/3265125.html
Copyright © 2011-2022 走看看