SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 712|回复: 0
打印 上一主题 下一主题

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

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2011-8-16 21:05:52 | 只看该作者

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

From sxlion's blog on saslist

前言:虽然这是个比较简单的线性规划问题,但是怎么把问题转化为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 约束条件为: 0.60*x1+0.25*x2+0.45*x3+0.20*x4+0.50*x5=0.40*x6 0.10*x1+0.15*x2+0.45*x3+0.50*x4+0.40*x5=0.35*x6 0.30*x1+0.60*x2+0.10*x3+0.30*x4+0.10*x5=0.25*x6 x1+x2+x3+x4+x5=x6=1 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 [...]
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2025-6-10 01:53 , Processed in 0.071428 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表