2020五一建模C题:饲料混合加工问题完整论文(附录有代码)

题干很长,要善于抽象出约束条件,毕竟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个加工装置中,求出饲料质量最高的混合方案并给出每个加工包的亲缘度。即要求一次性全部加工完毕,且要求饲料质量最高。此问题的目标函数是饲料质量,饲料质量完全可以由“亲缘度”替代,所以优化目标就是“亲缘度”,约束条件仅限于原料混合方式、加工装置的重量范围以及全部加工不考虑加工成本和能耗率!!

相比需要考虑的约束条件而言,不需考虑的因素更为重要,因为这些不需要考虑的因素是我们可以放弃的,换来优化目标最大化。

问题三,也要求“全部”加工,题中的“能耗率”即为“效能率”,应为出题不严谨,不需在这个点过多纠结。求出平均能耗率超过80%的加工包数量最多的混合方案并给出每个加工包的能耗率。即要求一次性全部加工完毕,且要求能耗率最高。有没有发现和问题二很相像,只是优化目标变为“能耗率>0.8的加工包数”,约束条件与问题二相同,不考虑加工成本和饲料质量!!

解题要点:对16种原料的能耗率稍作分析,发现2、6、7、11、12、14,这六种饲料的能耗率<0.8,所以一定要与其它种类原料进行混合,这一点可以作为挖掘出的约束条件。

问题四,问题是层层递进的,部分加工装置可以不生产,用尽量低的加工成本完成整个加工任务,同时要求平均能耗率超过80%的加工包尽量的多。即取消的一次性加工的限制,可以多次加工,优化目标变为“加工成本最低”“能耗率>0.8的加工包数”,约束条件变为原料混合方式、加工装置的重量范围以及加工成本的构成,不考虑饲料质量!!

建议编写一个加工成本的计算函数,参数包括加工装置类型、加工重量。

解题要点:对加工成本稍作分析就可发现,使用的加工装置容量越大,加工重量越重,加工成本就越低。所以考虑极端情况,不需考虑饲料质量——“亲缘度”,尽量使所有加工包能耗率>0.8,且尽量用第三类加工装置进行加工。

问题五,问题更进一步,在问题四的基础上增加了问题二中“亲缘度”的优化目标。

注:问题五中“必须完成整个加工任务”是废话,没有那个问题说可以不加工完的。

解题要点:与问题四相同,没有要求一次性全部加工。在问题四“加工成本最低”“能耗率>0.8的加工包数”的基础上,对“亲缘度尽量高”这一目标进行优化。那么就涉及到一个问题,各优化目标的重要性,打个比方,加工成本与能耗率>0.8的加工包数在不考虑亲缘度的时候已经达到最优,那么现在要考虑亲缘度,我可以为了亲缘度牺牲多大程度的成本和能耗率?这就需要对三个目标排个先后顺序,定个目标比重。可以在论文中进行说明,对各指标进行标准化后,按照各占1/3的重要性进行优化。

标准化的方式可以借鉴B题中第四问写的方式。完整版评论区自提。

你可能感兴趣的:(数学建模,matlab,数学建模)