资源

优化示例介绍(intmplp0)

/***************************************************************//*                                                             *//*S A S S A M P L E L I B R A R Y*//*                                                             *//*名称:intmplp0*//*标题:优化示例介绍(intmplp0)*//*产品:OR,GRAPH*//*系统:所有*//*关键字:或*//*程序:LP、NETFLOW、GCHART*//*数据:*//*                                                             *//*支持:更新:*//*参考:*//*MISC:优化简介示例*//*数学编程遗产章节*//*程序*//*                                                             *//***************************************************************/数据工厂;输入_ id_$CHOCO TOFFEE _类型_$_rhs_;数据线;对象最大0.25 0.75。流程1 15.00 40.00 LE 27000流程2 0.00 56.25 LE 27000流程3 18.75 0.00 LE 27000流程4 12.00 50.00 LE 27000;proc-lp-data=工厂;运行;/***************************************************************模型建筑:PROC LP***************************************************************/数据sp_factory;格式类型$8_第10排_第10栏。;输入类型$_row_$_col_$_cef_;数据线;最大对象。.对象巧克力.25.物体太妃糖.75le进程1。.加工1巧克力15.处理1太妃糖40.进程1 _RHS_ 27000le进程2。.加工2太妃糖56.25.进程2 _RHS_ 27000le进程3。.加工3巧克力18.75.进程3_RHS_ 27000le进程4。.加工4巧克力12.处理4太妃糖50.进程4 _RHS_ 27000;proc-lp-data=sp_factory稀疏数据;运行;数据管理;格式产品$12。;输入产品$object process1-process4;数据线;巧克力.25 15 0.00 18.75 12太妃糖.75 40 56.25 0.00 50甘草1.00 29 30.00 20.00 20果冻豆.85 10 0.00 30.00 10_右侧。27000 27000 27000 27000;数据模型;数组进程对象process1-process4;格式类型$8_第12行_第12栏;保留类型行引用;设置管理;/*读取制造数据*//*构建对象函数*/如果n_=1,则执行;_type_='max'_row_=“对象”_col_=''_系数=。;产出;结束;/*建立约束条件*/do-over过程;如果i>1,则执行;_type_='le'_row_=“进程”| | put(_i-1,1.);结束;else_row_=“对象”;_col_=产品_coef=过程;产出;结束;运行;proc打印数据=模型;运行;/***************************************************************模型构建:PROC NETFLOW***************************************************************/数据节点;格式节点$10;输入节点$supdem;数据线;客户1-100客户2-200客户3-50工厂_1500工厂_2500;数据网络;格式从12美元起。至12美元。;输入从$到$cost;数据线;工厂_1仓库_10工厂_2仓库_15工厂_1仓库_27工厂_2仓库_2 9仓库_1客户_1 3仓库1客户2 4仓库1客户3 4仓库2客户_15仓库2客户2 5仓库2客户3 6;proc网络流arcout=arc_savarcdata=网络节点数据=节点;节点节点;/*节点数据集信息*/suddem-supdem;尾部来自;/*圆弧数据集信息*/头朝向;成本成本;运行;程序打印;var从到成本capace_lo_supply_demand__流量成本;总成本;运行;/***************************************************************矩阵生成***************************************************************/数据材料;格式说明$20。;输入描述$成本供应;数据线;丝绸材质。21 25.8聚酯材料6 22.0棉花材料。9 13.6;数据关联;格式说明$20。;输入描述$价格合同需求;数据线;全丝6.70 6.0 7.00全聚酯3.55 10.0 14.00聚棉混纺4.31 13.0 16.00棉_涤纶_混纺4.81 6.0 8.50;数据管理;格式despt$20。;输入说明$真丝涤棉;数据线;all_silk 100 0 0所有聚酯0 100 0聚乙烯棉混纺0 50 50棉花_涤纶_混纺0 30 70;数据模型;数组raw_mat{3}$20;阵列raw_comp{3}真丝涤棉;长度类型$8_col$20_cow$20_cef_8;保留类型引用;/*定义目标行、下限行和上限行*/_row_=“利润”_type_='max';产出;_row_='lower'_type_='lowerbd';产出;_row_=“上部”_type_='upperbd';产出;_type_='';/*原材料的对象和上一行*/do i=1到3;固定材料;raw_mat[i]=描述_col_=描述;_row_=“利润”_coef=-成本;产出;_row_=“上部”_coef=供应;产出;结束;/*产品的对象、上部和下部行*/do i=1至4;设置领带;_col_=描述;_row_=“利润”_coef=价格;产出;_row_='lower'_coef=合同;产出;_row_=“上部”_coef=需求;产出;结束;/*制造业的系数矩阵*/_type_='eq';do i=1到4;/*每个原料的回路*/设置manfg;do j=1到3;/*每个产品的循环*/_col_=描述;/*%产品中的材料*/_row_=raw_mat[j];_coef=raw_comp[j]/100;产出;_col_=原始值[j]_系数=-1;产出;/*右侧*/如果i=1,则执行;_col_='_RHS_';_系数=0;产出;结束;结束;_type_='';结束;停止;运行;proc-lp-sparsedata-primalout=解决方案;程序打印;id变量;变量_lbound_--_r_cost_;运行;/***************************************************************利用模型结构***************************************************************/数据网络;格式从12美元起。至12美元。;输入从$到$cost;数据线;工厂_1仓库_10工厂_2仓库_15工厂_1仓库_2 7工厂_2仓库_2 9仓库_1客户_1 3仓库1客户2 4仓库1客户3 4仓库2客户_15仓库2客户2 5仓库_2客户_3 6;数据节点;格式节点$12;输入节点$supdem;数据线;客户1-100客户2-200客户3-50工厂_1500工厂_2500;数据面编码;格式类型$8_第8行_第21卷;输入类型输入;数据线;eq平衡。.平衡系数_1_仓库_1 1.平衡系数_1_仓库_2 1.平衡系数_2_warehouse_1-1.平衡系数_2_仓库_2-1平衡差-1lo下部差异-100向上上差分100;进程网络流conout=con_savarcdata=网络节点data=节点condata=side_con稀疏数据;节点节点;suddem-supdem;尾部来自;头朝向;成本成本;运行;程序打印;var从到名称成本容量供应需求__流量成本;总成本;运行;/***************************************************************报告编写:数据步骤***************************************************************/数据产品(keep=var值价格收入)材料(保持=价值价格成本);集合解;如果_price_>0,则执行;收入=价格*价值;产出产品;结束;否则,如果_price_<0,则执行;_价格=-价格;成本=价格*价值;输出材料;结束;运行;/*显示产品报告*/proc打印数据=产品;id变量;var价值价格收入;总收入;标题“并列销售产生的收入”;运行;/*显示材质报告*/proc打印数据=材料;id变量;var值价格成本;总成本;标题“原材料成本”;运行;/***************************************************************报告撰写:其他报告程序***************************************************************/标题;程序gchart数据=con_sav;hbar来自/sumvar=_flow_;运行;proc-gchart数据=产品;pie_var_/sumvar=收入;title h=2.5‘预计销售收入’;运行;