阳光下的星星 发表于 2006-2-13 00:14

请教lingo高手!!!急!!!

紧急求助!!!

万宝成的lingo教程(也就是lingo 帮助文件)中的第一个综合例题中:


例7.2 装配线平衡模型一条装配线含有一系列的工作站,在最终产品的加工过程中每个工作站执行一种或几种特定的任务。装配线周期是指所有工作站完成分配给它们各自的任务所化费时间中的最大值。平衡装配线的目标是为每个工作站分配加工任务,尽可能使每个工作站执行相同数量的任务,其最终标准是装配线周期最短。不适当的平衡装配线将会产生瓶颈——有较少任务的工作站将被迫等待其前面分配了较多任务的工作站。
问题会因为众多任务间存在优先关系而变得更复杂,任务的分配必须服从这种优先关系。
这个模型的目标是最小化装配线周期。有2类约束:
① 要保证每件任务只能也必须分配至一个工作站来加工;
② 要保证满足任务间的所有优先关系。
例有11件任务(A—K)分配到4个工作站(1—4),任务的优先次序如下图。



http://i1.tinypic.com/no7kvk.jpg

每件任务所花费的时间如下表。

任务        A        B        C        D        E        F        G        H        I        J        K
时间        45        11        9        50        15        12        12        12        12        8        9

MODEL:
!装配线平衡模型;

SETS:
!任务集合,有一个完成时间属性T;
TASK/ A B C D E F G H I J K/: T;

!任务之间的优先关系集合(A 必须完成才能开始B,等等);
PRED( TASK, TASK)/ A,BB,CC,FC,GF,JG,J
    J,KD,EE,HE,IH,JI,J /;

! 工作站集合;
STATION/1..4/;

TXS( TASK, STATION): X;

! X是派生集合TXS的一个属性。如果X(I,K)=1,则表示第I个任务
    指派给第K个工作站完成;

ENDSETS

DATA:
!任务A   BCD   E   FG   HI   JK的完成时间估计如下;
T =4511950151212121289;
ENDDATA

! 当任务超过15个时,模型的求解将变得很慢;
!每一个作业必须指派到一个工作站,即满足约束①;
@FOR( TASK( I): @SUM( STATION( K): X( I, K)) = 1);

!对于每一个存在优先关系的作业对来说,前者对应的工作站I必须小于后
者对应的工作站J,即满足约束②;
@FOR( PRED( I, J): @SUM( STATION( K): K * X( J, K) - K * X( I, K)) >= 0);

!对于每一个工作站来说,其花费时间必须不大于装配线周期;
@FOR( STATION( K):@SUM( TXS( I, K): T( I) * X( I, K)) <= CYCTIME);

!目标函数是最小化转配线周期;
MIN = CYCTIME;

!指定X(I,J) 为0/1变量;
@FOR( TXS: @BIN( X));

END

计算的结果为

Global optimal solution found at iteration:          1247
Objective value:                                 50.00000


                     Variable         Value      Reduced Cost
                        CYCTIME      50.00000            0.000000
                        T( A)      45.00000            0.000000
                        T( B)      11.00000            0.000000
                        T( C)      9.000000            0.000000
                        T( D)      50.00000            0.000000
                        T( E)      15.00000            0.000000
                        T( F)      12.00000            0.000000
                        T( G)      12.00000            0.000000
                        T( H)      12.00000            0.000000
                        T( I)      12.00000            0.000000
                        T( J)      8.000000            0.000000
                        T( K)      9.000000            0.000000
                     X( A, 1)      0.000000            0.000000
                     X( A, 2)      1.000000            0.000000
                     X( A, 3)      0.000000            45.00000
                     X( A, 4)      0.000000            0.000000
                     X( B, 1)      0.000000            0.000000
                     X( B, 2)      0.000000            0.000000
                     X( B, 3)      1.000000            11.00000
                     X( B, 4)      0.000000            0.000000
                     X( C, 1)      0.000000            0.000000
                     X( C, 2)      0.000000            0.000000
                     X( C, 3)      0.000000            9.000000
                     X( C, 4)      1.000000            0.000000
                     X( D, 1)      1.000000            0.000000
                     X( D, 2)      0.000000            0.000000
                     X( D, 3)      0.000000            50.00000
                     X( D, 4)      0.000000            0.000000
                     X( E, 1)      0.000000            0.000000
                     X( E, 2)      0.000000            0.000000
                     X( E, 3)      1.000000            15.00000
                     X( E, 4)      0.000000            0.000000
                     X( F, 1)      0.000000            0.000000
                     X( F, 2)      0.000000            0.000000
                     X( F, 3)      0.000000            12.00000
                     X( F, 4)      1.000000            0.000000
                     X( G, 1)      0.000000            0.000000
                     X( G, 2)      0.000000            0.000000
                     X( G, 3)      0.000000            12.00000
                     X( G, 4)      1.000000            0.000000
                     X( H, 1)      0.000000            0.000000
                     X( H, 2)      0.000000            0.000000
                     X( H, 3)      1.000000            12.00000
                     X( H, 4)      0.000000            0.000000
                     X( I, 1)      0.000000            0.000000
                     X( I, 2)      0.000000            0.000000
                     X( I, 3)      1.000000            12.00000
                     X( I, 4)      0.000000            0.000000
                     X( J, 1)      0.000000            0.000000
                     X( J, 2)      0.000000            0.000000
                     X( J, 3)      0.000000            8.000000
                     X( J, 4)      1.000000            0.000000
                     X( K, 1)      0.000000            0.000000
                     X( K, 2)      0.000000            0.000000
                     X( K, 3)      0.000000            9.000000
                     X( K, 4)      1.000000            0.000000

                            Row    Slack or Surplus      Dual Price
                              1      0.000000            0.000000
                              2      0.000000            0.000000
                              3      0.000000            0.000000
                              4      0.000000            0.000000
                              5      0.000000            0.000000
                              6      0.000000            0.000000
                              7      0.000000            0.000000
                              8      0.000000            0.000000
                              9      0.000000            0.000000
                           10      0.000000            0.000000
                           11      0.000000            0.000000
                           12      1.000000            0.000000
                           13      1.000000            0.000000
                           14      0.000000            0.000000
                           15      0.000000            0.000000
                           16      0.000000            0.000000
                           17      0.000000            0.000000
                           18      0.000000            0.000000
                           19      2.000000            0.000000
                           20      0.000000            0.000000
                           21      0.000000            0.000000
                           22      1.000000            0.000000
                           23      1.000000            0.000000
                           24      0.000000            0.000000
                           25      5.000000            0.000000
                           26      0.000000            1.000000
                           27      0.000000            0.000000
                           28      50.00000         -1.000000


请问如何解释结果中的数值,如Reduced Cost 中为什么在 station 3 时才有Reduced Cost, 而在 station 4 则都为零。在Slack or Surplus中第12-23行表示第二个约束条件, 其中的非零数值又表示什么,另外Dual Price中第26 行的1 和最后一行的-1分别表示什么?

帮忙看看,多谢了!!!
页: [1]
查看完整版本: 请教lingo高手!!!急!!!