Optimization 理解行话派生集

Optimization 理解行话派生集,optimization,lingo,Optimization,Lingo,我对行话一无所知,我在行话中找到了这个例子。 型号: !A 6仓库8供应商运输问题; 设置: 仓库/WH1 WH2 WH3 WH4 WH5 WH6/:容量; 供应商/V1 V2 V4 V5 V7 V8/:需求; 链接(仓库、供应商):成本、数量; 结束集 ! 目标; MIN=@SUM(链接(I,J): 成本(I,J)*卷(I,J)); ! 需求约束; @对于(供应商)(J): @总额(仓库(I):数量(I,J))= 需求(J)); ! 容量限制; @仓库(一): @SUM(VENDORS(J):

我对行话一无所知,我在行话中找到了这个例子。
型号:

!A 6仓库8供应商运输问题;
设置:
仓库/WH1 WH2 WH3 WH4 WH5 WH6/:容量;
供应商/V1 V2 V4 V5 V7 V8/:需求;
链接(仓库、供应商):成本、数量;
结束集
! 目标;
MIN=@SUM(链接(I,J):
成本(I,J)*卷(I,J));
! 需求约束;
@对于(供应商)(J):
@总额(仓库(I):数量(I,J))=
需求(J));
! 容量限制;
@仓库(一):

@SUM(VENDORS(J):VOLUME(I,J))很久以前我曾使用过一点行话。此后情况发生了变化,但我查阅了他们的(行话14)-参见第31页,它解释了集合定义的工作原理

1) 笛卡尔积
仓库x产品的所有集合成员将自动生成(通过连接标签,考虑所有“组合”)

现在,如果某对仓库供应商不应连接,则其
成本
参数应保持未定义。在用户手册第118页中查找“忽略数据部分中的值”。您需要在
成本
矩阵中使用逗号作为分隔符,并使用空字段(例如
5、5、6…

2)
VOLUME
是一个变量,而不是一个参数。
VOLUME
的值将由解算器找到-它们将代表最佳装运量(每个供应商将得到他/她所需的,并且装运的总成本将是最低的)

! A 6 Warehouse 8 Vendor Transportation Problem;
SETS:
WAREHOUSES / WH1 WH2 WH3 WH4 WH5 WH6/: CAPACITY;
VENDORS / V1 V2 V3 V4 V5 V6 V7 V8/ : DEMAND;
LINKS( WAREHOUSES, VENDORS): COST, VOLUME;
ENDSETS
! The objective;
MIN = @SUM( LINKS( I, J):
COST( I, J) * VOLUME( I, J));
! The demand constraints;
@FOR( VENDORS( J):
@SUM( WAREHOUSES( I): VOLUME( I, J)) =
DEMAND( J));
! The capacity constraints;
@FOR( WAREHOUSES( I):
@SUM( VENDORS( J): VOLUME( I, J)) <=
CAPACITY( I));
! Here is the data;
DATA:
CAPACITY = 60 55 51 43 41 52;
DEMAND = 35 37 22 32 41 32 43 38;
COST = 6 2 6 7 4 2 5 9
4 9 5 3 8 5 8 2
5 2 1 9 7 4 3 3
7 6 7 3 9 2 7 1
2 3 9 5 7 2 6 5
5 5 2 2 8 1 4 3;
ENDDATA
END