楼主: 川鍕
1321 0

SAS中几个数据集转换为疏稀数据集进行LP过程问题 [推广有奖]

  • 0关注
  • 0粉丝

初中生

28%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
80 点
帖子
1
精华
0
在线时间
26 小时
注册时间
2014-7-26
最后登录
2018-11-20

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
本人写了一个SAS程序,内容如题,请问我的程序哪里错了。谢谢大家。
title 'An assignment problem';
data object;
input machine customer grade1-grade6;
cards;
1        1        102        140        105        105        125        148
1        2        115        133        118        118        143        166
1        3        70        108        83        83        88        86
1        4        79        117        87        87        107        105
1        5        77        115        90        90        105        148
2        1        123        150        125        124        154        .
2        2        130        157        132        131        166        .
2        3        103        130        115        114        129        .
2        4        101        128        108        107        137        .
2        5        118        145        130        129        154        .
3        1        83        .        .        97        122        147
3        2        119        .        .        133        163        180
3        3        67        .        .        91        101        101
3        4        85        .        .        104        129        129
3        5        90        .        .        114        134        179
4        1        108        121        79        .        112        132
4        2        121        132        92        .        130        150
4        3        78        91        59        .        77        72
4        4        100        113        76        .        109        104
4        5        96        109        77        .        105        145
;
run;
data demand;
input customer grade1-grade6;
cards;
1 100        100        150        150        175        250
2 300        125        300        275        310        325
3 400        0        400        500        340        0
4 250        0        750        750        0        0
5   0        600        300        0        210        360
;
run;
data resource;
input machine grade1-grade6 avail;
cards;
1 0.25        0.275        0.3        0.35        0.31        0.295        744
2 0.3        0.3        0.305        0.315        0.32        .        244
3 0.35        .        .        0.32        0.315        0.3        790
4 0.28        0.275        0.26        .        0.25        0.295        672
;
/*build the linear programming model*/
data model;
array grade{6} grade1-grade6;/*变量名与3个数据集要对应哦*/
length _type_ $ 8 _row_ $ 8 _col_ $ 8;
keep _type_  _row_ _col_ _coef_;/*这句话表示只保留这么多个变量*/
ncust=5;nmach=4;ngrade=6;_col_=1;
_type_='max';
_row_='obj';
do k=1 to nmach;
do i=1 to ncust;
link readobj;
do j=1 to ngrade;
if grade{j}^=. then do;
_col_='x'||put(i,1.)||put(j,1.)||put(k,1.);
_coef_=grade{j};
output;
end;
end;
end;
end;
/*generate the demand constraints*/
do i=1 to ncust;
link readdemand;
do j=1 to ngrade;
if grade{j}^=. then do;
_type_='EQ';
_row_='demand'||put(i,1.)||put(j,1.);
_col_='_RHS_';
_coef_=grade{j};
output;
_type_='';
do k=1 to nmach;
_col_='x'||put(i,1.)||put(j,1.)||put(k,1.);
_coef_=1.0;
output;
end;
end;
end;
end;
do k=1 to nmach;
link readresource;
_type_='LE';
_row_='manchine'||put(k,1.);
_col_='RHS';
_coef_=avail;
output;
_type_='';
do i=1 to ncust;
do j=1 to ngrade;
if grade{j}^=. then do;
_col_='x'||put(i,1.)||put(j,1.)||put(k,1.);
_coef_=grade{j};
output;
end;
end;
end;
end;
/*generate the machine constraints*/
readobj: set object; return;
readdemand: set demand; return;
readresource: set resource; return;
run;
proc lp data=model;
run;

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:数据集 Constraints Programming Constraint assignment SAS

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-28 15:03