资源

多商品转运问题(lp14)

/****************************************************************//*S A S S A M P L E L I B R A R Y*//*                                                              *//*姓名:LP14*//*标题:多商品转运问题(lp14)*//*产品:或*//*系统:所有*//*钥匙:LP*//*程序:LP*//*数据:*//*                                                              *//*支持:更新:*//*参考:*//*其他:*//*                                                              *//****************************************************************/标题“固定费用的多商品转运问题”;%宏dooversd;_coef=sd{i};如果sd{i}>0,则执行;/*该节点是一个供应节点*/_row_=来自“商品”put(i,2.);如果来自^='',则输出;结束;否则,如果sd{i}<0,则执行;/*该节点是需求节点*/_row_=到||“商品”|| put(i,2.);如果为^='',则输出;结束;否则,如果从^=''到^='',则执行;/*转运节点*/_系数=0;_row_=来自“商品”put(i,2.);产出;_row_=到||“商品”|| put(i,2.);产出;结束;%修复dooversd;%宏dooverc;_col_=arc||“商品”|| put(_i,2.);如果从^=''到^='',则执行;/*添加节点弧关联矩阵*/_type_='le'_row_=来自“商品”put(i,2.);_系数=1;产出;_row_=到||“商品”|| put(i,2.);_系数=-1;产出;_type_=''_row_='obj';_coef=c{i};产出;/*添加固定费用变量*/_type_='le'_row_=弧;_系数=1;产出;_col_='_rhs_';_type_='';_系数=0;产出;_col_=弧||'fx';_coef=-M;产出;_row_=“int”;_系数=1;产出;_row_='obj';_coef=fx;产出;_row_='uper';_系数=1;产出;结束;%修复dooverc;数据网络;保留M 1.0e6;长度_ 10美元_ 22美元_低_ 22美元;保留类型引用;阵列sd sd1-sd4;阵列c1-c4;输入弧$10。从$到$c1 c2 c3 c4 sd1 sd2 sd3 sd4 fx;/*对于第一次观察,定义一些行*/如果n_=1,则执行;_type_='upperbd'_row_=“上部”;产出;_type_='lowerbd'_row_='lower';产出;_type_='min'_row_='obj';产出;_type_=“集成器”_row_=“int”;产出;结束;_col_='_rhs_'_type_='le';do_i_=1到dim(sd);%dooversd;结束;do_i_=1到dim(c);%dooverc;结束;数据线;a-芝加哥农场-a芝加哥20 15 17 22 100 100 40。100b-芝加哥农场-b芝加哥15 15 30 100 200 50 50 75c-芝加哥农场-c芝加哥30 30 10 10 40 100 75 100 100a-圣路易斯农场-a StLouis 30 25 27 22。150c-StLouis农场-c StLouis10 9 11 10。75芝加哥-纽约-芝加哥-纽约75 75 75 75-150-200-50-75 200纽约州圣路易斯市纽约州圣路易斯市80 80 80。200;/*求解模型*/proc lp sparedata pout=溶液noprint;运行;/*打印解决方案*/数据;集合解;rename _var_=arc _value_=amount;如果_value_^=0&_type_='NON-NEG';运行;程序打印;id弧;var数量;运行;