Lingo求解物流配送中心选址问题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

优化与统计建模试验

专业

学号:

姓名:

2015年5月24日

摘要

在优化与系统建模试验这门课程当中,我们学习了Lingo,Cplex这两种优化软件以及SPSS,R语言这两种统计软件,并且简单了解了如何进行优化求解,学会了如何对数据进行简单分析。本文运用了Lingo软件,对物流配送中心选址问题进行求解;采用优化软件Cplex对运输问题进行了求解,最后是使用了SPSS软件,对我国城镇居民消费进行统计分析。

关键词:Lingo;Cplex; SPSS

一、Lingo求解物流配送中心选址问题

设有4个备选物流配送中心地址,6个工厂为其供货,6个客户需要产品,最多设置3个物流配送中心,工厂到物流配送中心的运输价格见表1,物流配送中心到客户的运输价格见表2,工厂的总生产能力见表3,物流配送中心的固定成本、单位管理成本,及容量见表4,客户的需求量见表5

表1 工厂到配送中心的运输价格

表2 配送中心到客户的运输价格

表3 工厂的总生产能力

表4 备选物流配送中心的固定成本,单位管理成本,容量

表5 客户的需求量

利用Lingo软件求解以上混合整数规划,编程如下:model:

sets:

factory/p1..p6/:p;

warhouse/w1..w4/:a,f,g;

customer/c1..c6/:d;

tr/tr1..tr4/:z;

link1(factory,warhouse):c,w;

link2(warhouse,customer):h,x;

endsets

data:

p=40000,50000,60000,70000,60000,40000;

a=70000,60000,70000,50000;

f=500000,300000,400000,400000;

g=3,2,5,4;

d=10000,20000,10000,20000,30000,10000;

c=6 5 4 2

2 3 4 9

6 8

7 5

7 4 2 3

4 2

5 1

3 4 1 7;

h=3 2 7 4 7 5

6 1 4 2 5 3

2 4 5

3 6 8

5 6 3 7 4 6;

enddata

min=@sum(link1(k,i):c(k,i)*w(k,i))+@sum(link2(i,j):h(i,j)*x(i,j))

+@sum(link1(k,i):g(i)*w(k,i))+@sum(warhouse(i):f(i)*z(i));

@for(factory(k):@sum(link1(k,i):w(k,i))<=p(k));

@for(warhouse(i):@sum(link2(i,j):x(i,j))=@sum(link1(k,i):w(k,i)));

@for(customer(j):@sum(link2(i,j):x(i,j))>=d(j));

@for(warhouse(i):@sum(link1(k,i):w(k,i))<=(a(i)*z(i)));

@sum(tr(i):z(i))<=3;

@for(tr(i):@bin(z));

end

直接按Lingo求解按钮,就可以得到以上问题的解,部分结果如下:

Global optimal solution found.

Objective value: 1480000.

Objective bound: 1480000. Infeasibilities: 0.000000

Extended solver steps: 7

Total solver iterations: 44

Model Class: MILP

Total variables: 52

Nonlinear variables: 0

Integer variables: 4

Total constraints: 22

Nonlinear constraints: 0

Total nonzeros: 180

Nonlinear nonzeros: 0

从以上结果中可以得到,选择2号和4号备选地址作为物流配送中心地址,最小物流成本为1480。

二、Cplex求解运输问题

某公司经销甲产品。它下设三个加工厂。每日的产量分别是:A1为7吨,A2为4吨,A3为9吨。该公司把这些产品分别运往四个销售点。各销售点每日销量为:B1为3吨,B2为6吨,B3为5吨,B4为6吨。已知从各工厂到各销售点的单位产品运价如下表 6 ,问该公司应如何调运产品,在满足各销点的需要量的前提下,使总运费最少。

表6 产销平衡表

目标函数:

Min Z =∑∑c ij x ij n

j=1

m i=1

约束条件:

x 11+x 12+x 13+x 14=7 x 21+x 22+x 23+x 24=4 x 31+x 32+x 33+x 34=9 x 11+x 21+x 31=3 x 12+x 22+x 23=6, x 13+x 23+x 33=5, x 14+x 24+x 34=56 x ij ≥0(i =1,2,3;j =1,2,3,4)

利用CPLEX 软件对上述问题进行求解,编程如下:

{string}SCities=...; {string}DCities=...;

float Supply[SCities]=...; float Demand[DCities]=...; assert

sum(o in SCities)Supply[o]==sum(d in DCities)Demand[d]; float Cost[SCities][DCities]=...; dvar float+ Trans[SCities][DCities]; minimize

sum(o in SCities, d in DCities) Cost[o][d]*Trans[o][d]; subject to{

forall(o in SCities) ctSupply:

sum(d in DCities)

Trans[o][d]==Supply[o];

相关文档
最新文档