某河段沿岸有三个工厂A、B、C,均向河中排放污水,形成了水体污染。环保局要求三个工厂共同协商进行污水处理,并规定处理后的污水中BOD5值不能超过1.6 mg/L(三厂总值)。三个工厂共同研究后,得出三个等级处理方案:方案1是做一级处理;方案2是做2一级和二级处理;方案三是做一级、二级和三级处理。各污水处理等级方案所需的费用以及处理后的BOD5值如下表所示。现在的问题是如何确定处理方案可使处理总费用最少。
各方案的BOD5值与处理费用
处理方案 BOD5值 费用(万元)
方案号 说明 A厂 B厂 C厂 A厂 B厂 C厂
0 无处理 1.2 0.8 1.6 0 0 0
1 一级处理 0.6 0.6 1.0 8 4 10
2 一级和二级处理 0.2 0.4 0.6 14 8 15
3 一级、二级和三级处理 0 0 0 17 14 22
根据问题的描述,目的是要确定最优的处理方案,所以设决策变量:s_ij,i=A,B,C,j=0,1,2,3,是0-1变量,s_ij 等于1,表示i厂选择方案j,否则不选择。约束有两类:每个工厂恰好选择一个处理方案;三厂的BOD5之和不超过 规定的值。目标是总处理费用。设BOD5_ij表示i厂采用方案j时的BOD5值,c_ij表示i厂采用方案j时的费用。规划 模型如下:
____
min / c_ij x_ij
/___
i=A,B,C
j=0,1,2,3
s.t.
____
/ BOD_ij x_ij <= 1.6
/___
i=A,B,C
j=0,1,2,3
____
/ x_ij = 1, i=A,B,C
/___
j=0,1,2,3
x_ij=0或1,i=A,B,C, j=0,1,2,3
AMPL代码如下:
输出结果:
Gurobi 4.0.1: optimal solution; objective 29
7 simplex iterations
total_cost = 29
x :=
A 0 0
A 1 0
A 2 1
A 3 0
B 0 1
B 1 0
B 2 0
B 3 0
C 0 0
C 1 0
C 2 1
C 3 0
;