污染企业的生产安排问题

来源:互联网 发布:淘宝延长收货是多少天 编辑:程序博客网 时间:2024/05/16 01:05

    某地区有四个化工厂,都生产相同数量的两种化工产品I和II。这两种产品每1000吨分别获利20万元和30万元。由于生产过程中排放有害气体,环保部门责令限期治理。为了保护环境和保证各厂不亏损,主管局向各厂进行环保贷款,数额见下表,经测算每生产1000吨产品的环保费用也列于表中。现在的问题是如何安排生产既能保护环境又可使厂家获利最大。

 

                                  费用表


          环保费用                             厂名

           (1万元/千吨)        A         B         C        D

产品   


  I                                     2         2         4        1                                  

  II                                    2         1         0        2

贷款数额(1万元)                 14       10       16      12


模型建立

根据题意,四个化工厂生产的两种产品的数量一样,所以

决策变量:产品I的产量为x1千吨,产品II的产量为x2千吨,

获利(十万元)为

目标函数:2 x1+3 x2,

约束条件为环保贷款的数额限制

2 x1 + 2 x2 <= 14

2 x1 +    x2 <= 10

4 x1            <= 16

   x1 + 2 x2 <= 12

 x1, x2 >= 0

 

AMPL代码如下

格式1

输入结果为:

MINOS 5.51: optimal solution found.
2 iterations, objective 19
profit = 19
x1 = 2
x2 = 5

 

格式2

输入结果为:

MINOS 5.51: optimal solution found.
2 iterations, objective 19
total_gain = 19

count [*] :=
P1  2
P2  5
;

 

两种格式得到的结果是一致的。对于规模较小的问题格式1看着要简便一些,但对于规模大的问题格式2要好很多。格式2采用了模型与数据分离的原则,无论数据部分怎样变化,模型部分都不需要变化,而对于格式2,由于数据和模型混在一起,导致数据一旦有变化,程序就要做相应的变动,尤其对于数据规模大的情况,这样做起来琐碎且易出错。

 

参考文献:张宏伟,牛志广 编著. LINGO8.0及其在环境系统优化中的应用. 天津:天津大学出版社,2005.