《算法思路.docx》由会员分享,可在线阅读,更多相关《算法思路.docx(2页珍藏版)》请在课桌文档上搜索。
1、算法思路:本题意在求解:如何正确改变操作变量,使得辛烷值损失减小。同时满足,减小幅度大于30%与最终产品硫含量不超过5。计算所有325个样本满足以上条件的操作变量改变的情况同时,尽管第四问并未对操作变量的改变幅度进行要求,但考虑到第五问与工程实际的操作要求,在此提前引入附件四中操作变量的最小改变幅度detao使得本题求解的所有解不仅满足题设条件,同时满足第五问对操作幅度的限制算法大致流程:数据导入:1 .通过第三问方法,首先对硫含量进行建模,训练神经网络。获取较优硫含量模型。2 .输入:RON损失预测模型:ron_net硫含量预测模型:sulfur_net;对应操作变量列元素min_col与m
2、in_coll;325个样本数据。3 .导入对应列元素在附件四中的操作幅度最小值deta。进入随机循环算法:(注意每次计算预测值前数据的归一化与反归一化)4 .通过第二问,各列操作变量与RON损失的权重关系:正即表示该变量增加将大概率导致RON损失增加。随机算法将随机选取一操作变量,将其变大或变小一个其最小改变幅度deta(权重为正则变小,反之则变大)。同时,需要判断其操作变量改变后,不应当超过附件四中,对操作变量范围的约束。5 .通过RON损失模型,预测操作变量改变后的RON损失。计算RON损失降幅,若小于30%则重复步骤4。6 .大于30%则满足条件1,通过硫含量模型,预测当前硫含量,若低
3、于5单位则输出该条操作变量,作为该样本的解。7 .若硫含量大于5单位,表明该解错误,重置操作变量为初始态(原数据),再次进入步骤4。8 .输出所有样本解。结束算法优化思路:1 .引入无效循环判断机制:在算法实际运行中发现,由于随机选取操作变量改变,有可能导致将多个变量变动到阈值附近时,仍未找到正确解的情况,此时算法会跌入循环难以跳出,即反复循环判断变量改变是否在附件四的最大最小范围内。导致算法运行时间大幅增加,最终达到循环次数后输出求解失败。在此引入无效循环判断量A,初值置1,当算法每次改变超出阈值时,A=A+1;满足A=80时,将重置操作变量为原数据,重新进行计算。2 .引入模型优势区间考虑到模型本身存在一定的误差,并且数据集中RON损失的范围基本变动不大。故RON损失的预测值不应到超出数据集中范围较大,否则结果将不具备可信度。故在此引入一个判断量,仅筛选RON损失降幅在0.30.6之间的解作为该题的解。