数学建模与数学规划:方法、案例及编程实战(Python+COPT/Gurobi实现)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.4.4 设施选址问题

设施选址问题中常用If-then约束对企业的选址和运输服务决策之间的逻辑关系进行数学描述。给定客户的集合C和设施集合F,其中建设设施j的固定成本为fj∀jF)。使用设施j服务客户iiC)的运输成本为cij。设施选址问题旨在做出最优的选址决策,使得总成本最小。总成本包括设施建造成本和运输成本。注意,这里我们探讨的是设施选址问题的一个简单版本,即无容量限制的设施选址问题(Uncapacitated Facility Location Problem,UFLP)。首先,定义下面的决策变量:

·xij:连续变量,运输决策,表示客户i被设施j满足的比例(0≤xij≤1)。

·yj:0-1变量,若设施j被建设,则yj=1;否则yj=0。

UFLP中存在一个明显的If-then条件,即只有建成设施j,该设施才能服务客户;若不建成设施j,则设施j就不能为任何一个客户提供服务。该If-then条件可以用数学的语言描述为:若yj=0,则xij=0,∀iC;若yj=1,则xij≤1,∀iC。上述关系可以用大M建模方法写成以下约束:

式中,Mxij的一个上界。根据变量定义可知,xij的一个上界为1,不妨取M=1。因此,约束式(2.42)可以简化为yjxij,∀iC,∀jF

基于上述分析,可以建立UFLP的数学模型:

下面以一个具体的数值算例来测试该模型。假设有3个设施候选点,3个客户点,且建成设施的固定成本分别为6万元、7万元、6万元,运输成本矩阵{cij}设置如下(单位:万元)。

基于此,设施选址问题的模型将变成以下形式。

下面使用Python分别调用COPT和Gurobi求解上述模型。这里仅展示COPT版本的完整代码,Gurobi版本的代码可见本书配套电子资源2-5。

根据求解结果可知,应该在第1个和第3个候选点建设设施,且用第1个设施服务客户1和2,用第3个设施服务客户3,最优总成本为21万元。


[1]也叫作服务网络规划问题。

[2]原始文献通过叙述的方式给出了这个方法,本书将其视为定理。

[3]表中的逻辑约束案例引自Logics and integer-programming representations,本书编者对其进行了补充完善。