php和html混合写 先执行哪个_2020五一建模:C题 饲料混合加工问题

【php和html混合写 先执行哪个_2020五一建模:C题 饲料混合加工问题】题干很长 , 要善于抽象出约束条件 , 毕竟C是优化问题 , 先建立目标模型 , 而后用Lindo/Lingo解答
退而求其次 , 暴力求解 , 蚁群算法、退火算法做也是可以做的 。
第一步:分析
题中写道“加工动物饲料的原料有16种 , 其中不同原料有不一样的效能率 , 总量也不一样 , 不同原料之间还有相似度的要求 。可供加工的装置有9台 , 分3种规格 , 成本计算也不同 。”
“品种代码10的原料不能单独成为一个加工包 , 必须与其他原料混合 。”这一点容易遗忘 。
分析数据可以获得“需要加工的原料有16种 , 共 , 所有9台加工装置的加工能力在5400~之间 。”“16种原料中有六种饲料的能耗率
问题一 , 研究16种原料两两之间的亲缘度 , 并进行统计性分析 。即依据亲缘值N的计算方法得出一个16*16方阵 , 并做简要统计学分析 。这一问题只是做个小热身 , 给大家加个油 。建议先编写个可以求任意多个原料混合后亲缘度的函数 , 之后调用就可以 。
问题二 , 将16种原料进行混合“全部”放入9个加工装置中 , 求出饲料质量最高的混合方案并给出每个加工包的亲缘度 。即要求一次性全部加工完毕 , 且要求饲料质量最高 。此问题的目标函数是饲料质量 , 饲料质量完全可以由“亲缘度”替代 , 所以优化目标就是“亲缘度” , 约束条件仅限于原料混合方式、加工装置的重量范围以及全部加工 , 不考虑加工成本和能耗率!!
相比需要考虑的约束条件而言 , 不需考虑的因素更为重要 , 因为这些不需要考虑的因素是我们可以放弃的 , 换来优化目标最大化 。
问题三 , 也要求“全部”加工 , 题中的“能耗率”即为“效能率” , 应为出题不严谨 , 不需在这个点过多纠结 。求出平均能耗率超过80%的加工包数量最多的混合方案并给出每个加工包的能耗率 。即要求一次性全部加工完毕 , 且要求能耗率最高 。有没有发现和问题二很相像 , 只是优化目标变为“能耗率>0.8的加工包数” , 约束条件与问题二相同 , 不考虑加工成本和饲料质量!!
解题要点:对16种原料的能耗率稍作分析 , 发现2、6、7、11、12、14 , 这六种饲料的能耗率
问题四 , 问题是层层递进的 , 部分加工装置可以不生产 , 用尽量低的加工成本完成整个加工任务 , 同时要求平均能耗率超过80%的加工包尽量的多 。即取消的一次性加工的限制 , 可以多次加工 , 优化目标变为“加工成本最低”“能耗率>0.8的加工包数” , 约束条件变为原料混合方式、加工装置的重量范围以及加工成本的构成 , 不考虑饲料质量!!
建议编写一个加工成本的计算函数 , 参数包括加工装置类型、加工重量 。
解题要点:对加工成本稍作分析就可发现 , 使用的加工装置容量越大 , 加工重量越重 , 加工成本就越低 。所以考虑极端情况 , 不需考虑饲料质量——“亲缘度” , 尽量使所有加工包能耗率>0.8 , 且尽量用第三类加工装置进行加工 。
问题五 , 问题更进一步 , 在问题四的基础上增加了问题二中“亲缘度”的优化目标 。
注:问题五中“必须完成整个加工任务”是废话 , 没有那个问题说可以不加工完的 。
解题要点:与问题四相同 , 没有要求一次性全部加工 。在问题四“加工成本最低”“能耗率>0.8的加工包数”的基础上 , 对“亲缘度尽量高”这一目标进行优化 。那么就涉及到一个问题 , 各优化目标的重要性 , 打个比方 , 加工成本与能耗率>0.8的加工包数在不考虑亲缘度的时候已经达到最优 , 那么现在要考虑亲缘度 , 我可以为了亲缘度牺牲多大程度的成本和能耗率?这就需要对三个目标排个先后顺序 , 定个目标比重 。可以在论文中进行说明 , 对各指标进行标准化后 , 按照各占1/3的重要性进行优化 。
标准化的方式可以借鉴B题中第四问写的方式 。

php和html混合写 先执行哪个_2020五一建模:C题 饲料混合加工问题

文章插图
第二步:第一问求解
研究16种原料两两之间的亲缘度 , 并进行统计性分析 。即依据亲缘值N的计算方法得出一个16*16方阵 , 并做简要统计学分析 。
图1 将表格复制的excel中 , 标记出不能单独加工的10号和效能率低于0.8的品种
使用替换功能将a~z替换为1~26 , 或者直接导入 , 这里我采用后者(需要一些技巧) 。
编写个简单的比较函数(稍晚一点我会把函数和相关表格放到公众号里 , 大家可以下载) , 结果如下:
图2 可以看出有不少都是亲缘值为0的 , 在第二问和第五问中需要考虑亲缘值
有了任意两样本的亲缘值数据 , 根据题中的公式 , 就可以计算任意多个样本之间亲缘值了 。
题目还要求统计学分析 , 可以统计一下亲缘值0~10的占比 , 简单描述一下就可以了 。
第三步:第二问求解
将16种原料进行混合放入9个加工装置中 , 求出饲料质量最高的混合方案并给出每个加工包的亲缘度 。
此问题的优化目标是饲料质量 , 也就是“亲缘度”最高 。那么什么是饲料质量最高呢?假果我们已经有最优的混合方案 , 那么饲料质量=九个加工装置的“混合后亲缘值×加工质量”之和 。
16种一次性放入9个装置中 , 必有混合 。而所有装置的加工下限是300kg , 所以
我们暂且只考虑可以两两混合的情况 。
做题的过程中 , 发现一个之前没注意到的点:饲料质量 , 只有成品才能称之为饲料 , 没加工过的就是原料 。
那么总的饲料质量如何计算呢?
毋庸置疑 , 饲料质量用亲缘值表示 。在问题二中 , 九个加工装置要求一次性加工完全 , 那就是九种成品饲料 , 可以计算出九个亲缘值 。九种饲料的重量不一 , 总的饲料质量需要使用饲料重量对九种饲料的亲缘值进行加权 。
饲料重量等于各加工装置中不同原料的重量与能效率的乘积之和 。
这也就是为什么我的程序里需要按照下图进行计算了 。
很多人问我为什么要×质量 , 我举个例子 。
比方说两个加工窖 , 1号窖里加工了300千克饲料 , 2号窖里加工了600千克饲料 , 1号窖的亲缘值是0.8 , 2号窖的亲缘值是0.6 。总体亲缘值是等于0.8+0.6么? , 不是的 , 应该等于(0.8×300+0.6×600)÷900 。这就是权重 。
下划线为新增 , 完善了两两亲缘值为零不能混合的约束条件
加工窖的编码修改为m , 因为到了第四问时加工包的个数可以比加工窖多 。
标黄的地方有改动
第四步:第三问求解
第五步:第四问求解
对于多目标优化 , 下面采用了线性加权和法 , 除此之外还有理想点法 。
第六步:第五问求解