线性规划之合金原料配比问题

前言:虽然这是个比较简单的线性规划问题,但是怎么把问题转化为SAS代码,中间需要一定的小技巧,特叙此例。

问题:

Metalco公司希望得到一种新的合金,其中锡40%、锌35%、铅25%。原料合金的成分如下表:

合金

原料代号

成    分

价格

锡含量 / %

锌含量 / %

铅含量 / %

美元/磅

1

60

10

30

77

2

25

15

60

70

3

45

45

10

88

4

20

50

30

84

5

50

40

10

94

工厂怎样从这几种合金原料选择来制得需要的合金,要求生产成本最小。
分析:
显然,这是个线性规划问题。
首先分析下目标,目标是生产成本最小,也就是生产单位重量(磅)的新合金用到的原料合金总价格最低。
然后根据问题来建立线性规划模型:
设生产x6=1磅新合金需要的五种金属重量为x1、x2、x3、x4和x5磅,目标函数为:
  • MIN  P=77*x1+70*x2+88*x3+84*x4+94*x5
约束条件为:
  1. 0.60*x1+0.25*x2+0.45*x3+0.20*x4+0.50*x5=0.40*x6
  2. 0.10*x1+0.15*x2+0.45*x3+0.50*x4+0.40*x5=0.35*x6
  3. 0.30*x1+0.60*x2+0.10*x3+0.30*x4+0.10*x5=0.25*x6
  4. x1+x2+x3+x4+x5=x6=1
  5. x1、x2、x3、x4、x5大于等于0
约束条件4可能比较隐蔽,通过分析目标即可理解。转化为SAS代码即为:
data ex;
input  _ROW_$  x1-x6 _TYPE_$ _RHS_;
cards;
object  77   70     88   84    94    0       MIN .
proc1   0.60 0.25 0.45 0.20 0.50  -0.40 EQ  0
proc2   0.10 0.15 0.45 0.50 0.40  -0.35 EQ  0
proc3   0.30 0.60 0.10 0.30 0.10  -0.25 EQ  0
proc4   1      .     .     .      .       .       GE  0
proc5   .      1     .     .      .       .       GE  0
proc6   .      .     1     .      .       .       GE  0
proc7   .      .     .     1      .       .       GE  0
proc8   .      .     .     .      1       .       GE  0
proc9  1      1    1   1      1       0     EQ   1
;
proc lp data=ex;
var x1-x6;
run;
在output得到结果:
                       The LP Procedure

                      Constraint Summary

       Constraint            S/S                          Dual
   Row Name       Type       Col       Rhs  Activity  Activity

     1 object     OBJECTVE     .         0 82.434783         .
     2 proc1      EQ           .         0         0 0.7391304
     3 proc2      EQ           .         0         0  17.26087
     4 proc3      EQ           .         0         0 -25.34783
     5 proc4      GE           7         0 0.0434783         0
     6 proc5      GE           8         0 0.2826087         0
     7 proc6      GE           9         0  0.673913         0
     8 proc7      GE          10         0         0 0.3913043
     9 proc8      GE          11         0         0         0
    10 proc9      EQ           .         1         1 82.434783

通过结果可知,最低成本方案为x1=0.0435,x2=0.2826,x3=0.6739,即百分比为4.35%,28.26%和67.39%的合金原料1,2,3号,生产1磅新合金的最低成本为82.43美元。

 

类似的线性规划问题,本博还有 简单线性规划问题SAS编程    简单线性规划问题SAS编程之二

发表评论

电子邮件地址不会被公开。 必填项已用*标注