- 阅读权限
- 255
- 威望
- 0 级
- 论坛币
- 5421 个
- 通用积分
- 10.9939
- 学术水平
- 8 点
- 热心指数
- 8 点
- 信用等级
- 7 点
- 经验
- 1652 点
- 帖子
- 66
- 精华
- 0
- 在线时间
- 248 小时
- 注册时间
- 2012-10-6
- 最后登录
- 2023-5-6
硕士生
还不是VIP/贵宾
- 威望
- 0 级
- 论坛币
- 5421 个
- 通用积分
- 10.9939
- 学术水平
- 8 点
- 热心指数
- 8 点
- 信用等级
- 7 点
- 经验
- 1652 点
- 帖子
- 66
- 精华
- 0
- 在线时间
- 248 小时
- 注册时间
- 2012-10-6
- 最后登录
- 2023-5-6
| 苦逼 2015-9-6 09:46:42 |
---|
签到天数: 9 天 连续签到: 5 天 [LV.3]偶尔看看II
|
20论坛币
请问本人代码哪里出了问题?
原题目如下:(注意自行修改逻辑库)
表1
劳动力(hrs) 金属(kg) 木材(m^3) 售价(元)
桌子 2 1 3 94
椅子 1 1 3 79
书柜 3 1 4 125
床 2 1 4 109
其中劳动力表示完成一件产品单位劳动力所需要花费的小时数(hours)。
下表给出了单位劳动力和原材料的成本,
表2
劳动力(hrs) 金属(kg) 木材(m^3)
成本(元) 14 20 11
可用量 225 117 420
其中可用量表示在一天中该公司三种资源的可以使用的最大量。
问题1. 假设该公司所有的产品能够完全售罄,请问该公司如何安排一天中各个产品的数量,才能使其利润达到最大化?运用SAS中OR模块或者自编SAS程序求解此问题。
本人的代码如下,附件中有数据:- proc optmodel;
- /*declare sets and parameters*/
- set <str> PRODUCT;
- set <str> RESOURCE;
- num Price{PRODUCT};
- num Cost{RESOURCE};
- num Available{RESOURCE};
- num Requirement{PRODUCT,RESOURCE};
- /*read data*/
- read data test.Cost into RESOURCE=[Resource] Cost Available=Amount_Available;
- read data test.Resource into PRODUCT=[Item] Price=Selling_price {r in RESOURCE}<Requirement[Item,r]=col(r)>;
- /*declare variables*/
- var X{PRODUCT};
- impvar Amount_used{r in RESOURCE}=SUM{p in PRODUCT}Requirement[p,r]*X[p];
- impvar TotalRevenue=SUM{p in PRODUCT}X[p]*Price[p];
- impvar TotalCost=SUM{r in RESOURCE}Amount_used[r]*Cost[r];
- /*declare constraints*/
- con Usage{r in RESOURCE}: Amount_used[r]<=Available[r];
- /*declare objection function*/
- max Obj=TotalRevenue-TotalCost;
- solve with MILP;
- expand;
- print {p in PRODUCT}X[p];
- quit;
复制代码 |
-
-
SASTEST.zip
2.55 KB
数据
本附件包括: - cost.sas7bdat
- resource.sas7bdat
|