题干很长,要善于抽象出约束条件,毕竟C是优化问题,先建立目标模型,而后用Lindo/Lingo解答
退而求其次,暴力求解,蚁群算法、退火算法做也是可以做的。
第一步:分析
题中写道“加工动物饲料的原料有16种,其中不同原料有不一样的效能率,总量也不一样,不同原料之间还有相似度的要求。可供加工的装置有9台,分3种规格,成本计算也不同。”
“品种代码10的原料不能单独成为一个加工包,必须与其他原料混合。”这一点容易遗忘。
分析数据可以获得“需要加工的原料有16种,共6000kg,所有9台加工装置的加工能力在5400~8100kg之间。”“16种原料中有六种饲料的能耗率<0.8,分别是2、6、7、11、12、14,这六种的总重量是2300kg。”
问题一,研究16种原料两两之间的亲缘度,并进行统计性分析。即依据亲缘值N的计算方法得出一个16*16方阵,并做简要统计学分析。这一问题只是做个小热身,给大家加个油。建议先编写个可以求任意多个原料混合后亲缘度的函数,之后调用就可以。
问题二,将16种原料进行混合“全部”放入9个加工装置中,求出饲料质量最高的混合方案并给出每个加工包的亲缘度。即要求一次性全部加工完毕,且要求饲料质量最高。此问题的目标函数是饲料质量,饲料质量完全可以由“亲缘度”替代