请教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]