资源

使用BASIS=WARMSTART(lpsol2)重新优化

/***************************************************************//*                                                             *//*S A S S A M P L E L I B R A R Y*//*                                                             *//*名称:lpsol2*//*标题:使用BASIS=WARMSTART(lpsol2)重新优化*//*产品:或*//*系统:所有*//*关键字:或*//*程序:OPTMODEL*//*数据:*//*                                                             *//*支持:更新:*//*参考:*//*MISC:线性规划求解器中的示例2*//*数学规划章节*//*                                                             *//***************************************************************/数据食品数据;填充数据线;输入名称$cost-prot-fat-carb-cal;数据线;面包2 4 1 15 90牛奶3.5 8 5 11.7 120奶酪8 7 9 0.4 106土豆1.5 1.3 0.1 22.6 97鱼11 8 7 0 130酸奶1 9.2 1 17 180;过程操作模型;/*声明索引集*/设置<str>FOOD;/*声明变量*/var饮食{FOOD}>=0;/*目标函数*/num成本{食品};min f=食物中的总和{i}成本[i]*饮食[i];/*约束*/num prot{食物};num脂肪{食物};num碳水化合物{食物};num cal{食品};num min_cal、max_prot、min_carb、min_fat;con-cal_con:sum{i in FOOD}cal[i]*diet[i]>=300;con-prot_con:sum{i in FOOD}prot[i]*diet[i]<=10;con-carb_con:sum{i in FOOD}carb[i]*diet[i]>=10;con-fat_con:sum{i in FOOD}fat[i]*diet[i]>=8;/*读取参数*/将数据fooddata读入FOOD=[name]成本保护脂肪碳水化合物;/*变量的边界*/饮食[“鱼”].lb=0.5;饮食['Milk'].ub=1.0;/*解决原始问题*/用lp求解;印刷饮食;/*修改的目标函数*/成本[奶酪]=10;成本[“鱼”]=7;用lp/预解器求解=无基础=热启动算法=pslogfreq=1;印刷饮食;/*修改的RHS*/cost['Cheese']=8;成本[“鱼”]=11;cal_con.lb=150;用lp/预解器求解=无基础=热启动算法=dslogfreq=1;印刷饮食;/*添加新约束*/cal_con.lb=300;num sod{食物}=[148 122 337 186 56 132];con钠:食物中的总量{i}sod[i]*饮食[i]<=550;用lp/预解器求解=无基础=热启动logfreq=1;印刷饮食;退出;