1、具有固定支出的仓储管理问题陈雄达摘要具有固定支出项目的仓储管理问题和不具该项目的仓储管理问题不同,除了从仓库到零售商的运输费用外,每个仓库一旦启用就有一个固定的建设费用或维护费用。从数学上讲,这样的问题是一个非线性整数规划问题。本文通过一个实际问题的求解,给出了一个求解具有固定支出项目的仓储管理问题的方法,并使用 LINGO 软件得到了一个局部最优方案,文中提出的问题的最小代价最后为 46031,使用了五个仓库中的三个。问题重述某供货商有五个仓库 A,B,C,D 和 E, 他的货物销往零售商 1,2,3,4,5 和 6。已知从每个不同的仓库销往不同零售商的运费是不一样的,每个仓库一旦启用也有自
2、己的维护费用。具体数据如下表:表一 问题原始数据零售商仓库 1 2 3 4 5 6供应(吨) 固定的维护费用A 1675 400 685 1630 1160 2800 18 7650B 1460 1940 970 100 495 1200 24 3500C 1925 2400 1425 500 950 800 27 5000D 380 1355 543 1045 665 2321 22 4100E 922 1646 700 508 311 1791 31 2200需求(吨) 10 8 12 6 7 11该供货商应该启用哪些仓库及如何调拨物资才能使包括仓库维护费和运输费用的总费用最低?变量假设假
3、设仓库 A,B,C,D,E 编号为仓库 , 零售商编号为 , .i1,2345.j12,3456仓库 的供应量为 ,维护费用为 , 零售商 的需求 . 仓库 的使用标志为 ,iisicjjdiiu当且仅当供货商使用了仓库 , 否则 . 从仓库 到零售商 的货物单位运费为 , 1iu0iuijijt运送货物总量为 . ijx模型建立供货商的总费用为两部分的和: 货物运输费用和仓库维护费用,供货商应该从不同的仓库调拨物资满足零售商的基本要求。因此,该问题是为供货商在满足这些要求的条件下寻找总费用最小的最优方案,即该问题是一个最优化问题。由前面的分析,该供货商的总费用为.ijiiztxcu他应该满足
4、的条件有, 首先,从每个仓库发出的货物不能超过仓库的供应量,且仅当某仓库启用时,该仓库才能有真正的供应:.ijixsu其次,应该满足每个零售商的需求: .ijjd当然,所有运输物资都有非负约束条件:.0ijx因此,该问题可写为如下最优化问题 1,0subject ominijijjiiji iijuxdusctz以上求和号总是对所有可能的指标求和,即 从 1 到 5 求和, 从 1 到 6 求和。j模型求解下面我们使用 LINGO8.0 软件求解该问题。程序如下:Model:! Minimize the cost of transportation and fixed cost ofwareh
5、ouse-retailer problem;SETS:WAREHOUSE / A,B,C,D,E /: fixedcost,used,supply;RETAILER / 1,2,3,4,5,6 /: demand;TRANS(WAREHOUSE,RETAILER): cost, amount;ENDSETSMIN = SUM(TRANS: cost*amount) + SUM(WAREHOUSE: used*fixedcost);FOR(WAREHOUSE(I): SUM(RETAILER(J): amount(I,J) = used(I)*supply(I) );FOR(RETAILER(J
6、): SUM(WAREHOUSE(I): amount(I,J) = demand(J) );FOR(WAREHOUSE(I): BIN(used(I);DATA:demand = 10 8 12 6 7 11;supply = 18 24 27 22 31;fixedcost = 7650 3500 5000 4100 2200;cost = 1675 400 685 1630 1160 2800 1460 1940 970 100 495 12001925 2400 1425 500 950 800380 1355 543 1045 665 2321922 1646 700 508 311
7、 1797;ENDDATA模型中和程序中变量的对应关系为:表二 模型和程序变量对应关系tcost uusedxamount ssupplycfixedcost ddemand利用 LINGO8.0 软件求得该问题的解如下:最优值为 46031,局部最优解为表三 局部最优方案仓库 零售商 1 2 3 4 5 6A 8B 6 7 11D 10 12模型分析由于建立的模型是一个非线性优化模型,我们通常只能得到一个局部最优方案。使用别的软件或别的建模方式都有可能的到更好的方案。参考文献1 姜启源等编著,数学建模,第三版,高等教育出版社,2003 年2 K. Thornburg , A. hummel,
8、 LINGO8.0 Tutorial, to be or not to be to be or not to be http:/www.icaen.uiowa.edu/ie166/Private/Lingo.pdf附录 1LINGO 程序的完整答案Global optimal solution found at iteration: 17Objective value: 46031.00Variable Value Reduced CostFIXEDCOST( A) 7650.000 0.000000FIXEDCOST( B) 3500.000 0.000000FIXEDCOST( C) 50
9、00.000 0.000000FIXEDCOST( D) 4100.000 0.000000FIXEDCOST( E) 2200.000 0.000000USED( A) 1.000000 7650.000USED( B) 1.000000 3500.000USED( C) 0.000000 -5800.000USED( D) 1.000000 4100.000USED( E) 0.000000 -3504.000SUPPLY( A) 18.00000 0.000000SUPPLY( B) 24.00000 0.000000SUPPLY( C) 27.00000 0.000000SUPPLY(
10、 D) 22.00000 0.000000SUPPLY( E) 31.00000 0.000000DEMAND( 1) 10.00000 0.000000DEMAND( 2) 8.000000 0.000000DEMAND( 3) 12.00000 0.000000DEMAND( 4) 6.000000 0.000000DEMAND( 5) 7.000000 0.000000DEMAND( 6) 11.00000 0.000000COST( A, 1) 1675.000 0.000000COST( A, 2) 400.0000 0.000000COST( A, 3) 685.0000 0.00
11、0000COST( A, 4) 1630.000 0.000000COST( A, 5) 1160.000 0.000000COST( A, 6) 2800.000 0.000000COST( B, 1) 1460.000 0.000000COST( B, 2) 1940.000 0.000000COST( B, 3) 970.0000 0.000000COST( B, 4) 100.0000 0.000000COST( B, 5) 495.0000 0.000000COST( B, 6) 1200.000 0.000000COST( C, 1) 1925.000 0.000000COST(
12、C, 2) 2400.000 0.000000COST( C, 3) 1425.000 0.000000COST( C, 4) 500.0000 0.000000COST( C, 5) 950.0000 0.000000COST( C, 6) 800.0000 0.000000COST( D, 1) 380.0000 0.000000COST( D, 2) 1355.000 0.000000COST( D, 3) 543.0000 0.000000COST( D, 4) 1045.000 0.000000COST( D, 5) 665.0000 0.000000COST( D, 6) 2321
13、.000 0.000000COST( E, 1) 922.0000 0.000000COST( E, 2) 1646.000 0.000000COST( E, 3) 700.0000 0.000000COST( E, 4) 508.0000 0.000000COST( E, 5) 311.0000 0.000000COST( E, 6) 1797.000 0.000000AMOUNT( A, 1) 0.000000 1295.000AMOUNT( A, 2) 8.000000 0.000000AMOUNT( A, 3) 0.000000 142.0000AMOUNT( A, 4) 0.0000
14、00 1530.000AMOUNT( A, 5) 0.000000 665.0000AMOUNT( A, 6) 0.000000 1600.000AMOUNT( B, 1) 0.000000 1080.000AMOUNT( B, 2) 0.000000 1540.000AMOUNT( B, 3) 0.000000 427.0000AMOUNT( B, 4) 6.000000 0.000000AMOUNT( B, 5) 7.000000 0.000000AMOUNT( B, 6) 11.00000 0.000000AMOUNT( C, 1) 0.000000 1945.000AMOUNT( C,
15、 2) 0.000000 2400.000AMOUNT( C, 3) 0.000000 1282.000AMOUNT( C, 4) 0.000000 800.0000AMOUNT( C, 5) 0.000000 855.0000AMOUNT( C, 6) 0.000000 0.000000AMOUNT( D, 1) 10.00000 0.000000AMOUNT( D, 2) 0.000000 955.0000AMOUNT( D, 3) 12.00000 0.000000AMOUNT( D, 4) 0.000000 945.0000AMOUNT( D, 5) 0.000000 170.0000
16、AMOUNT( D, 6) 0.000000 1121.000AMOUNT( E, 1) 0.000000 726.0000AMOUNT( E, 2) 0.000000 1430.000AMOUNT( E, 3) 0.000000 341.0000AMOUNT( E, 4) 0.000000 592.0000AMOUNT( E, 5) 0.000000 0.000000AMOUNT( E, 6) 0.000000 781.0000Row Slack or Surplus Dual Price1 46031.00 -1.0000002 10.00000 0.0000003 0.000000 0.0000004 0.000000 400.00005 0.000000 0.0000006 0.000000 184.00007 0.000000 -380.00008 0.000000 -400.00009 0.000000 -543.000010 0.000000 -100.000011 0.000000 -495.000012 0.000000 -1200.000